| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 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 869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 880 frameRequest.setLockBackForwardList(replace); | 880 frameRequest.setLockBackForwardList(replace); |
| 881 frame()->loader().load(frameRequest); | 881 frame()->loader().load(frameRequest); |
| 882 } | 882 } |
| 883 | 883 |
| 884 void WebLocalFrameImpl::loadHTMLString(const WebData& data, const WebURL& baseUR
L, const WebURL& unreachableURL, bool replace) | 884 void WebLocalFrameImpl::loadHTMLString(const WebData& data, const WebURL& baseUR
L, const WebURL& unreachableURL, bool replace) |
| 885 { | 885 { |
| 886 ASSERT(frame()); | 886 ASSERT(frame()); |
| 887 loadData(data, WebString::fromUTF8("text/html"), WebString::fromUTF8("UTF-8"
), baseURL, unreachableURL, replace); | 887 loadData(data, WebString::fromUTF8("text/html"), WebString::fromUTF8("UTF-8"
), baseURL, unreachableURL, replace); |
| 888 } | 888 } |
| 889 | 889 |
| 890 void WebLocalFrameImpl::sendPings(const WebNode& linkNode, const WebURL& destina
tionURL) | |
| 891 { | |
| 892 ASSERT(frame()); | |
| 893 const Node* node = linkNode.constUnwrap<Node>(); | |
| 894 if (isHTMLAnchorElement(node)) | |
| 895 toHTMLAnchorElement(node)->sendPings(destinationURL); | |
| 896 } | |
| 897 | |
| 898 bool WebLocalFrameImpl::isLoading() const | |
| 899 { | |
| 900 if (!frame() || !frame()->document()) | |
| 901 return false; | |
| 902 return frame()->loader().stateMachine()->isDisplayingInitialEmptyDocument()
|| !frame()->document()->loadEventFinished(); | |
| 903 } | |
| 904 | |
| 905 bool WebLocalFrameImpl::isResourceLoadInProgress() const | |
| 906 { | |
| 907 if (!frame() || !frame()->document()) | |
| 908 return false; | |
| 909 return frame()->document()->fetcher()->requestCount(); | |
| 910 } | |
| 911 | |
| 912 void WebLocalFrameImpl::stopLoading() | 890 void WebLocalFrameImpl::stopLoading() |
| 913 { | 891 { |
| 914 if (!frame()) | 892 if (!frame()) |
| 915 return; | 893 return; |
| 916 // FIXME: Figure out what we should really do here. It seems like a bug | 894 // FIXME: Figure out what we should really do here. It seems like a bug |
| 917 // that FrameLoader::stopLoading doesn't call stopAllLoaders. | 895 // that FrameLoader::stopLoading doesn't call stopAllLoaders. |
| 918 frame()->loader().stopAllLoaders(); | 896 frame()->loader().stopAllLoaders(); |
| 919 } | 897 } |
| 920 | 898 |
| 921 WebDataSource* WebLocalFrameImpl::provisionalDataSource() const | 899 WebDataSource* WebLocalFrameImpl::provisionalDataSource() const |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1231 | 1209 |
| 1232 void WebLocalFrameImpl::extendSelectionAndDelete(int before, int after) | 1210 void WebLocalFrameImpl::extendSelectionAndDelete(int before, int after) |
| 1233 { | 1211 { |
| 1234 if (WebPlugin* plugin = focusedPluginIfInputMethodSupported()) { | 1212 if (WebPlugin* plugin = focusedPluginIfInputMethodSupported()) { |
| 1235 plugin->extendSelectionAndDelete(before, after); | 1213 plugin->extendSelectionAndDelete(before, after); |
| 1236 return; | 1214 return; |
| 1237 } | 1215 } |
| 1238 frame()->inputMethodController().extendSelectionAndDelete(before, after); | 1216 frame()->inputMethodController().extendSelectionAndDelete(before, after); |
| 1239 } | 1217 } |
| 1240 | 1218 |
| 1241 void WebLocalFrameImpl::navigateToSandboxedMarkup(const WebData& markup) | |
| 1242 { | |
| 1243 ASSERT(document().securityOrigin().isUnique()); | |
| 1244 frame()->loader().forceSandboxFlags(SandboxAll); | |
| 1245 loadHTMLString(markup, document().url(), WebURL(), true); | |
| 1246 } | |
| 1247 | |
| 1248 void WebLocalFrameImpl::setCaretVisible(bool visible) | 1219 void WebLocalFrameImpl::setCaretVisible(bool visible) |
| 1249 { | 1220 { |
| 1250 frame()->selection().setCaretVisible(visible); | 1221 frame()->selection().setCaretVisible(visible); |
| 1251 } | 1222 } |
| 1252 | 1223 |
| 1253 VisiblePosition WebLocalFrameImpl::visiblePositionForWindowPoint(const WebPoint&
point) | 1224 VisiblePosition WebLocalFrameImpl::visiblePositionForWindowPoint(const WebPoint&
point) |
| 1254 { | 1225 { |
| 1255 // FIXME(bokan): crbug.com/371902 - These scale/pinch transforms shouldn't | 1226 // FIXME(bokan): crbug.com/371902 - These scale/pinch transforms shouldn't |
| 1256 // be ad hoc and explicit. | 1227 // be ad hoc and explicit. |
| 1257 PinchViewport& pinchViewport = frame()->page()->frameHost().pinchViewport(); | 1228 PinchViewport& pinchViewport = frame()->page()->frameHost().pinchViewport(); |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1403 // This function should only be called on the mainframe. | 1374 // This function should only be called on the mainframe. |
| 1404 ASSERT(!parent()); | 1375 ASSERT(!parent()); |
| 1405 ensureTextFinder().increaseMatchCount(identifier, count); | 1376 ensureTextFinder().increaseMatchCount(identifier, count); |
| 1406 } | 1377 } |
| 1407 | 1378 |
| 1408 void WebLocalFrameImpl::resetMatchCount() | 1379 void WebLocalFrameImpl::resetMatchCount() |
| 1409 { | 1380 { |
| 1410 ensureTextFinder().resetMatchCount(); | 1381 ensureTextFinder().resetMatchCount(); |
| 1411 } | 1382 } |
| 1412 | 1383 |
| 1413 void WebLocalFrameImpl::sendOrientationChangeEvent() | |
| 1414 { | |
| 1415 if (!frame()) | |
| 1416 return; | |
| 1417 | |
| 1418 // Screen Orientation API | |
| 1419 if (ScreenOrientationController::from(*frame())) | |
| 1420 ScreenOrientationController::from(*frame())->notifyOrientationChanged(); | |
| 1421 | |
| 1422 // Legacy window.orientation API. | |
| 1423 if (RuntimeEnabledFeatures::orientationEventEnabled() && frame()->domWindow(
)) | |
| 1424 frame()->domWindow()->dispatchEvent(Event::create(EventTypeNames::orient
ationchange)); | |
| 1425 } | |
| 1426 | |
| 1427 void WebLocalFrameImpl::dispatchMessageEventWithOriginCheck(const WebSecurityOri
gin& intendedTargetOrigin, const WebDOMEvent& event) | 1384 void WebLocalFrameImpl::dispatchMessageEventWithOriginCheck(const WebSecurityOri
gin& intendedTargetOrigin, const WebDOMEvent& event) |
| 1428 { | 1385 { |
| 1429 ASSERT(!event.isNull()); | 1386 ASSERT(!event.isNull()); |
| 1430 frame()->domWindow()->dispatchMessageEventWithOriginCheck(intendedTargetOrig
in.get(), event, nullptr); | 1387 frame()->domWindow()->dispatchMessageEventWithOriginCheck(intendedTargetOrig
in.get(), event, nullptr); |
| 1431 } | 1388 } |
| 1432 | 1389 |
| 1433 int WebLocalFrameImpl::findMatchMarkersVersion() const | 1390 int WebLocalFrameImpl::findMatchMarkersVersion() const |
| 1434 { | 1391 { |
| 1435 ASSERT(!parent()); | 1392 ASSERT(!parent()); |
| 1436 | 1393 |
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1856 { | 1813 { |
| 1857 RefPtrWillBeRawPtr<Element> styleElement = frame()->document()->createElemen
t(HTMLNames::linkTag, false); | 1814 RefPtrWillBeRawPtr<Element> styleElement = frame()->document()->createElemen
t(HTMLNames::linkTag, false); |
| 1858 | 1815 |
| 1859 styleElement->setAttribute(HTMLNames::typeAttr, "text/css"); | 1816 styleElement->setAttribute(HTMLNames::typeAttr, "text/css"); |
| 1860 styleElement->setAttribute(HTMLNames::relAttr, "stylesheet"); | 1817 styleElement->setAttribute(HTMLNames::relAttr, "stylesheet"); |
| 1861 styleElement->setAttribute(HTMLNames::hrefAttr, url); | 1818 styleElement->setAttribute(HTMLNames::hrefAttr, url); |
| 1862 | 1819 |
| 1863 frame()->document()->head()->appendChild(styleElement.release(), IGNORE_EXCE
PTION); | 1820 frame()->document()->head()->appendChild(styleElement.release(), IGNORE_EXCE
PTION); |
| 1864 } | 1821 } |
| 1865 | 1822 |
| 1823 void WebLocalFrameImpl::navigateToSandboxedMarkup(const WebData& markup) |
| 1824 { |
| 1825 ASSERT(document().securityOrigin().isUnique()); |
| 1826 frame()->loader().forceSandboxFlags(SandboxAll); |
| 1827 loadHTMLString(markup, document().url(), WebURL(), true); |
| 1828 } |
| 1829 |
| 1830 void WebLocalFrameImpl::sendPings(const WebNode& linkNode, const WebURL& destina
tionURL) |
| 1831 { |
| 1832 ASSERT(frame()); |
| 1833 const Node* node = linkNode.constUnwrap<Node>(); |
| 1834 if (isHTMLAnchorElement(node)) |
| 1835 toHTMLAnchorElement(node)->sendPings(destinationURL); |
| 1836 } |
| 1837 |
| 1838 bool WebLocalFrameImpl::isLoading() const |
| 1839 { |
| 1840 if (!frame() || !frame()->document()) |
| 1841 return false; |
| 1842 return frame()->loader().stateMachine()->isDisplayingInitialEmptyDocument()
|| !frame()->document()->loadEventFinished(); |
| 1843 } |
| 1844 |
| 1845 bool WebLocalFrameImpl::isResourceLoadInProgress() const |
| 1846 { |
| 1847 if (!frame() || !frame()->document()) |
| 1848 return false; |
| 1849 return frame()->document()->fetcher()->requestCount(); |
| 1850 } |
| 1851 |
| 1852 void WebLocalFrameImpl::sendOrientationChangeEvent() |
| 1853 { |
| 1854 if (!frame()) |
| 1855 return; |
| 1856 |
| 1857 // Screen Orientation API |
| 1858 if (ScreenOrientationController::from(*frame())) |
| 1859 ScreenOrientationController::from(*frame())->notifyOrientationChanged(); |
| 1860 |
| 1861 // Legacy window.orientation API. |
| 1862 if (RuntimeEnabledFeatures::orientationEventEnabled() && frame()->domWindow(
)) |
| 1863 frame()->domWindow()->dispatchEvent(Event::create(EventTypeNames::orient
ationchange)); |
| 1864 } |
| 1865 |
| 1866 v8::Handle<v8::Value> WebLocalFrameImpl::executeScriptAndReturnValueForTests(con
st WebScriptSource& source) |
| 1867 { |
| 1868 // FIXME: This fake UserGestureIndicator is required for a bunch of browser |
| 1869 // tests to pass. We should update the tests to simulate input and get rid |
| 1870 // of this. |
| 1871 // http://code.google.com/p/chromium/issues/detail?id=86397 |
| 1872 UserGestureIndicator gestureIndicator(DefinitelyProcessingNewUserGesture); |
| 1873 return executeScriptAndReturnValue(source); |
| 1874 } |
| 1875 |
| 1866 void WebLocalFrameImpl::willDetachParent() | 1876 void WebLocalFrameImpl::willDetachParent() |
| 1867 { | 1877 { |
| 1868 // Do not expect string scoping results from any frames that got detached | 1878 // Do not expect string scoping results from any frames that got detached |
| 1869 // in the middle of the operation. | 1879 // in the middle of the operation. |
| 1870 if (m_textFinder && m_textFinder->scopingInProgress()) { | 1880 if (m_textFinder && m_textFinder->scopingInProgress()) { |
| 1871 | 1881 |
| 1872 // There is a possibility that the frame being detached was the only | 1882 // There is a possibility that the frame being detached was the only |
| 1873 // pending one. We need to make sure final replies can be sent. | 1883 // pending one. We need to make sure final replies can be sent. |
| 1874 m_textFinder->flushCurrentScoping(); | 1884 m_textFinder->flushCurrentScoping(); |
| 1875 | 1885 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1913 | 1923 |
| 1914 void WebLocalFrameImpl::invalidateAll() const | 1924 void WebLocalFrameImpl::invalidateAll() const |
| 1915 { | 1925 { |
| 1916 ASSERT(frame() && frame()->view()); | 1926 ASSERT(frame() && frame()->view()); |
| 1917 FrameView* view = frame()->view(); | 1927 FrameView* view = frame()->view(); |
| 1918 view->invalidateRect(view->frameRect()); | 1928 view->invalidateRect(view->frameRect()); |
| 1919 invalidateScrollbar(); | 1929 invalidateScrollbar(); |
| 1920 } | 1930 } |
| 1921 | 1931 |
| 1922 } // namespace blink | 1932 } // namespace blink |
| OLD | NEW |