| 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 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 | 231 |
| 232 EXPECT_EQ(forms.size(), 1U); | 232 EXPECT_EQ(forms.size(), 1U); |
| 233 | 233 |
| 234 // This test passes if this doesn't crash. | 234 // This test passes if this doesn't crash. |
| 235 WebSearchableFormData searchableDataForm(forms[0]); | 235 WebSearchableFormData searchableDataForm(forms[0]); |
| 236 } | 236 } |
| 237 | 237 |
| 238 TEST_F(WebFrameTest, ChromePageJavascript) | 238 TEST_F(WebFrameTest, ChromePageJavascript) |
| 239 { | 239 { |
| 240 registerMockedChromeURLLoad("history.html"); | 240 registerMockedChromeURLLoad("history.html"); |
| 241 | 241 |
| 242 // Pass true to enable JavaScript. | 242 // Pass true to enable JavaScript. |
| 243 m_webView = FrameTestHelpers::createWebViewAndLoad(m_chromeURL + "history.ht
ml", true); | 243 m_webView = FrameTestHelpers::createWebViewAndLoad(m_chromeURL + "history.ht
ml", true); |
| 244 | 244 |
| 245 // Try to run JS against the chrome-style URL. | 245 // Try to run JS against the chrome-style URL. |
| 246 FrameTestHelpers::loadFrame(m_webView->mainFrame(), "javascript:document.bod
y.appendChild(document.createTextNode('Clobbered'))"); | 246 FrameTestHelpers::loadFrame(m_webView->mainFrame(), "javascript:document.bod
y.appendChild(document.createTextNode('Clobbered'))"); |
| 247 | 247 |
| 248 // Required to see any updates in contentAsText. | 248 // Required to see any updates in contentAsText. |
| 249 m_webView->layout(); | 249 m_webView->layout(); |
| 250 | 250 |
| 251 // Now retrieve the frame's text and ensure it was modified by running javas
cript. | 251 // Now retrieve the frame's text and ensure it was modified by running javas
cript. |
| (...skipping 19 matching lines...) Expand all Loading... |
| 271 std::string content = std::string(m_webView->mainFrame()->contentAsText(1024
).utf8().data()); | 271 std::string content = std::string(m_webView->mainFrame()->contentAsText(1024
).utf8().data()); |
| 272 EXPECT_EQ(std::string::npos, content.find("Clobbered")); | 272 EXPECT_EQ(std::string::npos, content.find("Clobbered")); |
| 273 } | 273 } |
| 274 | 274 |
| 275 TEST_F(WebFrameTest, DispatchMessageEventWithOriginCheck) | 275 TEST_F(WebFrameTest, DispatchMessageEventWithOriginCheck) |
| 276 { | 276 { |
| 277 registerMockedHttpURLLoad("postmessage_test.html"); | 277 registerMockedHttpURLLoad("postmessage_test.html"); |
| 278 | 278 |
| 279 // Pass true to enable JavaScript. | 279 // Pass true to enable JavaScript. |
| 280 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "postmessage_
test.html", true); | 280 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "postmessage_
test.html", true); |
| 281 | 281 |
| 282 // Send a message with the correct origin. | 282 // Send a message with the correct origin. |
| 283 WebSecurityOrigin correctOrigin(WebSecurityOrigin::create(toKURL(m_baseURL))
); | 283 WebSecurityOrigin correctOrigin(WebSecurityOrigin::create(toKURL(m_baseURL))
); |
| 284 WebDOMEvent event = m_webView->mainFrame()->document().createEvent("MessageE
vent"); | 284 WebDOMEvent event = m_webView->mainFrame()->document().createEvent("MessageE
vent"); |
| 285 WebDOMMessageEvent message = event.to<WebDOMMessageEvent>(); | 285 WebDOMMessageEvent message = event.to<WebDOMMessageEvent>(); |
| 286 WebSerializedScriptValue data(WebSerializedScriptValue::fromString("foo")); | 286 WebSerializedScriptValue data(WebSerializedScriptValue::fromString("foo")); |
| 287 message.initMessageEvent("message", false, false, data, "http://origin.com",
0, ""); | 287 message.initMessageEvent("message", false, false, data, "http://origin.com",
0, ""); |
| 288 m_webView->mainFrame()->dispatchMessageEventWithOriginCheck(correctOrigin, m
essage); | 288 m_webView->mainFrame()->dispatchMessageEventWithOriginCheck(correctOrigin, m
essage); |
| 289 | 289 |
| 290 // Send another message with incorrect origin. | 290 // Send another message with incorrect origin. |
| 291 WebSecurityOrigin incorrectOrigin(WebSecurityOrigin::create(toKURL(m_chromeU
RL))); | 291 WebSecurityOrigin incorrectOrigin(WebSecurityOrigin::create(toKURL(m_chromeU
RL))); |
| (...skipping 1656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1948 m_webView->close(); | 1948 m_webView->close(); |
| 1949 m_webView = 0; | 1949 m_webView = 0; |
| 1950 } | 1950 } |
| 1951 | 1951 |
| 1952 class TestDidCreateFrameWebFrameClient : public WebFrameClient { | 1952 class TestDidCreateFrameWebFrameClient : public WebFrameClient { |
| 1953 public: | 1953 public: |
| 1954 TestDidCreateFrameWebFrameClient() : m_frameCount(0), m_parent(0) | 1954 TestDidCreateFrameWebFrameClient() : m_frameCount(0), m_parent(0) |
| 1955 { | 1955 { |
| 1956 } | 1956 } |
| 1957 | 1957 |
| 1958 virtual void didCreateFrame(WebFrame* parent, WebFrame* child) | 1958 virtual void didCreateFrame(WebFrame* parent, WebFrame* child) |
| 1959 { | 1959 { |
| 1960 m_frameCount++; | 1960 m_frameCount++; |
| 1961 if (!m_parent) | 1961 if (!m_parent) |
| 1962 m_parent = parent; | 1962 m_parent = parent; |
| 1963 } | 1963 } |
| 1964 | 1964 |
| 1965 int m_frameCount; | 1965 int m_frameCount; |
| 1966 WebFrame* m_parent; | 1966 WebFrame* m_parent; |
| 1967 }; | 1967 }; |
| 1968 | 1968 |
| 1969 TEST_F(WebFrameTest, DidCreateFrame) | 1969 TEST_F(WebFrameTest, DidCreateFrame) |
| 1970 { | 1970 { |
| 1971 registerMockedHttpURLLoad("iframes_test.html"); | 1971 registerMockedHttpURLLoad("iframes_test.html"); |
| 1972 registerMockedHttpURLLoad("visible_iframe.html"); | 1972 registerMockedHttpURLLoad("visible_iframe.html"); |
| 1973 registerMockedHttpURLLoad("invisible_iframe.html"); | 1973 registerMockedHttpURLLoad("invisible_iframe.html"); |
| 1974 registerMockedHttpURLLoad("zero_sized_iframe.html"); | 1974 registerMockedHttpURLLoad("zero_sized_iframe.html"); |
| 1975 | 1975 |
| 1976 TestDidCreateFrameWebFrameClient webFrameClient; | 1976 TestDidCreateFrameWebFrameClient webFrameClient; |
| 1977 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "iframes_test
.html", false, &webFrameClient); | 1977 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "iframes_test
.html", false, &webFrameClient); |
| 1978 | 1978 |
| 1979 EXPECT_EQ(webFrameClient.m_frameCount, 3); | 1979 EXPECT_EQ(webFrameClient.m_frameCount, 3); |
| 1980 EXPECT_EQ(webFrameClient.m_parent, m_webView->mainFrame()); | 1980 EXPECT_EQ(webFrameClient.m_parent, m_webView->mainFrame()); |
| 1981 | 1981 |
| 1982 m_webView->close(); | 1982 m_webView->close(); |
| 1983 m_webView = 0; | 1983 m_webView = 0; |
| 1984 } | 1984 } |
| 1985 | 1985 |
| 1986 class FindUpdateWebFrameClient : public WebFrameClient { | 1986 class FindUpdateWebFrameClient : public WebFrameClient { |
| 1987 public: | 1987 public: |
| 1988 FindUpdateWebFrameClient() | 1988 FindUpdateWebFrameClient() |
| 1989 : m_findResultsAreReady(false) | 1989 : m_findResultsAreReady(false) |
| (...skipping 1179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3169 public: | 3169 public: |
| 3170 TestAccessInitialDocumentWebFrameClient() : m_didAccessInitialDocument(false
) | 3170 TestAccessInitialDocumentWebFrameClient() : m_didAccessInitialDocument(false
) |
| 3171 { | 3171 { |
| 3172 } | 3172 } |
| 3173 | 3173 |
| 3174 virtual void didAccessInitialDocument(WebFrame* frame) | 3174 virtual void didAccessInitialDocument(WebFrame* frame) |
| 3175 { | 3175 { |
| 3176 EXPECT_TRUE(!m_didAccessInitialDocument); | 3176 EXPECT_TRUE(!m_didAccessInitialDocument); |
| 3177 m_didAccessInitialDocument = true; | 3177 m_didAccessInitialDocument = true; |
| 3178 } | 3178 } |
| 3179 | 3179 |
| 3180 bool m_didAccessInitialDocument; | 3180 bool m_didAccessInitialDocument; |
| 3181 }; | 3181 }; |
| 3182 | 3182 |
| 3183 TEST_F(WebFrameTest, DidAccessInitialDocumentBody) | 3183 TEST_F(WebFrameTest, DidAccessInitialDocumentBody) |
| 3184 { | 3184 { |
| 3185 TestAccessInitialDocumentWebFrameClient webFrameClient; | 3185 TestAccessInitialDocumentWebFrameClient webFrameClient; |
| 3186 m_webView = FrameTestHelpers::createWebView(true, &webFrameClient); | 3186 m_webView = FrameTestHelpers::createWebView(true, &webFrameClient); |
| 3187 runPendingTasks(); | 3187 runPendingTasks(); |
| 3188 EXPECT_FALSE(webFrameClient.m_didAccessInitialDocument); | 3188 EXPECT_FALSE(webFrameClient.m_didAccessInitialDocument); |
| 3189 | 3189 |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3461 webViewImpl->page()->mainFrame()->loader()->load(frameRequest); | 3461 webViewImpl->page()->mainFrame()->loader()->load(frameRequest); |
| 3462 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); | 3462 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); |
| 3463 | 3463 |
| 3464 EXPECT_TRUE(client.frameLoadTypeSameSeen()); | 3464 EXPECT_TRUE(client.frameLoadTypeSameSeen()); |
| 3465 m_webView->close(); | 3465 m_webView->close(); |
| 3466 m_webView = 0; | 3466 m_webView = 0; |
| 3467 } | 3467 } |
| 3468 | 3468 |
| 3469 | 3469 |
| 3470 } // namespace | 3470 } // namespace |
| OLD | NEW |