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

Issue 16975007: Run shim's watchForTag on document.DOMContentLoaded (Closed)

Created:
7 years, 6 months ago by lazyboy
Modified:
7 years, 6 months ago
CC:
chromium-reviews, chromium-apps-reviews_chromium.org, extensions-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Run shim's watchForTag on document.DOMContentLoaded In shim (web_view.js) we used to register watchForTag (L1) like this: window.addEventListener('DOMContentLoaded', L1); Let's assume in chrome app window we have document.addEventListener('DOMContentLoaded', L2); Problem is L2 fires before L1 and we want to run shim code before L2. Otherwise L2 can redefine property on WebView instance. This change makes sure watchForTag would be called before L2 fires. BUG=251965 Test=WebViewTest.SetPropertyOnDocumentReady updated to cover the case. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=207423

Patch Set 1 #

Total comments: 14

Patch Set 2 : Address comments from kalman. #

Total comments: 7

Patch Set 3 : Not using current. #

Total comments: 10

Patch Set 4 : Address comments from kalman@ #

Total comments: 2

Patch Set 5 : rebase + add test code from @kalman's comment #

Total comments: 2

Patch Set 6 : Add more debug code. #

Patch Set 7 : use window.readystatechange as adamk@ suggested, remove debug code #

Patch Set 8 : Use correct comment instead of copy/pasting. #

Total comments: 2

Patch Set 9 : Remove unrelated changes + add tests. #

Total comments: 4

Patch Set 10 : Address comments from kalman@ #

Total comments: 2

Patch Set 11 : Address comments from kalman@ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+33 lines, -9 lines) Patch
M chrome/renderer/resources/extensions/web_view.js View 1 2 3 4 5 6 7 1 chunk +16 lines, -3 lines 0 comments Download
M chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js View 1 2 3 4 5 6 7 8 9 10 2 chunks +17 lines, -6 lines 0 comments Download

Messages

