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

Issue 2200693002: Refactor CrashDump*Manager to use a shared CrashDumpObserver. (Closed)

Created:
4 years, 4 months ago by Tobias Sargeant
Modified:
4 years, 1 month ago
CC:
alokp+watch_chromium.org, android-webview-reviews_chromium.org, chromium-reviews, darin-cc_chromium.org, halliwell+watch_chromium.org, jam, jochen+watch_chromium.org, kalyank, lcwu+watch_chromium.org, mlamouri+watch-content_chromium.org, mlamouri+watch-test-runner_chromium.org, Peter Beverloo, sadrul
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Refactor CrashDump*Manager to use a shared CrashDumpObserver singleton. CrashDumpManager watches for generated microdumps when child processes die, and CrashMicroDumpManager is responsible for aborting the WebView browser process. Both share similarities that can be combined, and doing so allows us to eventually support generating a minidump and then dying in WebView. BUG=633979 Committed: https://crrev.com/982ab4cee9fef4a7af0321b47d3dbfe5813b7975 Cr-Commit-Position: refs/heads/master@{#413431}

Patch Set 1 #

Patch Set 2 : Correct cast compile errors; remove bystander changes. #

Patch Set 3 : remove old CrashMicroDumpManager #

Patch Set 4 : clang compile errors #

Total comments: 1

Patch Set 5 : make clients unregisterable #

Patch Set 6 : cast compile error #

Total comments: 29

Patch Set 7 : review comments #58, #59 #

Total comments: 2

Patch Set 8 : comments #63 #

Patch Set 9 : add missing base::; remove file thread DCHECKs #

Patch Set 10 : rebase #

Total comments: 2

Patch Set 11 : Rework to address issues that led to revert. #

Patch Set 12 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+484 lines, -446 lines) Patch
M android_webview/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M android_webview/browser/aw_browser_main_parts.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +6 lines, -0 lines 0 comments Download
M android_webview/browser/aw_browser_main_parts.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +4 lines, -2 lines 0 comments Download
A android_webview/browser/aw_browser_terminator.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +53 lines, -0 lines 0 comments Download
A android_webview/browser/aw_browser_terminator.cc View 1 2 3 4 5 6 1 chunk +78 lines, -0 lines 0 comments Download
M android_webview/browser/aw_content_browser_client.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -8 lines 0 comments Download
M chrome/browser/chrome_browser_main_android.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/chrome_browser_main_android.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +11 lines, -5 lines 0 comments Download
M chrome/browser/chrome_content_browser_client.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -12 lines 0 comments Download
M chromecast/browser/cast_browser_main_parts.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +10 lines, -0 lines 0 comments Download
M chromecast/browser/cast_browser_main_parts.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +4 lines, -2 lines 0 comments Download
M chromecast/browser/cast_browser_process.h View 3 chunks +0 lines, -11 lines 0 comments Download
M chromecast/browser/cast_browser_process.cc View 1 chunk +0 lines, -8 lines 0 comments Download
M chromecast/browser/cast_content_browser_client.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -12 lines 0 comments Download
M components/crash/content/browser/BUILD.gn View 1 chunk +2 lines, -2 lines 0 comments Download
M components/crash/content/browser/crash_dump_manager_android.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +24 lines, -53 lines 0 comments Download
M components/crash/content/browser/crash_dump_manager_android.cc View 1 2 3 4 5 6 7 8 9 10 8 chunks +24 lines, -108 lines 0 comments Download
A components/crash/content/browser/crash_dump_observer_android.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +94 lines, -0 lines 0 comments Download
A components/crash/content/browser/crash_dump_observer_android.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +147 lines, -0 lines 0 comments Download
D components/crash/content/browser/crash_micro_dump_manager_android.h View 1 2 1 chunk +0 lines, -69 lines 0 comments Download
D components/crash/content/browser/crash_micro_dump_manager_android.cc View 1 2 1 chunk +0 lines, -129 lines 0 comments Download
M content/shell/browser/layout_test/layout_test_browser_main_parts.h View 1 chunk +0 lines, -6 lines 0 comments Download
M content/shell/browser/shell_browser_main_parts.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +9 lines, -4 lines 0 comments Download
M content/shell/browser/shell_browser_main_parts.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +5 lines, -1 line 0 comments Download
M content/shell/browser/shell_content_browser_client.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -12 lines 0 comments Download

Messages

