| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 30 */ | 30 */ |
| 31 | 31 |
| 32 #include "web/ChromeClientImpl.h" | 32 #include "web/ChromeClientImpl.h" |
| 33 | 33 |
| 34 #include <memory> | 34 #include <memory> |
| 35 #include <utility> |
| 36 |
| 35 #include "bindings/core/v8/ScriptController.h" | 37 #include "bindings/core/v8/ScriptController.h" |
| 36 #include "core/HTMLNames.h" | 38 #include "core/HTMLNames.h" |
| 37 #include "core/dom/AXObjectCache.h" | 39 #include "core/dom/AXObjectCache.h" |
| 38 #include "core/dom/Document.h" | 40 #include "core/dom/Document.h" |
| 39 #include "core/dom/Fullscreen.h" | 41 #include "core/dom/Fullscreen.h" |
| 40 #include "core/dom/Node.h" | 42 #include "core/dom/Node.h" |
| 41 #include "core/events/UIEventWithKeyState.h" | 43 #include "core/events/UIEventWithKeyState.h" |
| 42 #include "core/frame/FrameView.h" | 44 #include "core/frame/FrameView.h" |
| 43 #include "core/frame/Settings.h" | 45 #include "core/frame/Settings.h" |
| 44 #include "core/frame/VisualViewport.h" | 46 #include "core/frame/VisualViewport.h" |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 #include "web/DevToolsEmulator.h" | 115 #include "web/DevToolsEmulator.h" |
| 114 #include "web/ExternalDateTimeChooser.h" | 116 #include "web/ExternalDateTimeChooser.h" |
| 115 #include "web/ExternalPopupMenu.h" | 117 #include "web/ExternalPopupMenu.h" |
| 116 #include "web/IndexedDBClientImpl.h" | 118 #include "web/IndexedDBClientImpl.h" |
| 117 #include "web/LocalFileSystemClient.h" | 119 #include "web/LocalFileSystemClient.h" |
| 118 #include "web/NavigatorContentUtilsClientImpl.h" | 120 #include "web/NavigatorContentUtilsClientImpl.h" |
| 119 #include "web/PopupMenuImpl.h" | 121 #include "web/PopupMenuImpl.h" |
| 120 #include "web/WebFileChooserCompletionImpl.h" | 122 #include "web/WebFileChooserCompletionImpl.h" |
| 121 #include "web/WebFrameWidgetImpl.h" | 123 #include "web/WebFrameWidgetImpl.h" |
| 122 #include "web/WebInputEventConversion.h" | 124 #include "web/WebInputEventConversion.h" |
| 125 #include "web/WebKeyLockRequestCompletionImpl.h" |
| 123 #include "web/WebLocalFrameImpl.h" | 126 #include "web/WebLocalFrameImpl.h" |
| 124 #include "web/WebPluginContainerImpl.h" | 127 #include "web/WebPluginContainerImpl.h" |
| 125 #include "web/WebSettingsImpl.h" | 128 #include "web/WebSettingsImpl.h" |
| 126 #include "web/WebViewImpl.h" | 129 #include "web/WebViewImpl.h" |
| 127 | 130 |
| 128 namespace blink { | 131 namespace blink { |
| 129 | 132 |
| 130 namespace { | 133 namespace { |
| 131 | 134 |
| 132 const char* DialogTypeToString(ChromeClient::DialogType dialog_type) { | 135 const char* DialogTypeToString(ChromeClient::DialogType dialog_type) { |
| (...skipping 806 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 939 WebConsoleMessage(WebConsoleMessage::kLevelError, message)); | 942 WebConsoleMessage(WebConsoleMessage::kLevelError, message)); |
| 940 | 943 |
| 941 return false; | 944 return false; |
| 942 } | 945 } |
| 943 | 946 |
| 944 WebLayerTreeView* ChromeClientImpl::GetWebLayerTreeView(LocalFrame* frame) { | 947 WebLayerTreeView* ChromeClientImpl::GetWebLayerTreeView(LocalFrame* frame) { |
| 945 WebLocalFrameImpl* web_frame = WebLocalFrameImpl::FromFrame(frame); | 948 WebLocalFrameImpl* web_frame = WebLocalFrameImpl::FromFrame(frame); |
| 946 return web_frame->LocalRoot()->FrameWidget()->GetLayerTreeView(); | 949 return web_frame->LocalRoot()->FrameWidget()->GetLayerTreeView(); |
| 947 } | 950 } |
| 948 | 951 |
| 952 void ChromeClientImpl::RequestKeyLock(LocalFrame* frame, |
| 953 PassRefPtr<KeyboardLocker> locker) { |
| 954 // The request always comes from a valid page: the page should always has its |
| 955 // LocalFrame. |
| 956 DCHECK(frame); |
| 957 DCHECK(locker); |
| 958 WebFrameClient* client = WebLocalFrameImpl::FromFrame(frame)->Client(); |
| 959 if (!client) { |
| 960 locker->FinishLockRequest(false, WebString::FromASCII("Invalid client.")); |
| 961 return; |
| 962 } |
| 963 |
| 964 client->RequestKeyLock( |
| 965 locker->web_keycodes(), |
| 966 new WebKeyLockRequestCompletionImpl(std::move(locker))); |
| 967 } |
| 968 |
| 969 void ChromeClientImpl::CancelKeyLock(LocalFrame* frame) { |
| 970 DCHECK(frame); |
| 971 WebFrameClient* client = WebLocalFrameImpl::FromFrame(frame)->Client(); |
| 972 if (!client) { |
| 973 return; |
| 974 } |
| 975 |
| 976 client->CancelKeyLock(); |
| 977 } |
| 978 |
| 949 void ChromeClientImpl::SetEventListenerProperties( | 979 void ChromeClientImpl::SetEventListenerProperties( |
| 950 LocalFrame* frame, | 980 LocalFrame* frame, |
| 951 WebEventListenerClass event_class, | 981 WebEventListenerClass event_class, |
| 952 WebEventListenerProperties properties) { | 982 WebEventListenerProperties properties) { |
| 953 // |frame| might be null if called via TreeScopeAdopter:: | 983 // |frame| might be null if called via TreeScopeAdopter:: |
| 954 // moveNodeToNewDocument() and the new document has no frame attached. | 984 // moveNodeToNewDocument() and the new document has no frame attached. |
| 955 // Since a document without a frame cannot attach one later, it is safe to | 985 // Since a document without a frame cannot attach one later, it is safe to |
| 956 // exit early. | 986 // exit early. |
| 957 if (!frame) | 987 if (!frame) |
| 958 return; | 988 return; |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1233 if (RuntimeEnabledFeatures::presentationEnabled()) | 1263 if (RuntimeEnabledFeatures::presentationEnabled()) |
| 1234 PresentationController::ProvideTo(frame, client->PresentationClient()); | 1264 PresentationController::ProvideTo(frame, client->PresentationClient()); |
| 1235 if (RuntimeEnabledFeatures::audioOutputDevicesEnabled()) { | 1265 if (RuntimeEnabledFeatures::audioOutputDevicesEnabled()) { |
| 1236 ProvideAudioOutputDeviceClientTo(frame, | 1266 ProvideAudioOutputDeviceClientTo(frame, |
| 1237 new AudioOutputDeviceClientImpl(frame)); | 1267 new AudioOutputDeviceClientImpl(frame)); |
| 1238 } | 1268 } |
| 1239 InstalledAppController::ProvideTo(frame, client->GetRelatedAppsFetcher()); | 1269 InstalledAppController::ProvideTo(frame, client->GetRelatedAppsFetcher()); |
| 1240 } | 1270 } |
| 1241 | 1271 |
| 1242 } // namespace blink | 1272 } // namespace blink |
| OLD | NEW |