WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
28899
WebKit should broadcast an MSAA event when jumping to a named anchor
https://bugs.webkit.org/show_bug.cgi?id=28899
Summary
WebKit should broadcast an MSAA event when jumping to a named anchor
Jon Honeycutt
Reported
2009-09-01 17:30:53 PDT
Firefox broadcasts an EVENT_SYSTEM_SCROLLINGSTART event when jumping to a named anchor. WebKit should also broadcast this event.
Attachments
patch
(15.38 KB, patch)
2009-09-11 21:42 PDT
,
Jon Honeycutt
aroben
: review+
aroben
: commit-queue-
Details
Formatted Diff
Diff
DRT changes, layout test
(10.68 KB, patch)
2009-09-11 21:42 PDT
,
Jon Honeycutt
aroben
: review-
Details
Formatted Diff
Diff
DRT changes, layout test
(13.12 KB, patch)
2009-09-14 12:49 PDT
,
Jon Honeycutt
aroben
: review+
aroben
: commit-queue-
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Jon Honeycutt
Comment 1
2009-09-03 20:02:49 PDT
<
rdar://problem/7197644
>
Jon Honeycutt
Comment 2
2009-09-11 21:42:10 PDT
Created
attachment 39504
[details]
patch
Jon Honeycutt
Comment 3
2009-09-11 21:42:40 PDT
Created
attachment 39505
[details]
DRT changes, layout test
Adam Roben (:aroben)
Comment 4
2009-09-14 06:31:10 PDT
Comment on
attachment 39504
[details]
patch
> + DWORD msaaEvent; > + switch (notification) { > + case AXFocusedUIElementChanged: > + msaaEvent = EVENT_OBJECT_FOCUS; > + break; > + > + case AXScrolledToAnchor: > + msaaEvent = EVENT_SYSTEM_SCROLLINGSTART; > + break; > + > + default: > + return; > + }
It might be clearer to use a HashMap, though it probably doesn't matter as long as we only have two events we care about.
> + // Windows will end up calling get_accChild() on the root accessible > + // object for the WebView, passing the child ID that we specify below. We > + // negate the AXID so we know that the caller is passing the ID of an > + // element, not the index of a child element. > + > + ASSERT(obj->axObjectID() >= 1 && obj->axObjectID() <= numeric_limits<LONG>::max());
You should split this up into two assertions. r=me
Adam Roben (:aroben)
Comment 5
2009-09-14 06:33:45 PDT
Comment on
attachment 39505
[details]
DRT changes, layout test This patch looks fine, but your new test and result are missing!
Jon Honeycutt
Comment 6
2009-09-14 12:49:26 PDT
Created
attachment 39565
[details]
DRT changes, layout test Whoops! Added the test and result.
Adam Roben (:aroben)
Comment 7
2009-09-14 12:53:35 PDT
Comment on
attachment 39565
[details]
DRT changes, layout test
> + function test() > + { > + if (window.layoutTestController) > + document.getElementById("notDRT").style.visibility = "hidden"; > + > + accessibilityController.logScrollingStartEvents(); > + layoutTestController.waitUntilDone(); > + layoutTestController.dumpAsText(); > + setTimeout(scrollToAnchor, 0); > + } > + > + function scrollToAnchor() > + { > + if (window.eventSender) { > + var input = document.getElementById('ANCHORLINK'); > + var x = input.offsetLeft; > + var y = input.offsetTop; > + eventSender.mouseMoveTo(x, y); > + eventSender.mouseDown(); > + eventSender.mouseUp(); > + } > + > + layoutTestController.notifyDone(); > + }
This will throw a bunch of JS exceptions when window.layoutTestController or window.accessibilityController don't exist. r=me
Jon Honeycutt
Comment 8
2009-09-14 13:13:40 PDT
(In reply to
comment #7
)
> (From update of
attachment 39565
[details]
) > > This will throw a bunch of JS exceptions when window.layoutTestController or > window.accessibilityController don't exist.
I changed test() to return early in this case.
> > r=me
Thanks!
Jon Honeycutt
Comment 9
2009-09-14 14:28:15 PDT
Committed
r48367
,
r48368
.
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