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

Issue 2630753003: Separate validation failures from other failures in ExecuteCodeFunction. (Closed)

Created:
3 years, 11 months ago by lazyboy
Modified:
3 years, 11 months ago
Reviewers:
Devlin
CC:
chromium-reviews, chromium-apps-reviews_chromium.org, extensions-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Separate validation failures from other failures in ExecuteCodeFunction. ExecuteCodeFunction::Init() used to treat all failures as fatal, leading to validation failures, resulting in renderer kills. This is likely the cause of high number of tabs.executeScript/tabs.insertCSS failures we see in UMA. During shutdown, the browser window can be null or it might not have any active tabs. Make ExecuteCodeInTabFunction return an error instead of blowing up the renderer with bad_message. This CL treats these kind of of errors non-fatal and returns error from ExtensionFunction instead. Add unit test to cover one case of non-fatal failure. BUG=642794 Test=Have an extension keep the browser busy with running scripts [1] and shutdown the browser (Ctrl-c) while it is running those scripts. Renderer kill shouldn't happen anymore. [1] example: var currentIter = 0; var runScript = function() { ++currentIter; if (currentIter > 1000) return; chrome.tabs.executeScript(undefined, {file:"content.js", runScript); }; chrome.browserAction.onClicked.addListener(runScript); Review-Url: https://codereview.chromium.org/2630753003 Cr-Commit-Position: refs/heads/master@{#445887} Committed: https://chromium.googlesource.com/chromium/src/+/c93597557d1bee873c2e47ad18639d1f1b34d2b2

Patch Set 1 #

Patch Set 2 : . #

Total comments: 10

Patch Set 3 : address comments #

Patch Set 4 : add comment #

Total comments: 6

Patch Set 5 : address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+96 lines, -32 lines) Patch
M chrome/browser/extensions/api/tabs/tabs_api.h View 1 chunk +2 lines, -3 lines 0 comments Download
M chrome/browser/extensions/api/tabs/tabs_api.cc View 1 2 3 4 2 chunks +16 lines, -11 lines 0 comments Download
M chrome/browser/extensions/api/tabs/tabs_api_unittest.cc View 1 2 3 4 2 chunks +27 lines, -0 lines 0 comments Download
M chrome/browser/extensions/api/tabs/tabs_constants.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/extensions/api/tabs/tabs_constants.cc View 1 chunk +1 line, -0 lines 0 comments Download
M extensions/browser/api/execute_code_function.h View 1 2 3 4 3 chunks +30 lines, -2 lines 0 comments Download
M extensions/browser/api/execute_code_function.cc View 1 2 3 4 1 chunk +7 lines, -1 line 0 comments Download
M extensions/browser/api/guest_view/web_view/web_view_internal_api.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M extensions/browser/api/guest_view/web_view/web_view_internal_api.cc View 1 2 3 4 2 chunks +11 lines, -14 lines 0 comments Download

Messages

Total messages: 22 (13 generated)
lazyboy
3 years, 11 months ago (2017-01-13 23:07:26 UTC) #3
Devlin
nice! https://codereview.chromium.org/2630753003/diff/20001/chrome/browser/extensions/api/tabs/tabs_api.cc File chrome/browser/extensions/api/tabs/tabs_api.cc (right): https://codereview.chromium.org/2630753003/diff/20001/chrome/browser/extensions/api/tabs/tabs_api.cc#newcode1798 chrome/browser/extensions/api/tabs/tabs_api.cc:1798: if (Init() == SUCCESS && Per our offline ...
3 years, 11 months ago (2017-01-17 18:52:09 UTC) #7
lazyboy
https://codereview.chromium.org/2630753003/diff/20001/chrome/browser/extensions/api/tabs/tabs_api.cc File chrome/browser/extensions/api/tabs/tabs_api.cc (right): https://codereview.chromium.org/2630753003/diff/20001/chrome/browser/extensions/api/tabs/tabs_api.cc#newcode1798 chrome/browser/extensions/api/tabs/tabs_api.cc:1798: if (Init() == SUCCESS && On 2017/01/17 18:52:08, Devlin ...
3 years, 11 months ago (2017-01-18 02:29:10 UTC) #8
Devlin
https://codereview.chromium.org/2630753003/diff/20001/chrome/browser/extensions/api/tabs/tabs_api.cc File chrome/browser/extensions/api/tabs/tabs_api.cc (right): https://codereview.chromium.org/2630753003/diff/20001/chrome/browser/extensions/api/tabs/tabs_api.cc#newcode1798 chrome/browser/extensions/api/tabs/tabs_api.cc:1798: if (Init() == SUCCESS && On 2017/01/18 02:29:10, lazyboy ...
3 years, 11 months ago (2017-01-24 00:11:43 UTC) #9
lazyboy
https://codereview.chromium.org/2630753003/diff/20001/chrome/browser/extensions/api/tabs/tabs_api.cc File chrome/browser/extensions/api/tabs/tabs_api.cc (right): https://codereview.chromium.org/2630753003/diff/20001/chrome/browser/extensions/api/tabs/tabs_api.cc#newcode1798 chrome/browser/extensions/api/tabs/tabs_api.cc:1798: if (Init() == SUCCESS && On 2017/01/24 00:11:43, Devlin ...
3 years, 11 months ago (2017-01-24 01:52:13 UTC) #10
Devlin
lgtm https://codereview.chromium.org/2630753003/diff/60001/chrome/browser/extensions/api/tabs/tabs_api_unittest.cc File chrome/browser/extensions/api/tabs/tabs_api_unittest.cc (right): https://codereview.chromium.org/2630753003/diff/60001/chrome/browser/extensions/api/tabs/tabs_api_unittest.cc#newcode292 chrome/browser/extensions/api/tabs/tabs_api_unittest.cc:292: const char* kArgs = "[\"\", {\"code\": \"\"}]"; It ...
3 years, 11 months ago (2017-01-24 16:09:05 UTC) #11
lazyboy
https://codereview.chromium.org/2630753003/diff/60001/chrome/browser/extensions/api/tabs/tabs_api_unittest.cc File chrome/browser/extensions/api/tabs/tabs_api_unittest.cc (right): https://codereview.chromium.org/2630753003/diff/60001/chrome/browser/extensions/api/tabs/tabs_api_unittest.cc#newcode292 chrome/browser/extensions/api/tabs/tabs_api_unittest.cc:292: const char* kArgs = "[\"\", {\"code\": \"\"}]"; On 2017/01/24 ...
3 years, 11 months ago (2017-01-24 23:36:08 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2630753003/80001
3 years, 11 months ago (2017-01-25 00:54:08 UTC) #19
commit-bot: I haz the power
3 years, 11 months ago (2017-01-25 01:01:56 UTC) #22
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://chromium.googlesource.com/chromium/src/+/c93597557d1bee873c2e47ad1863...

Powered by Google App Engine
This is Rietveld 408576698