Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Issue 885493007: Refactoring: de-couple Extensions from "script injection System" [render side] : 1 (Closed)

Created:
5 years, 10 months ago by Xi Han
Modified:
5 years, 10 months ago
Reviewers:
Fady Samuel, Devlin
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

A refacotring in the renderer side: introduce InjectionHost to de-couple extensions and to support content script injection out of chrome extensions. BUG=437566 Committed: https://crrev.com/a5c856cf3ea4f69aa00c6c24676e0bca3f05962a Cr-Commit-Position: refs/heads/master@{#316283}

Patch Set 1 : Introduce instance_id in the key of IsolatedWorldMap. #

Patch Set 2 : Plumb script_injection_instance_id from WebViewGuest to script injection. #

Total comments: 31

Patch Set 3 : Devlin@'s comments. #

Total comments: 18

Patch Set 4 : #

Patch Set 5 : Remove Host::IsEmpty() and move ExtensionConsumer to extensions/renderer. #

Total comments: 36

Patch Set 6 : Devlin's comments. #

Total comments: 12

Patch Set 7 : #

Total comments: 27

Patch Set 8 : nits #

Patch Set 9 : #

Patch Set 10 : Revert key of IsolatedWorldMap as std::string. #

Total comments: 5

Patch Set 11 : nits. #

Total comments: 3

Patch Set 12 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+310 lines, -128 lines) Patch
M extensions/browser/guest_view/web_view/web_view_guest.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M extensions/common/host_id.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -11 lines 0 comments Download
A extensions/common/host_id.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +32 lines, -0 lines 0 comments Download
M extensions/extensions.gypi View 1 2 3 4 5 6 7 8 9 10 3 chunks +5 lines, -0 lines 0 comments Download
M extensions/renderer/dispatcher.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
A extensions/renderer/extension_injection_host.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +39 lines, -0 lines 0 comments Download
A extensions/renderer/extension_injection_host.cc View 1 2 3 4 5 6 7 1 chunk +58 lines, -0 lines 0 comments Download
A extensions/renderer/injection_host.h View 1 2 3 4 5 6 7 1 chunk +41 lines, -0 lines 0 comments Download
A + extensions/renderer/injection_host.cc View 1 2 3 4 5 1 chunk +4 lines, -7 lines 0 comments Download
M extensions/renderer/programmatic_script_injector.h View 1 2 3 4 5 2 chunks +1 line, -2 lines 0 comments Download
M extensions/renderer/programmatic_script_injector.cc View 1 2 3 4 5 6 7 8 9 3 chunks +4 lines, -8 lines 0 comments Download
M extensions/renderer/script_injection.h View 1 2 3 4 5 6 7 8 9 4 chunks +17 lines, -14 lines 0 comments Download
M extensions/renderer/script_injection.cc View 1 2 3 4 5 6 7 8 9 10 13 chunks +51 lines, -48 lines 0 comments Download
M extensions/renderer/script_injection_manager.cc View 1 2 3 4 5 6 7 8 9 8 chunks +33 lines, -8 lines 0 comments Download
M extensions/renderer/script_injector.h View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M extensions/renderer/user_script_injector.h View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -2 lines 0 comments Download
M extensions/renderer/user_script_injector.cc View 1 2 3 4 5 6 7 8 9 3 chunks +4 lines, -22 lines 0 comments Download
M extensions/renderer/user_script_set.cc View 1 2 3 4 5 6 7 8 9 3 chunks +7 lines, -2 lines 0 comments Download

Messages

