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

Issue 19774009: Fix for extension binding race condition when evaluating JS. (Closed)

Created:
7 years, 5 months ago by Tim Song
Modified:
7 years, 2 months ago
Reviewers:
achuithb, dtu, nduca
CC:
chromium-reviews, chrome-speed-team+watch_google.com, telemetry+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Fix for extension binding race condition when evaluating JS. A bug causing extension bindings not to be initialized was fixed in revision 155947. This patch adds a workaround for older Chrome versions. BUG=251913 TEST=manual NOTRY=true Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=217384 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=226358

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 6

Patch Set 4 : Updated extension unit tests #

Patch Set 5 : Fixes #

Patch Set 6 : Make workaround not dependent on branch version. #

Total comments: 2

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : Fix tab unit tests #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+43 lines, -5 lines) Patch
M tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py View 1 2 3 4 5 6 7 8 9 1 chunk +16 lines, -2 lines 3 comments Download
M tools/telemetry/telemetry/core/backends/chrome/extension_dict_backend.py View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/backends/chrome/inspector_page.py View 1 2 3 4 5 6 7 8 9 2 chunks +5 lines, -2 lines 0 comments Download
M tools/telemetry/telemetry/core/extension_page.py View 1 2 1 chunk +11 lines, -1 line 0 comments Download
M tools/telemetry/telemetry/core/extension_unittest.py View 1 2 3 4 5 3 chunks +6 lines, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/tab_unittest.py View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M tools/telemetry/telemetry/unittest/tab_test_case.py View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 26 (0 generated)
Tim Song
Hi Nat, I added a fix for this extension binding race condition in Blink, and ...
7 years, 4 months ago (2013-08-12 22:46:25 UTC) #1
achuithb
Re-open this CL? https://codereview.chromium.org/19774009/diff/4001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py File tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py (right): https://codereview.chromium.org/19774009/diff/4001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py#newcode217 tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py:217: def use_extension_evaluate_workaround(self): Should this be private?
7 years, 4 months ago (2013-08-12 23:14:45 UTC) #2
Tim Song
https://codereview.chromium.org/19774009/diff/4001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py File tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py (right): https://codereview.chromium.org/19774009/diff/4001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py#newcode217 tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py:217: def use_extension_evaluate_workaround(self): On 2013/08/12 23:14:45, achuith.bhandarkar wrote: > Should ...
7 years, 4 months ago (2013-08-12 23:24:28 UTC) #3
nduca
lets see what dtu thinks. I'm pretty badly behind lately, so if he's happy go ...
7 years, 4 months ago (2013-08-12 23:36:37 UTC) #4
dtu
lgtm nits https://codereview.chromium.org/19774009/diff/4001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py File tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py (right): https://codereview.chromium.org/19774009/diff/4001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py#newcode125 tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py:125: if extension_page.EvaluateJavaScript("chrome.runtime == null"): nit: single quotes ...
7 years, 4 months ago (2013-08-13 19:55:25 UTC) #5
Tim Song
https://codereview.chromium.org/19774009/diff/4001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py File tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py (right): https://codereview.chromium.org/19774009/diff/4001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py#newcode125 tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py:125: if extension_page.EvaluateJavaScript("chrome.runtime == null"): On 2013/08/13 19:55:26, Dave Tu ...
7 years, 4 months ago (2013-08-13 23:07:30 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tengs@chromium.org/19774009/16001
7 years, 4 months ago (2013-08-13 23:13:09 UTC) #7
commit-bot: I haz the power
Change committed as 217384
7 years, 4 months ago (2013-08-13 23:46:09 UTC) #8
Tim Song
Reopening as this patch got reverted for breaking the blink roll. I made a mistake ...
7 years, 4 months ago (2013-08-15 17:58:40 UTC) #9
Tim Song
Hey everyone, because we've been running into problems with running Chrome to get the version ...
7 years, 3 months ago (2013-08-30 22:20:00 UTC) #10
achuithb
lgtm. Please wait for Dave https://codereview.chromium.org/19774009/diff/25001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py File tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py (right): https://codereview.chromium.org/19774009/diff/25001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py#newcode142 tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py:142: # Old versions of ...
7 years, 3 months ago (2013-08-30 22:24:47 UTC) #11
dtu
On 2013/08/30 22:24:47, achuith.bhandarkar wrote: > lgtm. Please wait for Dave > > https://codereview.chromium.org/19774009/diff/25001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py > ...
7 years, 3 months ago (2013-09-05 19:56:50 UTC) #12
Tim Song
Yeah, this bug happens in Blink, so workaround is needed until we can get the ...
7 years, 3 months ago (2013-09-05 23:03:39 UTC) #13
achuithb
Let's land this patch. autotest apis are not really usable until this works.
7 years, 3 months ago (2013-09-24 09:50:14 UTC) #14
Tim Song
I was trying to land this patch, but there is a major issue that came ...
7 years, 3 months ago (2013-09-24 17:56:52 UTC) #15
achuithb
On 2013/09/24 17:56:52, Tim Song wrote: > I was trying to land this patch, but ...
7 years, 3 months ago (2013-09-24 18:59:48 UTC) #16
Tim Song
Reload calls NavigatePage, and we wait for devtools to give a response when the page ...
7 years, 2 months ago (2013-09-25 16:59:42 UTC) #17
Tim Song
I've been running this patch along with the blink-side fix on trybots, and there is ...
7 years, 2 months ago (2013-09-25 20:38:47 UTC) #18
achuithb
On 2013/09/25 20:38:47, Tim Song wrote: > I've been running this patch along with the ...
7 years, 2 months ago (2013-09-25 23:53:49 UTC) #19
Tim Song
Because the fix is in Blink, we can't really distinguish between extension pages and regular ...
7 years, 2 months ago (2013-09-26 17:22:08 UTC) #20
Tim Song
The only time we evaluate JS in a tab without first navigating in the unit ...
7 years, 2 months ago (2013-10-01 20:20:44 UTC) #21
achuithb
lgtm https://codereview.chromium.org/19774009/diff/59001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py File tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py (right): https://codereview.chromium.org/19774009/diff/59001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py#newcode150 tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py:150: # TODO(tengs): We don't have full support for ...
7 years, 2 months ago (2013-10-01 23:50:39 UTC) #22
Tim Song
https://codereview.chromium.org/19774009/diff/59001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py File tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py (right): https://codereview.chromium.org/19774009/diff/59001/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py#newcode150 tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py:150: # TODO(tengs): We don't have full support for getting ...
7 years, 2 months ago (2013-10-02 00:01:20 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tengs@chromium.org/19774009/59001
7 years, 2 months ago (2013-10-02 00:05:12 UTC) #24
commit-bot: I haz the power
Change committed as 226358
7 years, 2 months ago (2013-10-02 00:07:02 UTC) #25
achuithb
7 years, 2 months ago (2013-10-02 00:34:44 UTC) #26
Message was sent while issue was closed.
https://codereview.chromium.org/19774009/diff/59001/tools/telemetry/telemetry...
File tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py
(right):

https://codereview.chromium.org/19774009/diff/59001/tools/telemetry/telemetry...
tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py:150: #
TODO(tengs): We don't have full support for getting the Chrome
On 2013/10/02 00:01:20, Tim Song wrote:
> On 2013/10/01 23:50:39, achuith.bhandarkar wrote:
> > Does this comment need to be updated? We neeed the workaround for chrome
> > regardless of version, right?
> 
> If we can get the Chrome version reliably before launch, we only have to
reload
> the page for chrome versions without the blink patch.

Ah, ok, I was under the impression that the blink patch got reverted.

Powered by Google App Engine
This is Rietveld 408576698