diff options
author | rkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-31 00:28:07 +0000 |
---|---|---|
committer | rkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-31 00:28:07 +0000 |
commit | 9e206d120c9569cd41c840548912bf4c436df967 (patch) | |
tree | f3c574826614bce220397f971593c9936dee7cc9 | |
parent | 3922a54915d163db29212285274d54a56f06f33d (diff) | |
download | chromium_src-9e206d120c9569cd41c840548912bf4c436df967.zip chromium_src-9e206d120c9569cd41c840548912bf4c436df967.tar.gz chromium_src-9e206d120c9569cd41c840548912bf4c436df967.tar.bz2 |
Fix view view in views examples.
The views delegate used in Views Examples derives from TestViewsDelegate, which returns a TestWebContents when WebView tries to create it's webcontents. Since this functionality is intended only for unit tests, moved the test webcontents creation to a subclass of TestViewsDelegate in ash_test_base. This leaves TestViewsDelegate and it's subclasses unaffected.
R=ben@chromium.org
BUG=None.
TEST=Ran aura_test_unittests and verified that the webview example in views examples through ash_shell works correctly.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=139690
Review URL: https://chromiumcodereview.appspot.com/10447096
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139704 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ash/screensaver/screensaver_view_unittest.cc | 5 | ||||
-rw-r--r-- | ash/test/ash_test_base.cc | 8 | ||||
-rw-r--r-- | ash/test/ash_test_base.h | 9 | ||||
-rw-r--r-- | ui/views/test/test_views_delegate.cc | 3 |
4 files changed, 20 insertions, 5 deletions
diff --git a/ash/screensaver/screensaver_view_unittest.cc b/ash/screensaver/screensaver_view_unittest.cc index 47a19e2..25cfb6d 100644 --- a/ash/screensaver/screensaver_view_unittest.cc +++ b/ash/screensaver/screensaver_view_unittest.cc @@ -8,7 +8,6 @@ #include "base/bind.h" #include "content/public/browser/browser_context.h" #include "ui/views/controls/webview/webview.h" -#include "ui/views/test/test_views_delegate.h" #include "ui/views/test/webview_test_helper.h" namespace ash { @@ -18,7 +17,7 @@ class ScreensaverViewTest : public ash::test::AshTestBase { public: ScreensaverViewTest() { url_ = GURL("http://www.google.com"); - views_delegate_.reset(new views::TestViewsDelegate); + views_delegate_.reset(new AshTestViewsDelegate); webview_test_helper_.reset(new views::WebViewTestHelper(message_loop())); } @@ -57,7 +56,7 @@ class ScreensaverViewTest : public ash::test::AshTestBase { GURL url_; private: - scoped_ptr<views::TestViewsDelegate> views_delegate_; + scoped_ptr<AshTestViewsDelegate> views_delegate_; scoped_ptr<views::WebViewTestHelper> webview_test_helper_; DISALLOW_COPY_AND_ASSIGN(ScreensaverViewTest); diff --git a/ash/test/ash_test_base.cc b/ash/test/ash_test_base.cc index ca7b9fc..0e6b72b 100644 --- a/ash/test/ash_test_base.cc +++ b/ash/test/ash_test_base.cc @@ -8,6 +8,7 @@ #include "ash/shell.h" #include "ash/test/test_shell_delegate.h" +#include "content/test/web_contents_tester.h" #include "ui/aura/env.h" #include "ui/aura/monitor_manager.h" #include "ui/aura/root_window.h" @@ -18,6 +19,13 @@ namespace ash { namespace test { +content::WebContents* AshTestViewsDelegate::CreateWebContents( + content::BrowserContext* browser_context, + content::SiteInstance* site_instance) { + return content::WebContentsTester::CreateTestWebContents(browser_context, + site_instance); +} + AshTestBase::AshTestBase() { } diff --git a/ash/test/ash_test_base.h b/ash/test/ash_test_base.h index c118a8a..2ca9246 100644 --- a/ash/test/ash_test_base.h +++ b/ash/test/ash_test_base.h @@ -10,10 +10,19 @@ #include "base/compiler_specific.h" #include "base/message_loop.h" #include "testing/gtest/include/gtest/gtest.h" +#include "ui/views/test/test_views_delegate.h" namespace ash { namespace test { +class AshTestViewsDelegate : public views::TestViewsDelegate { + public: + // Overriden from TestViewsDelegate. + virtual content::WebContents* CreateWebContents( + content::BrowserContext* browser_context, + content::SiteInstance* site_instance) OVERRIDE; +}; + class AshTestBase : public testing::Test { public: AshTestBase(); diff --git a/ui/views/test/test_views_delegate.cc b/ui/views/test/test_views_delegate.cc index 21ae8ae..0cf97fc 100644 --- a/ui/views/test/test_views_delegate.cc +++ b/ui/views/test/test_views_delegate.cc @@ -68,8 +68,7 @@ views::NativeWidgetHelperAura* TestViewsDelegate::CreateNativeWidgetHelper( content::WebContents* TestViewsDelegate::CreateWebContents( content::BrowserContext* browser_context, content::SiteInstance* site_instance) { - return content::WebContentsTester::CreateTestWebContents(browser_context, - site_instance); + return NULL; } } // namespace views |