| OLD | NEW | 
|---|
| 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  Loading... | 
| 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  Loading... | 
| 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 | 
| OLD | NEW | 
|---|