Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(733)

Side by Side Diff: third_party/WebKit/Source/web/tests/WebFrameTest.cpp

Issue 1686483002: Oilpan: Remove most WillBe types from the code base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 URLTestHelpers::registerMockedURLLoadWithCustomResponse(toKURL(fullStrin g.c_str()), WebString::fromUTF8(fileName.c_str()), WebString::fromUTF8(""), resp onse); 208 URLTestHelpers::registerMockedURLLoadWithCustomResponse(toKURL(fullStrin g.c_str()), WebString::fromUTF8(fileName.c_str()), WebString::fromUTF8(""), resp onse);
209 } 209 }
210 210
211 void registerMockedHttpURLLoadWithMimeType(const std::string& fileName, cons t std::string& mimeType) 211 void registerMockedHttpURLLoadWithMimeType(const std::string& fileName, cons t std::string& mimeType)
212 { 212 {
213 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseU RL.c_str()), WebString::fromUTF8(fileName.c_str()), WebString::fromUTF8(mimeType )); 213 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseU RL.c_str()), WebString::fromUTF8(fileName.c_str()), WebString::fromUTF8(mimeType ));
214 } 214 }
215 215
216 void applyViewportStyleOverride(FrameTestHelpers::WebViewHelper* webViewHelp er) 216 void applyViewportStyleOverride(FrameTestHelpers::WebViewHelper* webViewHelp er)
217 { 217 {
218 RefPtrWillBeRawPtr<StyleSheetContents> styleSheet = StyleSheetContents:: create(CSSParserContext(UASheetMode, 0)); 218 RawPtr<StyleSheetContents> styleSheet = StyleSheetContents::create(CSSPa rserContext(UASheetMode, 0));
219 styleSheet->parseString(loadResourceAsASCIIString("viewportAndroid.css") ); 219 styleSheet->parseString(loadResourceAsASCIIString("viewportAndroid.css") );
220 OwnPtrWillBeRawPtr<RuleSet> ruleSet = RuleSet::create(); 220 RawPtr<RuleSet> ruleSet = RuleSet::create();
221 ruleSet->addRulesFromSheet(styleSheet.get(), MediaQueryEvaluator("screen ")); 221 ruleSet->addRulesFromSheet(styleSheet.get(), MediaQueryEvaluator("screen "));
222 222
223 Document* document = toLocalFrame(webViewHelper->webViewImpl()->page()-> mainFrame())->document(); 223 Document* document = toLocalFrame(webViewHelper->webViewImpl()->page()-> mainFrame())->document();
224 document->ensureStyleResolver().viewportStyleResolver()->collectViewport Rules(ruleSet.get(), ViewportStyleResolver::UserAgentOrigin); 224 document->ensureStyleResolver().viewportStyleResolver()->collectViewport Rules(ruleSet.get(), ViewportStyleResolver::UserAgentOrigin);
225 document->ensureStyleResolver().viewportStyleResolver()->resolve(); 225 document->ensureStyleResolver().viewportStyleResolver()->resolve();
226 } 226 }
227 227
228 static void configueCompositingWebView(WebSettings* settings) 228 static void configueCompositingWebView(WebSettings* settings)
229 { 229 {
230 settings->setAcceleratedCompositingEnabled(true); 230 settings->setAcceleratedCompositingEnabled(true);
(...skipping 18 matching lines...) Expand all
249 webViewHelper->initializeAndLoad(url, true); 249 webViewHelper->initializeAndLoad(url, true);
250 webViewHelper->webView()->settings()->setDefaultFontSize(12); 250 webViewHelper->webView()->settings()->setDefaultFontSize(12);
251 webViewHelper->resize(WebSize(640, 480)); 251 webViewHelper->resize(WebSize(640, 480));
252 } 252 }
253 253
254 PassOwnPtr<DragImage> nodeImageTestSetup(FrameTestHelpers::WebViewHelper* we bViewHelper, const std::string& testcase) 254 PassOwnPtr<DragImage> nodeImageTestSetup(FrameTestHelpers::WebViewHelper* we bViewHelper, const std::string& testcase)
255 { 255 {
256 registerMockedHttpURLLoad("nodeimage.html"); 256 registerMockedHttpURLLoad("nodeimage.html");
257 webViewHelper->initializeAndLoad(m_baseURL + "nodeimage.html"); 257 webViewHelper->initializeAndLoad(m_baseURL + "nodeimage.html");
258 webViewHelper->resize(WebSize(640, 480)); 258 webViewHelper->resize(WebSize(640, 480));
259 RefPtrWillBeRawPtr<LocalFrame> frame = toLocalFrame(webViewHelper->webVi ewImpl()->page()->mainFrame()); 259 RawPtr<LocalFrame> frame = toLocalFrame(webViewHelper->webViewImpl()->pa ge()->mainFrame());
260 ASSERT(frame); 260 ASSERT(frame);
261 Element* element = frame->document()->getElementById(testcase.c_str()); 261 Element* element = frame->document()->getElementById(testcase.c_str());
262 return frame->nodeImage(*element); 262 return frame->nodeImage(*element);
263 } 263 }
264 264
265 void removeElementById(WebLocalFrameImpl* frame, const AtomicString& id) 265 void removeElementById(WebLocalFrameImpl* frame, const AtomicString& id)
266 { 266 {
267 Element* element = frame->frame()->document()->getElementById(id); 267 Element* element = frame->frame()->document()->getElementById(id);
268 ASSERT(element); 268 ASSERT(element);
269 element->remove(); 269 element->remove();
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 std::string content = WebFrameContentDumper::dumpFrameTreeAsText(webViewHelp er.webView()->mainFrame()->toWebLocalFrame(), 1024).utf8(); 840 std::string content = WebFrameContentDumper::dumpFrameTreeAsText(webViewHelp er.webView()->mainFrame()->toWebLocalFrame(), 1024).utf8();
841 EXPECT_NE(std::string::npos, content.find("Message 1.")); 841 EXPECT_NE(std::string::npos, content.find("Message 1."));
842 EXPECT_EQ(std::string::npos, content.find("Message 2.")); 842 EXPECT_EQ(std::string::npos, content.find("Message 2."));
843 } 843 }
844 844
845 TEST_P(ParameterizedWebFrameTest, PostMessageThenDetach) 845 TEST_P(ParameterizedWebFrameTest, PostMessageThenDetach)
846 { 846 {
847 FrameTestHelpers::WebViewHelper webViewHelper(this); 847 FrameTestHelpers::WebViewHelper webViewHelper(this);
848 webViewHelper.initializeAndLoad("about:blank"); 848 webViewHelper.initializeAndLoad("about:blank");
849 849
850 RefPtrWillBeRawPtr<LocalFrame> frame = toLocalFrame(webViewHelper.webViewImp l()->page()->mainFrame()); 850 RawPtr<LocalFrame> frame = toLocalFrame(webViewHelper.webViewImpl()->page()- >mainFrame());
851 NonThrowableExceptionState exceptionState; 851 NonThrowableExceptionState exceptionState;
852 frame->domWindow()->postMessage(SerializedScriptValueFactory::instance().cre ate("message"), 0, "*", frame->localDOMWindow(), exceptionState); 852 frame->domWindow()->postMessage(SerializedScriptValueFactory::instance().cre ate("message"), 0, "*", frame->localDOMWindow(), exceptionState);
853 webViewHelper.reset(); 853 webViewHelper.reset();
854 EXPECT_FALSE(exceptionState.hadException()); 854 EXPECT_FALSE(exceptionState.hadException());
855 855
856 // Success is not crashing. 856 // Success is not crashing.
857 runPendingTasks(); 857 runPendingTasks();
858 } 858 }
859 859
860 namespace { 860 namespace {
(...skipping 3032 matching lines...) Expand 10 before | Expand all | Expand 10 after
3893 webViewHelper.initializeAndLoad(m_baseURL + "find_in_page.html", true, &clie nt); 3893 webViewHelper.initializeAndLoad(m_baseURL + "find_in_page.html", true, &clie nt);
3894 webViewHelper.resize(WebSize(640, 480)); 3894 webViewHelper.resize(WebSize(640, 480));
3895 runPendingTasks(); 3895 runPendingTasks();
3896 3896
3897 const char kFindString[] = "result"; 3897 const char kFindString[] = "result";
3898 const int kFindIdentifier = 12345; 3898 const int kFindIdentifier = 12345;
3899 3899
3900 WebFindOptions options; 3900 WebFindOptions options;
3901 WebString searchText = WebString::fromUTF8(kFindString); 3901 WebString searchText = WebString::fromUTF8(kFindString);
3902 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame()); 3902 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame());
3903 RefPtrWillBeRawPtr<WebLocalFrameImpl> secondFrame = toWebLocalFrameImpl(main Frame->traverseNext(false)); 3903 RawPtr<WebLocalFrameImpl> secondFrame = toWebLocalFrameImpl(mainFrame->trave rseNext(false));
3904 RefPtrWillBeRawPtr<LocalFrame> holdSecondFrame(secondFrame->frame()); 3904 RawPtr<LocalFrame> holdSecondFrame(secondFrame->frame());
3905 3905
3906 // Detach the frame before finding. 3906 // Detach the frame before finding.
3907 removeElementById(mainFrame, "frame"); 3907 removeElementById(mainFrame, "frame");
3908 3908
3909 EXPECT_TRUE(mainFrame->find(kFindIdentifier, searchText, options, false, 0)) ; 3909 EXPECT_TRUE(mainFrame->find(kFindIdentifier, searchText, options, false, 0)) ;
3910 EXPECT_FALSE(secondFrame->find(kFindIdentifier, searchText, options, false, 0)); 3910 EXPECT_FALSE(secondFrame->find(kFindIdentifier, searchText, options, false, 0));
3911 3911
3912 runPendingTasks(); 3912 runPendingTasks();
3913 EXPECT_FALSE(client.findResultsAreReady()); 3913 EXPECT_FALSE(client.findResultsAreReady());
3914 3914
(...skipping 17 matching lines...) Expand all
3932 webViewHelper.resize(WebSize(640, 480)); 3932 webViewHelper.resize(WebSize(640, 480));
3933 runPendingTasks(); 3933 runPendingTasks();
3934 3934
3935 const char kFindString[] = "result"; 3935 const char kFindString[] = "result";
3936 const int kFindIdentifier = 12345; 3936 const int kFindIdentifier = 12345;
3937 3937
3938 WebFindOptions options; 3938 WebFindOptions options;
3939 WebString searchText = WebString::fromUTF8(kFindString); 3939 WebString searchText = WebString::fromUTF8(kFindString);
3940 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame()); 3940 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame());
3941 WebLocalFrameImpl* secondFrame = toWebLocalFrameImpl(mainFrame->traverseNext (false)); 3941 WebLocalFrameImpl* secondFrame = toWebLocalFrameImpl(mainFrame->traverseNext (false));
3942 RefPtrWillBeRawPtr<LocalFrame> holdSecondFrame(secondFrame->frame()); 3942 RawPtr<LocalFrame> holdSecondFrame(secondFrame->frame());
3943 3943
3944 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false)) 3944 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false))
3945 EXPECT_TRUE(frame->toWebLocalFrame()->find(kFindIdentifier, searchText, options, false, 0)); 3945 EXPECT_TRUE(frame->toWebLocalFrame()->find(kFindIdentifier, searchText, options, false, 0));
3946 3946
3947 runPendingTasks(); 3947 runPendingTasks();
3948 EXPECT_FALSE(client.findResultsAreReady()); 3948 EXPECT_FALSE(client.findResultsAreReady());
3949 3949
3950 // Detach the frame between finding and scoping. 3950 // Detach the frame between finding and scoping.
3951 removeElementById(mainFrame, "frame"); 3951 removeElementById(mainFrame, "frame");
3952 3952
(...skipping 17 matching lines...) Expand all
3970 webViewHelper.resize(WebSize(640, 480)); 3970 webViewHelper.resize(WebSize(640, 480));
3971 runPendingTasks(); 3971 runPendingTasks();
3972 3972
3973 const char kFindString[] = "result"; 3973 const char kFindString[] = "result";
3974 const int kFindIdentifier = 12345; 3974 const int kFindIdentifier = 12345;
3975 3975
3976 WebFindOptions options; 3976 WebFindOptions options;
3977 WebString searchText = WebString::fromUTF8(kFindString); 3977 WebString searchText = WebString::fromUTF8(kFindString);
3978 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame()); 3978 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame());
3979 WebLocalFrameImpl* secondFrame = toWebLocalFrameImpl(mainFrame->traverseNext (false)); 3979 WebLocalFrameImpl* secondFrame = toWebLocalFrameImpl(mainFrame->traverseNext (false));
3980 RefPtrWillBeRawPtr<LocalFrame> holdSecondFrame(secondFrame->frame()); 3980 RawPtr<LocalFrame> holdSecondFrame(secondFrame->frame());
3981 3981
3982 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false)) 3982 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false))
3983 EXPECT_TRUE(frame->toWebLocalFrame()->find(kFindIdentifier, searchText, options, false, 0)); 3983 EXPECT_TRUE(frame->toWebLocalFrame()->find(kFindIdentifier, searchText, options, false, 0));
3984 3984
3985 runPendingTasks(); 3985 runPendingTasks();
3986 EXPECT_FALSE(client.findResultsAreReady()); 3986 EXPECT_FALSE(client.findResultsAreReady());
3987 3987
3988 mainFrame->resetMatchCount(); 3988 mainFrame->resetMatchCount();
3989 3989
3990 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false)) 3990 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false))
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
4045 EXPECT_TRUE(mainFrame->find(kFindIdentifier, searchText, options, false, 0)) ; 4045 EXPECT_TRUE(mainFrame->find(kFindIdentifier, searchText, options, false, 0)) ;
4046 4046
4047 mainFrame->resetMatchCount(); 4047 mainFrame->resetMatchCount();
4048 mainFrame->scopeStringMatches(kFindIdentifier, searchText, options, true); 4048 mainFrame->scopeStringMatches(kFindIdentifier, searchText, options, true);
4049 4049
4050 runPendingTasks(); 4050 runPendingTasks();
4051 EXPECT_TRUE(client.findResultsAreReady()); 4051 EXPECT_TRUE(client.findResultsAreReady());
4052 4052
4053 // Get the tickmarks for the original find request. 4053 // Get the tickmarks for the original find request.
4054 FrameView* frameView = webViewHelper.webViewImpl()->mainFrameImpl()->frameVi ew(); 4054 FrameView* frameView = webViewHelper.webViewImpl()->mainFrameImpl()->frameVi ew();
4055 RefPtrWillBeRawPtr<Scrollbar> scrollbar = frameView->createScrollbar(Horizon talScrollbar); 4055 RawPtr<Scrollbar> scrollbar = frameView->createScrollbar(HorizontalScrollbar );
4056 Vector<IntRect> originalTickmarks; 4056 Vector<IntRect> originalTickmarks;
4057 scrollbar->getTickmarks(originalTickmarks); 4057 scrollbar->getTickmarks(originalTickmarks);
4058 EXPECT_EQ(4u, originalTickmarks.size()); 4058 EXPECT_EQ(4u, originalTickmarks.size());
4059 4059
4060 // Override the tickmarks. 4060 // Override the tickmarks.
4061 Vector<IntRect> overridingTickmarksExpected; 4061 Vector<IntRect> overridingTickmarksExpected;
4062 overridingTickmarksExpected.append(IntRect(0, 0, 100, 100)); 4062 overridingTickmarksExpected.append(IntRect(0, 0, 100, 100));
4063 overridingTickmarksExpected.append(IntRect(0, 20, 100, 100)); 4063 overridingTickmarksExpected.append(IntRect(0, 20, 100, 100));
4064 overridingTickmarksExpected.append(IntRect(0, 30, 100, 100)); 4064 overridingTickmarksExpected.append(IntRect(0, 30, 100, 100));
4065 mainFrame->setTickmarks(overridingTickmarksExpected); 4065 mainFrame->setTickmarks(overridingTickmarksExpected);
(...skipping 1651 matching lines...) Expand 10 before | Expand all | Expand 10 after
5717 { 5717 {
5718 registerMockedHttpURLLoad("fragment_middle_click.html"); 5718 registerMockedHttpURLLoad("fragment_middle_click.html");
5719 TestNavigationPolicyWebFrameClient client; 5719 TestNavigationPolicyWebFrameClient client;
5720 FrameTestHelpers::WebViewHelper webViewHelper(this); 5720 FrameTestHelpers::WebViewHelper webViewHelper(this);
5721 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue, &client); 5721 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue, &client);
5722 5722
5723 Document* document = toLocalFrame(webViewHelper.webViewImpl()->page()->mainF rame())->document(); 5723 Document* document = toLocalFrame(webViewHelper.webViewImpl()->page()->mainF rame())->document();
5724 KURL destination = document->url(); 5724 KURL destination = document->url();
5725 destination.setFragmentIdentifier("test"); 5725 destination.setFragmentIdentifier("test");
5726 5726
5727 RefPtrWillBeRawPtr<Event> event = MouseEvent::create(EventTypeNames::click, false, false, 5727 RawPtr<Event> event = MouseEvent::create(EventTypeNames::click, false, false ,
5728 document->domWindow(), 0, 0, 0, 0, 0, 0, 0, PlatformEvent::NoModifiers, 1, 0, nullptr, 0); 5728 document->domWindow(), 0, 0, 0, 0, 0, 0, 0, PlatformEvent::NoModifiers, 1, 0, nullptr, 0);
5729 FrameLoadRequest frameRequest(document, ResourceRequest(destination)); 5729 FrameLoadRequest frameRequest(document, ResourceRequest(destination));
5730 frameRequest.setTriggeringEvent(event); 5730 frameRequest.setTriggeringEvent(event);
5731 toLocalFrame(webViewHelper.webViewImpl()->page()->mainFrame())->loader().loa d(frameRequest); 5731 toLocalFrame(webViewHelper.webViewImpl()->page()->mainFrame())->loader().loa d(frameRequest);
5732 } 5732 }
5733 5733
5734 class TestNewWindowWebViewClient : public FrameTestHelpers::TestWebViewClient { 5734 class TestNewWindowWebViewClient : public FrameTestHelpers::TestWebViewClient {
5735 public: 5735 public:
5736 virtual WebView* createView(WebLocalFrame*, const WebURLRequest&, const WebW indowFeatures&, 5736 virtual WebView* createView(WebLocalFrame*, const WebURLRequest&, const WebW indowFeatures&,
5737 const WebString&, WebNavigationPolicy, bool) override 5737 const WebString&, WebNavigationPolicy, bool) override
(...skipping 28 matching lines...) Expand all
5766 registerMockedHttpURLLoad("hello_world.html"); 5766 registerMockedHttpURLLoad("hello_world.html");
5767 TestNewWindowWebViewClient webViewClient; 5767 TestNewWindowWebViewClient webViewClient;
5768 TestNewWindowWebFrameClient webFrameClient; 5768 TestNewWindowWebFrameClient webFrameClient;
5769 FrameTestHelpers::WebViewHelper webViewHelper(this); 5769 FrameTestHelpers::WebViewHelper webViewHelper(this);
5770 webViewHelper.initializeAndLoad(m_baseURL + "ctrl_click.html", true, &webFra meClient, &webViewClient); 5770 webViewHelper.initializeAndLoad(m_baseURL + "ctrl_click.html", true, &webFra meClient, &webViewClient);
5771 5771
5772 Document* document = toLocalFrame(webViewHelper.webViewImpl()->page()->mainF rame())->document(); 5772 Document* document = toLocalFrame(webViewHelper.webViewImpl()->page()->mainF rame())->document();
5773 KURL destination = toKURL(m_baseURL + "hello_world.html"); 5773 KURL destination = toKURL(m_baseURL + "hello_world.html");
5774 5774
5775 // ctrl+click event 5775 // ctrl+click event
5776 RefPtrWillBeRawPtr<Event> event = MouseEvent::create(EventTypeNames::click, false, false, 5776 RawPtr<Event> event = MouseEvent::create(EventTypeNames::click, false, false ,
5777 document->domWindow(), 0, 0, 0, 0, 0, 0, 0, PlatformEvent::CtrlKey, 0, 0 , nullptr, 0); 5777 document->domWindow(), 0, 0, 0, 0, 0, 0, 0, PlatformEvent::CtrlKey, 0, 0 , nullptr, 0);
5778 FrameLoadRequest frameRequest(document, ResourceRequest(destination)); 5778 FrameLoadRequest frameRequest(document, ResourceRequest(destination));
5779 frameRequest.setTriggeringEvent(event); 5779 frameRequest.setTriggeringEvent(event);
5780 UserGestureIndicator gesture(DefinitelyProcessingUserGesture); 5780 UserGestureIndicator gesture(DefinitelyProcessingUserGesture);
5781 toLocalFrame(webViewHelper.webViewImpl()->page()->mainFrame())->loader().loa d(frameRequest); 5781 toLocalFrame(webViewHelper.webViewImpl()->page()->mainFrame())->loader().loa d(frameRequest);
5782 FrameTestHelpers::pumpPendingRequestsDoNotUse(webViewHelper.webView()->mainF rame()); 5782 FrameTestHelpers::pumpPendingRequestsDoNotUse(webViewHelper.webView()->mainF rame());
5783 5783
5784 // decidePolicyForNavigation should be called both for the original request and the ctrl+click. 5784 // decidePolicyForNavigation should be called both for the original request and the ctrl+click.
5785 EXPECT_EQ(2, webFrameClient.decidePolicyCallCount()); 5785 EXPECT_EQ(2, webFrameClient.decidePolicyCallCount());
5786 } 5786 }
5787 5787
5788 TEST_P(ParameterizedWebFrameTest, BackToReload) 5788 TEST_P(ParameterizedWebFrameTest, BackToReload)
5789 { 5789 {
5790 registerMockedHttpURLLoad("fragment_middle_click.html"); 5790 registerMockedHttpURLLoad("fragment_middle_click.html");
5791 FrameTestHelpers::WebViewHelper webViewHelper(this); 5791 FrameTestHelpers::WebViewHelper webViewHelper(this);
5792 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue); 5792 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue);
5793 WebFrame* frame = webViewHelper.webView()->mainFrame(); 5793 WebFrame* frame = webViewHelper.webView()->mainFrame();
5794 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI mpl()->frame()->loader(); 5794 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI mpl()->frame()->loader();
5795 RefPtrWillBePersistent<HistoryItem> firstItem = mainFrameLoader.currentItem( ); 5795 Persistent<HistoryItem> firstItem = mainFrameLoader.currentItem();
5796 EXPECT_TRUE(firstItem); 5796 EXPECT_TRUE(firstItem);
5797 5797
5798 registerMockedHttpURLLoad("white-1x1.png"); 5798 registerMockedHttpURLLoad("white-1x1.png");
5799 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png"); 5799 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png");
5800 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem()); 5800 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem());
5801 5801
5802 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem.get()), We bHistoryDifferentDocumentLoad, WebURLRequest::UseProtocolCachePolicy); 5802 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem.get()), We bHistoryDifferentDocumentLoad, WebURLRequest::UseProtocolCachePolicy);
5803 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem()); 5803 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem());
5804 5804
5805 FrameTestHelpers::reloadFrame(frame); 5805 FrameTestHelpers::reloadFrame(frame);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
5850 EXPECT_EQ(WebNavigationTypeFormResubmitted, frame->dataSource()->navigationT ype()); 5850 EXPECT_EQ(WebNavigationTypeFormResubmitted, frame->dataSource()->navigationT ype());
5851 } 5851 }
5852 5852
5853 TEST_P(ParameterizedWebFrameTest, LoadHistoryItemReload) 5853 TEST_P(ParameterizedWebFrameTest, LoadHistoryItemReload)
5854 { 5854 {
5855 registerMockedHttpURLLoad("fragment_middle_click.html"); 5855 registerMockedHttpURLLoad("fragment_middle_click.html");
5856 FrameTestHelpers::WebViewHelper webViewHelper(this); 5856 FrameTestHelpers::WebViewHelper webViewHelper(this);
5857 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue); 5857 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue);
5858 WebFrame* frame = webViewHelper.webView()->mainFrame(); 5858 WebFrame* frame = webViewHelper.webView()->mainFrame();
5859 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI mpl()->frame()->loader(); 5859 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI mpl()->frame()->loader();
5860 RefPtrWillBePersistent<HistoryItem> firstItem = mainFrameLoader.currentItem( ); 5860 Persistent<HistoryItem> firstItem = mainFrameLoader.currentItem();
5861 EXPECT_TRUE(firstItem); 5861 EXPECT_TRUE(firstItem);
5862 5862
5863 registerMockedHttpURLLoad("white-1x1.png"); 5863 registerMockedHttpURLLoad("white-1x1.png");
5864 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png"); 5864 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png");
5865 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem()); 5865 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem());
5866 5866
5867 // Cache policy overrides should take. 5867 // Cache policy overrides should take.
5868 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem), WebHisto ryDifferentDocumentLoad, WebURLRequest::ReloadIgnoringCacheData); 5868 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem), WebHisto ryDifferentDocumentLoad, WebURLRequest::ReloadIgnoringCacheData);
5869 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem()); 5869 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem());
5870 EXPECT_EQ(WebURLRequest::ReloadIgnoringCacheData, frame->dataSource()->reque st().cachePolicy()); 5870 EXPECT_EQ(WebURLRequest::ReloadIgnoringCacheData, frame->dataSource()->reque st().cachePolicy());
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
5934 registerMockedHttpURLLoad("iframe_reload.html"); 5934 registerMockedHttpURLLoad("iframe_reload.html");
5935 registerMockedHttpURLLoad("visible_iframe.html"); 5935 registerMockedHttpURLLoad("visible_iframe.html");
5936 TestCachePolicyWebFrameClient mainClient(0); 5936 TestCachePolicyWebFrameClient mainClient(0);
5937 TestCachePolicyWebFrameClient childClient(&mainClient); 5937 TestCachePolicyWebFrameClient childClient(&mainClient);
5938 mainClient.setChildWebFrameClient(&childClient); 5938 mainClient.setChildWebFrameClient(&childClient);
5939 5939
5940 FrameTestHelpers::WebViewHelper webViewHelper(this); 5940 FrameTestHelpers::WebViewHelper webViewHelper(this);
5941 webViewHelper.initializeAndLoad(m_baseURL + "iframe_reload.html", true, &mai nClient); 5941 webViewHelper.initializeAndLoad(m_baseURL + "iframe_reload.html", true, &mai nClient);
5942 5942
5943 WebLocalFrameImpl* mainFrame = webViewHelper.webViewImpl()->mainFrameImpl(); 5943 WebLocalFrameImpl* mainFrame = webViewHelper.webViewImpl()->mainFrameImpl();
5944 RefPtrWillBeRawPtr<WebLocalFrameImpl> childFrame = toWebLocalFrameImpl(mainF rame->firstChild()); 5944 RawPtr<WebLocalFrameImpl> childFrame = toWebLocalFrameImpl(mainFrame->firstC hild());
5945 ASSERT_EQ(childFrame->client(), &childClient); 5945 ASSERT_EQ(childFrame->client(), &childClient);
5946 EXPECT_EQ(mainClient.childFrameCreationCount(), 1); 5946 EXPECT_EQ(mainClient.childFrameCreationCount(), 1);
5947 EXPECT_EQ(childClient.willSendRequestCallCount(), 1); 5947 EXPECT_EQ(childClient.willSendRequestCallCount(), 1);
5948 EXPECT_EQ(childClient.cachePolicy(), WebURLRequest::UseProtocolCachePolicy); 5948 EXPECT_EQ(childClient.cachePolicy(), WebURLRequest::UseProtocolCachePolicy);
5949 5949
5950 FrameTestHelpers::reloadFrame(mainFrame); 5950 FrameTestHelpers::reloadFrame(mainFrame);
5951 5951
5952 // A new WebFrame should have been created, but the child WebFrameClient sho uld be reused. 5952 // A new WebFrame should have been created, but the child WebFrameClient sho uld be reused.
5953 ASSERT_NE(childFrame, toWebLocalFrameImpl(mainFrame->firstChild())); 5953 ASSERT_NE(childFrame, toWebLocalFrameImpl(mainFrame->firstChild()));
5954 ASSERT_EQ(toWebLocalFrameImpl(mainFrame->firstChild())->client(), &childClie nt); 5954 ASSERT_EQ(toWebLocalFrameImpl(mainFrame->firstChild())->client(), &childClie nt);
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
6115 private: 6115 private:
6116 WebHistoryCommitType m_lastCommitType; 6116 WebHistoryCommitType m_lastCommitType;
6117 }; 6117 };
6118 6118
6119 TEST_P(ParameterizedWebFrameTest, SameDocumentHistoryNavigationCommitType) 6119 TEST_P(ParameterizedWebFrameTest, SameDocumentHistoryNavigationCommitType)
6120 { 6120 {
6121 registerMockedHttpURLLoad("push_state.html"); 6121 registerMockedHttpURLLoad("push_state.html");
6122 TestDidNavigateCommitTypeWebFrameClient client; 6122 TestDidNavigateCommitTypeWebFrameClient client;
6123 FrameTestHelpers::WebViewHelper webViewHelper(this); 6123 FrameTestHelpers::WebViewHelper webViewHelper(this);
6124 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "push _state.html", true, &client); 6124 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "push _state.html", true, &client);
6125 RefPtrWillBePersistent<HistoryItem> item = toLocalFrame(webViewImpl->page()- >mainFrame())->loader().currentItem(); 6125 Persistent<HistoryItem> item = toLocalFrame(webViewImpl->page()->mainFrame() )->loader().currentItem();
6126 runPendingTasks(); 6126 runPendingTasks();
6127 6127
6128 toLocalFrame(webViewImpl->page()->mainFrame())->loader().load( 6128 toLocalFrame(webViewImpl->page()->mainFrame())->loader().load(
6129 FrameLoadRequest(nullptr, FrameLoader::resourceRequestFromHistoryItem( 6129 FrameLoadRequest(nullptr, FrameLoader::resourceRequestFromHistoryItem(
6130 item.get(), UseProtocolCachePolicy)), 6130 item.get(), UseProtocolCachePolicy)),
6131 FrameLoadTypeBackForward, item.get(), HistorySameDocumentLoad); 6131 FrameLoadTypeBackForward, item.get(), HistorySameDocumentLoad);
6132 EXPECT_EQ(WebBackForwardCommit, client.lastCommitType()); 6132 EXPECT_EQ(WebBackForwardCommit, client.lastCommitType());
6133 } 6133 }
6134 6134
6135 class TestHistoryWebFrameClient : public FrameTestHelpers::TestWebFrameClient { 6135 class TestHistoryWebFrameClient : public FrameTestHelpers::TestWebFrameClient {
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after
6716 { 6716 {
6717 registerMockedHttpURLLoad("link-manifest-change.html"); 6717 registerMockedHttpURLLoad("link-manifest-change.html");
6718 6718
6719 ManifestChangeWebFrameClient webFrameClient; 6719 ManifestChangeWebFrameClient webFrameClient;
6720 FrameTestHelpers::WebViewHelper webViewHelper(this); 6720 FrameTestHelpers::WebViewHelper webViewHelper(this);
6721 webViewHelper.initializeAndLoad(m_baseURL + "link-manifest-change.html", tru e, &webFrameClient); 6721 webViewHelper.initializeAndLoad(m_baseURL + "link-manifest-change.html", tru e, &webFrameClient);
6722 6722
6723 EXPECT_EQ(14, webFrameClient.manifestChangeCount()); 6723 EXPECT_EQ(14, webFrameClient.manifestChangeCount());
6724 } 6724 }
6725 6725
6726 static PassRefPtrWillBeRawPtr<Resource> fetchManifest(Document* document, const KURL& url) 6726 static RawPtr<Resource> fetchManifest(Document* document, const KURL& url)
6727 { 6727 {
6728 FetchRequest fetchRequest = FetchRequest(ResourceRequest(url), FetchInitiato rInfo()); 6728 FetchRequest fetchRequest = FetchRequest(ResourceRequest(url), FetchInitiato rInfo());
6729 fetchRequest.mutableResourceRequest().setRequestContext(WebURLRequest::Reque stContextManifest); 6729 fetchRequest.mutableResourceRequest().setRequestContext(WebURLRequest::Reque stContextManifest);
6730 6730
6731 return RawResource::fetchSynchronously(fetchRequest, document->fetcher()); 6731 return RawResource::fetchSynchronously(fetchRequest, document->fetcher());
6732 } 6732 }
6733 6733
6734 TEST_P(ParameterizedWebFrameTest, ManifestFetch) 6734 TEST_P(ParameterizedWebFrameTest, ManifestFetch)
6735 { 6735 {
6736 registerMockedHttpURLLoad("foo.html"); 6736 registerMockedHttpURLLoad("foo.html");
6737 registerMockedHttpURLLoad("link-manifest-fetch.json"); 6737 registerMockedHttpURLLoad("link-manifest-fetch.json");
6738 6738
6739 FrameTestHelpers::WebViewHelper webViewHelper(this); 6739 FrameTestHelpers::WebViewHelper webViewHelper(this);
6740 webViewHelper.initializeAndLoad(m_baseURL + "foo.html"); 6740 webViewHelper.initializeAndLoad(m_baseURL + "foo.html");
6741 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document(); 6741 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document();
6742 6742
6743 RefPtrWillBeRawPtr<Resource> resource = fetchManifest(document, toKURL(m_bas eURL + "link-manifest-fetch.json")); 6743 RawPtr<Resource> resource = fetchManifest(document, toKURL(m_baseURL + "link -manifest-fetch.json"));
6744 6744
6745 EXPECT_TRUE(resource->isLoaded()); 6745 EXPECT_TRUE(resource->isLoaded());
6746 } 6746 }
6747 6747
6748 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchAllow) 6748 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchAllow)
6749 { 6749 {
6750 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json"); 6750 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json");
6751 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src *"); 6751 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src *");
6752 6752
6753 FrameTestHelpers::WebViewHelper webViewHelper(this); 6753 FrameTestHelpers::WebViewHelper webViewHelper(this);
6754 webViewHelper.initializeAndLoad(m_baseURL + "foo.html"); 6754 webViewHelper.initializeAndLoad(m_baseURL + "foo.html");
6755 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document(); 6755 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document();
6756 6756
6757 RefPtrWillBeRawPtr<Resource> resource = fetchManifest(document, toKURL(m_not BaseURL + "link-manifest-fetch.json")); 6757 RawPtr<Resource> resource = fetchManifest(document, toKURL(m_notBaseURL + "l ink-manifest-fetch.json"));
6758 6758
6759 EXPECT_TRUE(resource->isLoaded()); 6759 EXPECT_TRUE(resource->isLoaded());
6760 } 6760 }
6761 6761
6762 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchSelf) 6762 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchSelf)
6763 { 6763 {
6764 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json"); 6764 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json");
6765 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src 'self'"); 6765 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src 'self'");
6766 6766
6767 FrameTestHelpers::WebViewHelper webViewHelper(this); 6767 FrameTestHelpers::WebViewHelper webViewHelper(this);
6768 webViewHelper.initializeAndLoad(m_baseURL + "foo.html"); 6768 webViewHelper.initializeAndLoad(m_baseURL + "foo.html");
6769 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document(); 6769 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document();
6770 6770
6771 RefPtrWillBeRawPtr<Resource> resource = fetchManifest(document, toKURL(m_not BaseURL + "link-manifest-fetch.json")); 6771 RawPtr<Resource> resource = fetchManifest(document, toKURL(m_notBaseURL + "l ink-manifest-fetch.json"));
6772 6772
6773 EXPECT_EQ(0, resource.get()); // Fetching resource wasn't allowed. 6773 EXPECT_EQ(0, resource.get()); // Fetching resource wasn't allowed.
6774 } 6774 }
6775 6775
6776 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchSelfReportOnly) 6776 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchSelfReportOnly)
6777 { 6777 {
6778 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json"); 6778 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json");
6779 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src 'self'", /* repor t only */ true); 6779 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src 'self'", /* repor t only */ true);
6780 6780
6781 FrameTestHelpers::WebViewHelper webViewHelper(this); 6781 FrameTestHelpers::WebViewHelper webViewHelper(this);
6782 webViewHelper.initializeAndLoad(m_baseURL + "foo.html"); 6782 webViewHelper.initializeAndLoad(m_baseURL + "foo.html");
6783 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document(); 6783 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document();
6784 6784
6785 RefPtrWillBeRawPtr<Resource> resource = fetchManifest(document, toKURL(m_not BaseURL + "link-manifest-fetch.json")); 6785 RawPtr<Resource> resource = fetchManifest(document, toKURL(m_notBaseURL + "l ink-manifest-fetch.json"));
6786 6786
6787 EXPECT_TRUE(resource->isLoaded()); 6787 EXPECT_TRUE(resource->isLoaded());
6788 } 6788 }
6789 6789
6790 TEST_P(ParameterizedWebFrameTest, ReloadBypassingCache) 6790 TEST_P(ParameterizedWebFrameTest, ReloadBypassingCache)
6791 { 6791 {
6792 // Check that a reload ignoring cache on a frame will result in the cache 6792 // Check that a reload ignoring cache on a frame will result in the cache
6793 // policy of the request being set to ReloadBypassingCache. 6793 // policy of the request being set to ReloadBypassingCache.
6794 registerMockedHttpURLLoad("foo.html"); 6794 registerMockedHttpURLLoad("foo.html");
6795 FrameTestHelpers::WebViewHelper webViewHelper(this); 6795 FrameTestHelpers::WebViewHelper webViewHelper(this);
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
6931 // FIXME: Refactor some of this logic into WebViewHelper to make it easier t o 6931 // FIXME: Refactor some of this logic into WebViewHelper to make it easier t o
6932 // write tests with a top-level remote frame. 6932 // write tests with a top-level remote frame.
6933 FrameTestHelpers::TestWebViewClient viewClient; 6933 FrameTestHelpers::TestWebViewClient viewClient;
6934 FrameTestHelpers::TestWebRemoteFrameClient remoteClient; 6934 FrameTestHelpers::TestWebRemoteFrameClient remoteClient;
6935 WebView* view = WebView::create(&viewClient); 6935 WebView* view = WebView::create(&viewClient);
6936 view->setMainFrame(remoteClient.frame()); 6936 view->setMainFrame(remoteClient.frame());
6937 FrameTestHelpers::TestWebFrameClient childFrameClient; 6937 FrameTestHelpers::TestWebFrameClient childFrameClient;
6938 WebLocalFrame* childFrame = view->mainFrame()->toWebRemoteFrame()->createLoc alChild(WebTreeScopeType::Document, "", WebSandboxFlags::None, &childFrameClient , nullptr, WebFrameOwnerProperties()); 6938 WebLocalFrame* childFrame = view->mainFrame()->toWebRemoteFrame()->createLoc alChild(WebTreeScopeType::Document, "", WebSandboxFlags::None, &childFrameClient , nullptr, WebFrameOwnerProperties());
6939 6939
6940 // Purposely keep the LocalFrame alive so it's the last thing to be destroye d. 6940 // Purposely keep the LocalFrame alive so it's the last thing to be destroye d.
6941 RefPtrWillBePersistent<Frame> childCoreFrame = childFrame->toImplBase()->fra me(); 6941 Persistent<Frame> childCoreFrame = childFrame->toImplBase()->frame();
6942 view->close(); 6942 view->close();
6943 childCoreFrame.clear(); 6943 childCoreFrame.clear();
6944 } 6944 }
6945 6945
6946 class WebFrameSwapTest : public WebFrameTest { 6946 class WebFrameSwapTest : public WebFrameTest {
6947 protected: 6947 protected:
6948 WebFrameSwapTest() 6948 WebFrameSwapTest()
6949 { 6949 {
6950 registerMockedHttpURLLoad("frame-a-b-c.html"); 6950 registerMockedHttpURLLoad("frame-a-b-c.html");
6951 registerMockedHttpURLLoad("subframe-a.html"); 6951 registerMockedHttpURLLoad("subframe-a.html");
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
7537 ASSERT_TRUE(mainFrame()->firstChild()->isWebRemoteFrame()); 7537 ASSERT_TRUE(mainFrame()->firstChild()->isWebRemoteFrame());
7538 LocalDOMWindow* mainWindow = toWebLocalFrameImpl(mainFrame())->frame()->loca lDOMWindow(); 7538 LocalDOMWindow* mainWindow = toWebLocalFrameImpl(mainFrame())->frame()->loca lDOMWindow();
7539 7539
7540 KURL destination = toKURL("data:text/html:destination"); 7540 KURL destination = toKURL("data:text/html:destination");
7541 mainWindow->open(destination.string(), "frame1", "", mainWindow, mainWindow) ; 7541 mainWindow->open(destination.string(), "frame1", "", mainWindow, mainWindow) ;
7542 ASSERT_FALSE(remoteClient.lastRequest().isNull()); 7542 ASSERT_FALSE(remoteClient.lastRequest().isNull());
7543 EXPECT_EQ(remoteClient.lastRequest().url(), WebURL(destination)); 7543 EXPECT_EQ(remoteClient.lastRequest().url(), WebURL(destination));
7544 7544
7545 // Pointing a named frame to an empty URL should just return a reference to 7545 // Pointing a named frame to an empty URL should just return a reference to
7546 // the frame's window without navigating it. 7546 // the frame's window without navigating it.
7547 RefPtrWillBeRawPtr<DOMWindow> result = mainWindow->open("", "frame1", "", ma inWindow, mainWindow); 7547 RawPtr<DOMWindow> result = mainWindow->open("", "frame1", "", mainWindow, ma inWindow);
7548 EXPECT_EQ(remoteClient.lastRequest().url(), WebURL(destination)); 7548 EXPECT_EQ(remoteClient.lastRequest().url(), WebURL(destination));
7549 EXPECT_EQ(result, remoteFrame->toImplBase()->frame()->domWindow()); 7549 EXPECT_EQ(result, remoteFrame->toImplBase()->frame()->domWindow());
7550 7550
7551 reset(); 7551 reset();
7552 } 7552 }
7553 7553
7554 class RemoteWindowCloseClient : public FrameTestHelpers::TestWebViewClient { 7554 class RemoteWindowCloseClient : public FrameTestHelpers::TestWebViewClient {
7555 public: 7555 public:
7556 RemoteWindowCloseClient() 7556 RemoteWindowCloseClient()
7557 : m_closed(false) 7557 : m_closed(false)
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
7735 { 7735 {
7736 FrameTestHelpers::WebViewHelper webViewHelper(this); 7736 FrameTestHelpers::WebViewHelper webViewHelper(this);
7737 webViewHelper.initializeAndLoad("about:blank"); 7737 webViewHelper.initializeAndLoad("about:blank");
7738 7738
7739 SchemeRegistry::registerURLSchemeAsDisplayIsolated("chrome"); 7739 SchemeRegistry::registerURLSchemeAsDisplayIsolated("chrome");
7740 7740
7741 // Cross-origin request. 7741 // Cross-origin request.
7742 KURL resourceUrl(ParsedURLString, "chrome://test.pdf"); 7742 KURL resourceUrl(ParsedURLString, "chrome://test.pdf");
7743 registerMockedChromeURLLoad("test.pdf"); 7743 registerMockedChromeURLLoad("test.pdf");
7744 7744
7745 RefPtrWillBeRawPtr<LocalFrame> frame(toLocalFrame(webViewHelper.webViewImpl( )->page()->mainFrame())); 7745 RawPtr<LocalFrame> frame(toLocalFrame(webViewHelper.webViewImpl()->page()->m ainFrame()));
7746 7746
7747 MockDocumentThreadableLoaderClient client; 7747 MockDocumentThreadableLoaderClient client;
7748 ThreadableLoaderOptions options; 7748 ThreadableLoaderOptions options;
7749 7749
7750 // First try to load the request with regular access. Should fail. 7750 // First try to load the request with regular access. Should fail.
7751 options.crossOriginRequestPolicy = UseAccessControl; 7751 options.crossOriginRequestPolicy = UseAccessControl;
7752 ResourceLoaderOptions resourceLoaderOptions; 7752 ResourceLoaderOptions resourceLoaderOptions;
7753 DocumentThreadableLoader::loadResourceSynchronously( 7753 DocumentThreadableLoader::loadResourceSynchronously(
7754 *frame->document(), ResourceRequest(resourceUrl), client, options, resou rceLoaderOptions); 7754 *frame->document(), ResourceRequest(resourceUrl), client, options, resou rceLoaderOptions);
7755 EXPECT_TRUE(client.failed()); 7755 EXPECT_TRUE(client.failed());
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
8386 } 8386 }
8387 8387
8388 WebFrame* mainFrame() { return m_frame; } 8388 WebFrame* mainFrame() { return m_frame; }
8389 WebRemoteFrameImpl* remoteFrame() { return m_webRemoteFrame; } 8389 WebRemoteFrameImpl* remoteFrame() { return m_webRemoteFrame; }
8390 TestWebRemoteFrameClientForVisibility* remoteFrameClient() { return &m_remot eFrameClient; } 8390 TestWebRemoteFrameClientForVisibility* remoteFrameClient() { return &m_remot eFrameClient; }
8391 8391
8392 private: 8392 private:
8393 TestWebRemoteFrameClientForVisibility m_remoteFrameClient; 8393 TestWebRemoteFrameClientForVisibility m_remoteFrameClient;
8394 FrameTestHelpers::WebViewHelper m_webViewHelper; 8394 FrameTestHelpers::WebViewHelper m_webViewHelper;
8395 WebFrame* m_frame; 8395 WebFrame* m_frame;
8396 RawPtrWillBePersistent<WebRemoteFrameImpl> m_webRemoteFrame; 8396 Persistent<WebRemoteFrameImpl> m_webRemoteFrame;
8397 }; 8397 };
8398 8398
8399 TEST_F(WebFrameVisibilityChangeTest, RemoteFrameVisibilityChange) 8399 TEST_F(WebFrameVisibilityChangeTest, RemoteFrameVisibilityChange)
8400 { 8400 {
8401 swapLocalFrameToRemoteFrame(); 8401 swapLocalFrameToRemoteFrame();
8402 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').s tyle.display = 'none';")); 8402 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').s tyle.display = 'none';"));
8403 EXPECT_FALSE(remoteFrameClient()->isVisible()); 8403 EXPECT_FALSE(remoteFrameClient()->isVisible());
8404 8404
8405 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').s tyle.display = 'block';")); 8405 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').s tyle.display = 'block';"));
8406 EXPECT_TRUE(remoteFrameClient()->isVisible()); 8406 EXPECT_TRUE(remoteFrameClient()->isVisible());
8407 } 8407 }
8408 8408
8409 TEST_F(WebFrameVisibilityChangeTest, RemoteFrameParentVisibilityChange) 8409 TEST_F(WebFrameVisibilityChangeTest, RemoteFrameParentVisibilityChange)
8410 { 8410 {
8411 swapLocalFrameToRemoteFrame(); 8411 swapLocalFrameToRemoteFrame();
8412 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').p arentElement.style.display = 'none';")); 8412 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').p arentElement.style.display = 'none';"));
8413 EXPECT_FALSE(remoteFrameClient()->isVisible()); 8413 EXPECT_FALSE(remoteFrameClient()->isVisible());
8414 } 8414 }
8415 8415
8416 } // namespace blink 8416 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698