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

Issue 2279293004: Fix DCHECK in debug build when navigating to an unknown chrome://theme/ URL. (Closed)

Created:
4 years, 3 months ago by Peter Kasting
Modified:
4 years, 3 months ago
Reviewers:
Dan Beam, mmenke
CC:
chromium-reviews, jam, cbentzel+watch_chromium.org, darin-cc_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix DCHECK in debug build when navigating to an unknown chrome://theme/ URL. I believe this was introduced in https://codereview.chromium.org/1467603002 . Previously, URLRequestChromeJob::DataAvailable() called NotifyDone() directly in the case of a failed request, but it was changed to call ReadRawDataComplete(), which is only appropriate when you've been reading data, i.e. the request is in the IO_PENDING state. (The function DCHECKs that that's the case, and that DCHECK is what's failing.) BUG=none TEST=none Committed: https://crrev.com/5b92337e2b6c788f54423686b6a95951339cf627 Cr-Commit-Position: refs/heads/master@{#416444}

Patch Set 1 #

Patch Set 2 : Add dependency #

Total comments: 9

Patch Set 3 : Replace NotifyCanceled() with stored error value #

Total comments: 2

Patch Set 4 : Add observer that watches for error pages #

Total comments: 2

Patch Set 5 : Better name #

Unified diffs Side-by-side diffs Delta from patch set Stats (+79 lines, -17 lines) Patch
M chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc View 1 2 3 4 3 chunks +55 lines, -1 line 0 comments Download
M content/browser/webui/url_data_manager_backend.h View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/webui/url_data_manager_backend.cc View 1 2 5 chunks +21 lines, -15 lines 0 comments Download
M net/url_request/url_request_job.h View 1 chunk +1 line, -0 lines 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 50 (24 generated)
Peter Kasting
dbeam: content/browser/webui/, chrome/browser/ui/webui/ OWNER mmenke: net/ OWNER, knowledgeable input for question below Both of you ...
4 years, 3 months ago (2016-08-27 07:48:13 UTC) #2
mmenke
https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc File content/browser/webui/url_data_manager_backend.cc (right): https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc#newcode414 content/browser/webui/url_data_manager_backend.cc:414: NotifyCanceled(); For errors, this should be "OnRawReadComplete(net::ERR_<error name>);", where ...
4 years, 3 months ago (2016-08-27 12:56:53 UTC) #11
mmenke
https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc File content/browser/webui/url_data_manager_backend.cc (right): https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc#newcode414 content/browser/webui/url_data_manager_backend.cc:414: NotifyCanceled(); On 2016/08/27 12:56:52, mmenke (busy) wrote: > For ...
4 years, 3 months ago (2016-08-27 13:00:33 UTC) #12
Peter Kasting
https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc File content/browser/webui/url_data_manager_backend.cc (right): https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc#newcode414 content/browser/webui/url_data_manager_backend.cc:414: NotifyCanceled(); On 2016/08/27 13:00:33, mmenke (busy) wrote: > On ...
4 years, 3 months ago (2016-08-27 19:18:33 UTC) #13
mmenke
https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc File content/browser/webui/url_data_manager_backend.cc (right): https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc#newcode414 content/browser/webui/url_data_manager_backend.cc:414: NotifyCanceled(); On 2016/08/27 19:18:32, Peter Kasting wrote: > On ...
4 years, 3 months ago (2016-08-27 20:21:25 UTC) #14
mmenke
https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc File content/browser/webui/url_data_manager_backend.cc (right): https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc#newcode414 content/browser/webui/url_data_manager_backend.cc:414: NotifyCanceled(); On 2016/08/27 20:21:25, mmenke wrote: > On 2016/08/27 ...
4 years, 3 months ago (2016-08-27 20:44:08 UTC) #15
Peter Kasting
https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc File content/browser/webui/url_data_manager_backend.cc (right): https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc#newcode414 content/browser/webui/url_data_manager_backend.cc:414: NotifyCanceled(); On 2016/08/27 20:21:25, mmenke wrote: > On 2016/08/27 ...
4 years, 3 months ago (2016-08-27 22:03:51 UTC) #16
mmenke
https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc File content/browser/webui/url_data_manager_backend.cc (right): https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc#newcode414 content/browser/webui/url_data_manager_backend.cc:414: NotifyCanceled(); On 2016/08/27 22:03:51, Peter Kasting wrote: > On ...
4 years, 3 months ago (2016-08-27 22:28:05 UTC) #17
mmenke
https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc File content/browser/webui/url_data_manager_backend.cc (right): https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc#newcode414 content/browser/webui/url_data_manager_backend.cc:414: NotifyCanceled(); On 2016/08/27 22:28:05, mmenke wrote: > On 2016/08/27 ...
4 years, 3 months ago (2016-08-27 22:42:44 UTC) #18
Peter Kasting
https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc File content/browser/webui/url_data_manager_backend.cc (right): https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc#newcode414 content/browser/webui/url_data_manager_backend.cc:414: NotifyCanceled(); On 2016/08/27 22:28:05, mmenke wrote: > On 2016/08/27 ...
4 years, 3 months ago (2016-08-28 00:27:42 UTC) #19
mmenke
On 2016/08/28 00:27:42, Peter Kasting wrote: > https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc > File content/browser/webui/url_data_manager_backend.cc (right): > > https://codereview.chromium.org/2279293004/diff/20001/content/browser/webui/url_data_manager_backend.cc#newcode414 ...
4 years, 3 months ago (2016-08-28 12:16:49 UTC) #20
Dan Beam
can we just change the DCHECK() in URLRequestJob::ReadRawDataComplete to DCHECK(request_->status().is_io_pending() || result < 0); I ...
4 years, 3 months ago (2016-08-29 17:54:37 UTC) #21
mmenke
On 2016/08/29 17:54:37, Dan Beam wrote: > can we just change the DCHECK() in URLRequestJob::ReadRawDataComplete ...
4 years, 3 months ago (2016-08-29 18:02:30 UTC) #22
Peter Kasting
I'm still test-compiling it, but here's the solution that stores an error code.
4 years, 3 months ago (2016-08-30 06:26:52 UTC) #25
mmenke
LGTM https://codereview.chromium.org/2279293004/diff/40001/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc File chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc (right): https://codereview.chromium.org/2279293004/diff/40001/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc#newcode68 chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc:68: browser(), GURL("chrome://theme/IDR_ASDFGHJKL")); optional: Maybe run Javascript to make ...
4 years, 3 months ago (2016-08-30 14:42:38 UTC) #28
Peter Kasting
https://codereview.chromium.org/2279293004/diff/40001/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc File chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc (right): https://codereview.chromium.org/2279293004/diff/40001/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc#newcode68 chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc:68: browser(), GURL("chrome://theme/IDR_ASDFGHJKL")); On 2016/08/30 14:42:38, mmenke wrote: > optional: ...
4 years, 3 months ago (2016-08-30 19:46:07 UTC) #29
mmenke
On 2016/08/30 19:46:07, Peter Kasting wrote: > https://codereview.chromium.org/2279293004/diff/40001/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc > File chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc (right): > > https://codereview.chromium.org/2279293004/diff/40001/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc#newcode68 ...
4 years, 3 months ago (2016-08-30 19:55:02 UTC) #30
Peter Kasting
On 2016/08/30 19:55:02, mmenke wrote: > Another option is to make a WebContentsObserver, and watch ...
4 years, 3 months ago (2016-08-30 21:11:08 UTC) #33
mmenke
On 2016/08/30 21:11:08, Peter Kasting wrote: > On 2016/08/30 19:55:02, mmenke wrote: > > Another ...
4 years, 3 months ago (2016-08-30 21:14:01 UTC) #34
Dan Beam
lgtm https://codereview.chromium.org/2279293004/diff/60001/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc File chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc (right): https://codereview.chromium.org/2279293004/diff/60001/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc#newcode55 chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc:55: NON_ERROR_PAGE, nit: NON_ERROR -> SUCCESS or something?
4 years, 3 months ago (2016-08-30 21:35:17 UTC) #35
Peter Kasting
https://codereview.chromium.org/2279293004/diff/60001/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc File chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc (right): https://codereview.chromium.org/2279293004/diff/60001/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc#newcode55 chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc:55: NON_ERROR_PAGE, On 2016/08/30 21:35:17, Dan Beam wrote: > nit: ...
4 years, 3 months ago (2016-08-30 21:55:55 UTC) #36
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/2279293004/80001
4 years, 3 months ago (2016-09-03 02:57:44 UTC) #43
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/135777)
4 years, 3 months ago (2016-09-03 04:12:17 UTC) #45
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/2279293004/80001
4 years, 3 months ago (2016-09-03 04:17:57 UTC) #47
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 3 months ago (2016-09-03 04:53:40 UTC) #48
commit-bot: I haz the power
4 years, 3 months ago (2016-09-03 04:55:33 UTC) #50
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/5b92337e2b6c788f54423686b6a95951339cf627
Cr-Commit-Position: refs/heads/master@{#416444}

Powered by Google App Engine
This is Rietveld 408576698