summaryrefslogtreecommitdiffstats
path: root/chrome_frame/test
diff options
context:
space:
mode:
authorstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-24 17:29:22 +0000
committerstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-24 17:29:22 +0000
commit7c712c995e0024a0d4efe2da62007d87c457b1d0 (patch)
treecdcd6605ad47c9c71d87ee8c185b80b84245ce2a /chrome_frame/test
parent3d23353462277ab1cae323570207f5211a7dfe5d (diff)
downloadchromium_src-7c712c995e0024a0d4efe2da62007d87c457b1d0.zip
chromium_src-7c712c995e0024a0d4efe2da62007d87c457b1d0.tar.gz
chromium_src-7c712c995e0024a0d4efe2da62007d87c457b1d0.tar.bz2
Make (&CGID_Explorer, SBCMDID_MIXEDZONE) command more sane.
Add test for navigation to sites in restricted sites zone. Review URL: http://codereview.chromium.org/1217001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42484 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/test')
-rw-r--r--chrome_frame/test/test_mock_with_web_server.cc52
1 files changed, 52 insertions, 0 deletions
diff --git a/chrome_frame/test/test_mock_with_web_server.cc b/chrome_frame/test/test_mock_with_web_server.cc
index 519cd00..a2bd962 100644
--- a/chrome_frame/test/test_mock_with_web_server.cc
+++ b/chrome_frame/test/test_mock_with_web_server.cc
@@ -1255,3 +1255,55 @@ TEST_F(ChromeFrameTestWithWebServer,
loop.RunFor(kChromeFrameLongNavigationTimeoutInSeconds * 2);
}
+TEST(IEPrivacy, NavigationToRestrictedSite) {
+ CloseIeAtEndOfScope last_resort_close_ie;
+ chrome_frame_test::TimedMsgLoop loop;
+ ComStackObjectWithUninitialize<MockWebBrowserEventSink> mock;
+ ChromeFrameHTTPServer server;
+ server.SetUp();
+
+ ScopedComPtr<IInternetSecurityManager> security_manager;
+ HRESULT hr = security_manager.CreateInstance(CLSID_InternetSecurityManager);
+ ASSERT_HRESULT_SUCCEEDED(hr);
+ // Add localhost to restricted sites zone.
+ hr = security_manager->SetZoneMapping(URLZONE_UNTRUSTED,
+ L"http://localhost:1337", SZM_CREATE);
+
+ EXPECT_CALL(mock, OnFileDownload(VARIANT_TRUE, _))
+ .Times(testing::AnyNumber());
+
+ testing::InSequence s;
+ const wchar_t* url = L"http://localhost:1337/files/meta_tag.html";
+ EXPECT_CALL(mock, OnBeforeNavigate2(_,
+ testing::Field(&VARIANT::bstrVal,
+ testing::StrCaseEq(url)), _, _, _, _, _)).Times(1);
+
+ EXPECT_CALL(mock, OnNavigateComplete2(_,
+ testing::Field(&VARIANT::bstrVal, testing::StrCaseEq(url)))).Times(1);
+
+ EXPECT_CALL(mock, OnBeforeNavigate2(_,
+ testing::Field(&VARIANT::bstrVal,
+ testing::StrCaseEq(url)), _, _, _, _, _)).Times(1);
+
+ EXPECT_CALL(mock, OnBeforeNavigate2(_,
+ testing::Field(&VARIANT::bstrVal,
+ testing::StartsWith(L"res://")), _, _, _, _, _)).Times(1);
+
+ EXPECT_CALL(mock, OnNavigateComplete2(_,
+ testing::Field(&VARIANT::bstrVal, testing::StrCaseEq(url))))
+ .Times(1).WillOnce(CloseBrowserMock(&mock));
+
+ EXPECT_CALL(mock, OnQuit()).WillOnce(QUIT_LOOP(loop));
+
+ EXPECT_CALL(mock, OnLoad(_)).Times(0);
+
+ hr = mock.LaunchIEAndNavigate(url);
+ ASSERT_HRESULT_SUCCEEDED(hr);
+ if (hr == S_OK) {
+ ASSERT_TRUE(mock.web_browser2() != NULL);
+ loop.RunFor(kChromeFrameLongNavigationTimeoutInSeconds * 2);
+ }
+
+ ASSERT_HRESULT_SUCCEEDED(security_manager->SetZoneMapping(URLZONE_UNTRUSTED,
+ L"http://localhost:1337", SZM_DELETE));
+}