|
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.
BUG= 392658
TEST=unit_tests ProcessManagerTest, browser_tests ProcessManagerBrowserTest, manual
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=283678
Total comments: 10
Total comments: 7
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+443 lines, -174 lines) |
Patch |
 |
M |
apps/shell/browser/shell_extensions_browser_client.h
|
View
|
1
2
3
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
 |
M |
apps/shell/browser/shell_extensions_browser_client.cc
|
View
|
1
2
3
|
1 chunk |
+3 lines, -8 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/chrome_extensions_browser_client.h
|
View
|
1
2
3
|
3 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/chrome_extensions_browser_client.cc
|
View
|
1
2
3
4
|
3 chunks |
+7 lines, -26 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/chrome_notification_observer.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/chrome_notification_observer.cc
|
View
|
1
2
3
|
2 chunks |
+0 lines, -43 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/extensions/chrome_process_manager_delegate.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+50 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/extensions/chrome_process_manager_delegate.cc
|
View
|
1
2
3
4
|
1 chunk |
+143 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/chrome_browser_extensions.gypi
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
extensions/DEPS
|
View
|
1
2
3
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
extensions/browser/extensions_browser_client.h
|
View
|
1
2
3
|
2 chunks |
+4 lines, -6 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/process_manager.h
|
View
|
1
2
3
4
5
6
|
6 chunks |
+12 lines, -9 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/process_manager.cc
|
View
|
1
2
3
4
5
6
|
10 chunks |
+42 lines, -56 lines |
0 comments
|
Download
|
 |
A |
extensions/browser/process_manager_delegate.h
|
View
|
1
2
3
4
5
|
1 chunk |
+34 lines, -0 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/process_manager_unittest.cc
|
View
|
1
2
3
4
5
|
5 chunks |
+121 lines, -1 line |
0 comments
|
Download
|
 |
M |
extensions/browser/test_extensions_browser_client.h
|
View
|
1
2
3
|
3 chunks |
+9 lines, -5 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/test_extensions_browser_client.cc
|
View
|
1
2
3
|
2 chunks |
+6 lines, -9 lines |
0 comments
|
Download
|
 |
M |
extensions/extensions.gyp
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
Total messages: 23 (0 generated)
|