Open
Bug 868292
Opened 12 years ago
Updated 2 years ago
nsIDOMWindowUtils.sendKeyEvent is much slower in content process than that in chrome process
Categories
(Core :: DOM: Core & HTML, defect, P5)
Tracking
()
NEW
People
(Reporter: xyuan, Unassigned)
Details
(Keywords: perf, Whiteboard: [c= p= u= s=])
This is a followup of Bug 860546(https://bugzilla.mozilla.org/show_bug.cgi?id=860546).
When nsIDOMWindowUtils.sendKeyEvent is used to synthesize key events, it runs much slower in content processes than that in chrome process.
A simple test on b2g-desktop of Ubuntu 12.04 64bit shows that it takes 1 second to run nsIDOMWindowUtils.sendKeyEvent 3000 times in the system app and 25 seconds to run in the contacts and email app.
Comment 1•12 years ago
|
||
Which IPC method do we call? Is it sync or async?
Reporter | ||
Comment 2•12 years ago
|
||
Sync and async calls get the same results.
Async method tested in chrome process is MozKeyboard.sendKey in the file b2g/components/MozKeyboard.js:
https://mxr.mozilla.org/mozilla-central/source/b2g/components/MozKeyboard.js#84
76 sendKey: function mozKeyboardSendKey(keyCode, charCode) {
77 charCode = (charCode == undefined) ? keyCode : charCode;
78
79 let mainThread = tm.mainThread;
80 let utils = this._utils;
81
82 function send(type) {
83 mainThread.dispatch(function() {
84 utils.sendKeyEvent(type, keyCode, charCode, null);
85 }, mainThread.DISPATCH_NORMAL);
86 }
87
88 send("keydown");
89 send("keypress");
90 send("keyup");
91 },
Move sendKey to content process in the file b2g/chrome/content/forms.js with the following patch will be much slower:
https://bug860546.bugzilla.mozilla.org/attachment.cgi?id=738997
Comment 3•11 years ago
|
||
(In reply to Yuan Xulei [:yxl] from comment #2)
> Sync and async calls get the same results.
>
> Async method tested in chrome process is MozKeyboard.sendKey in the file
> b2g/components/MozKeyboard.js:
>
> https://mxr.mozilla.org/mozilla-central/source/b2g/components/MozKeyboard.
> js#84
>
Looks like this file has moved. Yuan does your comment above still apply here? https://mxr.mozilla.org/mozilla-central/source/dom/inputmethod/MozKeyboard.js#87
Component: General → DOM
Flags: needinfo?(xyuan)
Priority: -- → P2
Product: Firefox OS → Core
Reporter | ||
Comment 4•11 years ago
|
||
(In reply to Mike Lee [:mlee] from comment #3)
> (In reply to Yuan Xulei [:yxl] from comment #2)
> > Sync and async calls get the same results.
> >
> > Async method tested in chrome process is MozKeyboard.sendKey in the file
> > b2g/components/MozKeyboard.js:
> >
> > https://mxr.mozilla.org/mozilla-central/source/b2g/components/MozKeyboard.
> > js#84
> >
>
> Looks like this file has moved. Yuan does your comment above still apply
> here?
> https://mxr.mozilla.org/mozilla-central/source/dom/inputmethod/MozKeyboard.
> js#87
Yes, still here.
Flags: needinfo?(xyuan)
Comment 5•7 years ago
|
||
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046
Move all DOM bugs that haven’t been updated in more than 3 years and has no one currently assigned to P5.
If you have questions, please contact :mdaly.
Priority: P2 → P5
Assignee | ||
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•