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

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

Issue 156123004: Move the frame tree into the embedder. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: T -> t Created 6 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 | Annotate | Revision Log
« no previous file with comments | « Source/web/tests/FrameTestHelpers.cpp ('k') | no next file » | 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 4703 matching lines...) Expand 10 before | Expand all | Expand 10 after
4714 , m_willSendRequestCallCount(0) 4714 , m_willSendRequestCallCount(0)
4715 , m_childFrameCreationCount(0) 4715 , m_childFrameCreationCount(0)
4716 { 4716 {
4717 } 4717 }
4718 4718
4719 void setChildWebFrameClient(WebFrameClient* client) { m_client = client; } 4719 void setChildWebFrameClient(WebFrameClient* client) { m_client = client; }
4720 WebURLRequest::CachePolicy cachePolicy() const { return m_policy; } 4720 WebURLRequest::CachePolicy cachePolicy() const { return m_policy; }
4721 int willSendRequestCallCount() const { return m_willSendRequestCallCount; } 4721 int willSendRequestCallCount() const { return m_willSendRequestCallCount; }
4722 int childFrameCreationCount() const { return m_childFrameCreationCount; } 4722 int childFrameCreationCount() const { return m_childFrameCreationCount; }
4723 4723
4724 virtual WebFrame* createChildFrame(WebFrame*, const WebString&) 4724 virtual WebFrame* createChildFrame(WebFrame* parent, const WebString&)
4725 { 4725 {
4726 m_childFrameCreationCount++; 4726 m_childFrameCreationCount++;
4727 return WebFrame::create(m_client); 4727 WebFrame* frame = WebFrame::create(m_client);
4728 parent->appendChild(frame);
4729 return frame;
4728 } 4730 }
4729 4731
4730 virtual void willSendRequest(WebFrame* frame, unsigned, WebURLRequest& reque st, const WebURLResponse&) 4732 virtual void frameDetached(WebFrame* frame) OVERRIDE
4733 {
4734 if (frame->parent())
4735 frame->parent()->removeChild(frame);
4736 frame->close();
4737 }
4738
4739 virtual void willSendRequest(WebFrame* frame, unsigned, WebURLRequest& reque st, const WebURLResponse&) OVERRIDE
4731 { 4740 {
4732 m_policy = request.cachePolicy(); 4741 m_policy = request.cachePolicy();
4733 m_willSendRequestCallCount++; 4742 m_willSendRequestCallCount++;
4734 } 4743 }
4735 4744
4736 private: 4745 private:
4737 WebURLRequest::CachePolicy m_policy; 4746 WebURLRequest::CachePolicy m_policy;
4738 WebFrameClient* m_client; 4747 WebFrameClient* m_client;
4739 int m_willSendRequestCallCount; 4748 int m_willSendRequestCallCount;
4740 int m_childFrameCreationCount; 4749 int m_childFrameCreationCount;
4741 }; 4750 };
4742 4751
4743 TEST_F(WebFrameTest, ReloadIframe) 4752 TEST_F(WebFrameTest, ReloadIframe)
4744 { 4753 {
4745 registerMockedHttpURLLoad("iframe_reload.html"); 4754 registerMockedHttpURLLoad("iframe_reload.html");
4746 registerMockedHttpURLLoad("visible_iframe.html"); 4755 registerMockedHttpURLLoad("visible_iframe.html");
4747 TestCachePolicyWebFrameClient mainClient; 4756 TestCachePolicyWebFrameClient mainClient;
4748 TestCachePolicyWebFrameClient childClient; 4757 TestCachePolicyWebFrameClient childClient;
4749 mainClient.setChildWebFrameClient(&childClient); 4758 mainClient.setChildWebFrameClient(&childClient);
4750 4759
4751 FrameTestHelpers::WebViewHelper webViewHelper; 4760 FrameTestHelpers::WebViewHelper webViewHelper;
4752 webViewHelper.initializeAndLoad(m_baseURL + "iframe_reload.html", true, &mai nClient); 4761 webViewHelper.initializeAndLoad(m_baseURL + "iframe_reload.html", true, &mai nClient);
4753 4762
4754 WebFrameImpl* mainFrame = webViewHelper.webViewImpl()->mainFrameImpl(); 4763 WebFrameImpl* mainFrame = webViewHelper.webViewImpl()->mainFrameImpl();
4755 WebFrameImpl* childFrame = toWebFrameImpl(mainFrame->firstChild()); 4764 RefPtr<WebFrameImpl> childFrame = toWebFrameImpl(mainFrame->firstChild());
4756 ASSERT_EQ(childFrame->client(), &childClient); 4765 ASSERT_EQ(childFrame->client(), &childClient);
4757 EXPECT_EQ(mainClient.childFrameCreationCount(), 1); 4766 EXPECT_EQ(mainClient.childFrameCreationCount(), 1);
4758 EXPECT_EQ(childClient.willSendRequestCallCount(), 1); 4767 EXPECT_EQ(childClient.willSendRequestCallCount(), 1);
4759 EXPECT_EQ(childClient.cachePolicy(), WebURLRequest::UseProtocolCachePolicy); 4768 EXPECT_EQ(childClient.cachePolicy(), WebURLRequest::UseProtocolCachePolicy);
4760 4769
4761 mainFrame->reload(false); 4770 mainFrame->reload(false);
4762 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); 4771 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests();
4763 4772
4764 // A new WebFrame should have been created, but the child WebFrameClient sho uld be reused. 4773 // A new WebFrame should have been created, but the child WebFrameClient sho uld be reused.
4765 ASSERT_FALSE(childFrame == toWebFrameImpl(mainFrame->firstChild())); 4774 ASSERT_NE(childFrame, toWebFrameImpl(mainFrame->firstChild()));
4766 ASSERT_EQ(toWebFrameImpl(mainFrame->firstChild())->client(), &childClient); 4775 ASSERT_EQ(toWebFrameImpl(mainFrame->firstChild())->client(), &childClient);
4767 4776
4768 EXPECT_EQ(mainClient.childFrameCreationCount(), 2); 4777 EXPECT_EQ(mainClient.childFrameCreationCount(), 2);
4769 EXPECT_EQ(childClient.willSendRequestCallCount(), 2); 4778 EXPECT_EQ(childClient.willSendRequestCallCount(), 2);
4770 EXPECT_EQ(childClient.cachePolicy(), WebURLRequest::ReloadIgnoringCacheData) ; 4779 EXPECT_EQ(childClient.cachePolicy(), WebURLRequest::ReloadIgnoringCacheData) ;
4771 } 4780 }
4772 4781
4773 TEST_F(WebFrameTest, ExportHistoryItemFromChildFrame) 4782 TEST_F(WebFrameTest, ExportHistoryItemFromChildFrame)
4774 { 4783 {
4775 registerMockedHttpURLLoad("iframe_reload.html"); 4784 registerMockedHttpURLLoad("iframe_reload.html");
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
5130 // Change width, ensure optimized logic for height change doesn't break repaint on width change. 5139 // Change width, ensure optimized logic for height change doesn't break repaint on width change.
5131 frameView->setTracksRepaints(true); 5140 frameView->setTracksRepaints(true);
5132 webView->resize(WebSize(300, 300)); 5141 webView->resize(WebSize(300, 300));
5133 webView->layout(); 5142 webView->layout();
5134 EXPECT_EQ_RECT(WebCore::IntRect(0, 0, 300, 300), WebCore::unionRect(fram eView->trackedRepaintRects())); 5143 EXPECT_EQ_RECT(WebCore::IntRect(0, 0, 300, 300), WebCore::unionRect(fram eView->trackedRepaintRects()));
5135 frameView->setTracksRepaints(false); 5144 frameView->setTracksRepaints(false);
5136 } 5145 }
5137 } 5146 }
5138 5147
5139 } // namespace 5148 } // namespace
OLDNEW
« no previous file with comments | « Source/web/tests/FrameTestHelpers.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698