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 6507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6518 m_webViewHelper.initializeAndLoad(m_baseURL + "frame-a-b-c.html"); | 6518 m_webViewHelper.initializeAndLoad(m_baseURL + "frame-a-b-c.html"); |
6519 } | 6519 } |
6520 | 6520 |
6521 void reset() { m_webViewHelper.reset(); } | 6521 void reset() { m_webViewHelper.reset(); } |
6522 WebFrame* mainFrame() const { return m_webViewHelper.webView()->mainFrame(); } | 6522 WebFrame* mainFrame() const { return m_webViewHelper.webView()->mainFrame(); } |
6523 | 6523 |
6524 private: | 6524 private: |
6525 FrameTestHelpers::WebViewHelper m_webViewHelper; | 6525 FrameTestHelpers::WebViewHelper m_webViewHelper; |
6526 }; | 6526 }; |
6527 | 6527 |
6528 // FIXME: We should have tests for main frame swaps, but it interacts poorly | 6528 TEST_F(WebFrameSwapTest, SwapMainFrame) |
6529 // with the geolocation inspector agent, since the lifetime of the inspector | 6529 { |
6530 // agent is tied to the Page, but the inspector agent is created by the | 6530 WebFrame* remoteFrame = WebRemoteFrame::create(0); |
6531 // instantiation of the main frame. | 6531 mainFrame()->swap(remoteFrame); |
6532 | |
6533 FrameTestHelpers::TestWebFrameClient client; | |
6534 WebFrame* localFrame = WebLocalFrame::create(&client); | |
6535 remoteFrame->swap(localFrame); | |
6536 | |
6537 // FIXME: This almost certainly fires more load events on the iframe element | |
6538 // than it should. | |
Nate Chapin
2014/10/16 21:17:46
This comment seems out of place?
dcheng
2014/10/16 21:20:20
It's about the call to loadFrame() below... but I
Nate Chapin
2014/10/16 21:21:47
Well, maybe I'm missing something, but I don't see
dcheng
2014/10/16 21:23:22
Hm. Good point. I've removed this FIXME.
| |
6539 // Finally, make sure an embedder triggered load in the local frame swapped | |
6540 // back in works. | |
6541 FrameTestHelpers::loadFrame(localFrame, m_baseURL + "subframe-hello.html"); | |
6542 std::string content = localFrame->contentAsText(1024).utf8(); | |
6543 EXPECT_EQ("hello", content); | |
6544 | |
6545 // Manually reset to break WebViewHelper's dependency on the stack allocated | |
6546 // TestWebFrameClient. | |
6547 reset(); | |
6548 remoteFrame->close(); | |
6549 } | |
6532 | 6550 |
6533 void swapAndVerifyFirstChildConsistency(const char* const message, WebFrame* par ent, WebFrame* newChild) | 6551 void swapAndVerifyFirstChildConsistency(const char* const message, WebFrame* par ent, WebFrame* newChild) |
6534 { | 6552 { |
6535 SCOPED_TRACE(message); | 6553 SCOPED_TRACE(message); |
6536 parent->firstChild()->swap(newChild); | 6554 parent->firstChild()->swap(newChild); |
6537 | 6555 |
6538 EXPECT_EQ(newChild, parent->firstChild()); | 6556 EXPECT_EQ(newChild, parent->firstChild()); |
6539 EXPECT_EQ(newChild->parent(), parent); | 6557 EXPECT_EQ(newChild->parent(), parent); |
6540 EXPECT_EQ(newChild, parent->lastChild()->previousSibling()->previousSibling( )); | 6558 EXPECT_EQ(newChild, parent->lastChild()->previousSibling()->previousSibling( )); |
6541 EXPECT_EQ(newChild->nextSibling(), parent->lastChild()->previousSibling()); | 6559 EXPECT_EQ(newChild->nextSibling(), parent->lastChild()->previousSibling()); |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6782 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); | 6800 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); |
6783 | 6801 |
6784 // Neither should a page reload. | 6802 // Neither should a page reload. |
6785 localFrame->reload(); | 6803 localFrame->reload(); |
6786 EXPECT_EQ(4u, frameClient.provisionalLoadCount()); | 6804 EXPECT_EQ(4u, frameClient.provisionalLoadCount()); |
6787 EXPECT_FALSE(frameClient.wasLastProvisionalLoadATransition()); | 6805 EXPECT_FALSE(frameClient.wasLastProvisionalLoadATransition()); |
6788 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); | 6806 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); |
6789 } | 6807 } |
6790 | 6808 |
6791 } // namespace | 6809 } // namespace |
OLD | NEW |