WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
34464
[Chromium] Chromium should receive checkbox state changes
https://bugs.webkit.org/show_bug.cgi?id=34464
Summary
[Chromium] Chromium should receive checkbox state changes
Chris Guillory
Reported
2010-02-01 21:02:30 PST
Ensure that chromium gets notified of AXCheckedStateChanged events so it can send the MSAA event EVENT_OBJECT_STATECHANGE.
Attachments
[Chromium] Notify Chromium of state change notifications.
(7.19 KB, patch)
2010-02-02 09:40 PST
,
Chris Guillory
no flags
Details
Formatted Diff
Diff
Notify Chromium of state change notifications.
(23.22 KB, patch)
2010-02-02 09:56 PST
,
Chris Guillory
fishd
: review-
Details
Formatted Diff
Diff
Patch updated with comments from Darin
(7.29 KB, patch)
2010-02-03 12:29 PST
,
Chris Guillory
no flags
Details
Formatted Diff
Diff
Fixing style - line endings.
(7.25 KB, patch)
2010-02-03 13:13 PST
,
Chris Guillory
fishd
: review-
Details
Formatted Diff
Diff
Updated with more comments from Darin
(6.96 KB, patch)
2010-02-04 11:22 PST
,
Chris Guillory
no flags
Details
Formatted Diff
Diff
Removed unneeded AXObjectCache::
(6.96 KB, patch)
2010-02-04 12:10 PST
,
Chris Guillory
eric
: review-
fishd
: commit-queue-
Details
Formatted Diff
Diff
Added the !obj->document() to fix debug ASSERTS
(7.00 KB, patch)
2010-02-08 16:18 PST
,
Chris Guillory
no flags
Details
Formatted Diff
Diff
Show Obsolete
(6)
View All
Add attachment
proposed patch, testcase, etc.
Chris Guillory
Comment 1
2010-02-02 09:40:30 PST
Created
attachment 47942
[details]
[Chromium] Notify Chromium of state change notifications.
WebKit Review Bot
Comment 2
2010-02-02 09:45:33 PST
Attachment 47942
[details]
did not pass style-queue: Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1 WebCore/platform/chromium/ChromiumBridge.h:53: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 If any of these errors are false positives, please file a bug against check-webkit-style.
Chris Guillory
Comment 3
2010-02-02 09:56:25 PST
Created
attachment 47945
[details]
Notify Chromium of state change notifications. Code in WebKit\WebCore\platform\chromium\ChromiumBridge.h was indented inside of a namespace.
Chris Guillory
Comment 4
2010-02-02 11:52:55 PST
This change needs to be committed with a parallel change in Chromium. As I understand it this should NOT be added to the commit-queue as both changes are needed.
Darin Fisher (:fishd, Google)
Comment 5
2010-02-02 22:30:44 PST
(In reply to
comment #4
)
> This change needs to be committed with a parallel change in Chromium. As I > understand it this should NOT be added to the commit-queue as both changes are > needed.
Hi Chris, Is it possible to break this change up into two parts so that you can avoid the need for a two-sided patch landing? Generally speaking, we try to preserve the old API while introducing the new side-by-side. Then, once Chromium adopts the new API, we can go back to WebKit and remove the old API. Is that possible in this case?
Darin Fisher (:fishd, Google)
Comment 6
2010-02-02 22:45:49 PST
Comment on
attachment 47945
[details]
Notify Chromium of state change notifications.
> Index: WebCore/ChangeLog
> + [Chromium] Notify ChromiumBridge of state change notifications. > + Bug:
https://bugs.webkit.org/show_bug.cgi?id=34464
nit: people generally do not add the "Bug: " label like that. Just the URL is enough.
> + > + No new tests needed. Added virtual function with empty default implementation. > + > + * Makefile:
^^^ This patch doesn't seem to include any changes to Makefile
> + * accessibility/chromium/AXObjectCacheChromium.cpp: > + (WebCore::AXObjectCache::postPlatformNotification): > + * platform/chromium/ChromiumBridge.h:
^^^ This ChangeLog seems inconsistent with the patch.
> Index: WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
...
> -void AXObjectCache::postPlatformNotification(AccessibilityObject*, AXNotification) > +void AXObjectCache::postPlatformNotification(AccessibilityObject* obj, AXNotification notification) > { > + ChromiumBridge::postPlatformNotification(obj, notification);
Since your implementation of this ChromiumBridge method involves simply calling back up to the WebViewClient, I think it would be better to put that code here and skip defining a new ChromiumBridge method. I would consider adding a method to ChromeClientChromium for this. I also think that it should have a more descriptive name than postPlatformNotification. "changeStateAccessibilityObject" sounds a bit awkward to me. How about didChangeAccessibilityObjectState? In general, ChromiumBridge methods should only exist to help with the implementation of code under WebCore/platform. (There are numerous exceptions that violate this rule and should be cleaned up.) For example, if you find yourself dealing with Document or Frame in ChromiumBridge, then you know it is the wrong place for the code.
Chris Guillory
Comment 7
2010-02-03 11:20:07 PST
Hi Darin, Thanks for the review. I believe I incorrectly stated that this change required two-sided patch landing. It should just require one change in WebKit followed by one change in Chromium. Chromium will build fine with just the change in WebKit since the virtual method added to WebViewClient provides a default implementation. I've moved the new function from ChromiumBridge to ChromeClientChromium and given it a better name. I'll send out the new patch.
Chris Guillory
Comment 8
2010-02-03 12:29:59 PST
Created
attachment 48059
[details]
Patch updated with comments from Darin
WebKit Review Bot
Comment 9
2010-02-03 12:33:46 PST
Attachment 48059
[details]
did not pass style-queue: Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1 WebKit/chromium/src/ChromeClientImpl.cpp:662: One or more unexpected \r (^M) found; better to use only a \n [whitespace/carriage_return] [1] Suppressing further [whitespace/carriage_return] reports for this file. WebCore/accessibility/chromium/AXObjectCacheChromium.cpp:30: One or more unexpected \r (^M) found; better to use only a \n [whitespace/carriage_return] [1] Suppressing further [whitespace/carriage_return] reports for this file. Total errors found: 27 If any of these errors are false positives, please file a bug against check-webkit-style.
Chris Guillory
Comment 10
2010-02-03 13:13:01 PST
Created
attachment 48063
[details]
Fixing style - line endings.
Darin Fisher (:fishd, Google)
Comment 11
2010-02-03 22:55:32 PST
Comment on
attachment 48063
[details]
Fixing style - line endings.
> Index: WebCore/ChangeLog
...
> + > + No new tests.
^^^ please delete the line that says "No new tests." That is in the template to provide a suggestion to you that you should consider creating new tests :-) (For this change, I don't think a new test is needed.)
> Index: WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
> +static ChromeClientChromium* toChromeClientChromium(Widget* widget)
This function should be changed to take a FrameView* as a parameter. Then you can avoid having to check if the widget is a FrameView :-)
> Index: WebKit/chromium/public/WebViewClient.h
...
> + // Notifies embedder that the state of an accessibility object has changed. > + virtual void accessibilityObjectStateDidChange(const WebAccessibilityObject&) { }
I previously suggested didChangeAccessibilityObjectState to match the naming conventions of other methods found in WebViewClient.h. Unless you feel strongly about this, I think we should go with that instead (for consistency).
Chris Guillory
Comment 12
2010-02-04 11:22:46 PST
Created
attachment 48157
[details]
Updated with more comments from Darin Removed no new tests. toChromeClientChromium now takes a FrameView*. :) I don't feel strongly about the name. Changed to didChangeAccessibilityObjectState.
Darin Fisher (:fishd, Google)
Comment 13
2010-02-04 11:40:06 PST
Comment on
attachment 48157
[details]
Updated with more comments from Darin
> Index: WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
...
> +void AXObjectCache::postPlatformNotification(AccessibilityObject* obj, AXNotification notification) > { > + if (!obj || !obj->documentFrameView() || notification != AXObjectCache::AXCheckedStateChanged)
nit: since you are within the namespace of AXObjectCache, there is no need to use AXObjectCache:: otherwise, r=me
Chris Guillory
Comment 14
2010-02-04 12:10:54 PST
Created
attachment 48159
[details]
Removed unneeded AXObjectCache:: Fixed the copy paste error.
Darin Fisher (:fishd, Google)
Comment 15
2010-02-04 12:17:11 PST
Landed as
http://trac.webkit.org/changeset/54364
Darin Fisher (:fishd, Google)
Comment 16
2010-02-04 12:17:58 PST
Comment on
attachment 48159
[details]
Removed unneeded AXObjectCache:: Thanks for updating the patch. I actually made the change locally and committed. Same result :-)
Dimitri Glazkov (Google)
Comment 17
2010-02-06 12:18:59 PST
Committed
r54466
: <
http://trac.webkit.org/changeset/54466
>
Dimitri Glazkov (Google)
Comment 18
2010-02-06 12:20:52 PST
Rolled out, because it introduced ASSERTs. Needs more lovin'.
Eric Seidel (no email)
Comment 19
2010-02-08 15:12:49 PST
Comment on
attachment 48157
[details]
Updated with more comments from Darin Cleared Darin Fisher's review+ from obsolete
attachment 48157
[details]
so that this bug does not appear in
http://webkit.org/pending-commit
.
Eric Seidel (no email)
Comment 20
2010-02-08 15:28:56 PST
Comment on
attachment 48159
[details]
Removed unneeded AXObjectCache:: Looks like this got rolled out? Marking r-.
Chris Guillory
Comment 21
2010-02-08 16:18:09 PST
Created
attachment 48374
[details]
Added the !obj->document() to fix debug ASSERTS Verified by running chromium webkit layout tests in debug mode.
WebKit Commit Bot
Comment 22
2010-02-09 20:01:54 PST
Comment on
attachment 48374
[details]
Added the !obj->document() to fix debug ASSERTS Clearing flags on attachment: 48374 Committed
r54584
: <
http://trac.webkit.org/changeset/54584
>
WebKit Commit Bot
Comment 23
2010-02-09 20:02:07 PST
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.
Top of Page
Format For Printing
XML
Clone This Bug