|
|
Created:
4 years, 4 months ago by Devlin Modified:
4 years, 4 months ago CC:
chromium-reviews, chromium-apps-reviews_chromium.org, extensions-reviews_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
Description[Extensions] Don't inject mojo bindings for every context
Currently, the module system injects mojo bindings for every created
script context, because some extension APIs rely on their existence.
However, these bindings are slow and costly to construct. Only create
them for blessed extension contexts.
We should be able to drill this down further and create them even more
rarely, but do this until we can investigate more, since this helps in
the 99% case.
BUG=637155
Committed: https://crrev.com/3cf02f522b6428e4bd30ac55da07657a3e55072c
Cr-Commit-Position: refs/heads/master@{#412086}
Patch Set 1 : todo #
Total comments: 2
Messages
Total messages: 27 (19 generated)
The CQ bit was checked by [email protected] to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by [email protected]
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by [email protected] to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by [email protected]
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by [email protected] to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== whatbreaks BUG= ========== to ========== [Extensions] Don't inject mojo bindings for every context Currently, the module system injects mojo bindings for every created script context, because some extension APIs rely on their existence. However, these bindings are slow and costly to construct. Only create them for blessed extension contexts. We should be able to drill this down further and create them even more rarely, but do this until we can investigate more, since this helps in the 99% case. BUG=637155 ==========
Patchset #1 (id:1) has been deleted
Patchset #1 (id:20001) has been deleted
[email protected] changed reviewers: + [email protected]
lgtm.
The CQ bit was unchecked by [email protected]
The CQ bit was checked by [email protected]
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== [Extensions] Don't inject mojo bindings for every context Currently, the module system injects mojo bindings for every created script context, because some extension APIs rely on their existence. However, these bindings are slow and costly to construct. Only create them for blessed extension contexts. We should be able to drill this down further and create them even more rarely, but do this until we can investigate more, since this helps in the 99% case. BUG=637155 ========== to ========== [Extensions] Don't inject mojo bindings for every context Currently, the module system injects mojo bindings for every created script context, because some extension APIs rely on their existence. However, these bindings are slow and costly to construct. Only create them for blessed extension contexts. We should be able to drill this down further and create them even more rarely, but do this until we can investigate more, since this helps in the 99% case. BUG=637155 ==========
Message was sent while issue was closed.
Committed patchset #1 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== [Extensions] Don't inject mojo bindings for every context Currently, the module system injects mojo bindings for every created script context, because some extension APIs rely on their existence. However, these bindings are slow and costly to construct. Only create them for blessed extension contexts. We should be able to drill this down further and create them even more rarely, but do this until we can investigate more, since this helps in the 99% case. BUG=637155 ========== to ========== [Extensions] Don't inject mojo bindings for every context Currently, the module system injects mojo bindings for every created script context, because some extension APIs rely on their existence. However, these bindings are slow and costly to construct. Only create them for blessed extension contexts. We should be able to drill this down further and create them even more rarely, but do this until we can investigate more, since this helps in the 99% case. BUG=637155 Committed: https://crrev.com/3cf02f522b6428e4bd30ac55da07657a3e55072c Cr-Commit-Position: refs/heads/master@{#412086} ==========
Message was sent while issue was closed.
Patchset 1 (id:??) landed as https://crrev.com/3cf02f522b6428e4bd30ac55da07657a3e55072c Cr-Commit-Position: refs/heads/master@{#412086}
Message was sent while issue was closed.
[email protected] changed reviewers: + [email protected]
Message was sent while issue was closed.
https://codereview.chromium.org/2243323002/diff/40001/extensions/renderer/mod... File extensions/renderer/module_system.cc (right): https://codereview.chromium.org/2243323002/diff/40001/extensions/renderer/mod... extensions/renderer/module_system.cc:177: context_->context_type() == Feature::BLESSED_EXTENSION_CONTEXT) { Does this mean that we don't inject mojo bindings for the main world (in the Blink terms)?
Message was sent while issue was closed.
https://codereview.chromium.org/2243323002/diff/40001/extensions/renderer/mod... File extensions/renderer/module_system.cc (right): https://codereview.chromium.org/2243323002/diff/40001/extensions/renderer/mod... extensions/renderer/module_system.cc:177: context_->context_type() == Feature::BLESSED_EXTENSION_CONTEXT) { On 2016/08/18 01:42:59, haraken wrote: > > Does this mean that we don't inject mojo bindings for the main world (in the > Blink terms)? This means we only inject bindings for extension frames. So if you visit a chrome-extension:// page, that main frame will get bindings, but for the 99.9% of other traffic, there are no bindings (for the main frame or any js worlds). With site isolation, extension iframes are considered blessed extension contexts, so they will get bindings, but again, that's fairly rare.
Message was sent while issue was closed.
On 2016/08/18 02:01:36, Devlin wrote: > https://codereview.chromium.org/2243323002/diff/40001/extensions/renderer/mod... > File extensions/renderer/module_system.cc (right): > > https://codereview.chromium.org/2243323002/diff/40001/extensions/renderer/mod... > extensions/renderer/module_system.cc:177: context_->context_type() == > Feature::BLESSED_EXTENSION_CONTEXT) { > On 2016/08/18 01:42:59, haraken wrote: > > > > Does this mean that we don't inject mojo bindings for the main world (in the > > Blink terms)? > > This means we only inject bindings for extension frames. So if you visit a > chrome-extension:// page, that main frame will get bindings, but for the 99.9% > of other traffic, there are no bindings (for the main frame or any js worlds). > With site isolation, extension iframes are considered blessed extension > contexts, so they will get bindings, but again, that's fairly rare. Ah, thanks for the clarification! |