Total messages: 47 (15 generated)
Xi Han
Hi Devlin: the instance_id is stored in ScriptInjection, since I assume ScriptInjection is per ScriptInjector ...
5 years, 10 months ago (2015-02-03 20:54:24 UTC) #3
Xi Han
Hi Fady: An script injection instance is is introduced in WebViewGuest, and it will be ...
5 years, 10 months ago (2015-02-03 20:57:14 UTC) #5
Fady Samuel
This change seems reasonable to me so lgtm. I defer to Devlin for the final ...
5 years, 10 months ago (2015-02-04 06:23:37 UTC) #8
Devlin
One question before I review this. Last week, we were discussing implementing this feature in ...
5 years, 10 months ago (2015-02-04 16:33:09 UTC) #9
chromium-reviews
Yes, that is the direction that we are trying to take. On Wed, Feb 4, ...
5 years, 10 months ago (2015-02-04 16:35:23 UTC) #10
Devlin
On 2015/02/04 16:35:23, chromium-reviews wrote: > Yes, that is the direction that we are trying ...
5 years, 10 months ago (2015-02-04 16:37:25 UTC) #11
Devlin
First pass. https://codereview.chromium.org/885493007/diff/80001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/885493007/diff/80001/extensions/browser/guest_view/web_view/web_view_guest.cc#newcode218 extensions/browser/guest_view/web_view/web_view_guest.cc:218: int WebViewGuest:: GetOrGenerateScriptInjectionInstanceID( Why can't we use ...
5 years, 10 months ago (2015-02-04 17:01:14 UTC) #12
chromium-reviews
I will definitely make a CL to clean up of plumbing HostID in content_action.h(.cc) and ...
5 years, 10 months ago (2015-02-04 17:07:59 UTC) #13
Devlin
On 2015/02/04 17:07:59, chromium-reviews wrote: > I will definitely make a CL to clean up ...
5 years, 10 months ago (2015-02-04 17:11:32 UTC) #14
chromium-reviews
Yes, that is as what I thought. On Wed, Feb 4, 2015 at 12:11 PM, ...
5 years, 10 months ago (2015-02-04 17:13:41 UTC) #15
Xi Han
Hi Devlin: PTAL, thanks. https://codereview.chromium.org/885493007/diff/80001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/885493007/diff/80001/extensions/browser/guest_view/web_view/web_view_guest.cc#newcode218 extensions/browser/guest_view/web_view/web_view_guest.cc:218: int WebViewGuest:: GetOrGenerateScriptInjectionInstanceID( On 2015/02/04 ...
5 years, 10 months ago (2015-02-05 16:06:21 UTC) #18
Devlin
https://codereview.chromium.org/885493007/diff/80001/extensions/browser/script_executor.cc File extensions/browser/script_executor.cc (right): https://codereview.chromium.org/885493007/diff/80001/extensions/browser/script_executor.cc#newcode148 extensions/browser/script_executor.cc:148: params.instance_id = params.is_web_view ? instance_id : On 2015/02/05 16:06:20, ...
5 years, 10 months ago (2015-02-06 00:28:41 UTC) #19
Xi Han
https://codereview.chromium.org/885493007/diff/80001/extensions/browser/script_executor.cc File extensions/browser/script_executor.cc (right): https://codereview.chromium.org/885493007/diff/80001/extensions/browser/script_executor.cc#newcode148 extensions/browser/script_executor.cc:148: params.instance_id = params.is_web_view ? instance_id : On 2015/02/06 00:28:40, ...
5 years, 10 months ago (2015-02-06 17:21:46 UTC) #21
Devlin
https://codereview.chromium.org/885493007/diff/80001/extensions/common/extension_consumer.h File extensions/common/extension_consumer.h (right): https://codereview.chromium.org/885493007/diff/80001/extensions/common/extension_consumer.h#newcode15 extensions/common/extension_consumer.h:15: class ExtensionConsumer : public Host { On 2015/02/06 00:28:40, ...
5 years, 10 months ago (2015-02-06 18:48:36 UTC) #22
Xi Han
https://codereview.chromium.org/885493007/diff/80001/extensions/common/extension_consumer.h File extensions/common/extension_consumer.h (right): https://codereview.chromium.org/885493007/diff/80001/extensions/common/extension_consumer.h#newcode15 extensions/common/extension_consumer.h:15: class ExtensionConsumer : public Host { Sorry for missing ...
5 years, 10 months ago (2015-02-06 19:45:33 UTC) #24
Devlin
https://codereview.chromium.org/885493007/diff/120001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/885493007/diff/120001/extensions/browser/guest_view/web_view/web_view_guest.cc#newcode194 extensions/browser/guest_view/web_view/web_view_guest.cc:194: static base::LazyInstance<WebViewKeyToIDMap> script_injection_instance_id_map = On 2015/02/06 19:45:33, Xi Han ...
5 years, 10 months ago (2015-02-09 17:40:25 UTC) #25
Xi Han
Hi Devlin: please take another look, thanks! https://codereview.chromium.org/885493007/diff/120001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/885493007/diff/120001/extensions/browser/guest_view/web_view/web_view_guest.cc#newcode194 extensions/browser/guest_view/web_view/web_view_guest.cc:194: static base::LazyInstance<WebViewKeyToIDMap> ...
5 years, 10 months ago (2015-02-09 23:28:12 UTC) #27
Fady Samuel
https://codereview.chromium.org/885493007/diff/230001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/885493007/diff/230001/extensions/browser/guest_view/web_view/web_view_guest.cc#newcode123 extensions/browser/guest_view/web_view/web_view_guest.cc:123: const GetNextUniqueIDFunction& function) { This is really weird. I ...
5 years, 10 months ago (2015-02-10 06:04:12 UTC) #28
Fady Samuel
https://codereview.chromium.org/885493007/diff/230001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/885493007/diff/230001/extensions/browser/guest_view/web_view/web_view_guest.cc#newcode123 extensions/browser/guest_view/web_view/web_view_guest.cc:123: const GetNextUniqueIDFunction& function) { On 2015/02/10 06:04:12, Fady Samuel ...
5 years, 10 months ago (2015-02-10 15:46:47 UTC) #29
Devlin
https://codereview.chromium.org/885493007/diff/230001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/885493007/diff/230001/extensions/browser/guest_view/web_view/web_view_guest.cc#newcode123 extensions/browser/guest_view/web_view/web_view_guest.cc:123: const GetNextUniqueIDFunction& function) { On 2015/02/10 15:46:47, Fady Samuel ...
5 years, 10 months ago (2015-02-10 20:59:54 UTC) #30
Xi Han
I update the GetOrGenerate...ID() function according to Devlin@'s comment, PTAL, thanks! https://codereview.chromium.org/885493007/diff/230001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (right): ...
5 years, 10 months ago (2015-02-10 23:35:14 UTC) #32
Devlin
Okay, down to the small stuff :) https://codereview.chromium.org/885493007/diff/270001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/885493007/diff/270001/extensions/browser/guest_view/web_view/web_view_guest.cc#newcode63 extensions/browser/guest_view/web_view/web_view_guest.cc:63: using GetNextUniqueIDFunction ...
5 years, 10 months ago (2015-02-11 00:00:49 UTC) #33
Xi Han
https://codereview.chromium.org/885493007/diff/270001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/885493007/diff/270001/extensions/browser/guest_view/web_view/web_view_guest.cc#newcode63 extensions/browser/guest_view/web_view/web_view_guest.cc:63: using GetNextUniqueIDFunction = base::Callback<int(void)>; On 2015/02/11 00:00:48, Devlin wrote: ...
5 years, 10 months ago (2015-02-11 16:00:24 UTC) #34
Devlin
https://codereview.chromium.org/885493007/diff/270001/extensions/renderer/extension_injection_host.cc File extensions/renderer/extension_injection_host.cc (right): https://codereview.chromium.org/885493007/diff/270001/extensions/renderer/extension_injection_host.cc#newcode13 extensions/renderer/extension_injection_host.cc:13: extension_(extension) { On 2015/02/11 16:00:23, Xi Han wrote: > ...
5 years, 10 months ago (2015-02-11 20:19:45 UTC) #35
Xi Han
Hi Devlin: the point of this CL is to make the isolated world map is ...
5 years, 10 months ago (2015-02-11 21:19:09 UTC) #36
Xi Han
Hi Devlin: as discussed offline, a key of std::string for IsolatedWoldMap is enough. I revert ...
5 years, 10 months ago (2015-02-12 22:41:51 UTC) #38
Devlin
Super close! :) Please also update the CL description. https://codereview.chromium.org/885493007/diff/350001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (left): https://codereview.chromium.org/885493007/diff/350001/extensions/browser/guest_view/web_view/web_view_guest.cc#oldcode186 extensions/browser/guest_view/web_view/web_view_guest.cc:186: ...
5 years, 10 months ago (2015-02-13 18:27:08 UTC) #39
Xi Han
https://codereview.chromium.org/885493007/diff/350001/extensions/browser/guest_view/web_view/web_view_guest.cc File extensions/browser/guest_view/web_view/web_view_guest.cc (left): https://codereview.chromium.org/885493007/diff/350001/extensions/browser/guest_view/web_view/web_view_guest.cc#oldcode186 extensions/browser/guest_view/web_view/web_view_guest.cc:186: static base::LazyInstance<WebViewKeyToIDMap> web_view_key_to_id_map = On 2015/02/13 18:27:08, Devlin wrote: ...
5 years, 10 months ago (2015-02-13 19:11:29 UTC) #40
Devlin
lgtm with nits https://codereview.chromium.org/885493007/diff/350001/extensions/renderer/script_injection.cc File extensions/renderer/script_injection.cc (right): https://codereview.chromium.org/885493007/diff/350001/extensions/renderer/script_injection.cc#newcode204 extensions/renderer/script_injection.cc:204: RequestPermission(); On 2015/02/13 19:11:29, Xi Han ...
5 years, 10 months ago (2015-02-13 19:29:59 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/885493007/410001
5 years, 10 months ago (2015-02-13 19:52:14 UTC) #45
commit-bot: I haz the power
Committed patchset #12 (id:410001)
5 years, 10 months ago (2015-02-13 20:52:21 UTC) #46
commit-bot: I haz the power
5 years, 10 months ago (2015-02-13 20:52:58 UTC) #47
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/a5c856cf3ea4f69aa00c6c24676e0bca3f05962a
Cr-Commit-Position: refs/heads/master@{#316283}

Powered by Google App Engine
This is Rietveld 408576698