Closed Bug 1081723 Opened 10 years ago Closed 10 years ago

[AccessFu] Swipe up down should move by quicknav mode when not on range

Categories

(Core :: Disability Access APIs, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla36

People

(Reporter: eeejay, Assigned: eeejay)

References

Details

Attachments

(1 file)

I think the quickest way to do it is change AccessFu:AdjustRange to AccessFu:AdjustOrMove.
Move adjust range to ContenControl
Attachment #8503800 - Flags: review?(yzenevich)
Comment on attachment 8503800 [details] [diff] [review]
Change adjust message to adjust or move.

Review of attachment 8503800 [details] [diff] [review]:
-----------------------------------------------------------------

looks good. just one nit and the comment below:

It doesn't look like _currentIndex is set by a pref, and the default is -1, I think it should be 0 (as you mentioned in IRC).
Also, _currentIndex does not get reset when the 'accessibility.accessfu.quicknav_modes' setting changes. It should, or it should get reset to the value corresponding to the previously set mode.

::: accessible/jsat/ContentControl.jsm
@@ +93,5 @@
>  
>    handleMoveCursor: function cc_handleMoveCursor(aMessage) {
>      let origin = aMessage.json.origin;
>      let action = aMessage.json.action;
> +    let adjustRange = aMessage.json.adjustRange;

nit:
let {origin, action, adjustRange} = aMessage.json;
Attachment #8503800 - Flags: review?(yzenevich) → review+
Also got this when running the test:
14 INFO TEST-START | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html
++DOMWINDOW == 19 (0x139ad6800) [pid = 26115] [serial = 19] [outer = 0x12867e800]
JavaScript strict warning: chrome://mochitests/content/a11y/accessible/tests/mochitest/common.js, line 37: ReferenceError: reference to undefined property Components.interfaces.nsIAccessibleCursorable
++DOCSHELL 0x139cd8000 == 7 [pid = 26115] [id = 7]
++DOMWINDOW == 20 (0x133c71000) [pid = 26115] [serial = 20] [outer = 0x0]
++DOMWINDOW == 21 (0x133c72000) [pid = 26115] [serial = 21] [outer = 0x133c71000]
JavaScript strict warning: , line 0: TypeError: setting a property that has only a getter
JavaScript strict warning: , line 0: TypeError: setting a property that has only a getter
JavaScript strict warning: , line 0: TypeError: setting a property that has only a getter
++DOCSHELL 0x139ce7000 == 8 [pid = 26115] [id = 8]
++DOMWINDOW == 22 (0x133c76c00) [pid = 26115] [serial = 22] [outer = 0x0]
++DOCSHELL 0x139ce7800 == 9 [pid = 26115] [id = 9]
++DOMWINDOW == 23 (0x133c77000) [pid = 26115] [serial = 23] [outer = 0x0]
JavaScript strict warning: , line 0: TypeError: setting a property that has only a getter
JavaScript strict warning: , line 0: TypeError: setting a property that has only a getter
JavaScript strict warning: , line 0: TypeError: setting a property that has only a getter
JavaScript strict warning: , line 0: TypeError: setting a property that has only a getter
JavaScript strict warning: , line 0: TypeError: setting a property that has only a getter
JavaScript strict warning: , line 0: TypeError: setting a property that has only a getter
++DOCSHELL 0x132146000 == 10 [pid = 26115] [id = 10]
++DOMWINDOW == 24 (0x1321ab800) [pid = 26115] [serial = 24] [outer = 0x0]
++DOMWINDOW == 25 (0x1321ae000) [pid = 26115] [serial = 25] [outer = 0x1321ab800]
[26115] WARNING: NS_ENSURE_TRUE(nsContentUtils::GetCurrentJSContext()) failed: file /Volumes/firefoxos/B2G/gecko/docshell/base/nsDocShell.cpp, line 9045
[26115] WARNING: Subdocument container has no frame: file /Volumes/firefoxos/B2G/gecko/layout/base/nsDocumentViewer.cpp, line 2511
++DOMWINDOW == 26 (0x1321b0800) [pid = 26115] [serial = 26] [outer = 0x133c76c00]
[26115] WARNING: Subdocument container has no frame: file /Volumes/firefoxos/B2G/gecko/layout/base/nsDocumentViewer.cpp, line 2511
++DOMWINDOW == 27 (0x1321b0c00) [pid = 26115] [serial = 27] [outer = 0x133c77000]
[26115] WARNING: Subdocument container has no frame: file /Volumes/firefoxos/B2G/gecko/layout/base/nsDocumentViewer.cpp, line 2511
[26115] WARNING: Subdocument container has no frame: file /Volumes/firefoxos/B2G/gecko/layout/base/nsDocumentViewer.cpp, line 2511
++DOMWINDOW == 28 (0x117118c00) [pid = 26115] [serial = 28] [outer = 0x133c77000]
++DOMWINDOW == 29 (0x1193b6c00) [pid = 26115] [serial = 29] [outer = 0x1321ab800]
WARNING: content window passed to PrivateBrowsingUtils.isWindowPrivate. Use isContentWindowPrivate instead (but only for frame scripts).
pbu_isWindowPrivate@resource://gre/modules/PrivateBrowsingUtils.jsm:25:14
gBrowserInit.onLoad@chrome://browser/content/browser.js:10040:57
onload@chrome://browser/content/browser.xul:1:1
OpenGL version detected: 210
OpenGL vendor: NVIDIA Corporation
OpenGL renderer: NVIDIA GeForce GT 750M OpenGL Engine
[26115] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file /Volumes/firefoxos/B2G/gecko/dom/events/ContentEventHandler.cpp, line 110
++DOMWINDOW == 30 (0x11f3e7000) [pid = 26115] [serial = 30] [outer = 0x1321ab800]
[26115] WARNING: NS_ENSURE_TRUE(mTextInputHandler) failed: file /Volumes/firefoxos/B2G/gecko/widget/cocoa/nsChildView.mm, line 5655
[26116] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /Volumes/firefoxos/B2G/gecko/xpcom/base/nsTraceRefcnt.cpp, line 144
[26116] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /Volumes/firefoxos/B2G/gecko/xpcom/base/nsTraceRefcnt.cpp, line 144
[26116] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /Volumes/firefoxos/B2G/gecko/xpcom/base/nsTraceRefcnt.cpp, line 144
[26116] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /Volumes/firefoxos/B2G/gecko/xpcom/base/nsTraceRefcnt.cpp, line 144
[26116] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /Volumes/firefoxos/B2G/gecko/xpcom/base/nsTraceRefcnt.cpp, line 144
### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /var/folders/jn/q_vyg0sn4wj1jkdtb48kz9fm0000gn/T/tmpWiaskn.mozrunner/runtests_leaks_tab_pid26116.log
[Child 26116] WARNING: '!compMgr', file /Volumes/firefoxos/B2G/gecko/xpcom/glue/nsComponentManagerUtils.cpp, line 63
[Child 26116] WARNING: NS_ENSURE_TRUE(svc) failed: file /Volumes/firefoxos/B2G/gecko/dom/ipc/nsIContentChild.cpp, line 32
[Child 26116] WARNING: '!compMgr', file /Volumes/firefoxos/B2G/gecko/xpcom/glue/nsComponentManagerUtils.cpp, line 63
[Child 26116] WARNING: '!compMgr', file /Volumes/firefoxos/B2G/gecko/xpcom/glue/nsComponentManagerUtils.cpp, line 63
JavaScript strict warning: resource://gre/modules/Webapps.jsm, line 1094: ReferenceError: reference to undefined property msg.app
[Child 26116] WARNING: nsWindow::GetNativeData not implemented for this type: file /Volumes/firefoxos/B2G/gecko/widget/xpwidgets/PuppetWidget.cpp, line 790
++DOCSHELL 0x11739a000 == 1 [pid = 26116] [id = 1]
++DOMWINDOW == 1 (0x1172e5c00) [pid = 26116] [serial = 1] [outer = 0x0]
############################### browserElementPanning.js loaded
++DOMWINDOW == 2 (0x1173bf400) [pid = 26116] [serial = 2] [outer = 0x1172e5c00]
[Parent 26115] WARNING: Could not get disk information from DiskSpaceWatcher: file /Volumes/firefoxos/B2G/gecko/dom/storage/DOMStorageIPC.cpp, line 319
######################## BrowserElementChildPreload.js loaded
++DOMWINDOW == 3 (0x11f942400) [pid = 26116] [serial = 3] [outer = 0x1172e5c00]
[Child 26116] WARNING: NS_ENSURE_TRUE(startupCache) failed: file /Volumes/firefoxos/B2G/gecko/dom/xbl/nsXBLDocumentInfo.cpp, line 237
[Child 26116] WARNING: NS_ENSURE_TRUE(startupCache) failed: file /Volumes/firefoxos/B2G/gecko/dom/xbl/nsXBLDocumentInfo.cpp, line 305
[Child 26116] WARNING: nsWindow::GetNativeData not implemented for this type: file /Volumes/firefoxos/B2G/gecko/widget/xpwidgets/PuppetWidget.cpp, line 790
[Child 26116] WARNING: nsWindow::GetNativeData not implemented for this type: file /Volumes/firefoxos/B2G/gecko/widget/xpwidgets/PuppetWidget.cpp, line 790
[AccessFu] DEBUG content-script.js
[AccessFu] DEBUG AccessFu:Start
[AccessFu] DEBUG EventManager.start
[AccessFu] DEBUG AccessibilityEventObserver.addListener. Total: 1
[AccessFuContent] DEBUG AccessFu:Start
[AccessFuContent] DEBUG EventManager.start
[AccessFuContent] DEBUG AccessibilityEventObserver.addListener. Total: 1
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}
JavaScript strict warning: resource://gre/modules/accessibility/ContentControl.jsm, line 495: ReferenceError: reference to undefined property this._autoMove
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ null ] -> [ text leaf | Phone status bar ]) [ document | Traversal Rule test document ]
15 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (0) (b2g) 
16 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (0) (android) 
17 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Correct element is focused: body -- undefined 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ text leaf | Phone status bar ] -> [ pushbutton | Back ]) [ document | Traversal Rule test document ]
18 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (1) (b2g) 
19 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (1) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ pushbutton | Back ] -> [ internal frame | null ]) [ document | Traversal Rule test document ]
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveFirst","rule":"Simple","inputType":"gesture","origin":"parent"}
JavaScript strict warning: resource://gre/modules/accessibility/ContentControl.jsm, line 495: ReferenceError: reference to undefined property this._autoMove
[AccessFu] DEBUG A11yEvent text selection changed [ section | null ]
[AccessFu] DEBUG A11yEvent text caret moved [ section | null ]
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ null ] -> [ heading | null ]) [ document | such app ]
20 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (2) (b2g) 
21 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (2) (android) 
22 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Correct element is focused: iframe -- undefined 
[AccessFuContent] DEBUG A11yEvent focus [ document | such app ]
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}
[Child 26116] WARNING: nsWindow::GetNativeData not implemented for this type: file /Volumes/firefoxos/B2G/gecko/widget/xpwidgets/PuppetWidget.cpp, line 790
[Child 26116] ###!!! ASSERTION: Couldn't get the native NSView parent we need to connect the accessibility hierarchy!: '*aOutView', file /Volumes/firefoxos/B2G/gecko/accessible/mac/RootAccessibleWrap.mm, line 50
#01: mozilla::a11y::RootAccessibleWrap::GetNativeWidget(void**) (RootAccessibleWrap.mm:49, in XUL)
#02: getNativeViewFromRootAccessible(mozilla::a11y::Accessible*) (mozDocAccessible.mm:24, in XUL)
#03: -[mozRootAccessible representedView] (mozDocAccessible.mm:98, in XUL)
#04: GetObjectOrRepresentedView(id<mozAccessible>) (mozAccessible.h:23, in XUL)
#05: -[mozAccessible didReceiveFocus] (mozAccessible.mm:632, in XUL)
#06: mozilla::a11y::AccessibleWrap::HandleAccEvent(mozilla::a11y::AccEvent*) (AccessibleWrap.mm:162, in XUL)
#07: mozilla::a11y::DocAccessible::HandleAccEvent(mozilla::a11y::AccEvent*) (DocAccessible.cpp:1127, in XUL)
#08: nsEventShell::FireEvent(mozilla::a11y::AccEvent*) (nsEventShell.cpp:36, in XUL)
#09: mozilla::a11y::FocusManager::ProcessFocusEvent(mozilla::a11y::AccEvent*) (FocusManager.cpp:379, in XUL)
#10: mozilla::a11y::EventQueue::ProcessEventQueue() (EventQueue.cpp:511, in XUL)
#11: mozilla::a11y::NotificationController::WillRefresh(mozilla::TimeStamp) (NotificationController.cpp:272, in XUL)
#12: nsRefreshDriver::Tick(long long, mozilla::TimeStamp) (nsRefreshDriver.cpp:1167, in XUL)
#13: mozilla::RefreshDriverTimer::TickDriver(nsRefreshDriver*, long long, mozilla::TimeStamp) (nsRefreshDriver.cpp:174, in XUL)
#14: mozilla::RefreshDriverTimer::Tick() (nsRefreshDriver.cpp:158, in XUL)
#15: mozilla::RefreshDriverTimer::TimerTick(nsITimer*, void*) (nsRefreshDriver.cpp:191, in XUL)
#16: nsTimerImpl::Fire() (nsTimerImpl.cpp:619, in XUL)
#17: nsTimerEvent::Run() (nsTimerImpl.cpp:711, in XUL)
#18: nsThread::ProcessNextEvent(bool, bool*) (nsThread.cpp:831, in XUL)
#19: NS_ProcessPendingEvents(nsIThread*, unsigned int) (nsThreadUtils.cpp:207, in XUL)
#20: nsBaseAppShell::NativeEventCallback() (nsBaseAppShell.cpp:99, in XUL)
#21: nsAppShell::ProcessGeckoEvents(void*) (nsAppShell.mm:362, in XUL)
#22: __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ (in CoreFoundation) + 17
#23: __CFRunLoopDoSources0 (in CoreFoundation) + 242
#24: __CFRunLoopRun (in CoreFoundation) + 831
#25: CFRunLoopRunSpecific (in CoreFoundation) + 309
#26: RunCurrentEventLoopInMode (in HIToolbox) + 226
#27: ReceiveNextEventCommon (in HIToolbox) + 479
#28: _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox) + 65
#29: _DPSNextEvent (in AppKit) + 1434
#30: -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit) + 122
#31: -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (nsAppShell.mm:118, in XUL)
#32: -[NSApplication run] (in AppKit) + 553
#33: nsAppShell::Run() (nsAppShell.mm:635, in XUL)
#34: XRE_RunAppShell (nsEmbedFunctions.cpp:713, in XUL)
#35: mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) (MessagePump.cpp:272, in XUL)
#36: MessageLoop::RunInternal() (message_loop.cc:231, in XUL)
#37: MessageLoop::RunHandler() (message_loop.cc:224, in XUL)
#38: MessageLoop::Run() (message_loop.cc:197, in XUL)
#39: XRE_InitChildProcess (nsEmbedFunctions.cpp:550, in XUL)
#40: content_process_main(int, char**) (plugin-container.cpp:158, in plugin-container)
#41: main (MozillaRuntimeMain.cpp:11, in plugin-container)
2014-10-14 13:25:29.440 plugin-container[26116:303] *** Assertion failure in -[mozRootAccessible representedView], /Volumes/firefoxos/B2G/gecko/accessible/mac/mozDocAccessible.mm:100
2014-10-14 13:25:29.441 plugin-container[26116:303] Mozilla has caught an Obj-C exception [NSInternalInconsistencyException: can't return root accessible's native parallel view.]
2014-10-14 13:25:29.441 plugin-container[26116:303] Generating stack trace for Obj-C exception...
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ heading | null ] -> [ label | many option ]) [ document | such app ]
23 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (3) (b2g) 
24 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (3) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:Activate {"origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:Activate {"origin":"parent"}
[AccessFuContent] DEBUG activateAccessible [ checkbutton | many option ]
25 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:Activate","json":{"origin":"top"}} (4) (b2g) 
JavaScript error: chrome://global/content/BrowserElementPanning.js, line 744: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getIntPref]
[Child 26116] WARNING: nsWindow::GetNativeData not implemented for this type: file /Volumes/firefoxos/B2G/gecko/widget/xpwidgets/PuppetWidget.cpp, line 790
2014-10-14 13:25:34.428 plugin-container[26116:303] Stack trace:
 --
Warning: /usr/bin/atos is moving and will be removed from a future OS X release.
It is now available in the Xcode developer tools to be invoked via: `xcrun atos`
To silence this warning, pass the '-d' command-line flag to this tool.
 --
Looking up symbols in process 26116 named:  plugin-container
__exceptionPreprocess (in CoreFoundation) + 148
objc_exception_throw (in libobjc.A.dylib) + 43
+[NSException raise:format:arguments:] (in CoreFoundation) + 104
-[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] (in Foundation) + 189
-[mozRootAccessible representedView] (in XUL) (mozDocAccessible.mm:100)
GetObjectOrRepresentedView(id<mozAccessible>) (in XUL) (mozAccessible.h:23)
-[mozAccessible didReceiveFocus] (in XUL) (mozAccessible.mm:632)
mozilla::a11y::AccessibleWrap::HandleAccEvent(mozilla::a11y::AccEvent*) (in XUL) (AccessibleWrap.mm:162)
mozilla::a11y::DocAccessible::HandleAccEvent(mozilla::a11y::AccEvent*) (in XUL) (DocAccessible.cpp:1127)
nsEventShell::FireEvent(mozilla::a11y::AccEvent*) (in XUL) (nsEventShell.cpp:36)
mozilla::a11y::FocusManager::ProcessFocusEvent(mozilla::a11y::AccEvent*) (in XUL) (FocusManager.cpp:379)
mozilla::a11y::EventQueue::ProcessEventQueue() (in XUL) (EventQueue.cpp:511)
mozilla::a11y::NotificationController::WillRefresh(mozilla::TimeStamp) (in XUL) (NotificationController.cpp:272)
nsRefreshDriver::Tick(long long, mozilla::TimeStamp) (in XUL) (nsRefreshDriver.cpp:1167)
mozilla::RefreshDriverTimer::TickDriver(nsRefreshDriver*, long long, mozilla::TimeStamp) (in XUL) (nsRefreshDriver.cpp:174)
mozilla::RefreshDriverTimer::Tick() (in XUL) (nsRefreshDriver.cpp:158)
mozilla::RefreshDriverTimer::TimerTick(nsITimer*, void*) (in XUL) (nsRefreshDriver.cpp:191)
nsTimerImpl::Fire() (in XUL) (nsTimerImpl.cpp:619)
nsTimerEvent::Run() (in XUL) (nsTimerImpl.cpp:711)
nsThread::ProcessNextEvent(bool, bool*) (in XUL) (nsThread.cpp:831)
NS_ProcessPendingEvents(nsIThread*, unsigned int) (in XUL) (nsThreadUtils.cpp:207)
nsBaseAppShell::NativeEventCallback() (in XUL) (nsBaseAppShell.cpp:99)
nsAppShell::ProcessGeckoEvents(void*) (in XUL) (nsAppShell.mm:362)
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ (in CoreFoundation) + 17
__CFRunLoopDoSources0 (in CoreFoundation) + 242
__CFRunLoopRun (in CoreFoundation) + 831
CFRunLoopRunSpecific (in CoreFoundation) + 309
RunCurrentEventLoopInMode (in HIToolbox) + 226
ReceiveNextEventCommon (in HIToolbox) + 479
_BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox) + 65
_DPSNextEvent (in AppKit) + 1434
-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit) + 122
-[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in XUL) (nsAppShell.mm:118)
-[NSApplication run] (in AppKit) + 553
nsAppShell::Run() (in XUL) (nsAppShell.mm:635)
XRE_RunAppShell (in XUL) (nsEmbedFunctions.cpp:713)
mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) (in XUL) (MessagePump.cpp:272)
MessageLoop::RunInternal() (in XUL) (message_loop.cc:231)
MessageLoop::RunHandler() (in XUL) (message_loop.cc:224)
MessageLoop::Run() (in XUL) (message_loop.cc:197)
XRE_InitChildProcess (in XUL) (nsEmbedFunctions.cpp:550)
content_process_main(int, char**) (in plugin-container) (plugin-container.cpp:158)
main (in plugin-container) (MozillaRuntimeMain.cpp:11)
start (in plugin-container) + 52
[AccessFuContent] DEBUG A11yEvent state change (checked) [ checkbutton | many option ]
26 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:Activate","json":{"origin":"top"}} (4) (b2g) 
JavaScript strict warning: chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/jsatcommon.js, line 538: ReferenceError: reference to undefined property received[presenter]
27 INFO TEST-FAIL | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Expected something but got nothing -- after {"name":"AccessFu:Activate","json":{"origin":"top"}} (4) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ label | many option ] -> [ text leaf | much range ]) [ document | such app ]
28 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (5) (b2g) 
29 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (5) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ text leaf | much range ] -> [ slider | much range ]) [ document | such app ]
30 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (6) (b2g) 
31 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (6) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"origin":"top","action":"movePrevious","inputType":"gesture","rule":"Simple","adjustRange":true}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"origin":"parent","action":"movePrevious","inputType":"gesture","rule":"Simple","adjustRange":true}
[AccessFuContent] DEBUG A11yEvent value change [ slider | much range ]
[Child 26116] WARNING: nsWindow::GetNativeData not implemented for this type: file /Volumes/firefoxos/B2G/gecko/widget/xpwidgets/PuppetWidget.cpp, line 790
32 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"origin":"top","action":"movePrevious","inputType":"gesture","rule":"Simple","adjustRange":true}} (7) (b2g) 
33 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"origin":"top","action":"movePrevious","inputType":"gesture","rule":"Simple","adjustRange":true}} (7) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"child"}
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ internal frame | null ] -> [ pushbutton | Home ]) [ document | Traversal Rule test document ]
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:ClearCursor {}
34 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (8) (b2g) 
35 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (8) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ slider | much range ] -> [ null ]) [ document | such app ]
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ pushbutton | Home ] -> [ internal frame | null ]) [ document | Traversal Rule test document ]
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveLast","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ null ] -> [ slider | much range ]) [ document | such app ]
36 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (9) (b2g) 
37 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (9) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"origin":"top","action":"moveNext","inputType":"gesture","rule":"Simple","adjustRange":true}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"origin":"parent","action":"moveNext","inputType":"gesture","rule":"Simple","adjustRange":true}
[AccessFuContent] DEBUG A11yEvent value change [ slider | much range ]
[Child 26116] WARNING: nsWindow::GetNativeData not implemented for this type: file /Volumes/firefoxos/B2G/gecko/widget/xpwidgets/PuppetWidget.cpp, line 790
38 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"origin":"top","action":"moveNext","inputType":"gesture","rule":"Simple","adjustRange":true}} (10) (b2g) 
39 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"origin":"top","action":"moveNext","inputType":"gesture","rule":"Simple","adjustRange":true}} (10) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ slider | much range ] -> [ text leaf | much range ]) [ document | such app ]
40 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (11) (b2g) 
41 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (11) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ text leaf | much range ] -> [ label | many option ]) [ document | such app ]
42 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (12) (b2g) 
43 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (12) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:Activate {"origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:Activate {"origin":"parent"}
[AccessFuContent] DEBUG activateAccessible [ checkbutton | many option ]
44 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:Activate","json":{"origin":"top"}} (13) (b2g) 
JavaScript error: chrome://global/content/BrowserElementPanning.js, line 744: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getIntPref]
[AccessFuContent] DEBUG A11yEvent state change (checked) [ checkbutton | many option ]
[Child 26116] WARNING: nsWindow::GetNativeData not implemented for this type: file /Volumes/firefoxos/B2G/gecko/widget/xpwidgets/PuppetWidget.cpp, line 790
45 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:Activate","json":{"origin":"top"}} (13) (b2g) 
46 INFO TEST-FAIL | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Expected something but got nothing -- after {"name":"AccessFu:Activate","json":{"origin":"top"}} (13) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ label | many option ] -> [ heading | null ]) [ document | such app ]
47 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (14) (b2g) 
48 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (14) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"child"}
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ internal frame | null ] -> [ pushbutton | Back ]) [ document | Traversal Rule test document ]
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:ClearCursor {}
49 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (15) (b2g) 
50 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (15) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ heading | null ] -> [ null ]) [ document | such app ]
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ pushbutton | Back ] -> [ text leaf | Phone status bar ]) [ document | Traversal Rule test document ]
51 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (16) (b2g) 
52 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"movePrevious","rule":"Simple","inputType":"gesture","origin":"top"}} (16) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ text leaf | Phone status bar ] -> [ pushbutton | Back ]) [ document | Traversal Rule test document ]
53 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (17) (b2g) 
54 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (17) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ pushbutton | Back ] -> [ internal frame | null ]) [ document | Traversal Rule test document ]
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveFirst","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ null ] -> [ heading | null ]) [ document | such app ]
55 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (18) (b2g) 
56 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (18) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveLast","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveLast","rule":"Simple","inputType":"gesture","origin":"parent"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ heading | null ] -> [ slider | much range ]) [ document | such app ]
57 INFO TEST-FAIL | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | data [ 0 [ expected "Home" got "much range" ] 1 [ string [ expected "pushbutton" got undefined ] -- undefined ] -- undefined ] -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveLast","rule":"Simple","inputType":"gesture","origin":"top"}} (19) (b2g) 
58 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveLast","rule":"Simple","inputType":"gesture","origin":"top"}} (19) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:ClearCursor {"origin":"top"}
[AccessFuContent] DEBUG ContentControl.receiveMessage AccessFu:ClearCursor {"origin":"parent"}
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ internal frame | null ] -> [ null ]) [ document | Traversal Rule test document ]
59 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Got AccessFu:CursorCleared after {"name":"AccessFu:ClearCursor","json":{"origin":"top"}} 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}
[AccessFuContent] DEBUG A11yEvent virtual cursor changed ([ slider | much range ] -> [ null ]) [ document | such app ]
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ null ] -> [ text leaf | Phone status bar ]) [ document | Traversal Rule test document ]
[AccessFu] DEBUG A11yEvent focus [ document | Traversal Rule test document ]
60 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (21) (b2g) 
61 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"action":"moveNext","rule":"Simple","inputType":"gesture","origin":"top"}} (21) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"origin":"top","action":"moveNext","inputType":"gesture","rule":"FormElement","adjustRange":true}
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ text leaf | Phone status bar ] -> [ pushbutton | Back ]) [ document | Traversal Rule test document ]
62 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"origin":"top","action":"moveNext","inputType":"gesture","rule":"FormElement","adjustRange":true}} (22) (b2g) 
63 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"origin":"top","action":"moveNext","inputType":"gesture","rule":"FormElement","adjustRange":true}} (22) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"origin":"top","action":"moveNext","inputType":"gesture","rule":"FormElement","adjustRange":true}
[AccessFu] DEBUG A11yEvent virtual cursor changed ([ pushbutton | Back ] -> [ pushbutton | Home ]) [ document | Traversal Rule test document ]
64 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | data [ 0 [ expected "many option" got "Home" ] 1 [ string [ expected "stateNotChecked" got "pushbutton" ] -- undefined ] 2 [ Expected something but got nothing -- undefined ] 3 [ Expected something but got nothing -- undefined ] 4 [ Expected something but got nothing -- undefined ] 5 [ Expected something but got nothing -- undefined ] 6 [ expected "such app" got undefined ] -- undefined ] -- after {"name":"AccessFu:MoveCursor","json":{"origin":"top","action":"moveNext","inputType":"gesture","rule":"FormElement","adjustRange":true}} (23) (b2g) - expected PASS
65 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/tests/mochitest/jsat/test_content_integration.html | Structures lazily match -- after {"name":"AccessFu:MoveCursor","json":{"origin":"top","action":"moveNext","inputType":"gesture","rule":"FormElement","adjustRange":true}} (23) (android) 
[AccessFu] DEBUG ContentControl.receiveMessage AccessFu:MoveCursor {"origin":"top","action":"moveNext","inputType":"gesture","rule":"FormElement","adjustRange":true}
(In reply to Yura Zenevich [:yzen] from comment #2)
> Comment on attachment 8503800 [details] [diff] [review]
> Change adjust message to adjust or move.
> 
> Review of attachment 8503800 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> looks good. just one nit and the comment below:
> 
> It doesn't look like _currentIndex is set by a pref, and the default is -1,
> I think it should be 0 (as you mentioned in IRC).
> Also, _currentIndex does not get reset when the
> 'accessibility.accessfu.quicknav_modes' setting changes. It should, or it
> should get reset to the value corresponding to the previously set mode.

Ahh, just got to bug 1081720. Ignore ^

> 
> ::: accessible/jsat/ContentControl.jsm
> @@ +93,5 @@
> >  
> >    handleMoveCursor: function cc_handleMoveCursor(aMessage) {
> >      let origin = aMessage.json.origin;
> >      let action = aMessage.json.action;
> > +    let adjustRange = aMessage.json.adjustRange;
> 
> nit:
> let {origin, action, adjustRange} = aMessage.json;
https://hg.mozilla.org/mozilla-central/rev/d0d69795d637
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
You need to log in before you can comment on or make changes to this bug.