diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-05-03 13:42:47 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-05-15 10:27:51 +0000 |
commit | 8c5c43c7b138c9b4b0bf56d946e61d3bbc111bec (patch) | |
tree | d29d987c4d7b173cf853279b79a51598f104b403 /chromium/chrome/browser/extensions/api/extension_action | |
parent | 830c9e163d31a9180fadca926b3e1d7dfffb5021 (diff) |
BASELINE: Update Chromium to 66.0.3359.156
Change-Id: I0c9831ad39911a086b6377b16f995ad75a51e441
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'chromium/chrome/browser/extensions/api/extension_action')
4 files changed, 49 insertions, 41 deletions
diff --git a/chromium/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc b/chromium/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc index c057b5bebfb..35432dbe223 100644 --- a/chromium/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc +++ b/chromium/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc @@ -12,7 +12,6 @@ #include "base/threading/thread_restrictions.h" #include "build/build_config.h" #include "chrome/browser/extensions/api/extension_action/extension_action_api.h" -#include "chrome/browser/extensions/browser_action_test_util.h" #include "chrome/browser/extensions/extension_action.h" #include "chrome/browser/extensions/extension_action_icon_factory.h" #include "chrome/browser/extensions/extension_action_manager.h" @@ -26,6 +25,7 @@ #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_navigator_params.h" #include "chrome/browser/ui/browser_window.h" +#include "chrome/browser/ui/extensions/browser_action_test_util.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/common/pref_names.h" #include "chrome/common/url_constants.h" @@ -1020,7 +1020,7 @@ IN_PROC_BROWSER_TEST_F(NavigatingExtensionPopupBrowserTest, DownloadViaPost) { downloads_observer.WaitForFinished(); EXPECT_EQ(0u, downloads_observer.NumDangerousDownloadsSeen()); EXPECT_EQ(1u, downloads_observer.NumDownloadsSeenInState( - content::DownloadItem::COMPLETE)); + download::DownloadItem::COMPLETE)); EXPECT_TRUE(base::PathExists(downloads_directory->GetPath().AppendASCII( "download-test3-attachment.gif"))); diff --git a/chromium/chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc b/chromium/chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc index d2a853e242d..f709e6c9f33 100644 --- a/chromium/chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc +++ b/chromium/chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc @@ -7,7 +7,6 @@ #include "base/run_loop.h" #include "base/test/test_timeouts.h" #include "build/build_config.h" -#include "chrome/browser/extensions/browser_action_test_util.h" #include "chrome/browser/extensions/extension_action.h" #include "chrome/browser/extensions/extension_action_manager.h" #include "chrome/browser/extensions/extension_apitest.h" @@ -18,6 +17,7 @@ #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_window.h" +#include "chrome/browser/ui/extensions/browser_action_test_util.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/browser/ui/toolbar/toolbar_actions_model.h" #include "chrome/test/base/interactive_test_utils.h" @@ -134,16 +134,23 @@ class BrowserActionInteractiveTest : public ExtensionApiTest { } // Open an extension popup via the chrome.browserAction.openPopup API. + // If |will_reply| is true, then the listener is responsible for having a + // test message listener that replies to the extension. Otherwise, this + // method will create a listener and reply to the extension before returning + // to avoid leaking an API function while waiting for a reply. void OpenPopupViaAPI(bool will_reply) { // Setup the notification observer to wait for the popup to finish loading. content::WindowedNotificationObserver frame_observer( content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME, content::NotificationService::AllSources()); - ExtensionTestMessageListener listener("ready", will_reply); + std::unique_ptr<ExtensionTestMessageListener> listener; + if (!will_reply) + listener = std::make_unique<ExtensionTestMessageListener>("ready", false); // Show first popup in first window and expect it to have loaded. ASSERT_TRUE(RunExtensionSubtest("browser_action/open_popup", "open_popup_succeeds.html")) << message_; - EXPECT_TRUE(listener.WaitUntilSatisfied()); + if (listener) + EXPECT_TRUE(listener->WaitUntilSatisfied()); frame_observer.Wait(); EnsurePopupActive(); } @@ -446,21 +453,20 @@ IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, } #if defined(OS_WIN) -// Test that forcibly closing the browser and popup HWND does not cause a crash. -// http://crbug.com/400646 -IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, - DISABLED_DestroyHWNDDoesNotCrash) { +// Forcibly closing a browser HWND with a popup should not cause a crash. +IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, DestroyHWNDDoesNotCrash) { if (!ShouldRunPopupTest()) return; OpenPopupViaAPI(false); BrowserActionTestUtil test_util(browser()); - const gfx::NativeView view = test_util.GetPopupNativeView(); - EXPECT_NE(static_cast<gfx::NativeView>(NULL), view); - const HWND hwnd = views::HWNDForNativeView(view); - EXPECT_EQ(hwnd, - views::HWNDForNativeView(browser()->window()->GetNativeWindow())); - EXPECT_EQ(TRUE, ::IsWindow(hwnd)); + const gfx::NativeView popup_view = test_util.GetPopupNativeView(); + EXPECT_NE(static_cast<gfx::NativeView>(nullptr), popup_view); + const HWND popup_hwnd = views::HWNDForNativeView(popup_view); + EXPECT_EQ(TRUE, ::IsWindow(popup_hwnd)); + const HWND browser_hwnd = + views::HWNDForNativeView(browser()->window()->GetNativeWindow()); + EXPECT_EQ(TRUE, ::IsWindow(browser_hwnd)); // Create a new browser window to prevent the message loop from terminating. browser()->OpenURL(content::OpenURLParams(GURL("about:"), content::Referrer(), @@ -468,9 +474,10 @@ IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, ui::PAGE_TRANSITION_TYPED, false)); // Forcibly closing the browser HWND should not cause a crash. - EXPECT_EQ(TRUE, ::CloseWindow(hwnd)); - EXPECT_EQ(TRUE, ::DestroyWindow(hwnd)); - EXPECT_EQ(FALSE, ::IsWindow(hwnd)); + EXPECT_EQ(TRUE, ::CloseWindow(browser_hwnd)); + EXPECT_EQ(TRUE, ::DestroyWindow(browser_hwnd)); + EXPECT_EQ(FALSE, ::IsWindow(browser_hwnd)); + EXPECT_EQ(FALSE, ::IsWindow(popup_hwnd)); } #endif // OS_WIN diff --git a/chromium/chrome/browser/extensions/api/extension_action/extension_action_api.cc b/chromium/chrome/browser/extensions/api/extension_action/extension_action_api.cc index 017614b8028..6466d63c75f 100644 --- a/chromium/chrome/browser/extensions/api/extension_action/extension_action_api.cc +++ b/chromium/chrome/browser/extensions/api/extension_action/extension_action_api.cc @@ -96,31 +96,31 @@ static base::LazyInstance<BrowserContextKeyedAPIFactory<ExtensionActionAPI>>:: ExtensionActionAPI::ExtensionActionAPI(content::BrowserContext* context) : browser_context_(context), extension_prefs_(nullptr) { - ExtensionFunctionRegistry* registry = + ExtensionFunctionRegistry& registry = ExtensionFunctionRegistry::GetInstance(); // Browser Actions - registry->RegisterFunction<BrowserActionSetIconFunction>(); - registry->RegisterFunction<BrowserActionSetTitleFunction>(); - registry->RegisterFunction<BrowserActionSetBadgeTextFunction>(); - registry->RegisterFunction<BrowserActionSetBadgeBackgroundColorFunction>(); - registry->RegisterFunction<BrowserActionSetPopupFunction>(); - registry->RegisterFunction<BrowserActionGetTitleFunction>(); - registry->RegisterFunction<BrowserActionGetBadgeTextFunction>(); - registry->RegisterFunction<BrowserActionGetBadgeBackgroundColorFunction>(); - registry->RegisterFunction<BrowserActionGetPopupFunction>(); - registry->RegisterFunction<BrowserActionEnableFunction>(); - registry->RegisterFunction<BrowserActionDisableFunction>(); - registry->RegisterFunction<BrowserActionOpenPopupFunction>(); + registry.RegisterFunction<BrowserActionSetIconFunction>(); + registry.RegisterFunction<BrowserActionSetTitleFunction>(); + registry.RegisterFunction<BrowserActionSetBadgeTextFunction>(); + registry.RegisterFunction<BrowserActionSetBadgeBackgroundColorFunction>(); + registry.RegisterFunction<BrowserActionSetPopupFunction>(); + registry.RegisterFunction<BrowserActionGetTitleFunction>(); + registry.RegisterFunction<BrowserActionGetBadgeTextFunction>(); + registry.RegisterFunction<BrowserActionGetBadgeBackgroundColorFunction>(); + registry.RegisterFunction<BrowserActionGetPopupFunction>(); + registry.RegisterFunction<BrowserActionEnableFunction>(); + registry.RegisterFunction<BrowserActionDisableFunction>(); + registry.RegisterFunction<BrowserActionOpenPopupFunction>(); // Page Actions - registry->RegisterFunction<PageActionShowFunction>(); - registry->RegisterFunction<PageActionHideFunction>(); - registry->RegisterFunction<PageActionSetIconFunction>(); - registry->RegisterFunction<PageActionSetTitleFunction>(); - registry->RegisterFunction<PageActionSetPopupFunction>(); - registry->RegisterFunction<PageActionGetTitleFunction>(); - registry->RegisterFunction<PageActionGetPopupFunction>(); + registry.RegisterFunction<PageActionShowFunction>(); + registry.RegisterFunction<PageActionHideFunction>(); + registry.RegisterFunction<PageActionSetIconFunction>(); + registry.RegisterFunction<PageActionSetTitleFunction>(); + registry.RegisterFunction<PageActionSetPopupFunction>(); + registry.RegisterFunction<PageActionGetTitleFunction>(); + registry.RegisterFunction<PageActionGetPopupFunction>(); } ExtensionActionAPI::~ExtensionActionAPI() { @@ -226,8 +226,9 @@ void ExtensionActionAPI::DispatchExtensionActionClicked( if (event_name) { std::unique_ptr<base::ListValue> args(new base::ListValue()); - args->Append( - ExtensionTabUtil::CreateTabObject(web_contents, extension)->ToValue()); + args->Append(ExtensionTabUtil::CreateTabObject( + web_contents, ExtensionTabUtil::kScrubTab, extension) + ->ToValue()); DispatchEventToExtension(web_contents->GetBrowserContext(), extension_action.extension_id(), histogram_value, diff --git a/chromium/chrome/browser/extensions/api/extension_action/extension_action_apitest.cc b/chromium/chrome/browser/extensions/api/extension_action/extension_action_apitest.cc index abc8ca885cc..8aaa5170ffd 100644 --- a/chromium/chrome/browser/extensions/api/extension_action/extension_action_apitest.cc +++ b/chromium/chrome/browser/extensions/api/extension_action/extension_action_apitest.cc @@ -11,12 +11,12 @@ #include "base/strings/stringprintf.h" #include "chrome/browser/extensions/browsertest_util.h" #include "chrome/browser/extensions/extension_apitest.h" -#include "chrome/browser/extensions/test_extension_dir.h" #include "chrome/browser/sessions/session_tab_helper.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "extensions/browser/state_store.h" #include "extensions/test/extension_test_message_listener.h" +#include "extensions/test/test_extension_dir.h" namespace extensions { namespace { |