summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/apps/guest_view/app_view_browsertest.cc68
-rw-r--r--chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc81
-rw-r--r--chrome/browser/apps/guest_view/web_view_browsertest.cc22
-rw-r--r--chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc111
-rw-r--r--chrome/browser/chromeos/login/helper.cc2
-rw-r--r--chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc2
-rw-r--r--chrome/browser/printing/print_view_manager_common.cc2
-rw-r--r--chrome/browser/profiles/off_the_record_profile_impl.cc2
-rw-r--r--chrome/browser/profiles/profile_impl.cc2
-rw-r--r--chrome/browser/signin/signin_header_helper.cc2
-rw-r--r--chrome/browser/ui/tab_contents/core_tab_helper.cc5
-rw-r--r--chrome/browser/ui/webui/signin/inline_login_ui.cc2
12 files changed, 71 insertions, 230 deletions
diff --git a/chrome/browser/apps/guest_view/app_view_browsertest.cc b/chrome/browser/apps/guest_view/app_view_browsertest.cc
index 8ddc15d..9a6ba6b 100644
--- a/chrome/browser/apps/guest_view/app_view_browsertest.cc
+++ b/chrome/browser/apps/guest_view/app_view_browsertest.cc
@@ -10,83 +10,19 @@
#include "content/public/test/test_utils.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/guest_view_manager_factory.h"
+#include "extensions/browser/guest_view/test_guest_view_manager.h"
#include "extensions/common/switches.h"
#include "extensions/test/extension_test_message_listener.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "net/test/embedded_test_server/http_request.h"
#include "net/test/embedded_test_server/http_response.h"
-namespace {
-
-class TestGuestViewManager : public extensions::GuestViewManager {
- public:
- explicit TestGuestViewManager(content::BrowserContext* context) :
- extensions::GuestViewManager(context),
- web_contents_(NULL) {}
-
- content::WebContents* WaitForGuestCreated() {
- if (web_contents_)
- return web_contents_;
-
- message_loop_runner_ = new content::MessageLoopRunner;
- message_loop_runner_->Run();
- return web_contents_;
- }
-
- private:
- // GuestViewManager override:
- void AddGuest(int guest_instance_id,
- content::WebContents* guest_web_contents) override {
- extensions::GuestViewManager::AddGuest(
- guest_instance_id, guest_web_contents);
- web_contents_ = guest_web_contents;
-
- if (message_loop_runner_.get())
- message_loop_runner_->Quit();
- }
-
- content::WebContents* web_contents_;
- scoped_refptr<content::MessageLoopRunner> message_loop_runner_;
-};
-
-// Test factory for creating test instances of GuestViewManager.
-class TestGuestViewManagerFactory : public extensions::GuestViewManagerFactory {
- public:
- TestGuestViewManagerFactory() :
- test_guest_view_manager_(NULL) {}
-
- ~TestGuestViewManagerFactory() override {}
-
- extensions::GuestViewManager* CreateGuestViewManager(
- content::BrowserContext* context) override {
- return GetManager(context);
- }
-
- TestGuestViewManager* GetManager(content::BrowserContext* context) {
- if (!test_guest_view_manager_) {
- test_guest_view_manager_ = new TestGuestViewManager(context);
- }
- return test_guest_view_manager_;
- }
-
- private:
- TestGuestViewManager* test_guest_view_manager_;
-
- DISALLOW_COPY_AND_ASSIGN(TestGuestViewManagerFactory);
-};
-
-} // namespace
-
class AppViewTest : public extensions::PlatformAppBrowserTest {
public:
AppViewTest() {
extensions::GuestViewManager::set_factory_for_testing(&factory_);
}
- TestGuestViewManager* GetGuestViewManager() {
- return factory_.GetManager(browser()->profile());
- }
-
enum TestServer {
NEEDS_TEST_SERVER,
NO_TEST_SERVER
@@ -134,7 +70,7 @@ class AppViewTest : public extensions::PlatformAppBrowserTest {
extensions::PlatformAppBrowserTest::SetUpCommandLine(command_line);
}
- TestGuestViewManagerFactory factory_;
+ extensions::TestGuestViewManagerFactory factory_;
};
// Tests that <appview> is able to navigate to another installed app.
diff --git a/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc b/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc
index f539220..22c64a4 100644
--- a/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc
+++ b/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc
@@ -6,68 +6,15 @@
#include "chrome/browser/apps/app_browsertest_util.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/test/browser_test_utils.h"
+#include "extensions/browser/guest_view/extensions_guest_view_manager_delegate.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/guest_view_manager_factory.h"
+#include "extensions/browser/guest_view/test_guest_view_manager.h"
#include "extensions/test/extension_test_message_listener.h"
-namespace {
-
-class TestGuestViewManager : public extensions::GuestViewManager {
- public:
- explicit TestGuestViewManager(content::BrowserContext* context)
- : extensions::GuestViewManager(context), web_contents_(NULL) {}
-
- content::WebContents* WaitForGuestCreated() {
- if (web_contents_)
- return web_contents_;
-
- message_loop_runner_ = new content::MessageLoopRunner;
- message_loop_runner_->Run();
- return web_contents_;
- }
-
- private:
- // GuestViewManager override.
- void AddGuest(int guest_instance_id,
- content::WebContents* guest_web_contents) override {
- extensions::GuestViewManager::AddGuest(guest_instance_id,
- guest_web_contents);
- web_contents_ = guest_web_contents;
-
- if (message_loop_runner_.get())
- message_loop_runner_->Quit();
- }
-
- content::WebContents* web_contents_;
- scoped_refptr<content::MessageLoopRunner> message_loop_runner_;
-};
-
-// Test factory for creating test instances of GuestViewManager.
-class TestGuestViewManagerFactory : public extensions::GuestViewManagerFactory {
- public:
- TestGuestViewManagerFactory() : test_guest_view_manager_(NULL) {}
-
- ~TestGuestViewManagerFactory() override {}
-
- extensions::GuestViewManager* CreateGuestViewManager(
- content::BrowserContext* context) override {
- return GetManager(context);
- }
-
- TestGuestViewManager* GetManager(content::BrowserContext* context) {
- if (!test_guest_view_manager_) {
- test_guest_view_manager_ = new TestGuestViewManager(context);
- }
- return test_guest_view_manager_;
- }
-
- private:
- TestGuestViewManager* test_guest_view_manager_;
-
- DISALLOW_COPY_AND_ASSIGN(TestGuestViewManagerFactory);
-};
-
-} // namespace
+using extensions::ExtensionsGuestViewManagerDelegate;
+using extensions::GuestViewManager;
+using extensions::TestGuestViewManager;
class ExtensionViewTest : public extensions::PlatformAppBrowserTest {
public:
@@ -75,8 +22,20 @@ class ExtensionViewTest : public extensions::PlatformAppBrowserTest {
extensions::GuestViewManager::set_factory_for_testing(&factory_);
}
- TestGuestViewManager* GetGuestViewManager() {
- return factory_.GetManager(browser()->profile());
+ extensions::TestGuestViewManager* GetGuestViewManager() {
+ TestGuestViewManager* manager = static_cast<TestGuestViewManager*>(
+ TestGuestViewManager::FromBrowserContext(browser()->profile()));
+ // TestGuestViewManager::WaitForSingleGuestCreated may and will get called
+ // before a guest is created.
+ if (!manager) {
+ manager = static_cast<TestGuestViewManager*>(
+ GuestViewManager::CreateWithDelegate(
+ browser()->profile(),
+ scoped_ptr<guestview::GuestViewManagerDelegate>(
+ new ExtensionsGuestViewManagerDelegate(
+ browser()->profile()))));
+ }
+ return manager;
}
void TestHelper(const std::string& test_name,
@@ -111,7 +70,7 @@ class ExtensionViewTest : public extensions::PlatformAppBrowserTest {
extensions::PlatformAppBrowserTest::SetUpCommandLine(command_line);
}
- TestGuestViewManagerFactory factory_;
+ extensions::TestGuestViewManagerFactory factory_;
};
// Tests that <extensionview> can be created and added to the DOM.
diff --git a/chrome/browser/apps/guest_view/web_view_browsertest.cc b/chrome/browser/apps/guest_view/web_view_browsertest.cc
index 7318ef8..4eb7744 100644
--- a/chrome/browser/apps/guest_view/web_view_browsertest.cc
+++ b/chrome/browser/apps/guest_view/web_view_browsertest.cc
@@ -36,6 +36,7 @@
#include "extensions/browser/api/declarative/test_rules_registry.h"
#include "extensions/browser/api/declarative_webrequest/webrequest_constants.h"
#include "extensions/browser/app_window/native_app_window.h"
+#include "extensions/browser/guest_view/extensions_guest_view_manager_delegate.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/guest_view_manager_factory.h"
#include "extensions/browser/guest_view/test_guest_view_manager.h"
@@ -67,6 +68,9 @@
#endif
using extensions::ContextMenuMatcher;
+using extensions::ExtensionsGuestViewManagerDelegate;
+using extensions::GuestViewManager;
+using extensions::TestGuestViewManager;
using extensions::MenuItem;
using prerender::PrerenderLinkManager;
using prerender::PrerenderLinkManagerFactory;
@@ -816,10 +820,20 @@ class WebViewTest : public extensions::PlatformAppBrowserTest {
return embedder_web_contents_;
}
- extensions::TestGuestViewManager* GetGuestViewManager() {
- return static_cast<extensions::TestGuestViewManager*>(
- extensions::TestGuestViewManager::FromBrowserContext(
- browser()->profile()));
+ TestGuestViewManager* GetGuestViewManager() {
+ TestGuestViewManager* manager = static_cast<TestGuestViewManager*>(
+ TestGuestViewManager::FromBrowserContext(browser()->profile()));
+ // TestGuestViewManager::WaitForSingleGuestCreated may and will get called
+ // before a guest is created.
+ if (!manager) {
+ manager = static_cast<TestGuestViewManager*>(
+ GuestViewManager::CreateWithDelegate(
+ browser()->profile(),
+ scoped_ptr<guestview::GuestViewManagerDelegate>(
+ new ExtensionsGuestViewManagerDelegate(
+ browser()->profile()))));
+ }
+ return manager;
}
WebViewTest() : guest_web_contents_(NULL),
diff --git a/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc b/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc
index 89a6099..bb24c91 100644
--- a/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc
+++ b/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc
@@ -23,9 +23,11 @@
#include "content/public/test/browser_test_utils.h"
#include "extensions/browser/app_window/app_window.h"
#include "extensions/browser/app_window/app_window_registry.h"
+#include "extensions/browser/guest_view/extensions_guest_view_manager_delegate.h"
#include "extensions/browser/guest_view/guest_view_base.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/guest_view_manager_factory.h"
+#include "extensions/browser/guest_view/test_guest_view_manager.h"
#include "extensions/test/extension_test_message_listener.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "ui/base/ime/composition_text.h"
@@ -34,88 +36,9 @@
#include "ui/events/keycodes/keyboard_codes.h"
using extensions::AppWindow;
-
-class TestGuestViewManager : public extensions::GuestViewManager {
- public:
- explicit TestGuestViewManager(content::BrowserContext* context)
- : GuestViewManager(context),
- guest_add_count_(0),
- guest_remove_count_(0),
- web_contents_(NULL) {}
-
- content::WebContents* WaitForGuestAdded() {
- if (web_contents_)
- return web_contents_;
-
- add_message_loop_runner_ = new content::MessageLoopRunner;
- add_message_loop_runner_->Run();
- return web_contents_;
- }
-
- // Waits so that at least |expected_remove_count| guests' creation
- // has been seen by this manager.
- void WaitForGuestRemoved(size_t expected_remove_count) {
- if (guest_remove_count_ >= expected_remove_count)
- return;
-
- remove_message_loop_runner_ = new content::MessageLoopRunner;
- remove_message_loop_runner_->Run();
- }
-
- size_t guest_add_count() { return guest_add_count_; }
-
- private:
- // GuestViewManager override:
- void AddGuest(int guest_instance_id,
- content::WebContents* guest_web_contents) override {
- GuestViewManager::AddGuest(guest_instance_id, guest_web_contents);
- web_contents_ = guest_web_contents;
- ++guest_add_count_;
-
- if (add_message_loop_runner_.get())
- add_message_loop_runner_->Quit();
- }
-
- void RemoveGuest(int guest_instance_id) override {
- GuestViewManager::RemoveGuest(guest_instance_id);
- ++guest_remove_count_;
-
- if (remove_message_loop_runner_.get())
- remove_message_loop_runner_->Quit();
- }
-
- size_t guest_add_count_;
- size_t guest_remove_count_;
- content::WebContents* web_contents_;
- scoped_refptr<content::MessageLoopRunner> add_message_loop_runner_;
- scoped_refptr<content::MessageLoopRunner> remove_message_loop_runner_;
-};
-
-// Test factory for creating test instances of GuestViewManager.
-class TestGuestViewManagerFactory : public extensions::GuestViewManagerFactory {
- public:
- TestGuestViewManagerFactory() :
- test_guest_view_manager_(NULL) {}
-
- ~TestGuestViewManagerFactory() override {}
-
- extensions::GuestViewManager* CreateGuestViewManager(
- content::BrowserContext* context) override {
- return GetManager(context);
- }
-
- TestGuestViewManager* GetManager(content::BrowserContext* context) {
- if (!test_guest_view_manager_) {
- test_guest_view_manager_ = new TestGuestViewManager(context);
- }
- return test_guest_view_manager_;
- }
-
- private:
- TestGuestViewManager* test_guest_view_manager_;
-
- DISALLOW_COPY_AND_ASSIGN(TestGuestViewManagerFactory);
-};
+using extensions::ExtensionsGuestViewManagerDelegate;
+using extensions::GuestViewManager;
+using extensions::TestGuestViewManager;
class WebViewInteractiveTest
: public extensions::PlatformAppBrowserTest {
@@ -130,7 +53,19 @@ class WebViewInteractiveTest
}
TestGuestViewManager* GetGuestViewManager() {
- return factory_.GetManager(browser()->profile());
+ TestGuestViewManager* manager = static_cast<TestGuestViewManager*>(
+ TestGuestViewManager::FromBrowserContext(browser()->profile()));
+ // TestGuestViewManager::WaitForSingleGuestCreated may and will get called
+ // before a guest is created.
+ if (!manager) {
+ manager = static_cast<TestGuestViewManager*>(
+ GuestViewManager::CreateWithDelegate(
+ browser()->profile(),
+ scoped_ptr<guestview::GuestViewManagerDelegate>(
+ new ExtensionsGuestViewManagerDelegate(
+ browser()->profile()))));
+ }
+ return manager;
}
void MoveMouseInsideWindowWithListener(gfx::Point point,
@@ -284,11 +219,9 @@ class WebViewInteractiveTest
ASSERT_TRUE(done_listener);
ASSERT_TRUE(done_listener->WaitUntilSatisfied());
- guest_web_contents_ = GetGuestViewManager()->WaitForGuestAdded();
+ guest_web_contents_ = GetGuestViewManager()->WaitForSingleGuestCreated();
}
- void RunTest(const std::string& app_name) {
- }
void SetupTest(const std::string& app_name,
const std::string& guest_url_spec) {
ASSERT_TRUE(StartEmbeddedTestServer());
@@ -547,7 +480,7 @@ class WebViewInteractiveTest
}
protected:
- TestGuestViewManagerFactory factory_;
+ extensions::TestGuestViewManagerFactory factory_;
content::WebContents* guest_web_contents_;
content::WebContents* embedder_web_contents_;
gfx::Point corner_;
@@ -900,13 +833,13 @@ IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest,
TestHelper("testNewWindowOpenerDestroyedWhileUnattached",
"web_view/newwindow",
NEEDS_TEST_SERVER);
- ASSERT_EQ(2u, GetGuestViewManager()->guest_add_count());
+ ASSERT_EQ(2, GetGuestViewManager()->num_guests_created());
// We have two guests in this test, one is the intial one, the other
// is the newwindow one.
// Before the embedder goes away, both the guests should go away.
// This ensures that unattached guests are gone if opener is gone.
- GetGuestViewManager()->WaitForGuestRemoved(2u);
+ GetGuestViewManager()->WaitForAllGuestsDeleted();
}
IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, ExecuteCode) {
diff --git a/chrome/browser/chromeos/login/helper.cc b/chrome/browser/chromeos/login/helper.cc
index a0177c5..afdd741 100644
--- a/chrome/browser/chromeos/login/helper.cc
+++ b/chrome/browser/chromeos/login/helper.cc
@@ -66,7 +66,7 @@ bool FindGuestByPartitionName(const std::string& partition_name,
content::StoragePartition* GetPartition(content::WebContents* embedder,
const std::string& partition_name) {
extensions::GuestViewManager* manager =
- extensions::GuestViewManager::FromBrowserContextIfAvailable(
+ extensions::GuestViewManager::FromBrowserContext(
embedder->GetBrowserContext());
if (!manager)
return nullptr;
diff --git a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc
index 7bcf360..03abc79 100644
--- a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc
+++ b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc
@@ -132,7 +132,7 @@ void ChromeWebViewGuestDelegate::OnGuestDestroyed() {
MenuManager* menu_manager = MenuManager::Get(
Profile::FromBrowserContext(web_view_guest()->browser_context()));
menu_manager->RemoveAllContextItems(MenuItem::ExtensionKey(
- web_view_guest()->owner_extension_id(),
+ web_view_guest()->owner_host(),
web_view_guest()->view_instance_id()));
}
diff --git a/chrome/browser/printing/print_view_manager_common.cc b/chrome/browser/printing/print_view_manager_common.cc
index 37f8d09..7f8ad12 100644
--- a/chrome/browser/printing/print_view_manager_common.cc
+++ b/chrome/browser/printing/print_view_manager_common.cc
@@ -37,7 +37,7 @@ bool StoreFullPagePlugin(content::WebContents** result,
content::WebContents* GetWebContentsToUse(content::WebContents* contents) {
#if defined(ENABLE_EXTENSIONS)
extensions::GuestViewManager* guest_view_manager =
- extensions::GuestViewManager::FromBrowserContextIfAvailable(
+ extensions::GuestViewManager::FromBrowserContext(
contents->GetBrowserContext());
if (guest_view_manager) {
guest_view_manager->ForEachGuest(
diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/browser/profiles/off_the_record_profile_impl.cc
index 1c79bf9..a363530 100644
--- a/chrome/browser/profiles/off_the_record_profile_impl.cc
+++ b/chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -415,7 +415,7 @@ HostContentSettingsMap* OffTheRecordProfileImpl::GetHostContentSettingsMap() {
content::BrowserPluginGuestManager* OffTheRecordProfileImpl::GetGuestManager() {
#if defined(ENABLE_EXTENSIONS)
- return extensions::GuestViewManager::FromBrowserContextIfAvailable(this);
+ return extensions::GuestViewManager::FromBrowserContext(this);
#else
return NULL;
#endif
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
index 106a677..1ddc4fc 100644
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -1053,7 +1053,7 @@ HostContentSettingsMap* ProfileImpl::GetHostContentSettingsMap() {
content::BrowserPluginGuestManager* ProfileImpl::GetGuestManager() {
#if defined(ENABLE_EXTENSIONS)
- return extensions::GuestViewManager::FromBrowserContextIfAvailable(this);
+ return extensions::GuestViewManager::FromBrowserContext(this);
#else
return NULL;
#endif
diff --git a/chrome/browser/signin/signin_header_helper.cc b/chrome/browser/signin/signin_header_helper.cc
index 0387202..83e502b 100644
--- a/chrome/browser/signin/signin_header_helper.cc
+++ b/chrome/browser/signin/signin_header_helper.cc
@@ -250,7 +250,7 @@ bool AppendMirrorRequestHeaderIfPossible(
// embedded in a webui page, otherwise user may end up with a blank page as
// gaia uses the header to decide whether it returns 204 for certain end
// points.
- if (is_guest && webview_info.owner_extension_id.empty())
+ if (is_guest && webview_info.owner_host.empty())
return false;
#endif // !OS_ANDROID && !OS_IOS
diff --git a/chrome/browser/ui/tab_contents/core_tab_helper.cc b/chrome/browser/ui/tab_contents/core_tab_helper.cc
index 26fdafa..b2ef8e0 100644
--- a/chrome/browser/ui/tab_contents/core_tab_helper.cc
+++ b/chrome/browser/ui/tab_contents/core_tab_helper.cc
@@ -92,9 +92,8 @@ bool CoreTabHelper::GetStatusTextForWebContents(
tracked_objects::ScopedTracker tracking_profile1(
FROM_HERE_WITH_EXPLICIT_FUNCTION(
"467185 CoreTabHelper::GetStatusTextForWebContents1"));
- auto guest_manager =
- extensions::GuestViewManager::FromBrowserContextIfAvailable(
- source->GetBrowserContext());
+ auto guest_manager = extensions::GuestViewManager::FromBrowserContext(
+ source->GetBrowserContext());
if (!source->IsLoading() ||
source->GetLoadState().state == net::LOAD_STATE_IDLE) {
// TODO(robliao): Remove ScopedTracker below once https://crbug.com/467185
diff --git a/chrome/browser/ui/webui/signin/inline_login_ui.cc b/chrome/browser/ui/webui/signin/inline_login_ui.cc
index e807990..e38d985 100644
--- a/chrome/browser/ui/webui/signin/inline_login_ui.cc
+++ b/chrome/browser/ui/webui/signin/inline_login_ui.cc
@@ -138,7 +138,7 @@ content::RenderFrameHost* InlineLoginUI::GetAuthFrame(
#endif
if (is_webview) {
extensions::GuestViewManager* manager =
- extensions::GuestViewManager::FromBrowserContextIfAvailable(
+ extensions::GuestViewManager::FromBrowserContext(
web_contents->GetBrowserContext());
if (manager) {
manager->ForEachGuest(web_contents,