Skip to content

Commit

Permalink
Move GuestView layer in browser to components
Browse files Browse the repository at this point in the history
In addition to moving the browser-side of the GuestView layer into components, this CL also:

1. Replaces some loops to the top level web contents with GuestViewBase::GetTopLevelWebContents.
2. Installs the ExtensionsGuestViewMessageFilter in appshell.
3. Move some files out of extensions/common/guest_view to components/guest_view/common

BUG=444869

Review URL: https://codereview.chromium.org/1102173002

Cr-Commit-Position: refs/heads/master@{#328243}
  • Loading branch information
fsamuel authored and Commit bot committed May 5, 2015
1 parent ec5b768 commit 8dfa19a
Show file tree
Hide file tree
Showing 109 changed files with 613 additions and 404 deletions.
1 change: 1 addition & 0 deletions chrome/browser/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ source_set("browser") {
"//components/favicon_base",
"//components/gcm_driver",
"//components/google/core/browser",
"//components/guest_view:guest_view",
"//components/handoff",
"//components/history/core/browser",
"//components/history/core/common",
Expand Down
1 change: 1 addition & 0 deletions chrome/browser/DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ include_rules = [
"+components/gcm_driver",
"+components/google",
"+components/grit",
"+components/guest_view",
"+components/handoff",
"+components/history",
"+components/infobars",
Expand Down
13 changes: 8 additions & 5 deletions chrome/browser/apps/guest_view/app_view_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,26 @@

#include "base/strings/stringprintf.h"
#include "chrome/browser/apps/app_browsertest_util.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "components/guest_view/browser/guest_view_manager_factory.h"
#include "components/guest_view/browser/test_guest_view_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/test/browser_test_utils.h"
#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"

using guest_view::GuestViewManager;
using guest_view::TestGuestViewManagerFactory;

class AppViewTest : public extensions::PlatformAppBrowserTest {
public:
AppViewTest() {
extensions::GuestViewManager::set_factory_for_testing(&factory_);
GuestViewManager::set_factory_for_testing(&factory_);
}

enum TestServer {
Expand Down Expand Up @@ -70,7 +73,7 @@ class AppViewTest : public extensions::PlatformAppBrowserTest {
extensions::PlatformAppBrowserTest::SetUpCommandLine(command_line);
}

extensions::TestGuestViewManagerFactory factory_;
TestGuestViewManagerFactory factory_;
};

// Tests that <appview> is able to navigate to another installed app.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,25 @@
#include "base/strings/stringprintf.h"
#include "chrome/browser/apps/app_browsertest_util.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "components/guest_view/browser/guest_view_manager_factory.h"
#include "components/guest_view/browser/test_guest_view_manager.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"

using extensions::ExtensionsGuestViewManagerDelegate;
using extensions::GuestViewManager;
using extensions::TestGuestViewManager;
using guest_view::GuestViewManager;
using guest_view::TestGuestViewManager;
using guest_view::TestGuestViewManagerFactory;

class ExtensionViewTest : public extensions::PlatformAppBrowserTest {
public:
ExtensionViewTest() {
extensions::GuestViewManager::set_factory_for_testing(&factory_);
GuestViewManager::set_factory_for_testing(&factory_);
}

extensions::TestGuestViewManager* GetGuestViewManager() {
TestGuestViewManager* GetGuestViewManager() {
TestGuestViewManager* manager = static_cast<TestGuestViewManager*>(
TestGuestViewManager::FromBrowserContext(browser()->profile()));
// TestGuestViewManager::WaitForSingleGuestCreated may and will get called
Expand All @@ -31,7 +32,7 @@ class ExtensionViewTest : public extensions::PlatformAppBrowserTest {
manager = static_cast<TestGuestViewManager*>(
GuestViewManager::CreateWithDelegate(
browser()->profile(),
scoped_ptr<guestview::GuestViewManagerDelegate>(
scoped_ptr<guest_view::GuestViewManagerDelegate>(
new ExtensionsGuestViewManagerDelegate(
browser()->profile()))));
}
Expand Down Expand Up @@ -70,7 +71,7 @@ class ExtensionViewTest : public extensions::PlatformAppBrowserTest {
extensions::PlatformAppBrowserTest::SetUpCommandLine(command_line);
}

extensions::TestGuestViewManagerFactory factory_;
TestGuestViewManagerFactory factory_;
};

// Tests that <extensionview> can be created and added to the DOM.
Expand Down
17 changes: 9 additions & 8 deletions chrome/browser/apps/guest_view/web_view_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "components/guest_view/browser/guest_view_manager_factory.h"
#include "components/guest_view/browser/test_guest_view_manager.h"
#include "content/public/browser/gpu_data_manager.h"
#include "content/public/browser/interstitial_page.h"
#include "content/public/browser/interstitial_page_delegate.h"
Expand All @@ -37,9 +40,6 @@
#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"
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/common/extension.h"
#include "extensions/common/extensions_client.h"
Expand Down Expand Up @@ -69,9 +69,10 @@

using extensions::ContextMenuMatcher;
using extensions::ExtensionsGuestViewManagerDelegate;
using extensions::GuestViewManager;
using extensions::TestGuestViewManager;
using extensions::MenuItem;
using guest_view::GuestViewManager;
using guest_view::TestGuestViewManager;
using guest_view::TestGuestViewManagerFactory;
using prerender::PrerenderLinkManager;
using prerender::PrerenderLinkManagerFactory;
using task_manager::browsertest_util::MatchAboutBlankTab;
Expand Down Expand Up @@ -812,7 +813,7 @@ class WebViewTest : public extensions::PlatformAppBrowserTest {
manager = static_cast<TestGuestViewManager*>(
GuestViewManager::CreateWithDelegate(
browser()->profile(),
scoped_ptr<guestview::GuestViewManagerDelegate>(
scoped_ptr<guest_view::GuestViewManagerDelegate>(
new ExtensionsGuestViewManagerDelegate(
browser()->profile()))));
}
Expand All @@ -821,7 +822,7 @@ class WebViewTest : public extensions::PlatformAppBrowserTest {

WebViewTest() : guest_web_contents_(NULL),
embedder_web_contents_(NULL) {
extensions::GuestViewManager::set_factory_for_testing(&factory_);
GuestViewManager::set_factory_for_testing(&factory_);
}

private:
Expand All @@ -837,7 +838,7 @@ class WebViewTest : public extensions::PlatformAppBrowserTest {
scoped_ptr<content::FakeSpeechRecognitionManager>
fake_speech_recognition_manager_;

extensions::TestGuestViewManagerFactory factory_;
TestGuestViewManagerFactory factory_;
// Note that these are only set if you launch app using LoadAppWithGuest().
content::WebContents* guest_web_contents_;
content::WebContents* embedder_web_contents_;
Expand Down
22 changes: 12 additions & 10 deletions chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
#include "chrome/test/base/interactive_test_utils.h"
#include "chrome/test/base/test_launcher_utils.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/guest_view/browser/guest_view_base.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "components/guest_view/browser/guest_view_manager_factory.h"
#include "components/guest_view/browser/test_guest_view_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
Expand All @@ -24,10 +28,6 @@
#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"
Expand All @@ -37,8 +37,10 @@

using extensions::AppWindow;
using extensions::ExtensionsGuestViewManagerDelegate;
using extensions::GuestViewManager;
using extensions::TestGuestViewManager;
using guest_view::GuestViewBase;
using guest_view::GuestViewManager;
using guest_view::TestGuestViewManager;
using guest_view::TestGuestViewManagerFactory;

class WebViewInteractiveTest
: public extensions::PlatformAppBrowserTest {
Expand All @@ -49,7 +51,7 @@ class WebViewInteractiveTest
corner_(gfx::Point()),
mouse_click_result_(false),
first_click_(true) {
extensions::GuestViewManager::set_factory_for_testing(&factory_);
GuestViewManager::set_factory_for_testing(&factory_);
}

TestGuestViewManager* GetGuestViewManager() {
Expand All @@ -61,7 +63,7 @@ class WebViewInteractiveTest
manager = static_cast<TestGuestViewManager*>(
GuestViewManager::CreateWithDelegate(
browser()->profile(),
scoped_ptr<guestview::GuestViewManagerDelegate>(
scoped_ptr<guest_view::GuestViewManagerDelegate>(
new ExtensionsGuestViewManagerDelegate(
browser()->profile()))));
}
Expand Down Expand Up @@ -244,7 +246,7 @@ class WebViewInteractiveTest

guest_web_contents_ = source->GetWebContents();
embedder_web_contents_ =
extensions::GuestViewBase::FromWebContents(guest_web_contents_)->
GuestViewBase::FromWebContents(guest_web_contents_)->
embedder_web_contents();

gfx::Rect offset = embedder_web_contents_->GetContainerBounds();
Expand Down Expand Up @@ -480,7 +482,7 @@ class WebViewInteractiveTest
}

protected:
extensions::TestGuestViewManagerFactory factory_;
TestGuestViewManagerFactory factory_;
content::WebContents* guest_web_contents_;
content::WebContents* embedder_web_contents_;
gfx::Point corner_;
Expand Down
4 changes: 2 additions & 2 deletions chrome/browser/chrome_content_browser_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -210,9 +210,9 @@
#include "chrome/browser/extensions/extension_util.h"
#include "chrome/browser/media/cast_transport_host_filter.h"
#include "chrome/browser/speech/extension_api/tts_engine_extension_api.h"
#include "components/guest_view/browser/guest_view_base.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/guest_view/guest_view_base.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
Expand Down
6 changes: 3 additions & 3 deletions chrome/browser/chromeos/login/helper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
#include "chromeos/network/network_handler.h"
#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
#include "ui/base/l10n/l10n_util.h"
Expand Down Expand Up @@ -65,8 +65,8 @@ bool FindGuestByPartitionName(const std::string& partition_name,
// a matching partition could not be found.
content::StoragePartition* GetPartition(content::WebContents* embedder,
const std::string& partition_name) {
extensions::GuestViewManager* manager =
extensions::GuestViewManager::FromBrowserContext(
guest_view::GuestViewManager* manager =
guest_view::GuestViewManager::FromBrowserContext(
embedder->GetBrowserContext());
if (!manager)
return nullptr;
Expand Down
2 changes: 1 addition & 1 deletion chrome/browser/chromeos/profiles/profile_helper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_switches.h"
#include "chromeos/chromeos_switches.h"
#include "components/guest_view/browser/guest_view_manager.h"
#include "components/user_manager/user.h"
#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h"

namespace chromeos {
Expand Down
6 changes: 3 additions & 3 deletions chrome/browser/devtools/devtools_target_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include "chrome/browser/ui/tab_contents/tab_contents_iterator.h"
#include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
#include "chrome/common/extensions/extension_constants.h"
#include "components/guest_view/browser/guest_view_base.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/devtools_agent_host.h"
#include "content/public/browser/favicon_status.h"
Expand All @@ -20,7 +21,6 @@
#include "content/public/browser/web_contents.h"
#include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/guest_view/guest_view_base.h"
#include "extensions/browser/process_manager.h"
#include "extensions/common/constants.h"

Expand Down Expand Up @@ -60,8 +60,8 @@ WebContentsTarget::WebContentsTarget(WebContents* web_contents, bool is_tab)
tab_id_(-1) {
set_type(kTargetTypeOther);

extensions::GuestViewBase* guest =
extensions::GuestViewBase::FromWebContents(web_contents);
guest_view::GuestViewBase* guest =
guest_view::GuestViewBase::FromWebContents(web_contents);
WebContents* guest_contents = guest ? guest->embedder_web_contents() : NULL;
if (guest_contents) {
set_type(kTargetTypeWebView);
Expand Down
3 changes: 2 additions & 1 deletion chrome/browser/extensions/api/identity/identity_apitest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/test_switches.h"
#include "components/crx_file/id_util.h"
#include "components/guest_view/browser/guest_view_base.h"
#include "components/signin/core/browser/account_tracker_service.h"
#include "components/signin/core/browser/signin_manager.h"
#include "components/signin/core/common/profile_management_switches.h"
Expand All @@ -42,7 +43,6 @@
#include "content/public/browser/notification_source.h"
#include "content/public/test/test_utils.h"
#include "extensions/browser/api_test_utils.h"
#include "extensions/browser/guest_view/guest_view_base.h"
#include "extensions/common/manifest_handlers/oauth2_manifest_handler.h"
#include "extensions/common/test_util.h"
#include "google_apis/gaia/google_service_auth_error.h"
Expand All @@ -52,6 +52,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"

using guest_view::GuestViewBase;
using testing::_;
using testing::Return;
using testing::ReturnRef;
Expand Down
3 changes: 2 additions & 1 deletion chrome/browser/extensions/api/identity/web_auth_flow.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/api/identity_private.h"
#include "chrome/common/extensions/extension_constants.h"
#include "components/guest_view/browser/guest_view_base.h"
#include "content/public/browser/navigation_details.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/notification_details.h"
Expand All @@ -28,14 +29,14 @@
#include "extensions/browser/app_window/app_window.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/guest_view/guest_view_base.h"
#include "grit/browser_resources.h"
#include "url/gurl.h"

using content::RenderViewHost;
using content::ResourceRedirectDetails;
using content::WebContents;
using content::WebContentsObserver;
using guest_view::GuestViewBase;

namespace extensions {

Expand Down
2 changes: 1 addition & 1 deletion chrome/browser/extensions/api/messaging/message_service.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "chrome/browser/extensions/extension_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/tab_contents/tab_util.h"
#include "components/guest_view/common/guest_view_constants.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
Expand All @@ -41,7 +42,6 @@
#include "extensions/browser/pref_names.h"
#include "extensions/browser/process_manager.h"
#include "extensions/common/extension.h"
#include "extensions/common/guest_view/guest_view_constants.h"
#include "extensions/common/manifest_constants.h"
#include "extensions/common/manifest_handlers/background_info.h"
#include "extensions/common/manifest_handlers/externally_connectable.h"
Expand Down
Loading

0 comments on commit 8dfa19a

Please sign in to comment.