|
Reland: Refactor code that defers extension background page loading
src/extensions depends on chrome::NOTIFICATION_PROFILE_CREATED to support
deferred loading of extension background pages when the profile isn't ready
yet. This is a layering violation.
* Remove Chrome concepts like "browser window ready" and "profile created"
from ProcessManager. Introduce ProcessManagerDelegate with a general concept
of deferring background page loading.
* Consolidate all the tricky Chrome-specific background page loading rules into
ChromeProcessManagerDelegate. This keeps all the rules in one place. Annotate
each block of special case code with the bug that inspired it.
* Extend unit test coverage for ProcessManager.
This will make it easier to eliminate chrome::NOTIFICATION_PROFILE_DESTROYED
in ProcessManager in a later CL.
(Original CL https://codereview.chromium.org/381283002 broke valgrind bots
because it was initializing left-over BrowserContextKeyedServices from tests
running earlier in the same process.)
BUG= 392658
TEST=unit_tests ProcessManagerTest, browser_tests ProcessManagerBrowserTest, manual
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=284593
Total comments: 1
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+503 lines, -213 lines) |
Patch |
 |
M |
apps/shell/browser/shell_extensions_browser_client.h
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
 |
M |
apps/shell/browser/shell_extensions_browser_client.cc
|
View
|
|
1 chunk |
+3 lines, -8 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/chrome_extensions_browser_client.h
|
View
|
|
3 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/chrome_extensions_browser_client.cc
|
View
|
|
3 chunks |
+7 lines, -26 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/chrome_notification_observer.h
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/chrome_notification_observer.cc
|
View
|
|
2 chunks |
+0 lines, -43 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/extensions/chrome_process_manager_delegate.h
|
View
|
|
1 chunk |
+50 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/extensions/chrome_process_manager_delegate.cc
|
View
|
|
1 chunk |
+143 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/chrome_browser_extensions.gypi
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
extensions/DEPS
|
View
|
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
extensions/browser/extension_registry.h
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/extensions_browser_client.h
|
View
|
|
2 chunks |
+4 lines, -6 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/lazy_background_task_queue_unittest.cc
|
View
|
1
|
2 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
 |
M |
extensions/browser/process_manager.h
|
View
|
1
|
7 chunks |
+29 lines, -14 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/process_manager.cc
|
View
|
1
|
18 chunks |
+77 lines, -82 lines |
0 comments
|
Download
|
 |
A |
extensions/browser/process_manager_delegate.h
|
View
|
|
1 chunk |
+34 lines, -0 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/process_manager_unittest.cc
|
View
|
1
2
|
8 chunks |
+123 lines, -8 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/test_extensions_browser_client.h
|
View
|
|
3 chunks |
+9 lines, -5 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/test_extensions_browser_client.cc
|
View
|
|
2 chunks |
+6 lines, -9 lines |
0 comments
|
Download
|
 |
M |
extensions/extensions.gyp
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
Total messages: 5 (0 generated)
|