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 7106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7117 mainFrame()->executeScript(WebScriptSource( | 7117 mainFrame()->executeScript(WebScriptSource( |
7118 "document.getElementsByTagName('iframe')[0].contentWindow.location = 'da
ta:text/html,hi'")); | 7118 "document.getElementsByTagName('iframe')[0].contentWindow.location = 'da
ta:text/html,hi'")); |
7119 ASSERT_FALSE(client.lastRequest().isNull()); | 7119 ASSERT_FALSE(client.lastRequest().isNull()); |
7120 EXPECT_EQ(WebURL(toKURL("data:text/html,hi")), client.lastRequest().url()); | 7120 EXPECT_EQ(WebURL(toKURL("data:text/html,hi")), client.lastRequest().url()); |
7121 | 7121 |
7122 // Manually reset to break WebViewHelper's dependency on the stack allocated | 7122 // Manually reset to break WebViewHelper's dependency on the stack allocated |
7123 // TestWebFrameClient. | 7123 // TestWebFrameClient. |
7124 reset(); | 7124 reset(); |
7125 } | 7125 } |
7126 | 7126 |
7127 TEST_F(WebFrameSwapTest, WindowOpenOnRemoteFrame) | |
7128 { | |
7129 RemoteNavigationClient remoteClient; | |
7130 WebRemoteFrame* remoteFrame = remoteClient.frame(); | |
7131 mainFrame()->firstChild()->swap(remoteFrame); | |
7132 remoteFrame->setReplicatedOrigin(WebSecurityOrigin::createFromString("http:/
/127.0.0.1")); | |
7133 | |
7134 KURL destination = toKURL("data:text/html:destination"); | |
7135 ASSERT_TRUE(mainFrame()->isWebLocalFrame()); | |
7136 ASSERT_TRUE(mainFrame()->firstChild()->isWebRemoteFrame()); | |
7137 LocalDOMWindow* mainWindow = toWebLocalFrameImpl(mainFrame())->frame()->loca
lDOMWindow(); | |
7138 mainWindow->open(destination.string(), "frame1", "", mainWindow, mainWindow)
; | |
7139 ASSERT_FALSE(remoteClient.lastRequest().isNull()); | |
7140 EXPECT_EQ(remoteClient.lastRequest().url(), WebURL(destination)); | |
7141 | |
7142 reset(); | |
7143 } | |
7144 | |
7145 class CommitTypeWebFrameClient : public FrameTestHelpers::TestWebFrameClient { | 7127 class CommitTypeWebFrameClient : public FrameTestHelpers::TestWebFrameClient { |
7146 public: | 7128 public: |
7147 explicit CommitTypeWebFrameClient() | 7129 explicit CommitTypeWebFrameClient() |
7148 : m_historyCommitType(WebHistoryInertCommit) | 7130 : m_historyCommitType(WebHistoryInertCommit) |
7149 { | 7131 { |
7150 } | 7132 } |
7151 | 7133 |
7152 void didCommitProvisionalLoad(WebLocalFrame*, const WebHistoryItem&, WebHist
oryCommitType historyCommitType) override | 7134 void didCommitProvisionalLoad(WebLocalFrame*, const WebHistoryItem&, WebHist
oryCommitType historyCommitType) override |
7153 { | 7135 { |
7154 m_historyCommitType = historyCommitType; | 7136 m_historyCommitType = historyCommitType; |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7341 ASSERT_EQ(2u, popupWebFrameClient.messages.size()); | 7323 ASSERT_EQ(2u, popupWebFrameClient.messages.size()); |
7342 EXPECT_TRUE(std::string::npos != popupWebFrameClient.messages[1].text.utf8()
.find("Blocked a frame")); | 7324 EXPECT_TRUE(std::string::npos != popupWebFrameClient.messages[1].text.utf8()
.find("Blocked a frame")); |
7343 | 7325 |
7344 // Manually reset to break WebViewHelpers' dependencies on the stack | 7326 // Manually reset to break WebViewHelpers' dependencies on the stack |
7345 // allocated WebFrameClients. | 7327 // allocated WebFrameClients. |
7346 webViewHelper.reset(); | 7328 webViewHelper.reset(); |
7347 popupWebViewHelper.reset(); | 7329 popupWebViewHelper.reset(); |
7348 } | 7330 } |
7349 | 7331 |
7350 } // namespace blink | 7332 } // namespace blink |
OLD | NEW |