Total messages: 40 (0 generated)
not at google - send to devlin
approach seems fine though I only have a very vague understanding of what the purpose ...
7 years, 6 months ago (2013-06-13 22:08:32 UTC) #1
lazyboy
My basic question about the fact still remains: chrome.app.window.create is called. web_view.js scripts loads, in ...
7 years, 6 months ago (2013-06-14 00:09:50 UTC) #2
not at google - send to devlin
On 2013/06/14 00:09:50, lazyboy wrote: > My basic question about the fact still remains: > ...
7 years, 6 months ago (2013-06-14 00:19:39 UTC) #3
lazyboy
On 2013/06/14 00:19:39, kalman wrote: > On 2013/06/14 00:09:50, lazyboy wrote: > > My basic ...
7 years, 6 months ago (2013-06-14 00:22:25 UTC) #4
not at google - send to devlin
could you add comments which documents you're referring to?
7 years, 6 months ago (2013-06-14 00:23:11 UTC) #5
lazyboy
Added comments for A and B. https://codereview.chromium.org/16975007/diff/5001/chrome/renderer/resources/extensions/web_view.js File chrome/renderer/resources/extensions/web_view.js (right): https://codereview.chromium.org/16975007/diff/5001/chrome/renderer/resources/extensions/web_view.js#newcode49 chrome/renderer/resources/extensions/web_view.js:49: If i refer ...
7 years, 6 months ago (2013-06-14 00:30:10 UTC) #6
not at google - send to devlin
https://codereview.chromium.org/16975007/diff/5001/chrome/renderer/extensions/render_view_observer_natives.cc File chrome/renderer/extensions/render_view_observer_natives.cc (right): https://codereview.chromium.org/16975007/diff/5001/chrome/renderer/extensions/render_view_observer_natives.cc#newcode40 chrome/renderer/extensions/render_view_observer_natives.cc:40: v8::Local<v8::Context> context = frame->mainWorldScriptContext(); I suspect it has something ...
7 years, 6 months ago (2013-06-14 00:58:31 UTC) #7
lazyboy
On 2013/06/14 00:58:31, kalman wrote: > https://codereview.chromium.org/16975007/diff/5001/chrome/renderer/extensions/render_view_observer_natives.cc > File chrome/renderer/extensions/render_view_observer_natives.cc (right): > > https://codereview.chromium.org/16975007/diff/5001/chrome/renderer/extensions/render_view_observer_natives.cc#newcode40 > ...
7 years, 6 months ago (2013-06-14 03:46:25 UTC) #8
not at google - send to devlin
https://chromiumcodereview.appspot.com/16975007/diff/5001/chrome/renderer/extensions/render_view_observer_natives.cc File chrome/renderer/extensions/render_view_observer_natives.cc (right): https://chromiumcodereview.appspot.com/16975007/diff/5001/chrome/renderer/extensions/render_view_observer_natives.cc#newcode48 chrome/renderer/extensions/render_view_observer_natives.cc:48: callback_->Call(global, 1, args); To answer your comment: The problem ...
7 years, 6 months ago (2013-06-14 05:26:27 UTC) #9
lazyboy
https://chromiumcodereview.appspot.com/16975007/diff/5001/chrome/renderer/extensions/render_view_observer_natives.cc File chrome/renderer/extensions/render_view_observer_natives.cc (right): https://chromiumcodereview.appspot.com/16975007/diff/5001/chrome/renderer/extensions/render_view_observer_natives.cc#newcode48 chrome/renderer/extensions/render_view_observer_natives.cc:48: callback_->Call(global, 1, args); On 2013/06/14 05:26:27, kalman wrote: > ...
7 years, 6 months ago (2013-06-14 16:23:31 UTC) #10
not at google - send to devlin
This looks right to me, I don't understand why documentA != documentB there. Adam is ...
7 years, 6 months ago (2013-06-14 16:45:27 UTC) #11
lazyboy
https://chromiumcodereview.appspot.com/16975007/diff/17001/chrome/renderer/extensions/render_view_observer_natives.cc File chrome/renderer/extensions/render_view_observer_natives.cc (right): https://chromiumcodereview.appspot.com/16975007/diff/17001/chrome/renderer/extensions/render_view_observer_natives.cc#newcode41 chrome/renderer/extensions/render_view_observer_natives.cc:41: void CallbackAndDie(WebKit::WebFrame* frame, bool succeeded) { On 2013/06/14 16:45:27, ...
7 years, 6 months ago (2013-06-14 18:17:34 UTC) #12
adamk
Happy to take a look, but I need some context here. A more detailed change ...
7 years, 6 months ago (2013-06-18 19:01:21 UTC) #13
lazyboy
On 2013/06/18 19:01:21, adamk wrote: > Happy to take a look, but I need some ...
7 years, 6 months ago (2013-06-18 19:12:25 UTC) #14
adamk
https://chromiumcodereview.appspot.com/16975007/diff/20001/chrome/renderer/resources/extensions/web_view.js File chrome/renderer/resources/extensions/web_view.js (right): https://chromiumcodereview.appspot.com/16975007/diff/20001/chrome/renderer/resources/extensions/web_view.js#newcode52 chrome/renderer/resources/extensions/web_view.js:52: if (documentA == documentB) { This only makes sense ...
7 years, 6 months ago (2013-06-18 22:26:49 UTC) #15
adamk
Also, it's not clear to me that (i) is necessary at all, since MutationObservers run ...
7 years, 6 months ago (2013-06-18 22:38:06 UTC) #16
lazyboy
On 2013/06/18 22:38:06, adamk wrote: > Also, it's not clear to me that (i) is ...
7 years, 6 months ago (2013-06-18 22:54:32 UTC) #17
lazyboy
And missed draft publishing... https://chromiumcodereview.appspot.com/16975007/diff/20001/chrome/renderer/resources/extensions/web_view.js File chrome/renderer/resources/extensions/web_view.js (right): https://chromiumcodereview.appspot.com/16975007/diff/20001/chrome/renderer/resources/extensions/web_view.js#newcode52 chrome/renderer/resources/extensions/web_view.js:52: if (documentA == documentB) { ...
7 years, 6 months ago (2013-06-18 22:54:47 UTC) #18
not at google - send to devlin
As a possibly-aside, I messed up ChromeV8Context::CallFunction and added a HandleScope there instead of a ...
7 years, 6 months ago (2013-06-18 22:56:11 UTC) #19
lazyboy
FYI, here's a test app that i'm using: https://github.com/lazyboy/chromium/tree/master/tests/chrome-apps/webview_documentready note that for this app, web_view.js ...
7 years, 6 months ago (2013-06-18 23:49:16 UTC) #20
not at google - send to devlin
Ok. Adam is afk for the rest of the day, I'll hopefully have another look ...
7 years, 6 months ago (2013-06-18 23:51:14 UTC) #21
not at google - send to devlin
On 2013/06/18 22:54:47, lazyboy wrote: > And missed draft publishing... > > https://chromiumcodereview.appspot.com/16975007/diff/20001/chrome/renderer/resources/extensions/web_view.js > File ...
7 years, 6 months ago (2013-06-19 01:00:02 UTC) #22
not at google - send to devlin
I would like to point out two fairly orthogonal issues: - running code on context ...
7 years, 6 months ago (2013-06-19 15:55:58 UTC) #23
lazyboy
On 2013/06/19 01:00:02, kalman wrote: > On 2013/06/18 22:54:47, lazyboy wrote: > > And missed ...
7 years, 6 months ago (2013-06-19 19:00:37 UTC) #24
lazyboy
On 2013/06/19 15:55:58, kalman wrote: > I would like to point out two fairly orthogonal ...
7 years, 6 months ago (2013-06-19 19:30:13 UTC) #25
adamk
Instead of hooking DidCreateDocumentElement, I think you may be able to handle this all in ...
7 years, 6 months ago (2013-06-19 20:26:08 UTC) #26
lazyboy
On 2013/06/19 20:26:08, adamk wrote: > Instead of hooking DidCreateDocumentElement, I think you may be ...
7 years, 6 months ago (2013-06-19 20:48:44 UTC) #27
adamk
https://chromiumcodereview.appspot.com/16975007/diff/37002/chrome/renderer/resources/extensions/app_window_custom_bindings.js File chrome/renderer/resources/extensions/app_window_custom_bindings.js (right): https://chromiumcodereview.appspot.com/16975007/diff/37002/chrome/renderer/resources/extensions/app_window_custom_bindings.js#newcode61 chrome/renderer/resources/extensions/app_window_custom_bindings.js:61: renderViewObserverNatives.OnDocumentCreated(windowParams.viewId, Do you still need this change?
7 years, 6 months ago (2013-06-19 20:56:38 UTC) #28
lazyboy
https://chromiumcodereview.appspot.com/16975007/diff/37002/chrome/renderer/resources/extensions/app_window_custom_bindings.js File chrome/renderer/resources/extensions/app_window_custom_bindings.js (right): https://chromiumcodereview.appspot.com/16975007/diff/37002/chrome/renderer/resources/extensions/app_window_custom_bindings.js#newcode61 chrome/renderer/resources/extensions/app_window_custom_bindings.js:61: renderViewObserverNatives.OnDocumentCreated(windowParams.viewId, On 2013/06/19 20:56:38, adamk wrote: > Do you ...
7 years, 6 months ago (2013-06-19 21:00:21 UTC) #29
not at google - send to devlin
I'm not fussed. I guess we should move it back now that it's not shared ...
7 years, 6 months ago (2013-06-19 21:04:08 UTC) #30
lazyboy
On 2013/06/19 21:04:08, kalman wrote: > I'm not fussed. I guess we should move it ...
7 years, 6 months ago (2013-06-19 22:01:50 UTC) #31
adamk
lgtm But I hope you're not depending on this for security: any code run during ...
7 years, 6 months ago (2013-06-19 22:04:03 UTC) #32
adamk
Also, please update CL description to match the actual fix
7 years, 6 months ago (2013-06-19 22:04:32 UTC) #33
lazyboy
On 2013/06/19 22:04:32, adamk wrote: > Also, please update CL description to match the actual ...
7 years, 6 months ago (2013-06-19 22:42:27 UTC) #34
not at google - send to devlin
https://chromiumcodereview.appspot.com/16975007/diff/14/chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js File chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js (right): https://chromiumcodereview.appspot.com/16975007/diff/14/chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js#newcode17 chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js:17: window.console.log('expected exception: ' + e); this seems like it ...
7 years, 6 months ago (2013-06-19 23:02:54 UTC) #35
lazyboy
https://chromiumcodereview.appspot.com/16975007/diff/14/chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js File chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js (right): https://chromiumcodereview.appspot.com/16975007/diff/14/chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js#newcode17 chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js:17: window.console.log('expected exception: ' + e); On 2013/06/19 23:02:54, kalman ...
7 years, 6 months ago (2013-06-20 02:21:16 UTC) #36
not at google - send to devlin
lgtm https://chromiumcodereview.appspot.com/16975007/diff/52001/chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js File chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js (right): https://chromiumcodereview.appspot.com/16975007/diff/52001/chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js#newcode29 chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js:29: if (partitionName == 'persist:test-partition') { maybe you should ...
7 years, 6 months ago (2013-06-20 02:51:27 UTC) #37
lazyboy
https://chromiumcodereview.appspot.com/16975007/diff/52001/chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js File chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js (right): https://chromiumcodereview.appspot.com/16975007/diff/52001/chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js#newcode29 chrome/test/data/extensions/platform_apps/web_view/document_ready/embedder.js:29: if (partitionName == 'persist:test-partition') { On 2013/06/20 02:51:27, kalman ...
7 years, 6 months ago (2013-06-20 03:05:40 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/lazyboy@chromium.org/16975007/55001
7 years, 6 months ago (2013-06-20 03:48:07 UTC) #39
commit-bot: I haz the power
7 years, 6 months ago (2013-06-20 13:54:06 UTC) #40
Message was sent while issue was closed.
Change committed as 207423

Powered by Google App Engine
This is Rietveld 408576698