| 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 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 #include "core/page/FrameTree.h" | 149 #include "core/page/FrameTree.h" |
| 150 #include "core/page/Page.h" | 150 #include "core/page/Page.h" |
| 151 #include "core/page/PrintContext.h" | 151 #include "core/page/PrintContext.h" |
| 152 #include "core/paint/DeprecatedPaintLayer.h" | 152 #include "core/paint/DeprecatedPaintLayer.h" |
| 153 #include "core/paint/ScopeRecorder.h" | 153 #include "core/paint/ScopeRecorder.h" |
| 154 #include "core/paint/TransformRecorder.h" | 154 #include "core/paint/TransformRecorder.h" |
| 155 #include "core/timing/DOMWindowPerformance.h" | 155 #include "core/timing/DOMWindowPerformance.h" |
| 156 #include "core/timing/Performance.h" | 156 #include "core/timing/Performance.h" |
| 157 #include "modules/app_banner/AppBannerController.h" | 157 #include "modules/app_banner/AppBannerController.h" |
| 158 #include "modules/bluetooth/BluetoothSupplement.h" | 158 #include "modules/bluetooth/BluetoothSupplement.h" |
| 159 #include "modules/geolocation/GeolocationController.h" | |
| 160 #include "modules/notifications/NotificationPermissionClient.h" | 159 #include "modules/notifications/NotificationPermissionClient.h" |
| 161 #include "modules/permissions/PermissionController.h" | 160 #include "modules/permissions/PermissionController.h" |
| 162 #include "modules/presentation/PresentationController.h" | 161 #include "modules/presentation/PresentationController.h" |
| 163 #include "modules/push_messaging/PushController.h" | 162 #include "modules/push_messaging/PushController.h" |
| 164 #include "modules/screen_orientation/ScreenOrientationController.h" | 163 #include "modules/screen_orientation/ScreenOrientationController.h" |
| 165 #include "modules/vr/VRController.h" | 164 #include "modules/vr/VRController.h" |
| 166 #include "modules/wake_lock/ScreenWakeLock.h" | 165 #include "modules/wake_lock/ScreenWakeLock.h" |
| 167 #include "modules/webusb/USBController.h" | 166 #include "modules/webusb/USBController.h" |
| 168 #include "platform/ScriptForbiddenScope.h" | 167 #include "platform/ScriptForbiddenScope.h" |
| 169 #include "platform/TraceEvent.h" | 168 #include "platform/TraceEvent.h" |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 #include "public/web/WebPrintPresetOptions.h" | 211 #include "public/web/WebPrintPresetOptions.h" |
| 213 #include "public/web/WebRange.h" | 212 #include "public/web/WebRange.h" |
| 214 #include "public/web/WebScriptSource.h" | 213 #include "public/web/WebScriptSource.h" |
| 215 #include "public/web/WebSerializedScriptValue.h" | 214 #include "public/web/WebSerializedScriptValue.h" |
| 216 #include "public/web/WebTestInterfaceFactory.h" | 215 #include "public/web/WebTestInterfaceFactory.h" |
| 217 #include "public/web/WebTreeScopeType.h" | 216 #include "public/web/WebTreeScopeType.h" |
| 218 #include "skia/ext/platform_device.h" | 217 #include "skia/ext/platform_device.h" |
| 219 #include "web/AssociatedURLLoader.h" | 218 #include "web/AssociatedURLLoader.h" |
| 220 #include "web/CompositionUnderlineVectorBuilder.h" | 219 #include "web/CompositionUnderlineVectorBuilder.h" |
| 221 #include "web/FindInPageCoordinates.h" | 220 #include "web/FindInPageCoordinates.h" |
| 222 #include "web/GeolocationClientProxy.h" | |
| 223 #include "web/LocalFileSystemClient.h" | 221 #include "web/LocalFileSystemClient.h" |
| 224 #include "web/MIDIClientProxy.h" | 222 #include "web/MIDIClientProxy.h" |
| 225 #include "web/NavigatorContentUtilsClientImpl.h" | 223 #include "web/NavigatorContentUtilsClientImpl.h" |
| 226 #include "web/NotificationPermissionClientImpl.h" | 224 #include "web/NotificationPermissionClientImpl.h" |
| 227 #include "web/RemoteBridgeFrameOwner.h" | 225 #include "web/RemoteBridgeFrameOwner.h" |
| 228 #include "web/SharedWorkerRepositoryClientImpl.h" | 226 #include "web/SharedWorkerRepositoryClientImpl.h" |
| 229 #include "web/SuspendableScriptExecutor.h" | 227 #include "web/SuspendableScriptExecutor.h" |
| 230 #include "web/TextFinder.h" | 228 #include "web/TextFinder.h" |
| 231 #include "web/WebDataSourceImpl.h" | 229 #include "web/WebDataSourceImpl.h" |
| 232 #include "web/WebDevToolsAgentImpl.h" | 230 #include "web/WebDevToolsAgentImpl.h" |
| (...skipping 1419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1652 | 1650 |
| 1653 WebLocalFrameImpl::WebLocalFrameImpl(WebTreeScopeType scope, WebFrameClient* cli
ent) | 1651 WebLocalFrameImpl::WebLocalFrameImpl(WebTreeScopeType scope, WebFrameClient* cli
ent) |
| 1654 : WebLocalFrame(scope) | 1652 : WebLocalFrame(scope) |
| 1655 , m_frameLoaderClientImpl(FrameLoaderClientImpl::create(this)) | 1653 , m_frameLoaderClientImpl(FrameLoaderClientImpl::create(this)) |
| 1656 , m_frameWidget(0) | 1654 , m_frameWidget(0) |
| 1657 , m_client(client) | 1655 , m_client(client) |
| 1658 , m_autofillClient(0) | 1656 , m_autofillClient(0) |
| 1659 , m_contentSettingsClient(0) | 1657 , m_contentSettingsClient(0) |
| 1660 , m_inputEventsScaleFactorForEmulation(1) | 1658 , m_inputEventsScaleFactorForEmulation(1) |
| 1661 , m_userMediaClientImpl(this) | 1659 , m_userMediaClientImpl(this) |
| 1662 , m_geolocationClientProxy(GeolocationClientProxy::create(client ? client->g
eolocationClient() : 0)) | |
| 1663 , m_webDevToolsFrontend(0) | 1660 , m_webDevToolsFrontend(0) |
| 1664 #if ENABLE(OILPAN) | 1661 #if ENABLE(OILPAN) |
| 1665 , m_selfKeepAlive(this) | 1662 , m_selfKeepAlive(this) |
| 1666 #endif | 1663 #endif |
| 1667 { | 1664 { |
| 1668 Platform::current()->incrementStatsCounter(webFrameActiveCount); | 1665 Platform::current()->incrementStatsCounter(webFrameActiveCount); |
| 1669 frameCount++; | 1666 frameCount++; |
| 1670 } | 1667 } |
| 1671 | 1668 |
| 1672 WebLocalFrameImpl::~WebLocalFrameImpl() | 1669 WebLocalFrameImpl::~WebLocalFrameImpl() |
| 1673 { | 1670 { |
| 1674 // The widget for the frame, if any, must have already been closed. | 1671 // The widget for the frame, if any, must have already been closed. |
| 1675 ASSERT(!m_frameWidget); | 1672 ASSERT(!m_frameWidget); |
| 1676 Platform::current()->decrementStatsCounter(webFrameActiveCount); | 1673 Platform::current()->decrementStatsCounter(webFrameActiveCount); |
| 1677 frameCount--; | 1674 frameCount--; |
| 1678 | 1675 |
| 1679 #if !ENABLE(OILPAN) | 1676 #if !ENABLE(OILPAN) |
| 1680 cancelPendingScopingEffort(); | 1677 cancelPendingScopingEffort(); |
| 1681 #endif | 1678 #endif |
| 1682 } | 1679 } |
| 1683 | 1680 |
| 1684 #if ENABLE(OILPAN) | 1681 #if ENABLE(OILPAN) |
| 1685 DEFINE_TRACE(WebLocalFrameImpl) | 1682 DEFINE_TRACE(WebLocalFrameImpl) |
| 1686 { | 1683 { |
| 1687 visitor->trace(m_frameLoaderClientImpl); | 1684 visitor->trace(m_frameLoaderClientImpl); |
| 1688 visitor->trace(m_frame); | 1685 visitor->trace(m_frame); |
| 1689 visitor->trace(m_devToolsAgent); | 1686 visitor->trace(m_devToolsAgent); |
| 1690 visitor->trace(m_textFinder); | 1687 visitor->trace(m_textFinder); |
| 1691 visitor->trace(m_printContext); | 1688 visitor->trace(m_printContext); |
| 1692 visitor->trace(m_geolocationClientProxy); | |
| 1693 visitor->template registerWeakMembers<WebFrame, &WebFrame::clearWeakFrames>(
this); | 1689 visitor->template registerWeakMembers<WebFrame, &WebFrame::clearWeakFrames>(
this); |
| 1694 WebFrame::traceFrames(visitor, this); | 1690 WebFrame::traceFrames(visitor, this); |
| 1695 } | 1691 } |
| 1696 #endif | 1692 #endif |
| 1697 | 1693 |
| 1698 void WebLocalFrameImpl::setCoreFrame(PassRefPtrWillBeRawPtr<LocalFrame> frame) | 1694 void WebLocalFrameImpl::setCoreFrame(PassRefPtrWillBeRawPtr<LocalFrame> frame) |
| 1699 { | 1695 { |
| 1700 m_frame = frame; | 1696 m_frame = frame; |
| 1701 | 1697 |
| 1702 // FIXME: we shouldn't add overhead to every frame by registering these obje
cts when they're not used. | 1698 // FIXME: we shouldn't add overhead to every frame by registering these obje
cts when they're not used. |
| 1703 if (m_frame) { | 1699 if (m_frame) { |
| 1704 if (m_client) | 1700 if (m_client) |
| 1705 providePushControllerTo(*m_frame, m_client->pushClient()); | 1701 providePushControllerTo(*m_frame, m_client->pushClient()); |
| 1706 | 1702 |
| 1707 provideNotificationPermissionClientTo(*m_frame, NotificationPermissionCl
ientImpl::create()); | 1703 provideNotificationPermissionClientTo(*m_frame, NotificationPermissionCl
ientImpl::create()); |
| 1708 provideUserMediaTo(*m_frame, &m_userMediaClientImpl); | 1704 provideUserMediaTo(*m_frame, &m_userMediaClientImpl); |
| 1709 provideGeolocationTo(*m_frame, m_geolocationClientProxy.get()); | |
| 1710 m_geolocationClientProxy->setController(GeolocationController::from(m_fr
ame.get())); | |
| 1711 provideMIDITo(*m_frame, MIDIClientProxy::create(m_client ? m_client->web
MIDIClient() : nullptr)); | 1705 provideMIDITo(*m_frame, MIDIClientProxy::create(m_client ? m_client->web
MIDIClient() : nullptr)); |
| 1712 provideLocalFileSystemTo(*m_frame, LocalFileSystemClient::create()); | 1706 provideLocalFileSystemTo(*m_frame, LocalFileSystemClient::create()); |
| 1713 provideNavigatorContentUtilsTo(*m_frame, NavigatorContentUtilsClientImpl
::create(this)); | 1707 provideNavigatorContentUtilsTo(*m_frame, NavigatorContentUtilsClientImpl
::create(this)); |
| 1714 | 1708 |
| 1715 if (RuntimeEnabledFeatures::webBluetoothEnabled()) | 1709 if (RuntimeEnabledFeatures::webBluetoothEnabled()) |
| 1716 BluetoothSupplement::provideTo(*m_frame, m_client ? m_client->blueto
oth() : nullptr); | 1710 BluetoothSupplement::provideTo(*m_frame, m_client ? m_client->blueto
oth() : nullptr); |
| 1717 if (RuntimeEnabledFeatures::screenOrientationEnabled()) | 1711 if (RuntimeEnabledFeatures::screenOrientationEnabled()) |
| 1718 ScreenOrientationController::provideTo(*m_frame, m_client ? m_client
->webScreenOrientationClient() : nullptr); | 1712 ScreenOrientationController::provideTo(*m_frame, m_client ? m_client
->webScreenOrientationClient() : nullptr); |
| 1719 if (RuntimeEnabledFeatures::presentationEnabled()) | 1713 if (RuntimeEnabledFeatures::presentationEnabled()) |
| 1720 PresentationController::provideTo(*m_frame, m_client ? m_client->pre
sentationClient() : nullptr); | 1714 PresentationController::provideTo(*m_frame, m_client ? m_client->pre
sentationClient() : nullptr); |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2191 } | 2185 } |
| 2192 | 2186 |
| 2193 WebSandboxFlags WebLocalFrameImpl::effectiveSandboxFlags() const | 2187 WebSandboxFlags WebLocalFrameImpl::effectiveSandboxFlags() const |
| 2194 { | 2188 { |
| 2195 if (!frame()) | 2189 if (!frame()) |
| 2196 return WebSandboxFlags::None; | 2190 return WebSandboxFlags::None; |
| 2197 return static_cast<WebSandboxFlags>(frame()->loader().effectiveSandboxFlags(
)); | 2191 return static_cast<WebSandboxFlags>(frame()->loader().effectiveSandboxFlags(
)); |
| 2198 } | 2192 } |
| 2199 | 2193 |
| 2200 } // namespace blink | 2194 } // namespace blink |
| OLD | NEW |