[webkit-reviews] review requested: [Bug 72830] [Gtk] Regression: text-inserted events lack text inserted and current line : [Attachment 116624] Patch proposal + unit test

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Nov 25 08:18:11 PST 2011


Mario Sanchez Prada <msanchez at igalia.com> has asked  for review:
Bug 72830: [Gtk] Regression: text-inserted events lack text inserted and
current line
https://bugs.webkit.org/show_bug.cgi?id=72830

Attachment 116624: Patch proposal + unit test
https://bugs.webkit.org/attachment.cgi?id=116624&action=review

------- Additional Comments from Mario Sanchez Prada <msanchez at igalia.com>
Attaching now a patch proposal that basically updates the code to using the new
'text-insert' and 'text-remove' signals (instead of the old, and now
deprecated, 'text-changed' one), which allows us to emit the text being
actually modified (inserted or removed) along with the signal, instead of just
emitting the 'offset' and 'count' values and then relaying on the ATK bridge to
get the right information at the right time, which is something we know does
not always work fine (and one of the main reasons behind the deprecation of the
'text-changed' signal, AFAIK).

This patch also changes the signature of the nodeTextChangeNotification() and 
nodeTextChangePlatformNotification() in AXObjectCache, to allow specifying the
text  being modified from the text editing commands (as we're gonna send the
modified text, there's no point in not providing this information to the
AXObjectCache if we already know it, right?), and so I needed to update also
the signatures in the platform-specific versions of that class for the mac, win
and chromium ports too, so they will keep building. Fortunately, this change
shouldn't impact those ports at all since they are basically ignoring this
functionality and providing an empty implementation for them.

Last, I haven't included a new test with this patch, but just updated the a11y
API test we already had in place to use the new signals instead of the old
ones. Also, I made the most of this change to implement more careful and
detailed checks in that unit test, since it's obvious that the old version of
it was not good enough, as it didn't detected that things broke heavily
recently (and thus the reason for this bug to be reported).


More information about the webkit-reviews mailing list