Index: chrome/browser/ui/tab_contents/per_tab_prefs_tab_helper_unittest.cc |
diff --git a/chrome/browser/ui/tab_contents/per_tab_prefs_tab_helper_unittest.cc b/chrome/browser/ui/tab_contents/per_tab_prefs_tab_helper_unittest.cc |
index 36556860c321b51169620dae37ef6dc9089b1a6f..0f75ea3b333dc6e2ae094afbd17cae4df5ed59eb 100644 |
--- a/chrome/browser/ui/tab_contents/per_tab_prefs_tab_helper_unittest.cc |
+++ b/chrome/browser/ui/tab_contents/per_tab_prefs_tab_helper_unittest.cc |
@@ -12,6 +12,31 @@ |
using content::BrowserThread; |
+class TestPerTabPrefsTabHelper : public PerTabPrefsTabHelper { |
+ public: |
+ explicit TestPerTabPrefsTabHelper(TabContentsWrapper* tab_contents) |
+ : PerTabPrefsTabHelper(tab_contents), |
+ was_override_web_prefernces_called_(false) { |
+ } |
+ virtual ~TestPerTabPrefsTabHelper() { } |
+ |
+ virtual void OverrideWebPreferences(WebPreferences* prefs) OVERRIDE { |
+ was_override_web_prefernces_called_ = true; |
+ PerTabPrefsTabHelper::OverrideWebPreferences(prefs); |
+ } |
+ |
+ void NotifyRenderViewCreated() { |
+ RenderViewCreated(NULL); |
+ } |
+ |
+ bool was_override_web_prefernces_called() { |
+ return was_override_web_prefernces_called_; |
+ } |
+ |
+ private: |
+ bool was_override_web_prefernces_called_; |
+}; |
+ |
class PerTabPrefsTabHelperTest : public TabContentsWrapperTestHarness { |
public: |
PerTabPrefsTabHelperTest() |
@@ -67,3 +92,12 @@ TEST_F(PerTabPrefsTabHelperTest, PerTabJavaScriptEnabled) { |
EXPECT_EQ(initial_value, prefs1->GetBoolean(key)); |
EXPECT_EQ(!initial_value, prefs2->GetBoolean(key)); |
} |
+ |
+TEST_F(PerTabPrefsTabHelperTest, OverridePrefsOnViewCreation) { |
+ TestPerTabPrefsTabHelper* test_prefs_helper = new TestPerTabPrefsTabHelper( |
+ contents_wrapper()); |
+ contents_wrapper()->per_tab_prefs_tab_helper_.reset(test_prefs_helper); |
+ EXPECT_EQ(false, test_prefs_helper->was_override_web_prefernces_called()); |
+ test_prefs_helper->NotifyRenderViewCreated(); |
+ EXPECT_EQ(true, test_prefs_helper->was_override_web_prefernces_called()); |
+} |