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

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, 8 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 3065 matching lines...) Expand 10 before | Expand all | Expand 10 after
3926 webViewHelper.initializeAndLoad(m_baseURL + "find_in_page.html", true, &clie nt); 3926 webViewHelper.initializeAndLoad(m_baseURL + "find_in_page.html", true, &clie nt);
3927 webViewHelper.resize(WebSize(640, 480)); 3927 webViewHelper.resize(WebSize(640, 480));
3928 runPendingTasks(); 3928 runPendingTasks();
3929 3929
3930 const char kFindString[] = "result"; 3930 const char kFindString[] = "result";
3931 const int kFindIdentifier = 12345; 3931 const int kFindIdentifier = 12345;
3932 3932
3933 WebFindOptions options; 3933 WebFindOptions options;
3934 WebString searchText = WebString::fromUTF8(kFindString); 3934 WebString searchText = WebString::fromUTF8(kFindString);
3935 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame()); 3935 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame());
3936 RefPtrWillBeRawPtr<WebLocalFrameImpl> secondFrame = toWebLocalFrameImpl(main Frame->traverseNext(false)); 3936 RawPtr<WebLocalFrameImpl> secondFrame = toWebLocalFrameImpl(mainFrame->trave rseNext(false));
3937 RefPtrWillBeRawPtr<LocalFrame> holdSecondFrame(secondFrame->frame()); 3937 RawPtr<LocalFrame> holdSecondFrame(secondFrame->frame());
3938 3938
3939 // Detach the frame before finding. 3939 // Detach the frame before finding.
3940 removeElementById(mainFrame, "frame"); 3940 removeElementById(mainFrame, "frame");
3941 3941
3942 EXPECT_TRUE(mainFrame->find(kFindIdentifier, searchText, options, false, 0)) ; 3942 EXPECT_TRUE(mainFrame->find(kFindIdentifier, searchText, options, false, 0)) ;
3943 EXPECT_FALSE(secondFrame->find(kFindIdentifier, searchText, options, false, 0)); 3943 EXPECT_FALSE(secondFrame->find(kFindIdentifier, searchText, options, false, 0));
3944 3944
3945 runPendingTasks(); 3945 runPendingTasks();
3946 EXPECT_FALSE(client.findResultsAreReady()); 3946 EXPECT_FALSE(client.findResultsAreReady());
3947 3947
(...skipping 17 matching lines...) Expand all
3965 webViewHelper.resize(WebSize(640, 480)); 3965 webViewHelper.resize(WebSize(640, 480));
3966 runPendingTasks(); 3966 runPendingTasks();
3967 3967
3968 const char kFindString[] = "result"; 3968 const char kFindString[] = "result";
3969 const int kFindIdentifier = 12345; 3969 const int kFindIdentifier = 12345;
3970 3970
3971 WebFindOptions options; 3971 WebFindOptions options;
3972 WebString searchText = WebString::fromUTF8(kFindString); 3972 WebString searchText = WebString::fromUTF8(kFindString);
3973 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame()); 3973 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame());
3974 WebLocalFrameImpl* secondFrame = toWebLocalFrameImpl(mainFrame->traverseNext (false)); 3974 WebLocalFrameImpl* secondFrame = toWebLocalFrameImpl(mainFrame->traverseNext (false));
3975 RefPtrWillBeRawPtr<LocalFrame> holdSecondFrame(secondFrame->frame()); 3975 RawPtr<LocalFrame> holdSecondFrame(secondFrame->frame());
3976 3976
3977 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false)) 3977 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false))
3978 EXPECT_TRUE(frame->toWebLocalFrame()->find(kFindIdentifier, searchText, options, false, 0)); 3978 EXPECT_TRUE(frame->toWebLocalFrame()->find(kFindIdentifier, searchText, options, false, 0));
3979 3979
3980 runPendingTasks(); 3980 runPendingTasks();
3981 EXPECT_FALSE(client.findResultsAreReady()); 3981 EXPECT_FALSE(client.findResultsAreReady());
3982 3982
3983 // Detach the frame between finding and scoping. 3983 // Detach the frame between finding and scoping.
3984 removeElementById(mainFrame, "frame"); 3984 removeElementById(mainFrame, "frame");
3985 3985
(...skipping 17 matching lines...) Expand all
4003 webViewHelper.resize(WebSize(640, 480)); 4003 webViewHelper.resize(WebSize(640, 480));
4004 runPendingTasks(); 4004 runPendingTasks();
4005 4005
4006 const char kFindString[] = "result"; 4006 const char kFindString[] = "result";
4007 const int kFindIdentifier = 12345; 4007 const int kFindIdentifier = 12345;
4008 4008
4009 WebFindOptions options; 4009 WebFindOptions options;
4010 WebString searchText = WebString::fromUTF8(kFindString); 4010 WebString searchText = WebString::fromUTF8(kFindString);
4011 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame()); 4011 WebLocalFrameImpl* mainFrame = toWebLocalFrameImpl(webViewHelper.webView()-> mainFrame());
4012 WebLocalFrameImpl* secondFrame = toWebLocalFrameImpl(mainFrame->traverseNext (false)); 4012 WebLocalFrameImpl* secondFrame = toWebLocalFrameImpl(mainFrame->traverseNext (false));
4013 RefPtrWillBeRawPtr<LocalFrame> holdSecondFrame(secondFrame->frame()); 4013 RawPtr<LocalFrame> holdSecondFrame(secondFrame->frame());
4014 4014
4015 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false)) 4015 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false))
4016 EXPECT_TRUE(frame->toWebLocalFrame()->find(kFindIdentifier, searchText, options, false, 0)); 4016 EXPECT_TRUE(frame->toWebLocalFrame()->find(kFindIdentifier, searchText, options, false, 0));
4017 4017
4018 runPendingTasks(); 4018 runPendingTasks();
4019 EXPECT_FALSE(client.findResultsAreReady()); 4019 EXPECT_FALSE(client.findResultsAreReady());
4020 4020
4021 mainFrame->resetMatchCount(); 4021 mainFrame->resetMatchCount();
4022 4022
4023 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false)) 4023 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false))
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
4078 EXPECT_TRUE(mainFrame->find(kFindIdentifier, searchText, options, false, 0)) ; 4078 EXPECT_TRUE(mainFrame->find(kFindIdentifier, searchText, options, false, 0)) ;
4079 4079
4080 mainFrame->resetMatchCount(); 4080 mainFrame->resetMatchCount();
4081 mainFrame->scopeStringMatches(kFindIdentifier, searchText, options, true); 4081 mainFrame->scopeStringMatches(kFindIdentifier, searchText, options, true);
4082 4082
4083 runPendingTasks(); 4083 runPendingTasks();
4084 EXPECT_TRUE(client.findResultsAreReady()); 4084 EXPECT_TRUE(client.findResultsAreReady());
4085 4085
4086 // Get the tickmarks for the original find request. 4086 // Get the tickmarks for the original find request.
4087 FrameView* frameView = webViewHelper.webViewImpl()->mainFrameImpl()->frameVi ew(); 4087 FrameView* frameView = webViewHelper.webViewImpl()->mainFrameImpl()->frameVi ew();
4088 RefPtrWillBeRawPtr<Scrollbar> scrollbar = frameView->createScrollbar(Horizon talScrollbar); 4088 RawPtr<Scrollbar> scrollbar = frameView->createScrollbar(HorizontalScrollbar );
4089 Vector<IntRect> originalTickmarks; 4089 Vector<IntRect> originalTickmarks;
4090 scrollbar->getTickmarks(originalTickmarks); 4090 scrollbar->getTickmarks(originalTickmarks);
4091 EXPECT_EQ(4u, originalTickmarks.size()); 4091 EXPECT_EQ(4u, originalTickmarks.size());
4092 4092
4093 // Override the tickmarks. 4093 // Override the tickmarks.
4094 Vector<IntRect> overridingTickmarksExpected; 4094 Vector<IntRect> overridingTickmarksExpected;
4095 overridingTickmarksExpected.append(IntRect(0, 0, 100, 100)); 4095 overridingTickmarksExpected.append(IntRect(0, 0, 100, 100));
4096 overridingTickmarksExpected.append(IntRect(0, 20, 100, 100)); 4096 overridingTickmarksExpected.append(IntRect(0, 20, 100, 100));
4097 overridingTickmarksExpected.append(IntRect(0, 30, 100, 100)); 4097 overridingTickmarksExpected.append(IntRect(0, 30, 100, 100));
4098 mainFrame->setTickmarks(overridingTickmarksExpected); 4098 mainFrame->setTickmarks(overridingTickmarksExpected);
(...skipping 1699 matching lines...) Expand 10 before | Expand all | Expand 10 after
5798 { 5798 {
5799 registerMockedHttpURLLoad("fragment_middle_click.html"); 5799 registerMockedHttpURLLoad("fragment_middle_click.html");
5800 TestNavigationPolicyWebFrameClient client; 5800 TestNavigationPolicyWebFrameClient client;
5801 FrameTestHelpers::WebViewHelper webViewHelper(this); 5801 FrameTestHelpers::WebViewHelper webViewHelper(this);
5802 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue, &client); 5802 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue, &client);
5803 5803
5804 Document* document = toLocalFrame(webViewHelper.webViewImpl()->page()->mainF rame())->document(); 5804 Document* document = toLocalFrame(webViewHelper.webViewImpl()->page()->mainF rame())->document();
5805 KURL destination = document->url(); 5805 KURL destination = document->url();
5806 destination.setFragmentIdentifier("test"); 5806 destination.setFragmentIdentifier("test");
5807 5807
5808 RefPtrWillBeRawPtr<Event> event = MouseEvent::create(EventTypeNames::click, false, false, 5808 RawPtr<Event> event = MouseEvent::create(EventTypeNames::click, false, false ,
5809 document->domWindow(), 0, 0, 0, 0, 0, 0, 0, PlatformEvent::NoModifiers, 1, 0, nullptr, 0, 5809 document->domWindow(), 0, 0, 0, 0, 0, 0, 0, PlatformEvent::NoModifiers, 1, 0, nullptr, 0,
5810 PlatformMouseEvent::RealOrIndistinguishable, String()); 5810 PlatformMouseEvent::RealOrIndistinguishable, String());
5811 FrameLoadRequest frameRequest(document, ResourceRequest(destination)); 5811 FrameLoadRequest frameRequest(document, ResourceRequest(destination));
5812 frameRequest.setTriggeringEvent(event); 5812 frameRequest.setTriggeringEvent(event);
5813 toLocalFrame(webViewHelper.webViewImpl()->page()->mainFrame())->loader().loa d(frameRequest); 5813 toLocalFrame(webViewHelper.webViewImpl()->page()->mainFrame())->loader().loa d(frameRequest);
5814 } 5814 }
5815 5815
5816 class TestNewWindowWebViewClient : public FrameTestHelpers::TestWebViewClient { 5816 class TestNewWindowWebViewClient : public FrameTestHelpers::TestWebViewClient {
5817 public: 5817 public:
5818 virtual WebView* createView(WebLocalFrame*, const WebURLRequest&, const WebW indowFeatures&, 5818 virtual WebView* createView(WebLocalFrame*, const WebURLRequest&, const WebW indowFeatures&,
(...skipping 29 matching lines...) Expand all
5848 registerMockedHttpURLLoad("hello_world.html"); 5848 registerMockedHttpURLLoad("hello_world.html");
5849 TestNewWindowWebViewClient webViewClient; 5849 TestNewWindowWebViewClient webViewClient;
5850 TestNewWindowWebFrameClient webFrameClient; 5850 TestNewWindowWebFrameClient webFrameClient;
5851 FrameTestHelpers::WebViewHelper webViewHelper(this); 5851 FrameTestHelpers::WebViewHelper webViewHelper(this);
5852 webViewHelper.initializeAndLoad(m_baseURL + "ctrl_click.html", true, &webFra meClient, &webViewClient); 5852 webViewHelper.initializeAndLoad(m_baseURL + "ctrl_click.html", true, &webFra meClient, &webViewClient);
5853 5853
5854 Document* document = toLocalFrame(webViewHelper.webViewImpl()->page()->mainF rame())->document(); 5854 Document* document = toLocalFrame(webViewHelper.webViewImpl()->page()->mainF rame())->document();
5855 KURL destination = toKURL(m_baseURL + "hello_world.html"); 5855 KURL destination = toKURL(m_baseURL + "hello_world.html");
5856 5856
5857 // ctrl+click event 5857 // ctrl+click event
5858 RefPtrWillBeRawPtr<Event> event = MouseEvent::create(EventTypeNames::click, false, false, 5858 RawPtr<Event> event = MouseEvent::create(EventTypeNames::click, false, false ,
5859 document->domWindow(), 0, 0, 0, 0, 0, 0, 0, PlatformEvent::CtrlKey, 0, 0 , nullptr, 0, 5859 document->domWindow(), 0, 0, 0, 0, 0, 0, 0, PlatformEvent::CtrlKey, 0, 0 , nullptr, 0,
5860 PlatformMouseEvent::RealOrIndistinguishable, String()); 5860 PlatformMouseEvent::RealOrIndistinguishable, String());
5861 FrameLoadRequest frameRequest(document, ResourceRequest(destination)); 5861 FrameLoadRequest frameRequest(document, ResourceRequest(destination));
5862 frameRequest.setTriggeringEvent(event); 5862 frameRequest.setTriggeringEvent(event);
5863 UserGestureIndicator gesture(DefinitelyProcessingUserGesture); 5863 UserGestureIndicator gesture(DefinitelyProcessingUserGesture);
5864 toLocalFrame(webViewHelper.webViewImpl()->page()->mainFrame())->loader().loa d(frameRequest); 5864 toLocalFrame(webViewHelper.webViewImpl()->page()->mainFrame())->loader().loa d(frameRequest);
5865 FrameTestHelpers::pumpPendingRequestsForFrameToLoad(webViewHelper.webView()- >mainFrame()); 5865 FrameTestHelpers::pumpPendingRequestsForFrameToLoad(webViewHelper.webView()- >mainFrame());
5866 5866
5867 // decidePolicyForNavigation should be called both for the original request and the ctrl+click. 5867 // decidePolicyForNavigation should be called both for the original request and the ctrl+click.
5868 EXPECT_EQ(2, webFrameClient.decidePolicyCallCount()); 5868 EXPECT_EQ(2, webFrameClient.decidePolicyCallCount());
5869 } 5869 }
5870 5870
5871 TEST_P(ParameterizedWebFrameTest, BackToReload) 5871 TEST_P(ParameterizedWebFrameTest, BackToReload)
5872 { 5872 {
5873 registerMockedHttpURLLoad("fragment_middle_click.html"); 5873 registerMockedHttpURLLoad("fragment_middle_click.html");
5874 FrameTestHelpers::WebViewHelper webViewHelper(this); 5874 FrameTestHelpers::WebViewHelper webViewHelper(this);
5875 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue); 5875 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue);
5876 WebFrame* frame = webViewHelper.webView()->mainFrame(); 5876 WebFrame* frame = webViewHelper.webView()->mainFrame();
5877 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI mpl()->frame()->loader(); 5877 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI mpl()->frame()->loader();
5878 RefPtrWillBePersistent<HistoryItem> firstItem = mainFrameLoader.currentItem( ); 5878 Persistent<HistoryItem> firstItem = mainFrameLoader.currentItem();
5879 EXPECT_TRUE(firstItem); 5879 EXPECT_TRUE(firstItem);
5880 5880
5881 registerMockedHttpURLLoad("white-1x1.png"); 5881 registerMockedHttpURLLoad("white-1x1.png");
5882 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png"); 5882 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png");
5883 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem()); 5883 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem());
5884 5884
5885 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem.get()), We bHistoryDifferentDocumentLoad, WebURLRequest::UseProtocolCachePolicy); 5885 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem.get()), We bHistoryDifferentDocumentLoad, WebURLRequest::UseProtocolCachePolicy);
5886 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem()); 5886 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem());
5887 5887
5888 FrameTestHelpers::reloadFrame(frame); 5888 FrameTestHelpers::reloadFrame(frame);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
5933 EXPECT_EQ(WebNavigationTypeFormResubmitted, frame->dataSource()->navigationT ype()); 5933 EXPECT_EQ(WebNavigationTypeFormResubmitted, frame->dataSource()->navigationT ype());
5934 } 5934 }
5935 5935
5936 TEST_P(ParameterizedWebFrameTest, LoadHistoryItemReload) 5936 TEST_P(ParameterizedWebFrameTest, LoadHistoryItemReload)
5937 { 5937 {
5938 registerMockedHttpURLLoad("fragment_middle_click.html"); 5938 registerMockedHttpURLLoad("fragment_middle_click.html");
5939 FrameTestHelpers::WebViewHelper webViewHelper(this); 5939 FrameTestHelpers::WebViewHelper webViewHelper(this);
5940 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue); 5940 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue);
5941 WebFrame* frame = webViewHelper.webView()->mainFrame(); 5941 WebFrame* frame = webViewHelper.webView()->mainFrame();
5942 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI mpl()->frame()->loader(); 5942 const FrameLoader& mainFrameLoader = webViewHelper.webViewImpl()->mainFrameI mpl()->frame()->loader();
5943 RefPtrWillBePersistent<HistoryItem> firstItem = mainFrameLoader.currentItem( ); 5943 Persistent<HistoryItem> firstItem = mainFrameLoader.currentItem();
5944 EXPECT_TRUE(firstItem); 5944 EXPECT_TRUE(firstItem);
5945 5945
5946 registerMockedHttpURLLoad("white-1x1.png"); 5946 registerMockedHttpURLLoad("white-1x1.png");
5947 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png"); 5947 FrameTestHelpers::loadFrame(frame, m_baseURL + "white-1x1.png");
5948 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem()); 5948 EXPECT_NE(firstItem.get(), mainFrameLoader.currentItem());
5949 5949
5950 // Cache policy overrides should take. 5950 // Cache policy overrides should take.
5951 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem), WebHisto ryDifferentDocumentLoad, WebURLRequest::ReloadIgnoringCacheData); 5951 FrameTestHelpers::loadHistoryItem(frame, WebHistoryItem(firstItem), WebHisto ryDifferentDocumentLoad, WebURLRequest::ReloadIgnoringCacheData);
5952 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem()); 5952 EXPECT_EQ(firstItem.get(), mainFrameLoader.currentItem());
5953 EXPECT_EQ(WebURLRequest::ReloadIgnoringCacheData, frame->dataSource()->reque st().getCachePolicy()); 5953 EXPECT_EQ(WebURLRequest::ReloadIgnoringCacheData, frame->dataSource()->reque st().getCachePolicy());
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
6017 registerMockedHttpURLLoad("iframe_reload.html"); 6017 registerMockedHttpURLLoad("iframe_reload.html");
6018 registerMockedHttpURLLoad("visible_iframe.html"); 6018 registerMockedHttpURLLoad("visible_iframe.html");
6019 TestCachePolicyWebFrameClient mainClient(0); 6019 TestCachePolicyWebFrameClient mainClient(0);
6020 TestCachePolicyWebFrameClient childClient(&mainClient); 6020 TestCachePolicyWebFrameClient childClient(&mainClient);
6021 mainClient.setChildWebFrameClient(&childClient); 6021 mainClient.setChildWebFrameClient(&childClient);
6022 6022
6023 FrameTestHelpers::WebViewHelper webViewHelper(this); 6023 FrameTestHelpers::WebViewHelper webViewHelper(this);
6024 webViewHelper.initializeAndLoad(m_baseURL + "iframe_reload.html", true, &mai nClient); 6024 webViewHelper.initializeAndLoad(m_baseURL + "iframe_reload.html", true, &mai nClient);
6025 6025
6026 WebLocalFrameImpl* mainFrame = webViewHelper.webViewImpl()->mainFrameImpl(); 6026 WebLocalFrameImpl* mainFrame = webViewHelper.webViewImpl()->mainFrameImpl();
6027 RefPtrWillBeRawPtr<WebLocalFrameImpl> childFrame = toWebLocalFrameImpl(mainF rame->firstChild()); 6027 RawPtr<WebLocalFrameImpl> childFrame = toWebLocalFrameImpl(mainFrame->firstC hild());
6028 ASSERT_EQ(childFrame->client(), &childClient); 6028 ASSERT_EQ(childFrame->client(), &childClient);
6029 EXPECT_EQ(mainClient.childFrameCreationCount(), 1); 6029 EXPECT_EQ(mainClient.childFrameCreationCount(), 1);
6030 EXPECT_EQ(childClient.willSendRequestCallCount(), 1); 6030 EXPECT_EQ(childClient.willSendRequestCallCount(), 1);
6031 EXPECT_EQ(childClient.getCachePolicy(), WebURLRequest::UseProtocolCachePolic y); 6031 EXPECT_EQ(childClient.getCachePolicy(), WebURLRequest::UseProtocolCachePolic y);
6032 6032
6033 FrameTestHelpers::reloadFrame(mainFrame); 6033 FrameTestHelpers::reloadFrame(mainFrame);
6034 6034
6035 // A new WebFrame should have been created, but the child WebFrameClient sho uld be reused. 6035 // A new WebFrame should have been created, but the child WebFrameClient sho uld be reused.
6036 ASSERT_NE(childFrame, toWebLocalFrameImpl(mainFrame->firstChild())); 6036 ASSERT_NE(childFrame, toWebLocalFrameImpl(mainFrame->firstChild()));
6037 ASSERT_EQ(toWebLocalFrameImpl(mainFrame->firstChild())->client(), &childClie nt); 6037 ASSERT_EQ(toWebLocalFrameImpl(mainFrame->firstChild())->client(), &childClie nt);
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
6198 private: 6198 private:
6199 WebHistoryCommitType m_lastCommitType; 6199 WebHistoryCommitType m_lastCommitType;
6200 }; 6200 };
6201 6201
6202 TEST_P(ParameterizedWebFrameTest, SameDocumentHistoryNavigationCommitType) 6202 TEST_P(ParameterizedWebFrameTest, SameDocumentHistoryNavigationCommitType)
6203 { 6203 {
6204 registerMockedHttpURLLoad("push_state.html"); 6204 registerMockedHttpURLLoad("push_state.html");
6205 TestDidNavigateCommitTypeWebFrameClient client; 6205 TestDidNavigateCommitTypeWebFrameClient client;
6206 FrameTestHelpers::WebViewHelper webViewHelper(this); 6206 FrameTestHelpers::WebViewHelper webViewHelper(this);
6207 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "push _state.html", true, &client); 6207 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "push _state.html", true, &client);
6208 RefPtrWillBePersistent<HistoryItem> item = toLocalFrame(webViewImpl->page()- >mainFrame())->loader().currentItem(); 6208 Persistent<HistoryItem> item = toLocalFrame(webViewImpl->page()->mainFrame() )->loader().currentItem();
6209 runPendingTasks(); 6209 runPendingTasks();
6210 6210
6211 toLocalFrame(webViewImpl->page()->mainFrame())->loader().load( 6211 toLocalFrame(webViewImpl->page()->mainFrame())->loader().load(
6212 FrameLoadRequest(nullptr, FrameLoader::resourceRequestFromHistoryItem( 6212 FrameLoadRequest(nullptr, FrameLoader::resourceRequestFromHistoryItem(
6213 item.get(), UseProtocolCachePolicy)), 6213 item.get(), UseProtocolCachePolicy)),
6214 FrameLoadTypeBackForward, item.get(), HistorySameDocumentLoad); 6214 FrameLoadTypeBackForward, item.get(), HistorySameDocumentLoad);
6215 EXPECT_EQ(WebBackForwardCommit, client.lastCommitType()); 6215 EXPECT_EQ(WebBackForwardCommit, client.lastCommitType());
6216 } 6216 }
6217 6217
6218 class TestHistoryWebFrameClient : public FrameTestHelpers::TestWebFrameClient { 6218 class TestHistoryWebFrameClient : public FrameTestHelpers::TestWebFrameClient {
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after
6799 { 6799 {
6800 registerMockedHttpURLLoad("link-manifest-change.html"); 6800 registerMockedHttpURLLoad("link-manifest-change.html");
6801 6801
6802 ManifestChangeWebFrameClient webFrameClient; 6802 ManifestChangeWebFrameClient webFrameClient;
6803 FrameTestHelpers::WebViewHelper webViewHelper(this); 6803 FrameTestHelpers::WebViewHelper webViewHelper(this);
6804 webViewHelper.initializeAndLoad(m_baseURL + "link-manifest-change.html", tru e, &webFrameClient); 6804 webViewHelper.initializeAndLoad(m_baseURL + "link-manifest-change.html", tru e, &webFrameClient);
6805 6805
6806 EXPECT_EQ(14, webFrameClient.manifestChangeCount()); 6806 EXPECT_EQ(14, webFrameClient.manifestChangeCount());
6807 } 6807 }
6808 6808
6809 static PassRefPtrWillBeRawPtr<Resource> fetchManifest(Document* document, const KURL& url) 6809 static RawPtr<Resource> fetchManifest(Document* document, const KURL& url)
6810 { 6810 {
6811 FetchRequest fetchRequest = FetchRequest(ResourceRequest(url), FetchInitiato rInfo()); 6811 FetchRequest fetchRequest = FetchRequest(ResourceRequest(url), FetchInitiato rInfo());
6812 fetchRequest.mutableResourceRequest().setRequestContext(WebURLRequest::Reque stContextManifest); 6812 fetchRequest.mutableResourceRequest().setRequestContext(WebURLRequest::Reque stContextManifest);
6813 6813
6814 return RawResource::fetchSynchronously(fetchRequest, document->fetcher()); 6814 return RawResource::fetchSynchronously(fetchRequest, document->fetcher());
6815 } 6815 }
6816 6816
6817 TEST_P(ParameterizedWebFrameTest, ManifestFetch) 6817 TEST_P(ParameterizedWebFrameTest, ManifestFetch)
6818 { 6818 {
6819 registerMockedHttpURLLoad("foo.html"); 6819 registerMockedHttpURLLoad("foo.html");
6820 registerMockedHttpURLLoad("link-manifest-fetch.json"); 6820 registerMockedHttpURLLoad("link-manifest-fetch.json");
6821 6821
6822 FrameTestHelpers::WebViewHelper webViewHelper(this); 6822 FrameTestHelpers::WebViewHelper webViewHelper(this);
6823 webViewHelper.initializeAndLoad(m_baseURL + "foo.html"); 6823 webViewHelper.initializeAndLoad(m_baseURL + "foo.html");
6824 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document(); 6824 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document();
6825 6825
6826 RefPtrWillBeRawPtr<Resource> resource = fetchManifest(document, toKURL(m_bas eURL + "link-manifest-fetch.json")); 6826 RawPtr<Resource> resource = fetchManifest(document, toKURL(m_baseURL + "link -manifest-fetch.json"));
6827 6827
6828 EXPECT_TRUE(resource->isLoaded()); 6828 EXPECT_TRUE(resource->isLoaded());
6829 } 6829 }
6830 6830
6831 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchAllow) 6831 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchAllow)
6832 { 6832 {
6833 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json"); 6833 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json");
6834 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src *"); 6834 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src *");
6835 6835
6836 FrameTestHelpers::WebViewHelper webViewHelper(this); 6836 FrameTestHelpers::WebViewHelper webViewHelper(this);
6837 webViewHelper.initializeAndLoad(m_baseURL + "foo.html"); 6837 webViewHelper.initializeAndLoad(m_baseURL + "foo.html");
6838 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document(); 6838 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document();
6839 6839
6840 RefPtrWillBeRawPtr<Resource> resource = fetchManifest(document, toKURL(m_not BaseURL + "link-manifest-fetch.json")); 6840 RawPtr<Resource> resource = fetchManifest(document, toKURL(m_notBaseURL + "l ink-manifest-fetch.json"));
6841 6841
6842 EXPECT_TRUE(resource->isLoaded()); 6842 EXPECT_TRUE(resource->isLoaded());
6843 } 6843 }
6844 6844
6845 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchSelf) 6845 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchSelf)
6846 { 6846 {
6847 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json"); 6847 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json");
6848 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src 'self'"); 6848 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src 'self'");
6849 6849
6850 FrameTestHelpers::WebViewHelper webViewHelper(this); 6850 FrameTestHelpers::WebViewHelper webViewHelper(this);
6851 webViewHelper.initializeAndLoad(m_baseURL + "foo.html"); 6851 webViewHelper.initializeAndLoad(m_baseURL + "foo.html");
6852 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document(); 6852 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document();
6853 6853
6854 RefPtrWillBeRawPtr<Resource> resource = fetchManifest(document, toKURL(m_not BaseURL + "link-manifest-fetch.json")); 6854 RawPtr<Resource> resource = fetchManifest(document, toKURL(m_notBaseURL + "l ink-manifest-fetch.json"));
6855 6855
6856 EXPECT_EQ(0, resource.get()); // Fetching resource wasn't allowed. 6856 EXPECT_EQ(0, resource.get()); // Fetching resource wasn't allowed.
6857 } 6857 }
6858 6858
6859 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchSelfReportOnly) 6859 TEST_P(ParameterizedWebFrameTest, ManifestCSPFetchSelfReportOnly)
6860 { 6860 {
6861 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json"); 6861 URLTestHelpers::registerMockedURLLoad(toKURL(m_notBaseURL + "link-manifest-f etch.json"), "link-manifest-fetch.json");
6862 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src 'self'", /* repor t only */ true); 6862 registerMockedHttpURLLoadWithCSP("foo.html", "manifest-src 'self'", /* repor t only */ true);
6863 6863
6864 FrameTestHelpers::WebViewHelper webViewHelper(this); 6864 FrameTestHelpers::WebViewHelper webViewHelper(this);
6865 webViewHelper.initializeAndLoad(m_baseURL + "foo.html"); 6865 webViewHelper.initializeAndLoad(m_baseURL + "foo.html");
6866 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document(); 6866 Document* document = toWebLocalFrameImpl(webViewHelper.webViewImpl()->mainFr ame())->frame()->document();
6867 6867
6868 RefPtrWillBeRawPtr<Resource> resource = fetchManifest(document, toKURL(m_not BaseURL + "link-manifest-fetch.json")); 6868 RawPtr<Resource> resource = fetchManifest(document, toKURL(m_notBaseURL + "l ink-manifest-fetch.json"));
6869 6869
6870 EXPECT_TRUE(resource->isLoaded()); 6870 EXPECT_TRUE(resource->isLoaded());
6871 } 6871 }
6872 6872
6873 TEST_P(ParameterizedWebFrameTest, ReloadBypassingCache) 6873 TEST_P(ParameterizedWebFrameTest, ReloadBypassingCache)
6874 { 6874 {
6875 // Check that a reload ignoring cache on a frame will result in the cache 6875 // Check that a reload ignoring cache on a frame will result in the cache
6876 // policy of the request being set to ReloadBypassingCache. 6876 // policy of the request being set to ReloadBypassingCache.
6877 registerMockedHttpURLLoad("foo.html"); 6877 registerMockedHttpURLLoad("foo.html");
6878 FrameTestHelpers::WebViewHelper webViewHelper(this); 6878 FrameTestHelpers::WebViewHelper webViewHelper(this);
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
7022 { 7022 {
7023 // FIXME: Refactor some of this logic into WebViewHelper to make it easier t o 7023 // FIXME: Refactor some of this logic into WebViewHelper to make it easier t o
7024 // write tests with a top-level remote frame. 7024 // write tests with a top-level remote frame.
7025 FrameTestHelpers::TestWebViewClient viewClient; 7025 FrameTestHelpers::TestWebViewClient viewClient;
7026 FrameTestHelpers::TestWebRemoteFrameClient remoteClient; 7026 FrameTestHelpers::TestWebRemoteFrameClient remoteClient;
7027 WebView* view = WebView::create(&viewClient); 7027 WebView* view = WebView::create(&viewClient);
7028 view->setMainFrame(remoteClient.frame()); 7028 view->setMainFrame(remoteClient.frame());
7029 WebLocalFrame* childFrame = FrameTestHelpers::createLocalChild(view->mainFra me()->toWebRemoteFrame()); 7029 WebLocalFrame* childFrame = FrameTestHelpers::createLocalChild(view->mainFra me()->toWebRemoteFrame());
7030 7030
7031 // Purposely keep the LocalFrame alive so it's the last thing to be destroye d. 7031 // Purposely keep the LocalFrame alive so it's the last thing to be destroye d.
7032 RefPtrWillBePersistent<Frame> childCoreFrame = childFrame->toImplBase()->fra me(); 7032 Persistent<Frame> childCoreFrame = childFrame->toImplBase()->frame();
7033 view->close(); 7033 view->close();
7034 childCoreFrame.clear(); 7034 childCoreFrame.clear();
7035 } 7035 }
7036 7036
7037 class WebFrameSwapTest : public WebFrameTest { 7037 class WebFrameSwapTest : public WebFrameTest {
7038 protected: 7038 protected:
7039 WebFrameSwapTest() 7039 WebFrameSwapTest()
7040 { 7040 {
7041 registerMockedHttpURLLoad("frame-a-b-c.html"); 7041 registerMockedHttpURLLoad("frame-a-b-c.html");
7042 registerMockedHttpURLLoad("subframe-a.html"); 7042 registerMockedHttpURLLoad("subframe-a.html");
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after
7626 ASSERT_TRUE(mainFrame()->firstChild()->isWebRemoteFrame()); 7626 ASSERT_TRUE(mainFrame()->firstChild()->isWebRemoteFrame());
7627 LocalDOMWindow* mainWindow = toWebLocalFrameImpl(mainFrame())->frame()->loca lDOMWindow(); 7627 LocalDOMWindow* mainWindow = toWebLocalFrameImpl(mainFrame())->frame()->loca lDOMWindow();
7628 7628
7629 KURL destination = toKURL("data:text/html:destination"); 7629 KURL destination = toKURL("data:text/html:destination");
7630 mainWindow->open(destination.getString(), "frame1", "", mainWindow, mainWind ow); 7630 mainWindow->open(destination.getString(), "frame1", "", mainWindow, mainWind ow);
7631 ASSERT_FALSE(remoteClient.lastRequest().isNull()); 7631 ASSERT_FALSE(remoteClient.lastRequest().isNull());
7632 EXPECT_EQ(remoteClient.lastRequest().url(), WebURL(destination)); 7632 EXPECT_EQ(remoteClient.lastRequest().url(), WebURL(destination));
7633 7633
7634 // Pointing a named frame to an empty URL should just return a reference to 7634 // Pointing a named frame to an empty URL should just return a reference to
7635 // the frame's window without navigating it. 7635 // the frame's window without navigating it.
7636 RefPtrWillBeRawPtr<DOMWindow> result = mainWindow->open("", "frame1", "", ma inWindow, mainWindow); 7636 RawPtr<DOMWindow> result = mainWindow->open("", "frame1", "", mainWindow, ma inWindow);
7637 EXPECT_EQ(remoteClient.lastRequest().url(), WebURL(destination)); 7637 EXPECT_EQ(remoteClient.lastRequest().url(), WebURL(destination));
7638 EXPECT_EQ(result, remoteFrame->toImplBase()->frame()->domWindow()); 7638 EXPECT_EQ(result, remoteFrame->toImplBase()->frame()->domWindow());
7639 7639
7640 reset(); 7640 reset();
7641 } 7641 }
7642 7642
7643 class RemoteWindowCloseClient : public FrameTestHelpers::TestWebViewClient { 7643 class RemoteWindowCloseClient : public FrameTestHelpers::TestWebViewClient {
7644 public: 7644 public:
7645 RemoteWindowCloseClient() 7645 RemoteWindowCloseClient()
7646 : m_closed(false) 7646 : m_closed(false)
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
7823 { 7823 {
7824 FrameTestHelpers::WebViewHelper webViewHelper(this); 7824 FrameTestHelpers::WebViewHelper webViewHelper(this);
7825 webViewHelper.initializeAndLoad("about:blank"); 7825 webViewHelper.initializeAndLoad("about:blank");
7826 7826
7827 SchemeRegistry::registerURLSchemeAsDisplayIsolated("chrome"); 7827 SchemeRegistry::registerURLSchemeAsDisplayIsolated("chrome");
7828 7828
7829 // Cross-origin request. 7829 // Cross-origin request.
7830 KURL resourceUrl(ParsedURLString, "chrome://test.pdf"); 7830 KURL resourceUrl(ParsedURLString, "chrome://test.pdf");
7831 registerMockedChromeURLLoad("test.pdf"); 7831 registerMockedChromeURLLoad("test.pdf");
7832 7832
7833 RefPtrWillBeRawPtr<LocalFrame> frame(toLocalFrame(webViewHelper.webViewImpl( )->page()->mainFrame())); 7833 RawPtr<LocalFrame> frame(toLocalFrame(webViewHelper.webViewImpl()->page()->m ainFrame()));
7834 7834
7835 MockDocumentThreadableLoaderClient client; 7835 MockDocumentThreadableLoaderClient client;
7836 ThreadableLoaderOptions options; 7836 ThreadableLoaderOptions options;
7837 7837
7838 // First try to load the request with regular access. Should fail. 7838 // First try to load the request with regular access. Should fail.
7839 options.crossOriginRequestPolicy = UseAccessControl; 7839 options.crossOriginRequestPolicy = UseAccessControl;
7840 ResourceLoaderOptions resourceLoaderOptions; 7840 ResourceLoaderOptions resourceLoaderOptions;
7841 DocumentThreadableLoader::loadResourceSynchronously( 7841 DocumentThreadableLoader::loadResourceSynchronously(
7842 *frame->document(), ResourceRequest(resourceUrl), client, options, resou rceLoaderOptions); 7842 *frame->document(), ResourceRequest(resourceUrl), client, options, resou rceLoaderOptions);
7843 EXPECT_TRUE(client.failed()); 7843 EXPECT_TRUE(client.failed());
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after
8478 } 8478 }
8479 8479
8480 WebFrame* mainFrame() { return m_frame; } 8480 WebFrame* mainFrame() { return m_frame; }
8481 WebRemoteFrameImpl* remoteFrame() { return m_webRemoteFrame; } 8481 WebRemoteFrameImpl* remoteFrame() { return m_webRemoteFrame; }
8482 TestWebRemoteFrameClientForVisibility* remoteFrameClient() { return &m_remot eFrameClient; } 8482 TestWebRemoteFrameClientForVisibility* remoteFrameClient() { return &m_remot eFrameClient; }
8483 8483
8484 private: 8484 private:
8485 TestWebRemoteFrameClientForVisibility m_remoteFrameClient; 8485 TestWebRemoteFrameClientForVisibility m_remoteFrameClient;
8486 FrameTestHelpers::WebViewHelper m_webViewHelper; 8486 FrameTestHelpers::WebViewHelper m_webViewHelper;
8487 WebFrame* m_frame; 8487 WebFrame* m_frame;
8488 RawPtrWillBePersistent<WebRemoteFrameImpl> m_webRemoteFrame; 8488 Persistent<WebRemoteFrameImpl> m_webRemoteFrame;
8489 }; 8489 };
8490 8490
8491 TEST_F(WebFrameVisibilityChangeTest, RemoteFrameVisibilityChange) 8491 TEST_F(WebFrameVisibilityChangeTest, RemoteFrameVisibilityChange)
8492 { 8492 {
8493 swapLocalFrameToRemoteFrame(); 8493 swapLocalFrameToRemoteFrame();
8494 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').s tyle.display = 'none';")); 8494 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').s tyle.display = 'none';"));
8495 EXPECT_FALSE(remoteFrameClient()->isVisible()); 8495 EXPECT_FALSE(remoteFrameClient()->isVisible());
8496 8496
8497 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').s tyle.display = 'block';")); 8497 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').s tyle.display = 'block';"));
8498 EXPECT_TRUE(remoteFrameClient()->isVisible()); 8498 EXPECT_TRUE(remoteFrameClient()->isVisible());
8499 } 8499 }
8500 8500
8501 TEST_F(WebFrameVisibilityChangeTest, RemoteFrameParentVisibilityChange) 8501 TEST_F(WebFrameVisibilityChangeTest, RemoteFrameParentVisibilityChange)
8502 { 8502 {
8503 swapLocalFrameToRemoteFrame(); 8503 swapLocalFrameToRemoteFrame();
8504 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').p arentElement.style.display = 'none';")); 8504 executeScriptOnMainFrame(WebScriptSource("document.querySelector('iframe').p arentElement.style.display = 'none';"));
8505 EXPECT_FALSE(remoteFrameClient()->isVisible()); 8505 EXPECT_FALSE(remoteFrameClient()->isVisible());
8506 } 8506 }
8507 8507
8508 } // namespace blink 8508 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698