Closed
Bug 1470023
Opened 6 years ago
Closed 6 years ago
Lazily load PluginContent.jsm
Categories
(Core Graveyard :: Plug-ins, enhancement)
Core Graveyard
Plug-ins
Tracking
(firefox63 fixed)
RESOLVED
FIXED
mozilla63
Tracking | Status | |
---|---|---|
firefox63 | --- | fixed |
People
(Reporter: mccr8, Assigned: kmag)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
(Whiteboard: [overhead:30k][fxperf:p1])
Attachments
(1 file)
content.js contains this code:
// TODO: Load this lazily so the JSM is run only if a relevant event/message fires.
void new PluginContent(global);
I haven't looked at the code, but hopefully we can avoid loading this JSM if there are no plugins in the content process. According to my analyzer, this is like 30kb of memory (almost entirely scripts).
Updated•6 years ago
|
Whiteboard: [overhead:30k]
Updated•6 years ago
|
Component: General → Plug-ins
Product: Firefox → Core
Assignee | ||
Comment 1•6 years ago
|
||
I think this should be pretty doable. I looked into this when I was doing bug 1464552, and initially backed away because of the pageshow and pagehide hooks. It looks like we only actually need to care about those once the module has been loaded, though, so we may be able to do this without too much trouble.
Updated•6 years ago
|
Whiteboard: [overhead:30k] → [overhead:30k][fxperf]
Comment hidden (mozreview-request) |
Comment 3•6 years ago
|
||
Pro-actively assigning this to kmag, since he's already got a patch up for it.
Assignee: nobody → kmaglione+bmo
Whiteboard: [overhead:30k][fxperf] → [overhead:30k][fxperf:p1]
Comment 4•6 years ago
|
||
mozreview-review |
Comment on attachment 8987397 [details]
Bug 1470023: Lazily load PluginContent.jsm when it's first required.
https://reviewboard.mozilla.org/r/252642/#review259386
In addition to this, I'd make the PluginContentStub object a weak observer, to avoid the unload listener and the uninit function.
Probably follow-up fodder, but this decoder-doctor-notification might be even unnecessary. There's an existing meta-bug about getting rid of one-observer-per-tab observers (bug 1195386), which tracks bug 1348810 where this notification is discussed.
Attachment #8987397 -
Flags: review?(felipc) → review+
Assignee | ||
Comment 5•6 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/064e448df638efc4a99fdf9f400d1eac2b7505ca
Bug 1470023: Lazily load PluginContent.jsm when it's first required. r=felipe
Assignee | ||
Comment 6•6 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/f0f5158db88c8a9712b7e09fccaf10d004343e85
Bug 1470023: Follow-up: Fix weird test bustage. r=bustage CLOSED TREE
Comment 7•6 years ago
|
||
Backed out 2 changesets (bug 1470023) for frequent mochitest failures eg.: toolkit/components/extensions/test/mochitest/test_ext_contentscript_permission.html
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=184850960&repo=mozilla-inbound
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=064e448df638efc4a99fdf9f400d1eac2b7505ca&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable&selectedJob=184850960
https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=f0f5158db88c8a9712b7e09fccaf10d004343e85&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable&selectedJob=184860729
Backout: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=748ba658c02b66030b99ce7576c85c57c95225b7&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable
Flags: needinfo?(kmaglione+bmo)
Assignee | ||
Comment 8•6 years ago
|
||
Hrm. Apparently there's some code that depends on this frame script touching `content`, which doesn't happen after the lazification. I'm going to add a hack to keep touching it for now and file a follow-up to remove it.
Flags: needinfo?(kmaglione+bmo)
Assignee | ||
Comment 9•6 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/1adc0372343e6ca2248f3c16cede6a103aebcaa7
Bug 1470023: Lazily load PluginContent.jsm when it's first required. r=felipe
Comment 10•6 years ago
|
||
Backed out 3 changesets (bug 1470023, bug 1469719, bug 1470965) for | toolkit/components/perfmonitoring/tests/browser/browser_compartments.js on a CLOSED TREE
Problematic push: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=bab121b4dd84f9715e6a9efa652556a91ea60a3c&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified
Failure: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&fromchange=43040128202efc47d4249e623e6d3ffd1a5d9588&filter-classifiedState=unclassified&selectedJob=185004097
Backout: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=24aeaadfae0df355fb2fac7ea25ea90fa9c56ddf&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified
Log: https://treeherder.mozilla.org/logviewer.html#?job_id=185004097&repo=mozilla-inbound&lineNumber=2513
12:29:59 INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_tabs_executeScript.js | Error: Error: No matching message handler :: Async*background@moz-extension://3ee86764-b762-5340-a5bf-c15c8f281ced/%7B62a81496-888d-f242-8ef8-442b57bff1c8%7D.js:3:11
12:29:59 INFO - async*@moz-extension://3ee86764-b762-5340-a5bf-c15c8f281ced/%7B62a81496-888d-f242-8ef8-442b57bff1c8%7D.js:1:17
12:29:59 INFO - -
12:29:59 INFO - Stack trace:
12:29:59 INFO - background@moz-extension://3ee86764-b762-5340-a5bf-c15c8f281ced/%7B62a81496-888d-f242-8ef8-442b57bff1c8%7D.js:187:7
12:29:59 INFO - async*@moz-extension://3ee86764-b762-5340-a5bf-c15c8f281ced/%7B62a81496-888d-f242-8ef8-442b57bff1c8%7D.js:1:17
12:29:59 INFO -
12:29:59 INFO - Not taking screenshot here: see the one that was previously logged
12:29:59 INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_tabs_executeScript.js | executeScript -
12:29:59 INFO - Stack trace:
12:29:59 INFO - background@moz-extension://3ee86764-b762-5340-a5bf-c15c8f281ced/%7B62a81496-888d-f242-8ef8-442b57bff1c8%7D.js:188:7
12:29:59 INFO - async*@moz-extension://3ee86764-b762-5340-a5bf-c15c8f281ced/%7B62a81496-888d-f242-8ef8-442b57bff1c8%7D.js:1:17
12:29:59 INFO -
12:29:59 INFO - TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_tabs_executeScript.js | test result correct -
12:29:59 INFO - Console message: [JavaScript Error: "Promise rejected after context unloaded: Message manager disconnected
12:29:59 INFO - " {file: "moz-extension://3ee86764-b762-5340-a5bf-c15c8f281ced/script.js" line: 2}]
12:29:59 INFO - @moz-extension://3ee86764-b762-5340-a5bf-c15c8f281ced/script.js:2:9
12:29:59 INFO -
12:29:59 INFO - Console message: Ignoring response to aborted listener for 1099511627780
12:29:59 INFO - Console message: Cannot send function call result: other side closed connection (call data: ({path:"tabs.executeScript", args:[409, {allFrames:null, code:"42", cssOrigin:null, file:null, frameId:null, matchAboutBlank:null, runAt:"document_idle"}]}))
12:29:59 INFO - TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_tabs_executeScript.js | Message manager count -
12:29:59 INFO - TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_tabs_executeScript.js | Pending response count -
12:29:59 INFO - Leaving test bound testExecuteScript
12:29:59 INFO - Console message: Ignoring response to aborted listener for 1668
12:29:59 INFO - Console message: Cannot send function call result: other side closed connection (call data: ({path:"tabs.executeScript", args:[410, {allFrames:null, code:"location.href", cssOrigin:null, file:null, frameId:null, matchAboutBlank:null, runAt:"document_idle"}]}))
12:29:59 INFO - GECKO(869) | MEMORY STAT | vsize 4724MB | residentFast 794MB | heapAllocated 190MB
12:29:59 INFO - TEST-OK | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_tabs_executeScript.js | took 939ms
12:29:59 INFO - Not taking screenshot here: see the one that was previously logged
12:29:59 INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_tabs_executeScript.js | Found an unexpected tab at the end of test run: about:blank -
12:29:59 INFO - Not taking screenshot here: see the one that was previously logged
12:29:59 INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_tabs_executeScript.js | Found an unexpected tab at the end of test run: http://example.com/ -
12:29:59 INFO - Not taking screenshot here: see the one that was previously logged
12:29:59 INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_tabs_executeScript.js | Found an unexpected tab at the end of test run: http://example.net/ -
12:29:59 INFO - checking window state
Flags: needinfo?(kmaglione+bmo)
Comment 11•6 years ago
|
||
Kris, when you land it again, could you mention bug 1471327 in the comment above the `var content` hack?
Assignee | ||
Comment 12•6 years ago
|
||
(In reply to :Felipe Gomes (needinfo me!) from comment #11)
> Kris, when you land it again, could you mention bug 1471327 in the comment
> above the `var content` hack?
Yup, sorry. I filed the bug before I landed so I could add it to the comment, and then forgot...
Flags: needinfo?(kmaglione+bmo)
Assignee | ||
Comment 13•6 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/446a587a3c239233eb717cfb1a5a509614f60649
Bug 1470023: Lazily load PluginContent.jsm when it's first required. r=felipe
Comment 14•6 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox63:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Updated•2 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•