Total messages: 102 (79 generated)
Torne
General approach here looks good. The one thing I wonder about is making it a ...
4 years, 4 months ago (2016-08-03 16:33:48 UTC) #31
Tobias Sargeant
On 2016/08/03 16:33:48, Torne wrote: > General approach here looks good. The one thing I ...
4 years, 4 months ago (2016-08-03 16:58:57 UTC) #32
Tobias Sargeant
PTAL. The plan, post refactoring, is to make webview able to generate minidumps for silent ...
4 years, 4 months ago (2016-08-04 15:12:32 UTC) #55
Bernhard Bauer
https://codereview.chromium.org/2200693002/diff/200001/android_webview/browser/aw_browser_terminator.cc File android_webview/browser/aw_browser_terminator.cc (right): https://codereview.chromium.org/2200693002/diff/200001/android_webview/browser/aw_browser_terminator.cc#newcode23 android_webview/browser/aw_browser_terminator.cc:23: child_process_id_to_pipe_.clear(); Is this actually necessary if you're in the ...
4 years, 4 months ago (2016-08-04 16:01:32 UTC) #58
Robert Sesek
https://codereview.chromium.org/2200693002/diff/200001/android_webview/browser/aw_browser_terminator.cc File android_webview/browser/aw_browser_terminator.cc (right): https://codereview.chromium.org/2200693002/diff/200001/android_webview/browser/aw_browser_terminator.cc#newcode29 android_webview/browser/aw_browser_terminator.cc:29: DCHECK(!ContainsKey(child_process_id_to_pipe_, child_process_id)); IWYU: base/stl_util.h https://codereview.chromium.org/2200693002/diff/200001/android_webview/browser/aw_browser_terminator.cc#newcode29 android_webview/browser/aw_browser_terminator.cc:29: DCHECK(!ContainsKey(child_process_id_to_pipe_, child_process_id)); Should ...
4 years, 4 months ago (2016-08-04 16:59:01 UTC) #59
Tobias Sargeant
https://codereview.chromium.org/2200693002/diff/200001/android_webview/browser/aw_browser_terminator.cc File android_webview/browser/aw_browser_terminator.cc (right): https://codereview.chromium.org/2200693002/diff/200001/android_webview/browser/aw_browser_terminator.cc#newcode23 android_webview/browser/aw_browser_terminator.cc:23: child_process_id_to_pipe_.clear(); On 2016/08/04 16:01:32, Bernhard Bauer wrote: > Is ...
4 years, 4 months ago (2016-08-05 14:59:22 UTC) #62
Bernhard Bauer
LGTM https://codereview.chromium.org/2200693002/diff/220001/components/crash/content/browser/crash_dump_manager_android.h File components/crash/content/browser/crash_dump_manager_android.h (right): https://codereview.chromium.org/2200693002/diff/220001/components/crash/content/browser/crash_dump_manager_android.h#newcode68 components/crash/content/browser/crash_dump_manager_android.h:68: // The id used to identify the file ...
4 years, 4 months ago (2016-08-05 15:43:39 UTC) #63
Robert Sesek
LGTM
4 years, 4 months ago (2016-08-09 16:51:53 UTC) #64
alokp
+sanfin to review chromecast since it touches android code
4 years, 4 months ago (2016-08-09 16:54:42 UTC) #66
Simeon
On 2016/08/09 16:54:42, alokp wrote: > +sanfin to review chromecast since it touches android code ...
4 years, 4 months ago (2016-08-12 21:55:01 UTC) #67
Torne
lgtm
4 years, 4 months ago (2016-08-16 11:59:08 UTC) #68
Tobias Sargeant
On 2016/08/09 16:54:42, alokp wrote: > +sanfin to review chromecast since it touches android code ...
4 years, 4 months ago (2016-08-17 15:18:30 UTC) #69
halliwell
On 2016/08/17 15:18:30, Tobias Sargeant wrote: > On 2016/08/09 16:54:42, alokp wrote: > > +sanfin ...
4 years, 4 months ago (2016-08-17 15:41:57 UTC) #70
Mike West
LGTM.
4 years, 4 months ago (2016-08-19 09:30:38 UTC) #72
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/2200693002/260001
4 years, 4 months ago (2016-08-19 09:33:13 UTC) #75
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/276988)
4 years, 4 months ago (2016-08-19 12:48:28 UTC) #77
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/2200693002/260001
4 years, 4 months ago (2016-08-19 13:02:29 UTC) #79
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/277113)
4 years, 4 months ago (2016-08-19 15:21:15 UTC) #81
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/2200693002/280001
4 years, 4 months ago (2016-08-22 10:00:29 UTC) #84
commit-bot: I haz the power
Committed patchset #10 (id:280001)
4 years, 4 months ago (2016-08-22 12:13:48 UTC) #86
commit-bot: I haz the power
Patchset 10 (id:??) landed as https://crrev.com/982ab4cee9fef4a7af0321b47d3dbfe5813b7975 Cr-Commit-Position: refs/heads/master@{#413431}
4 years, 4 months ago (2016-08-22 12:14:59 UTC) #88
boliu
Fix: https://codereview.chromium.org/2304733002/ https://codereview.chromium.org/2200693002/diff/280001/components/crash/content/browser/crash_dump_manager_android.cc File components/crash/content/browser/crash_dump_manager_android.cc (left): https://codereview.chromium.org/2200693002/diff/280001/components/crash/content/browser/crash_dump_manager_android.cc#oldcode53 components/crash/content/browser/crash_dump_manager_android.cc:53: BrowserChildProcessObserver::Add(this); this got dropped https://codereview.chromium.org/2200693002/diff/280001/components/crash/content/browser/crash_dump_manager_android.cc File components/crash/content/browser/crash_dump_manager_android.cc ...
4 years, 3 months ago (2016-09-01 22:59:37 UTC) #90
boliu
4 years, 3 months ago (2016-09-02 01:21:16 UTC) #91
Message was sent while issue was closed.
So during code review for https://codereview.chromium.org/2304733002/, we found
some other issues, not major, but not very idiomatic. I'm gonna revert on trunk
and branch.

Powered by Google App Engine
This is Rietveld 408576698