Index: ios/web_view/test/web_view_incognito_inttest.mm |
diff --git a/ios/web_view/test/web_view_incognito_inttest.mm b/ios/web_view/test/web_view_incognito_inttest.mm |
deleted file mode 100644 |
index 91846fb48bc2e8116cc0bb98d9c529db9ac65041..0000000000000000000000000000000000000000 |
--- a/ios/web_view/test/web_view_incognito_inttest.mm |
+++ /dev/null |
@@ -1,122 +0,0 @@ |
-// Copyright 2017 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#import <ChromeWebView/ChromeWebView.h> |
-#import <WebKit/WebKit.h> |
- |
-#import "ios/web_view/test/web_view_test.h" |
-#import "ios/web_view/test/web_view_test_util.h" |
-#import "net/base/mac/url_conversions.h" |
-#include "testing/gtest_mac.h" |
-#include "url/gurl.h" |
- |
-#if !defined(__has_feature) || !__has_feature(objc_arc) |
-#error "This file requires ARC support." |
-#endif |
- |
-namespace ios_web_view { |
- |
-namespace { |
- |
-// Creates web view with incognito configuration and frame equal to screen |
-// bounds. |
-CWVWebView* CreateIncognitoWebView() { |
- return test::CreateWebView([CWVWebViewConfiguration incognitoConfiguration]); |
-} |
- |
-} // namespace |
- |
-// Test fixture for incognito browsing mode. |
-typedef ios_web_view::WebViewTest WebViewIncognitoTest; |
- |
-// Tests that browsing data (cookie and localStorage) does not leak from |
-// non-incognito to incognito web view. |
-TEST_F(WebViewIncognitoTest, BrowsingDataNotLeakingToIncognito) { |
- // CWVWebView does not allow JavaScript execution if the page was not loaded. |
- GURL url = GetUrlForPageWithHtmlBody(std::string()); |
- ASSERT_TRUE(test::LoadUrl(web_view_, net::NSURLWithGURL(url))); |
- |
- NSError* error = nil; |
- test::EvaluateJavaScript(web_view_, @"localStorage.setItem('k', 'v');", |
- &error); |
- ASSERT_NSEQ(nil, error); |
- test::EvaluateJavaScript(web_view_, @"document.cookie='n=v;'", &error); |
- ASSERT_NSEQ(nil, error); |
- |
- // Create web view with the same configuration, otherwise browswing data may |
- // not be shared immidiately. Make sure that new web view has browsing data |
- // from the previous web view. |
- CWVWebView* non_incognito_web_view = |
- test::CreateWebView([web_view_ configuration]); |
- ASSERT_TRUE(test::LoadUrl(non_incognito_web_view, net::NSURLWithGURL(url))); |
- id localStorageValue = test::EvaluateJavaScript( |
- non_incognito_web_view, @"localStorage.getItem('k');", &error); |
- ASSERT_NSEQ(nil, error); |
- ASSERT_NSEQ(@"v", localStorageValue); |
- id cookie = test::EvaluateJavaScript(non_incognito_web_view, |
- @"document.cookie", &error); |
- ASSERT_NSEQ(nil, error); |
- ASSERT_TRUE([cookie containsString:@"n=v"]); |
- |
- // Verify that incognito web view does not have browsing data from |
- // non-incognito web view. |
- CWVWebView* incognito_web_view = CreateIncognitoWebView(); |
- ASSERT_TRUE(incognito_web_view); |
- ASSERT_TRUE(test::LoadUrl(incognito_web_view, net::NSURLWithGURL(url))); |
- localStorageValue = test::EvaluateJavaScript( |
- incognito_web_view, @"localStorage.getItem('k');", &error); |
- EXPECT_NSEQ(nil, error); |
- ASSERT_NSEQ([NSNull null], localStorageValue); |
- cookie = |
- test::EvaluateJavaScript(incognito_web_view, @"document.cookie", &error); |
- EXPECT_NSEQ(nil, error); |
- ASSERT_NSEQ(@"", cookie); |
-} |
- |
-// Tests that browsing data (cookie and localStorage) does not leak from |
-// incognito to non-incognito web view. |
-TEST_F(WebViewIncognitoTest, BrowsingDataNotLeakingFromIncognito) { |
- // CWVWebView does not allow JavaScript execution if the page was not loaded. |
- CWVWebView* incognito_web_view = CreateIncognitoWebView(); |
- GURL url = GetUrlForPageWithHtmlBody(std::string()); |
- ASSERT_TRUE(test::LoadUrl(incognito_web_view, net::NSURLWithGURL(url))); |
- |
- NSError* error = nil; |
- test::EvaluateJavaScript(incognito_web_view, |
- @"localStorage.setItem('k2', 'v');", &error); |
- // |localStorage.setItem| throws exception in Incognito. |
- ASSERT_EQ(WKErrorJavaScriptExceptionOccurred, error.code); |
- test::EvaluateJavaScript(incognito_web_view, @"document.cookie='n2=v;'", |
- &error); |
- ASSERT_NSEQ(nil, error); |
- |
- // Create incognito web view with the same configuration, otherwise browswing |
- // data will not be shared. Make sure that new incognito web view has browsing |
- // data from the previous incognito web view. |
- CWVWebView* incognito_web_view2 = |
- test::CreateWebView([incognito_web_view configuration]); |
- ASSERT_TRUE(test::LoadUrl(incognito_web_view2, net::NSURLWithGURL(url))); |
- id localStorageValue = test::EvaluateJavaScript( |
- incognito_web_view2, @"localStorage.getItem('k2');", &error); |
- ASSERT_NSEQ(nil, error); |
- ASSERT_NSEQ([NSNull null], localStorageValue); |
- id cookie = |
- test::EvaluateJavaScript(incognito_web_view2, @"document.cookie", &error); |
- ASSERT_NSEQ(nil, error); |
- ASSERT_TRUE([cookie containsString:@"n2=v"]); |
- |
- // Verify that non-incognito web view does not have browsing data from |
- // incognito web view. |
- ASSERT_TRUE(web_view_); |
- ASSERT_TRUE(test::LoadUrl(web_view_, net::NSURLWithGURL(url))); |
- localStorageValue = test::EvaluateJavaScript( |
- web_view_, @"localStorage.getItem('k2');", &error); |
- EXPECT_NSEQ(nil, error); |
- ASSERT_NSEQ([NSNull null], localStorageValue); |
- cookie = test::EvaluateJavaScript(web_view_, @"document.cookie", &error); |
- EXPECT_NSEQ(nil, error); |
- ASSERT_FALSE([cookie containsString:@"n2=v"]); |
-} |
- |
-} // namespace ios_web_view |