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 5314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5325 FrameTestHelpers::WebViewHelper newWebViewHelper; | 5325 FrameTestHelpers::WebViewHelper newWebViewHelper; |
5326 WebView* newView = newWebViewHelper.initialize(true); | 5326 WebView* newView = newWebViewHelper.initialize(true); |
5327 newView->mainFrame()->setOpener(webViewHelper.webView()->mainFrame()); | 5327 newView->mainFrame()->setOpener(webViewHelper.webView()->mainFrame()); |
5328 runPendingTasks(); | 5328 runPendingTasks(); |
5329 EXPECT_FALSE(webFrameClient.m_didAccessInitialDocument); | 5329 EXPECT_FALSE(webFrameClient.m_didAccessInitialDocument); |
5330 | 5330 |
5331 // Access the initial document with document.write, which moves us past the | 5331 // Access the initial document with document.write, which moves us past the |
5332 // initial empty document state of the state machine. We normally set a | 5332 // initial empty document state of the state machine. We normally set a |
5333 // timer to notify the client. | 5333 // timer to notify the client. |
5334 newView->mainFrame()->executeScript( | 5334 newView->mainFrame()->executeScript( |
5335 WebScriptSource("window.opener.document.write('Modified');")); | 5335 WebScriptSource("window.opener.document.write('Modified'); window.opener
.document.close();")); |
5336 EXPECT_FALSE(webFrameClient.m_didAccessInitialDocument); | 5336 EXPECT_FALSE(webFrameClient.m_didAccessInitialDocument); |
5337 | 5337 |
5338 // Make sure that a modal dialog forces us to notify right away. | 5338 // Make sure that a modal dialog forces us to notify right away. |
5339 newView->mainFrame()->executeScript( | 5339 newView->mainFrame()->executeScript( |
5340 WebScriptSource("window.opener.confirm('Modal');")); | 5340 WebScriptSource("window.opener.confirm('Modal');")); |
5341 EXPECT_TRUE(webFrameClient.m_didAccessInitialDocument); | 5341 EXPECT_TRUE(webFrameClient.m_didAccessInitialDocument); |
5342 | 5342 |
5343 // Ensure that we don't notify again later. | 5343 // Ensure that we don't notify again later. |
5344 runPendingTasks(); | 5344 runPendingTasks(); |
5345 EXPECT_TRUE(webFrameClient.m_didAccessInitialDocument); | 5345 EXPECT_TRUE(webFrameClient.m_didAccessInitialDocument); |
(...skipping 1570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6916 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); | 6916 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); |
6917 | 6917 |
6918 // Neither should a page reload. | 6918 // Neither should a page reload. |
6919 localFrame->reload(); | 6919 localFrame->reload(); |
6920 EXPECT_EQ(4u, frameClient.provisionalLoadCount()); | 6920 EXPECT_EQ(4u, frameClient.provisionalLoadCount()); |
6921 EXPECT_FALSE(frameClient.wasLastProvisionalLoadATransition()); | 6921 EXPECT_FALSE(frameClient.wasLastProvisionalLoadATransition()); |
6922 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); | 6922 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); |
6923 } | 6923 } |
6924 | 6924 |
6925 } // namespace | 6925 } // namespace |
OLD | NEW |