RESOLVED FIXED 57800
[Mac] When autocorrection occurs without showing correction panel, WebCore need to post accessibility notification.
https://bugs.webkit.org/show_bug.cgi?id=57800
Summary [Mac] When autocorrection occurs without showing correction panel, WebCore ne...
Jia Pu
Reported 2011-04-04 16:10:37 PDT
Attachments
Patch (v1) (3.97 KB, patch)
2011-04-04 17:11 PDT, Jia Pu
no flags
Patch (v2) (4.94 KB, patch)
2011-04-05 09:03 PDT, Jia Pu
no flags
Patch (v4) (4.97 KB, patch)
2011-04-05 10:26 PDT, Jia Pu
no flags
Jia Pu
Comment 1 2011-04-04 17:11:31 PDT
Created attachment 88167 [details] Patch (v1)
Darin Adler
Comment 2 2011-04-04 17:24:58 PDT
Comment on attachment 88167 [details] Patch (v1) View in context: https://bugs.webkit.org/attachment.cgi?id=88167&action=review > Source/WebCore/editing/Editor.cpp:2417 > + Element* rootEditable = m_frame->selection()->selection().rootEditableElement(); > + if (rootEditable) > + m_frame->document()->axObjectCache()->postNotification(rootEditable->renderer(), AXObjectCache::AXAutocorrectionOccured, true); It’s often better style to write it like this: if (Element* root = m_frame->selection()->selection().rootEditableElement()) m_frame->document()->axObjectCache()->postNotification(root->renderer(), AXObjectCache::AXAutocorrectionOccured, true);
WebKit Review Bot
Comment 3 2011-04-04 18:15:14 PDT
Jia Pu
Comment 4 2011-04-05 09:03:46 PDT
Created attachment 88243 [details] Patch (v2) Fixed build failure on chromium. Changed the location from where we post notification, so that text replacement other than autocorrection also generates notification.
Darin Adler
Comment 5 2011-04-05 09:30:36 PDT
Comment on attachment 88243 [details] Patch (v2) View in context: https://bugs.webkit.org/attachment.cgi?id=88243&action=review > Source/WebCore/accessibility/mac/AXObjectCacheMac.mm:77 > +#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) > + case AXAutocorrectionOccured: > + macNotification = @"AXAutocorrectionOccurred"; > + break; > +#endif If the enum value exists, we probably need a case for it on all versions, not just versions newer than Snow Leopard. We could do ASSERT_NOT_REACHED on those other versions, but we will still want the case because you did not put an #if around the enum value.
Jia Pu
Comment 6 2011-04-05 10:26:21 PDT
Created attachment 88271 [details] Patch (v4)
Jia Pu
Comment 7 2011-04-05 15:32:16 PDT
(In reply to comment #5) > (From update of attachment 88243 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=88243&action=review > > > Source/WebCore/accessibility/mac/AXObjectCacheMac.mm:77 > > +#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) > > + case AXAutocorrectionOccured: > > + macNotification = @"AXAutocorrectionOccurred"; > > + break; > > +#endif > > If the enum value exists, we probably need a case for it on all versions, not just versions newer than Snow Leopard. We could do ASSERT_NOT_REACHED on those other versions, but we will still want the case because you did not put an #if around the enum value. I have made slight change to make sure this builds on SL. Darin, could you take a look and r+ it if it's OK?Thanks.
WebKit Commit Bot
Comment 8 2011-04-06 07:57:36 PDT
Comment on attachment 88271 [details] Patch (v4) Clearing flags on attachment: 88271 Committed r83049: <http://trac.webkit.org/changeset/83049>
WebKit Commit Bot
Comment 9 2011-04-06 07:57:46 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.