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

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

Issue 222203007: Conversion of more places in Blink to use WebLocalFrame (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « Source/web/tests/FrameTestHelpers.cpp ('k') | Source/web/tests/WebHelperPluginTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 runPendingTasks(); 346 runPendingTasks();
347 webViewHelper.webView()->layout(); 347 webViewHelper.webView()->layout();
348 348
349 std::string content = webViewHelper.webView()->mainFrame()->contentAsText(10 24).utf8(); 349 std::string content = webViewHelper.webView()->mainFrame()->contentAsText(10 24).utf8();
350 EXPECT_EQ("http://www.test.com:0/" + fileName, content); 350 EXPECT_EQ("http://www.test.com:0/" + fileName, content);
351 } 351 }
352 352
353 class CSSCallbackWebFrameClient : public FrameTestHelpers::TestWebFrameClient { 353 class CSSCallbackWebFrameClient : public FrameTestHelpers::TestWebFrameClient {
354 public: 354 public:
355 CSSCallbackWebFrameClient() : m_updateCount(0) { } 355 CSSCallbackWebFrameClient() : m_updateCount(0) { }
356 virtual void didMatchCSS(WebFrame*, const WebVector<WebString>& newlyMatchin gSelectors, const WebVector<WebString>& stoppedMatchingSelectors) OVERRIDE; 356 virtual void didMatchCSS(WebLocalFrame*, const WebVector<WebString>& newlyMa tchingSelectors, const WebVector<WebString>& stoppedMatchingSelectors) OVERRIDE;
357 357
358 std::map<WebFrame*, std::set<std::string> > m_matchedSelectors; 358 std::map<WebLocalFrame*, std::set<std::string> > m_matchedSelectors;
359 int m_updateCount; 359 int m_updateCount;
360 }; 360 };
361 361
362 void CSSCallbackWebFrameClient::didMatchCSS(WebFrame* frame, const WebVector<Web String>& newlyMatchingSelectors, const WebVector<WebString>& stoppedMatchingSele ctors) 362 void CSSCallbackWebFrameClient::didMatchCSS(WebLocalFrame* frame, const WebVecto r<WebString>& newlyMatchingSelectors, const WebVector<WebString>& stoppedMatchin gSelectors)
363 { 363 {
364 ++m_updateCount; 364 ++m_updateCount;
365 std::set<std::string>& frameSelectors = m_matchedSelectors[frame]; 365 std::set<std::string>& frameSelectors = m_matchedSelectors[frame];
366 for (size_t i = 0; i < newlyMatchingSelectors.size(); ++i) { 366 for (size_t i = 0; i < newlyMatchingSelectors.size(); ++i) {
367 std::string selector = newlyMatchingSelectors[i].utf8(); 367 std::string selector = newlyMatchingSelectors[i].utf8();
368 EXPECT_EQ(0U, frameSelectors.count(selector)) << selector; 368 EXPECT_EQ(0U, frameSelectors.count(selector)) << selector;
369 frameSelectors.insert(selector); 369 frameSelectors.insert(selector);
370 } 370 }
371 for (size_t i = 0; i < stoppedMatchingSelectors.size(); ++i) { 371 for (size_t i = 0; i < stoppedMatchingSelectors.size(); ++i) {
372 std::string selector = stoppedMatchingSelectors[i].utf8(); 372 std::string selector = stoppedMatchingSelectors[i].utf8();
373 EXPECT_EQ(1U, frameSelectors.count(selector)) << selector; 373 EXPECT_EQ(1U, frameSelectors.count(selector)) << selector;
374 frameSelectors.erase(selector); 374 frameSelectors.erase(selector);
375 } 375 }
376 } 376 }
377 377
378 class WebFrameCSSCallbackTest : public testing::Test { 378 class WebFrameCSSCallbackTest : public testing::Test {
379 protected: 379 protected:
380 WebFrameCSSCallbackTest() 380 WebFrameCSSCallbackTest()
381 { 381 {
382 382
383 m_frame = m_helper.initializeAndLoad("about:blank", true, &m_client)->ma inFrame(); 383 m_frame = m_helper.initializeAndLoad("about:blank", true, &m_client)->ma inFrame()->toWebLocalFrame();
384 } 384 }
385 385
386 ~WebFrameCSSCallbackTest() 386 ~WebFrameCSSCallbackTest()
387 { 387 {
388 EXPECT_EQ(1U, m_client.m_matchedSelectors.size()); 388 EXPECT_EQ(1U, m_client.m_matchedSelectors.size());
389 } 389 }
390 390
391 WebDocument doc() const 391 WebDocument doc() const
392 { 392 {
393 return m_frame->document(); 393 return m_frame->document();
(...skipping 17 matching lines...) Expand all
411 411
412 void executeScript(const WebString& code) 412 void executeScript(const WebString& code)
413 { 413 {
414 m_frame->executeScript(WebScriptSource(code)); 414 m_frame->executeScript(WebScriptSource(code));
415 m_frame->view()->layout(); 415 m_frame->view()->layout();
416 runPendingTasks(); 416 runPendingTasks();
417 } 417 }
418 418
419 CSSCallbackWebFrameClient m_client; 419 CSSCallbackWebFrameClient m_client;
420 FrameTestHelpers::WebViewHelper m_helper; 420 FrameTestHelpers::WebViewHelper m_helper;
421 WebFrame* m_frame; 421 WebLocalFrame* m_frame;
422 }; 422 };
423 423
424 TEST_F(WebFrameCSSCallbackTest, AuthorStyleSheet) 424 TEST_F(WebFrameCSSCallbackTest, AuthorStyleSheet)
425 { 425 {
426 loadHTML( 426 loadHTML(
427 "<style>" 427 "<style>"
428 // This stylesheet checks that the internal property and value can't be 428 // This stylesheet checks that the internal property and value can't be
429 // set by a stylesheet, only WebDocument::watchCSSSelectors(). 429 // set by a stylesheet, only WebDocument::watchCSSSelectors().
430 "div.initial_on { -internal-callback: none; }" 430 "div.initial_on { -internal-callback: none; }"
431 "div.initial_off { -internal-callback: -internal-presence; }" 431 "div.initial_off { -internal-callback: -internal-presence; }"
(...skipping 2226 matching lines...) Expand 10 before | Expand all | Expand 10 after
2658 // Move focus back to the first edit box. 2658 // Move focus back to the first edit box.
2659 webViewHelper.webView()->advanceFocus(true); 2659 webViewHelper.webView()->advanceFocus(true);
2660 webViewHelper.webViewImpl()->computeScaleAndScrollForFocusedNode(webViewHelp er.webViewImpl()->focusedElement(), scale, scroll, needAnimation); 2660 webViewHelper.webViewImpl()->computeScaleAndScrollForFocusedNode(webViewHelp er.webViewImpl()->focusedElement(), scale, scroll, needAnimation);
2661 // The position should have stayed the same since this box was already on sc reen with the right scale. 2661 // The position should have stayed the same since this box was already on sc reen with the right scale.
2662 EXPECT_FALSE(needAnimation); 2662 EXPECT_FALSE(needAnimation);
2663 } 2663 }
2664 2664
2665 class TestReloadDoesntRedirectWebFrameClient : public FrameTestHelpers::TestWebF rameClient { 2665 class TestReloadDoesntRedirectWebFrameClient : public FrameTestHelpers::TestWebF rameClient {
2666 public: 2666 public:
2667 virtual WebNavigationPolicy decidePolicyForNavigation( 2667 virtual WebNavigationPolicy decidePolicyForNavigation(
2668 WebFrame*, WebDataSource::ExtraData*, const WebURLRequest&, WebNavigatio nType, 2668 WebLocalFrame*, WebDataSource::ExtraData*, const WebURLRequest&, WebNavi gationType,
2669 WebNavigationPolicy defaultPolicy, bool isRedirect) OVERRIDE 2669 WebNavigationPolicy defaultPolicy, bool isRedirect) OVERRIDE
2670 { 2670 {
2671 EXPECT_FALSE(isRedirect); 2671 EXPECT_FALSE(isRedirect);
2672 return WebNavigationPolicyCurrentTab; 2672 return WebNavigationPolicyCurrentTab;
2673 } 2673 }
2674 }; 2674 };
2675 2675
2676 TEST_F(WebFrameTest, ReloadDoesntSetRedirect) 2676 TEST_F(WebFrameTest, ReloadDoesntSetRedirect)
2677 { 2677 {
2678 // Test for case in http://crbug.com/73104. Reloading a frame very quickly 2678 // Test for case in http://crbug.com/73104. Reloading a frame very quickly
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
2796 // Now retrieve the FocusedNode and test it should be null. 2796 // Now retrieve the FocusedNode and test it should be null.
2797 EXPECT_EQ(0, webViewHelper.webViewImpl()->focusedElement()); 2797 EXPECT_EQ(0, webViewHelper.webViewImpl()->focusedElement());
2798 } 2798 }
2799 2799
2800 // Implementation of WebFrameClient that tracks the v8 contexts that are created 2800 // Implementation of WebFrameClient that tracks the v8 contexts that are created
2801 // and destroyed for verification. 2801 // and destroyed for verification.
2802 class ContextLifetimeTestWebFrameClient : public FrameTestHelpers::TestWebFrameC lient { 2802 class ContextLifetimeTestWebFrameClient : public FrameTestHelpers::TestWebFrameC lient {
2803 public: 2803 public:
2804 struct Notification { 2804 struct Notification {
2805 public: 2805 public:
2806 Notification(WebFrame* frame, v8::Handle<v8::Context> context, int world Id) 2806 Notification(WebLocalFrame* frame, v8::Handle<v8::Context> context, int worldId)
2807 : frame(frame) 2807 : frame(frame)
2808 , context(context->GetIsolate(), context) 2808 , context(context->GetIsolate(), context)
2809 , worldId(worldId) 2809 , worldId(worldId)
2810 { 2810 {
2811 } 2811 }
2812 2812
2813 ~Notification() 2813 ~Notification()
2814 { 2814 {
2815 context.Reset(); 2815 context.Reset();
2816 } 2816 }
2817 2817
2818 bool Equals(Notification* other) 2818 bool Equals(Notification* other)
2819 { 2819 {
2820 return other && frame == other->frame && context == other->context & & worldId == other->worldId; 2820 return other && frame == other->frame && context == other->context & & worldId == other->worldId;
2821 } 2821 }
2822 2822
2823 WebFrame* frame; 2823 WebLocalFrame* frame;
2824 v8::Persistent<v8::Context> context; 2824 v8::Persistent<v8::Context> context;
2825 int worldId; 2825 int worldId;
2826 }; 2826 };
2827 2827
2828 virtual ~ContextLifetimeTestWebFrameClient() 2828 virtual ~ContextLifetimeTestWebFrameClient()
2829 { 2829 {
2830 reset(); 2830 reset();
2831 } 2831 }
2832 2832
2833 void reset() 2833 void reset()
2834 { 2834 {
2835 for (size_t i = 0; i < createNotifications.size(); ++i) 2835 for (size_t i = 0; i < createNotifications.size(); ++i)
2836 delete createNotifications[i]; 2836 delete createNotifications[i];
2837 2837
2838 for (size_t i = 0; i < releaseNotifications.size(); ++i) 2838 for (size_t i = 0; i < releaseNotifications.size(); ++i)
2839 delete releaseNotifications[i]; 2839 delete releaseNotifications[i];
2840 2840
2841 createNotifications.clear(); 2841 createNotifications.clear();
2842 releaseNotifications.clear(); 2842 releaseNotifications.clear();
2843 } 2843 }
2844 2844
2845 std::vector<Notification*> createNotifications; 2845 std::vector<Notification*> createNotifications;
2846 std::vector<Notification*> releaseNotifications; 2846 std::vector<Notification*> releaseNotifications;
2847 2847
2848 private: 2848 private:
2849 virtual void didCreateScriptContext(WebFrame* frame, v8::Handle<v8::Context> context, int extensionGroup, int worldId) OVERRIDE 2849 virtual void didCreateScriptContext(WebLocalFrame* frame, v8::Handle<v8::Con text> context, int extensionGroup, int worldId) OVERRIDE
2850 { 2850 {
2851 createNotifications.push_back(new Notification(frame, context, worldId)) ; 2851 createNotifications.push_back(new Notification(frame, context, worldId)) ;
2852 } 2852 }
2853 2853
2854 virtual void willReleaseScriptContext(WebFrame* frame, v8::Handle<v8::Contex t> context, int worldId) OVERRIDE 2854 virtual void willReleaseScriptContext(WebLocalFrame* frame, v8::Handle<v8::C ontext> context, int worldId) OVERRIDE
2855 { 2855 {
2856 releaseNotifications.push_back(new Notification(frame, context, worldId) ); 2856 releaseNotifications.push_back(new Notification(frame, context, worldId) );
2857 } 2857 }
2858 }; 2858 };
2859 2859
2860 // TODO(aa): Deflake this test. 2860 // TODO(aa): Deflake this test.
2861 TEST_F(WebFrameTest, FLAKY_ContextNotificationsLoadUnload) 2861 TEST_F(WebFrameTest, FLAKY_ContextNotificationsLoadUnload)
2862 { 2862 {
2863 v8::HandleScope handleScope(v8::Isolate::GetCurrent()); 2863 v8::HandleScope handleScope(v8::Isolate::GetCurrent());
2864 2864
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
3113 frame->executeCommand(WebString::fromUTF8("SelectAll")); 3113 frame->executeCommand(WebString::fromUTF8("SelectAll"));
3114 EXPECT_TRUE(frame->hasSelection()); 3114 EXPECT_TRUE(frame->hasSelection());
3115 frame->executeCommand(WebString::fromUTF8("Unselect")); 3115 frame->executeCommand(WebString::fromUTF8("Unselect"));
3116 EXPECT_FALSE(frame->hasSelection()); 3116 EXPECT_FALSE(frame->hasSelection());
3117 WebString selectionHtml = frame->selectionAsMarkup(); 3117 WebString selectionHtml = frame->selectionAsMarkup();
3118 EXPECT_TRUE(selectionHtml.isEmpty()); 3118 EXPECT_TRUE(selectionHtml.isEmpty());
3119 } 3119 }
3120 3120
3121 class TestExecuteScriptDuringDidCreateScriptContext : public FrameTestHelpers::T estWebFrameClient { 3121 class TestExecuteScriptDuringDidCreateScriptContext : public FrameTestHelpers::T estWebFrameClient {
3122 public: 3122 public:
3123 virtual void didCreateScriptContext(WebFrame* frame, v8::Handle<v8::Context> context, int extensionGroup, int worldId) OVERRIDE 3123 virtual void didCreateScriptContext(WebLocalFrame* frame, v8::Handle<v8::Con text> context, int extensionGroup, int worldId) OVERRIDE
3124 { 3124 {
3125 frame->executeScript(WebScriptSource("window.history = 'replaced';")); 3125 frame->executeScript(WebScriptSource("window.history = 'replaced';"));
3126 } 3126 }
3127 }; 3127 };
3128 3128
3129 TEST_F(WebFrameTest, ExecuteScriptDuringDidCreateScriptContext) 3129 TEST_F(WebFrameTest, ExecuteScriptDuringDidCreateScriptContext)
3130 { 3130 {
3131 registerMockedHttpURLLoad("hello_world.html"); 3131 registerMockedHttpURLLoad("hello_world.html");
3132 3132
3133 TestExecuteScriptDuringDidCreateScriptContext webFrameClient; 3133 TestExecuteScriptDuringDidCreateScriptContext webFrameClient;
(...skipping 926 matching lines...) Expand 10 before | Expand all | Expand 10 after
4060 EXPECT_FALSE(client.triggered()); 4060 EXPECT_FALSE(client.triggered());
4061 } 4061 }
4062 4062
4063 class TestSubstituteDataWebFrameClient : public FrameTestHelpers::TestWebFrameCl ient { 4063 class TestSubstituteDataWebFrameClient : public FrameTestHelpers::TestWebFrameCl ient {
4064 public: 4064 public:
4065 TestSubstituteDataWebFrameClient() 4065 TestSubstituteDataWebFrameClient()
4066 : m_commitCalled(false) 4066 : m_commitCalled(false)
4067 { 4067 {
4068 } 4068 }
4069 4069
4070 virtual void didFailProvisionalLoad(WebFrame* frame, const WebURLError& erro r) 4070 virtual void didFailProvisionalLoad(WebLocalFrame* frame, const WebURLError& error)
4071 { 4071 {
4072 frame->loadHTMLString("This should appear", toKURL("data:text/html,chrom ewebdata"), error.unreachableURL, true); 4072 frame->loadHTMLString("This should appear", toKURL("data:text/html,chrom ewebdata"), error.unreachableURL, true);
4073 runPendingTasks(); 4073 runPendingTasks();
4074 } 4074 }
4075 4075
4076 virtual void didCommitProvisionalLoad(WebFrame* frame, bool) 4076 virtual void didCommitProvisionalLoad(WebLocalFrame* frame, bool)
4077 { 4077 {
4078 if (frame->dataSource()->response().url() != WebURL(URLTestHelpers::toKU RL("about:blank"))) 4078 if (frame->dataSource()->response().url() != WebURL(URLTestHelpers::toKU RL("about:blank")))
4079 m_commitCalled = true; 4079 m_commitCalled = true;
4080 } 4080 }
4081 4081
4082 bool commitCalled() const { return m_commitCalled; } 4082 bool commitCalled() const { return m_commitCalled; }
4083 4083
4084 private: 4084 private:
4085 bool m_commitCalled; 4085 bool m_commitCalled;
4086 }; 4086 };
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
4118 EXPECT_EQ("This should appear", text.utf8()); 4118 EXPECT_EQ("This should appear", text.utf8());
4119 EXPECT_TRUE(webFrameClient.commitCalled()); 4119 EXPECT_TRUE(webFrameClient.commitCalled());
4120 } 4120 }
4121 4121
4122 class TestWillInsertBodyWebFrameClient : public FrameTestHelpers::TestWebFrameCl ient { 4122 class TestWillInsertBodyWebFrameClient : public FrameTestHelpers::TestWebFrameCl ient {
4123 public: 4123 public:
4124 TestWillInsertBodyWebFrameClient() : m_numBodies(0), m_didLoad(false) 4124 TestWillInsertBodyWebFrameClient() : m_numBodies(0), m_didLoad(false)
4125 { 4125 {
4126 } 4126 }
4127 4127
4128 virtual void didCommitProvisionalLoad(WebFrame*, bool) OVERRIDE 4128 virtual void didCommitProvisionalLoad(WebLocalFrame*, bool) OVERRIDE
4129 { 4129 {
4130 m_numBodies = 0; 4130 m_numBodies = 0;
4131 m_didLoad = true; 4131 m_didLoad = true;
4132 } 4132 }
4133 4133
4134 virtual void didCreateDocumentElement(WebFrame*) OVERRIDE 4134 virtual void didCreateDocumentElement(WebLocalFrame*) OVERRIDE
4135 { 4135 {
4136 EXPECT_EQ(0, m_numBodies); 4136 EXPECT_EQ(0, m_numBodies);
4137 } 4137 }
4138 4138
4139 virtual void willInsertBody(WebFrame*) OVERRIDE 4139 virtual void willInsertBody(WebLocalFrame*) OVERRIDE
4140 { 4140 {
4141 m_numBodies++; 4141 m_numBodies++;
4142 } 4142 }
4143 4143
4144 int m_numBodies; 4144 int m_numBodies;
4145 bool m_didLoad; 4145 bool m_didLoad;
4146 }; 4146 };
4147 4147
4148 TEST_F(WebFrameTest, HTMLDocument) 4148 TEST_F(WebFrameTest, HTMLDocument)
4149 { 4149 {
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
4454 ASSERT_NE(static_cast<DocumentMarker*>(0), document->markers().markers()[0]) ; 4454 ASSERT_NE(static_cast<DocumentMarker*>(0), document->markers().markers()[0]) ;
4455 EXPECT_EQ(DocumentMarker::InvisibleSpellcheck, document->markers().markers() [0]->type()); 4455 EXPECT_EQ(DocumentMarker::InvisibleSpellcheck, document->markers().markers() [0]->type());
4456 } 4456 }
4457 4457
4458 class TestAccessInitialDocumentWebFrameClient : public FrameTestHelpers::TestWeb FrameClient { 4458 class TestAccessInitialDocumentWebFrameClient : public FrameTestHelpers::TestWeb FrameClient {
4459 public: 4459 public:
4460 TestAccessInitialDocumentWebFrameClient() : m_didAccessInitialDocument(false ) 4460 TestAccessInitialDocumentWebFrameClient() : m_didAccessInitialDocument(false )
4461 { 4461 {
4462 } 4462 }
4463 4463
4464 virtual void didAccessInitialDocument(WebFrame* frame) 4464 virtual void didAccessInitialDocument(WebLocalFrame* frame)
4465 { 4465 {
4466 EXPECT_TRUE(!m_didAccessInitialDocument); 4466 EXPECT_TRUE(!m_didAccessInitialDocument);
4467 m_didAccessInitialDocument = true; 4467 m_didAccessInitialDocument = true;
4468 } 4468 }
4469 4469
4470 bool m_didAccessInitialDocument; 4470 bool m_didAccessInitialDocument;
4471 }; 4471 };
4472 4472
4473 TEST_F(WebFrameTest, DidAccessInitialDocumentBody) 4473 TEST_F(WebFrameTest, DidAccessInitialDocumentBody)
4474 { 4474 {
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
4612 TestMainFrameUserOrProgrammaticScrollFrameClient() { reset(); } 4612 TestMainFrameUserOrProgrammaticScrollFrameClient() { reset(); }
4613 void reset() 4613 void reset()
4614 { 4614 {
4615 m_didScrollMainFrame = false; 4615 m_didScrollMainFrame = false;
4616 m_wasProgrammaticScroll = false; 4616 m_wasProgrammaticScroll = false;
4617 } 4617 }
4618 bool wasUserScroll() const { return m_didScrollMainFrame && !m_wasProgrammat icScroll; } 4618 bool wasUserScroll() const { return m_didScrollMainFrame && !m_wasProgrammat icScroll; }
4619 bool wasProgrammaticScroll() const { return m_didScrollMainFrame && m_wasPro grammaticScroll; } 4619 bool wasProgrammaticScroll() const { return m_didScrollMainFrame && m_wasPro grammaticScroll; }
4620 4620
4621 // WebFrameClient: 4621 // WebFrameClient:
4622 virtual void didChangeScrollOffset(WebFrame* frame) OVERRIDE 4622 virtual void didChangeScrollOffset(WebLocalFrame* frame) OVERRIDE
4623 { 4623 {
4624 if (frame->parent()) 4624 if (frame->parent())
4625 return; 4625 return;
4626 EXPECT_FALSE(m_didScrollMainFrame); 4626 EXPECT_FALSE(m_didScrollMainFrame);
4627 WebCore::FrameView* view = toWebFrameImpl(frame)->frameView(); 4627 WebCore::FrameView* view = toWebFrameImpl(frame)->frameView();
4628 // FrameView can be scrolled in FrameView::setFixedVisibleContentRect 4628 // FrameView can be scrolled in FrameView::setFixedVisibleContentRect
4629 // which is called from LocalFrame::createView (before the frame is asso ciated 4629 // which is called from LocalFrame::createView (before the frame is asso ciated
4630 // with the the view). 4630 // with the the view).
4631 if (view) { 4631 if (view) {
4632 m_didScrollMainFrame = true; 4632 m_didScrollMainFrame = true;
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
4735 Platform::current()->unitTestSupport()->registerMockedURL(redirectURL, final Response, filePath); 4735 Platform::current()->unitTestSupport()->registerMockedURL(redirectURL, final Response, filePath);
4736 4736
4737 FrameTestHelpers::WebViewHelper webViewHelper; 4737 FrameTestHelpers::WebViewHelper webViewHelper;
4738 webViewHelper.initializeAndLoad(m_baseURL + "first_party_redirect.html", tru e); 4738 webViewHelper.initializeAndLoad(m_baseURL + "first_party_redirect.html", tru e);
4739 EXPECT_TRUE(webViewHelper.webView()->mainFrame()->document().firstPartyForCo okies() == redirectURL); 4739 EXPECT_TRUE(webViewHelper.webView()->mainFrame()->document().firstPartyForCo okies() == redirectURL);
4740 } 4740 }
4741 4741
4742 class TestNavigationPolicyWebFrameClient : public FrameTestHelpers::TestWebFrame Client { 4742 class TestNavigationPolicyWebFrameClient : public FrameTestHelpers::TestWebFrame Client {
4743 public: 4743 public:
4744 4744
4745 virtual void didNavigateWithinPage(WebFrame*, bool) 4745 virtual void didNavigateWithinPage(WebLocalFrame*, bool)
4746 { 4746 {
4747 EXPECT_TRUE(false); 4747 EXPECT_TRUE(false);
4748 } 4748 }
4749 }; 4749 };
4750 4750
4751 TEST_F(WebFrameTest, SimulateFragmentAnchorMiddleClick) 4751 TEST_F(WebFrameTest, SimulateFragmentAnchorMiddleClick)
4752 { 4752 {
4753 registerMockedHttpURLLoad("fragment_middle_click.html"); 4753 registerMockedHttpURLLoad("fragment_middle_click.html");
4754 TestNavigationPolicyWebFrameClient client; 4754 TestNavigationPolicyWebFrameClient client;
4755 FrameTestHelpers::WebViewHelper webViewHelper; 4755 FrameTestHelpers::WebViewHelper webViewHelper;
4756 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue, &client); 4756 webViewHelper.initializeAndLoad(m_baseURL + "fragment_middle_click.html", tr ue, &client);
4757 4757
4758 WebCore::Document* document = webViewHelper.webViewImpl()->page()->mainFrame ()->document(); 4758 WebCore::Document* document = webViewHelper.webViewImpl()->page()->mainFrame ()->document();
4759 WebCore::KURL destination = document->url(); 4759 WebCore::KURL destination = document->url();
4760 destination.setFragmentIdentifier("test"); 4760 destination.setFragmentIdentifier("test");
4761 4761
4762 RefPtr<WebCore::Event> event = WebCore::MouseEvent::create(WebCore::EventTyp eNames::click, false, false, 4762 RefPtr<WebCore::Event> event = WebCore::MouseEvent::create(WebCore::EventTyp eNames::click, false, false,
4763 document->domWindow(), 0, 0, 0, 0, 0, 0, 0, false, false, false, false, 1, nullptr, nullptr); 4763 document->domWindow(), 0, 0, 0, 0, 0, 0, 0, false, false, false, false, 1, nullptr, nullptr);
4764 WebCore::FrameLoadRequest frameRequest(document, WebCore::ResourceRequest(de stination)); 4764 WebCore::FrameLoadRequest frameRequest(document, WebCore::ResourceRequest(de stination));
4765 frameRequest.setTriggeringEvent(event); 4765 frameRequest.setTriggeringEvent(event);
4766 webViewHelper.webViewImpl()->page()->mainFrame()->loader().load(frameRequest ); 4766 webViewHelper.webViewImpl()->page()->mainFrame()->loader().load(frameRequest );
4767 } 4767 }
4768 4768
4769 class TestNewWindowWebViewClient : public WebViewClient { 4769 class TestNewWindowWebViewClient : public WebViewClient {
4770 public: 4770 public:
4771 virtual WebView* createView(WebFrame*, const WebURLRequest&, const WebWindow Features&, 4771 virtual WebView* createView(WebLocalFrame*, const WebURLRequest&, const WebW indowFeatures&,
4772 const WebString&, WebNavigationPolicy, bool) OVERRIDE 4772 const WebString&, WebNavigationPolicy, bool) OVERRIDE
4773 { 4773 {
4774 EXPECT_TRUE(false); 4774 EXPECT_TRUE(false);
4775 return 0; 4775 return 0;
4776 } 4776 }
4777 }; 4777 };
4778 4778
4779 class TestNewWindowWebFrameClient : public FrameTestHelpers::TestWebFrameClient { 4779 class TestNewWindowWebFrameClient : public FrameTestHelpers::TestWebFrameClient {
4780 public: 4780 public:
4781 TestNewWindowWebFrameClient() 4781 TestNewWindowWebFrameClient()
4782 : m_decidePolicyCallCount(0) 4782 : m_decidePolicyCallCount(0)
4783 { 4783 {
4784 } 4784 }
4785 4785
4786 virtual WebNavigationPolicy decidePolicyForNavigation(WebFrame*, WebDataSour ce::ExtraData*, const WebURLRequest&, 4786 virtual WebNavigationPolicy decidePolicyForNavigation(WebLocalFrame*, WebDat aSource::ExtraData*, const WebURLRequest&,
4787 WebNavigationType, WebNavigationPolicy policy, bool) OVERRIDE 4787 WebNavigationType, WebNavigationPolicy policy, bool) OVERRIDE
4788 { 4788 {
4789 m_decidePolicyCallCount++; 4789 m_decidePolicyCallCount++;
4790 return policy; 4790 return policy;
4791 } 4791 }
4792 4792
4793 int decidePolicyCallCount() const { return m_decidePolicyCallCount; } 4793 int decidePolicyCallCount() const { return m_decidePolicyCallCount; }
4794 4794
4795 private: 4795 private:
4796 int m_decidePolicyCallCount; 4796 int m_decidePolicyCallCount;
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
4920 , m_willSendRequestCallCount(0) 4920 , m_willSendRequestCallCount(0)
4921 , m_childFrameCreationCount(0) 4921 , m_childFrameCreationCount(0)
4922 { 4922 {
4923 } 4923 }
4924 4924
4925 void setChildWebFrameClient(WebFrameClient* client) { m_client = client; } 4925 void setChildWebFrameClient(WebFrameClient* client) { m_client = client; }
4926 WebURLRequest::CachePolicy cachePolicy() const { return m_policy; } 4926 WebURLRequest::CachePolicy cachePolicy() const { return m_policy; }
4927 int willSendRequestCallCount() const { return m_willSendRequestCallCount; } 4927 int willSendRequestCallCount() const { return m_willSendRequestCallCount; }
4928 int childFrameCreationCount() const { return m_childFrameCreationCount; } 4928 int childFrameCreationCount() const { return m_childFrameCreationCount; }
4929 4929
4930 virtual WebFrame* createChildFrame(WebFrame* parent, const WebString&) 4930 virtual WebFrame* createChildFrame(WebLocalFrame* parent, const WebString&)
4931 { 4931 {
4932 m_childFrameCreationCount++; 4932 m_childFrameCreationCount++;
4933 WebFrame* frame = WebFrame::create(m_client); 4933 WebFrame* frame = WebFrame::create(m_client);
4934 parent->appendChild(frame); 4934 parent->appendChild(frame);
4935 return frame; 4935 return frame;
4936 } 4936 }
4937 4937
4938 virtual void frameDetached(WebFrame* frame) OVERRIDE 4938 virtual void frameDetached(WebFrame* frame) OVERRIDE
4939 { 4939 {
4940 if (frame->parent()) 4940 if (frame->parent())
4941 frame->parent()->removeChild(frame); 4941 frame->parent()->removeChild(frame);
4942 frame->close(); 4942 frame->close();
4943 } 4943 }
4944 4944
4945 virtual void willSendRequest(WebFrame* frame, unsigned, WebURLRequest& reque st, const WebURLResponse&) OVERRIDE 4945 virtual void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest& request, const WebURLResponse&) OVERRIDE
4946 { 4946 {
4947 m_policy = request.cachePolicy(); 4947 m_policy = request.cachePolicy();
4948 m_willSendRequestCallCount++; 4948 m_willSendRequestCallCount++;
4949 } 4949 }
4950 4950
4951 private: 4951 private:
4952 WebURLRequest::CachePolicy m_policy; 4952 WebURLRequest::CachePolicy m_policy;
4953 WebFrameClient* m_client; 4953 WebFrameClient* m_client;
4954 int m_willSendRequestCallCount; 4954 int m_willSendRequestCallCount;
4955 int m_childFrameCreationCount; 4955 int m_childFrameCreationCount;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
5001 EXPECT_EQ(item.urlString().utf8(), m_baseURL + "iframe_reload.html"); 5001 EXPECT_EQ(item.urlString().utf8(), m_baseURL + "iframe_reload.html");
5002 } 5002 }
5003 5003
5004 class TestSameDocumentWebFrameClient : public FrameTestHelpers::TestWebFrameClie nt { 5004 class TestSameDocumentWebFrameClient : public FrameTestHelpers::TestWebFrameClie nt {
5005 public: 5005 public:
5006 TestSameDocumentWebFrameClient() 5006 TestSameDocumentWebFrameClient()
5007 : m_frameLoadTypeSameSeen(false) 5007 : m_frameLoadTypeSameSeen(false)
5008 { 5008 {
5009 } 5009 }
5010 5010
5011 virtual void willSendRequest(WebFrame* frame, unsigned, WebURLRequest&, cons t WebURLResponse&) 5011 virtual void willSendRequest(WebLocalFrame* frame, unsigned, WebURLRequest&, const WebURLResponse&)
5012 { 5012 {
5013 if (toWebFrameImpl(frame)->frame()->loader().loadType() == WebCore::Fram eLoadTypeSame) 5013 if (toWebFrameImpl(frame)->frame()->loader().loadType() == WebCore::Fram eLoadTypeSame)
5014 m_frameLoadTypeSameSeen = true; 5014 m_frameLoadTypeSameSeen = true;
5015 } 5015 }
5016 5016
5017 bool frameLoadTypeSameSeen() const { return m_frameLoadTypeSameSeen; } 5017 bool frameLoadTypeSameSeen() const { return m_frameLoadTypeSameSeen; }
5018 5018
5019 private: 5019 private:
5020 bool m_frameLoadTypeSameSeen; 5020 bool m_frameLoadTypeSameSeen;
5021 }; 5021 };
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
5106 EXPECT_EQ(client.differentDocumentStartCount(), 1); 5106 EXPECT_EQ(client.differentDocumentStartCount(), 1);
5107 } 5107 }
5108 5108
5109 class TestHistoryWebFrameClient : public WebFrameClient { 5109 class TestHistoryWebFrameClient : public WebFrameClient {
5110 public: 5110 public:
5111 TestHistoryWebFrameClient() 5111 TestHistoryWebFrameClient()
5112 { 5112 {
5113 m_replacesCurrentHistoryItem = false; 5113 m_replacesCurrentHistoryItem = false;
5114 m_frame = 0; 5114 m_frame = 0;
5115 } 5115 }
5116 void didStartProvisionalLoad(WebFrame* frame) 5116 void didStartProvisionalLoad(WebLocalFrame* frame)
5117 { 5117 {
5118 WebDataSource* ds = frame->provisionalDataSource(); 5118 WebDataSource* ds = frame->provisionalDataSource();
5119 m_replacesCurrentHistoryItem = ds->replacesCurrentHistoryItem(); 5119 m_replacesCurrentHistoryItem = ds->replacesCurrentHistoryItem();
5120 m_frame = frame; 5120 m_frame = frame;
5121 } 5121 }
5122 5122
5123 bool replacesCurrentHistoryItem() { return m_replacesCurrentHistoryItem; } 5123 bool replacesCurrentHistoryItem() { return m_replacesCurrentHistoryItem; }
5124 WebFrame* frame() { return m_frame; } 5124 WebFrame* frame() { return m_frame; }
5125 5125
5126 private: 5126 private:
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
5268 // After commit, there is. 5268 // After commit, there is.
5269 WebHistoryItem item = frame->currentHistoryItem(); 5269 WebHistoryItem item = frame->currentHistoryItem();
5270 ASSERT_FALSE(item.isNull()); 5270 ASSERT_FALSE(item.isNull());
5271 EXPECT_EQ(url, item.urlString().utf8()); 5271 EXPECT_EQ(url, item.urlString().utf8());
5272 } 5272 }
5273 5273
5274 class FailCreateChildFrame : public WebFrameClient { 5274 class FailCreateChildFrame : public WebFrameClient {
5275 public: 5275 public:
5276 FailCreateChildFrame() : m_callCount(0) { } 5276 FailCreateChildFrame() : m_callCount(0) { }
5277 5277
5278 virtual WebFrame* createChildFrame(WebFrame* parent, const WebString& frameN ame) OVERRIDE 5278 virtual WebFrame* createChildFrame(WebLocalFrame* parent, const WebString& f rameName) OVERRIDE
5279 { 5279 {
5280 ++m_callCount; 5280 ++m_callCount;
5281 return 0; 5281 return 0;
5282 } 5282 }
5283 5283
5284 virtual void frameDetached(WebFrame* frame) OVERRIDE 5284 virtual void frameDetached(WebFrame* frame) OVERRIDE
5285 { 5285 {
5286 frame->close(); 5286 frame->close();
5287 } 5287 }
5288 5288
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
5482 EXPECT_EQ(2U, container->percentHeightDescendants()->size()); 5482 EXPECT_EQ(2U, container->percentHeightDescendants()->size());
5483 EXPECT_TRUE(container->percentHeightDescendants()->contains(percentHeightInA nonymous)); 5483 EXPECT_TRUE(container->percentHeightDescendants()->contains(percentHeightInA nonymous));
5484 EXPECT_TRUE(container->percentHeightDescendants()->contains(percentHeightDir ectChild)); 5484 EXPECT_TRUE(container->percentHeightDescendants()->contains(percentHeightDir ectChild));
5485 5485
5486 WebCore::RenderBlock* anonymousBlock = percentHeightInAnonymous->containingB lock(); 5486 WebCore::RenderBlock* anonymousBlock = percentHeightInAnonymous->containingB lock();
5487 EXPECT_TRUE(anonymousBlock->isAnonymous()); 5487 EXPECT_TRUE(anonymousBlock->isAnonymous());
5488 EXPECT_FALSE(anonymousBlock->hasPercentHeightDescendants()); 5488 EXPECT_FALSE(anonymousBlock->hasPercentHeightDescendants());
5489 } 5489 }
5490 5490
5491 } // namespace 5491 } // namespace
OLDNEW
« no previous file with comments | « Source/web/tests/FrameTestHelpers.cpp ('k') | Source/web/tests/WebHelperPluginTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698