|
|
[Extensions] Migrate ExtensionInstallPrompt::Delegate to be a callback
The ExtensionInstallPrompt + Delegate setup is prone to lifetime issues because
the caller of the delegate is a UI element, whereas the delegate is usually
somehow part of the extension system. At best, this makes lifetime management a
little confusing, but at worst, it's fundamentally flawed because UI ownership
and extension system ownership are very complicated at times like shutdown.
Instead, migrate the delegate to be a callback, where lifetime management is
more explicit (and safe if the fka delegate is deleted). Also update a few
confusing parts of the Cocoa install prompt API.
BUG= 567844
TBR=benwells@chromium.org (small c/b/ui/extensions changes)
Committed: https://crrev.com/415930557c280022fed6a6ddd01f80f443704683
Cr-Commit-Position: refs/heads/master@{#368238}
Total comments: 34
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+786 lines, -650 lines) |
Patch |
 |
M |
chrome/browser/extensions/api/dashboard_private/dashboard_private_api.h
|
View
|
1
|
4 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/api/dashboard_private/dashboard_private_api.cc
|
View
|
|
2 chunks |
+15 lines, -15 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/api/developer_private/show_permissions_dialog_helper.h
|
View
|
|
2 chunks |
+3 lines, -5 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/api/developer_private/show_permissions_dialog_helper.cc
|
View
|
|
1 chunk |
+20 lines, -19 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/api/management/chrome_management_api_delegate.h
|
View
|
|
1 chunk |
+4 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/api/management/chrome_management_api_delegate.cc
|
View
|
1
2
3
|
3 chunks |
+29 lines, -21 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/api/permissions/permissions_api.h
|
View
|
1
|
4 chunks |
+6 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/api/permissions/permissions_api.cc
|
View
|
|
4 chunks |
+18 lines, -20 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/api/webstore_private/webstore_private_api.h
|
View
|
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
|
View
|
1
|
4 chunks |
+19 lines, -10 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/bundle_installer.h
|
View
|
|
5 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/bundle_installer.cc
|
View
|
|
4 chunks |
+21 lines, -13 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/crx_installer.h
|
View
|
|
2 chunks |
+2 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/crx_installer.cc
|
View
|
|
4 chunks |
+23 lines, -32 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_disabled_ui.cc
|
View
|
1
2
|
4 chunks |
+25 lines, -23 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_install_prompt.h
|
View
|
1
|
4 chunks |
+13 lines, -18 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_install_prompt.cc
|
View
|
1
|
8 chunks |
+20 lines, -25 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_install_prompt_browsertest.cc
|
View
|
|
5 chunks |
+28 lines, -57 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/extensions/extension_install_prompt_test_helper.h
|
View
|
|
1 chunk |
+39 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/extensions/extension_install_prompt_test_helper.cc
|
View
|
|
1 chunk |
+38 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_install_prompt_unittest.cc
|
View
|
|
7 chunks |
+8 lines, -9 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_reenabler.h
|
View
|
|
4 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_reenabler.cc
|
View
|
|
3 chunks |
+38 lines, -21 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_reenabler_unittest.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_service_unittest.cc
|
View
|
1
2
|
3 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/external_install_error.h
|
View
|
|
3 chunks |
+3 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/external_install_error.cc
|
View
|
1
2
|
5 chunks |
+38 lines, -31 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/navigation_observer.h
|
View
|
|
4 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/navigation_observer.cc
|
View
|
|
3 chunks |
+27 lines, -29 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/unpacked_installer.cc
|
View
|
|
2 chunks |
+19 lines, -15 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/webstore_inline_installer_browsertest.cc
|
View
|
1
|
2 chunks |
+16 lines, -11 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/webstore_reinstaller.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/webstore_reinstaller.cc
|
View
|
|
2 chunks |
+9 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/webstore_standalone_installer.h
|
View
|
|
2 chunks |
+2 lines, -4 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/webstore_standalone_installer.cc
|
View
|
|
4 chunks |
+15 lines, -9 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.h
|
View
|
|
3 chunks |
+11 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.mm
|
View
|
|
4 chunks |
+35 lines, -21 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller_browsertest.mm
|
View
|
|
3 chunks |
+15 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/extension_install_prompt_test_utils.h
|
View
|
|
1 chunk |
+0 lines, -21 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/extension_install_prompt_test_utils.mm
|
View
|
|
1 chunk |
+0 lines, -8 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/extension_install_view_controller.h
|
View
|
|
3 chunks |
+13 lines, -3 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/extension_install_view_controller.mm
|
View
|
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/extension_install_view_controller_unittest.mm
|
View
|
|
8 chunks |
+49 lines, -14 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/windowed_install_dialog_controller.h
|
View
|
|
3 chunks |
+8 lines, -7 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/windowed_install_dialog_controller.mm
|
View
|
|
4 chunks |
+19 lines, -12 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/cocoa/extensions/windowed_install_dialog_controller_browsertest.mm
|
View
|
|
4 chunks |
+11 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/extensions/extension_enable_flow.h
|
View
|
|
4 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/extensions/extension_enable_flow.cc
|
View
|
|
3 chunks |
+24 lines, -20 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/views/extensions/extension_install_dialog_view.h
|
View
|
1
|
3 chunks |
+8 lines, -7 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/views/extensions/extension_install_dialog_view.cc
|
View
|
|
6 chunks |
+14 lines, -9 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/views/extensions/extension_install_dialog_view_browsertest.cc
|
View
|
|
7 chunks |
+16 lines, -45 lines |
0 comments
|
Download
|
 |
M |
chrome/chrome_tests.gypi
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/api/management/management_api.h
|
View
|
|
2 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/api/management/management_api.cc
|
View
|
|
2 chunks |
+15 lines, -13 lines |
0 comments
|
Download
|
 |
M |
extensions/browser/api/management/management_api_delegate.h
|
View
|
|
2 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
Total messages: 30 (18 generated)
|