| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 2012 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 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 #include "public/web/WebSelection.h" | 154 #include "public/web/WebSelection.h" |
| 155 #include "public/web/WebViewClient.h" | 155 #include "public/web/WebViewClient.h" |
| 156 #include "public/web/WebWindowFeatures.h" | 156 #include "public/web/WebWindowFeatures.h" |
| 157 #include "web/AnimationWorkletProxyClientImpl.h" | 157 #include "web/AnimationWorkletProxyClientImpl.h" |
| 158 #include "web/CompositorMutatorImpl.h" | 158 #include "web/CompositorMutatorImpl.h" |
| 159 #include "web/CompositorWorkerProxyClientImpl.h" | 159 #include "web/CompositorWorkerProxyClientImpl.h" |
| 160 #include "web/ContextMenuAllowedScope.h" | 160 #include "web/ContextMenuAllowedScope.h" |
| 161 #include "web/DedicatedWorkerMessagingProxyProviderImpl.h" | 161 #include "web/DedicatedWorkerMessagingProxyProviderImpl.h" |
| 162 #include "web/DevToolsEmulator.h" | 162 #include "web/DevToolsEmulator.h" |
| 163 #include "web/FullscreenController.h" | 163 #include "web/FullscreenController.h" |
| 164 #include "web/InspectorOverlayAgent.h" | |
| 165 #include "web/LinkHighlightImpl.h" | 164 #include "web/LinkHighlightImpl.h" |
| 166 #include "web/PageOverlay.h" | 165 #include "web/PageOverlay.h" |
| 167 #include "web/PrerendererClientImpl.h" | 166 #include "web/PrerendererClientImpl.h" |
| 168 #include "web/SpeechRecognitionClientProxy.h" | 167 #include "web/SpeechRecognitionClientProxy.h" |
| 169 #include "web/StorageQuotaClientImpl.h" | 168 #include "web/StorageQuotaClientImpl.h" |
| 170 #include "web/ValidationMessageClientImpl.h" | 169 #include "web/ValidationMessageClientImpl.h" |
| 171 #include "web/WebDevToolsAgentImpl.h" | 170 #include "web/WebDevToolsAgentImpl.h" |
| 172 #include "web/WebInputEventConversion.h" | 171 #include "web/WebInputEventConversion.h" |
| 173 #include "web/WebInputMethodControllerImpl.h" | 172 #include "web/WebInputMethodControllerImpl.h" |
| 174 #include "web/WebLocalFrameImpl.h" | 173 #include "web/WebLocalFrameImpl.h" |
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 // in destructor. m_linkHighlightsTimeline might be destroyed earlier | 427 // in destructor. m_linkHighlightsTimeline might be destroyed earlier |
| 429 // than m_linkHighlights. | 428 // than m_linkHighlights. |
| 430 DCHECK(link_highlights_.IsEmpty()); | 429 DCHECK(link_highlights_.IsEmpty()); |
| 431 } | 430 } |
| 432 | 431 |
| 433 WebDevToolsAgentImpl* WebViewImpl::MainFrameDevToolsAgentImpl() { | 432 WebDevToolsAgentImpl* WebViewImpl::MainFrameDevToolsAgentImpl() { |
| 434 WebLocalFrameImpl* main_frame = MainFrameImpl(); | 433 WebLocalFrameImpl* main_frame = MainFrameImpl(); |
| 435 return main_frame ? main_frame->DevToolsAgentImpl() : nullptr; | 434 return main_frame ? main_frame->DevToolsAgentImpl() : nullptr; |
| 436 } | 435 } |
| 437 | 436 |
| 438 InspectorOverlayAgent* WebViewImpl::GetInspectorOverlay() { | |
| 439 if (WebDevToolsAgentImpl* devtools = MainFrameDevToolsAgentImpl()) | |
| 440 return devtools->OverlayAgent(); | |
| 441 return nullptr; | |
| 442 } | |
| 443 | |
| 444 WebLocalFrameImpl* WebViewImpl::MainFrameImpl() const { | 437 WebLocalFrameImpl* WebViewImpl::MainFrameImpl() const { |
| 445 return page_ && page_->MainFrame() && page_->MainFrame()->IsLocalFrame() | 438 return page_ && page_->MainFrame() && page_->MainFrame()->IsLocalFrame() |
| 446 ? WebLocalFrameImpl::FromFrame(page_->DeprecatedLocalMainFrame()) | 439 ? WebLocalFrameImpl::FromFrame(page_->DeprecatedLocalMainFrame()) |
| 447 : nullptr; | 440 : nullptr; |
| 448 } | 441 } |
| 449 | 442 |
| 450 bool WebViewImpl::TabKeyCyclesThroughElements() const { | 443 bool WebViewImpl::TabKeyCyclesThroughElements() const { |
| 451 DCHECK(page_); | 444 DCHECK(page_); |
| 452 return page_->TabKeyCyclesThroughElements(); | 445 return page_->TabKeyCyclesThroughElements(); |
| 453 } | 446 } |
| (...skipping 1577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2031 if (!MainFrameImpl()) | 2024 if (!MainFrameImpl()) |
| 2032 return; | 2025 return; |
| 2033 | 2026 |
| 2034 DocumentLifecycle::AllowThrottlingScope throttling_scope( | 2027 DocumentLifecycle::AllowThrottlingScope throttling_scope( |
| 2035 MainFrameImpl()->GetFrame()->GetDocument()->Lifecycle()); | 2028 MainFrameImpl()->GetFrame()->GetDocument()->Lifecycle()); |
| 2036 UpdateLayerTreeBackgroundColor(); | 2029 UpdateLayerTreeBackgroundColor(); |
| 2037 | 2030 |
| 2038 PageWidgetDelegate::UpdateAllLifecyclePhases(*page_, | 2031 PageWidgetDelegate::UpdateAllLifecyclePhases(*page_, |
| 2039 *MainFrameImpl()->GetFrame()); | 2032 *MainFrameImpl()->GetFrame()); |
| 2040 | 2033 |
| 2041 if (InspectorOverlayAgent* overlay = GetInspectorOverlay()) { | 2034 if (WebDevToolsAgentImpl* devtools = MainFrameDevToolsAgentImpl()) |
| 2042 overlay->UpdateAllLifecyclePhases(); | 2035 devtools->PaintOverlay(); |
| 2043 // TODO(chrishtr): integrate paint into the overlay's lifecycle. | |
| 2044 if (overlay->GetPageOverlay() && | |
| 2045 overlay->GetPageOverlay()->GetGraphicsLayer()) | |
| 2046 overlay->GetPageOverlay()->GetGraphicsLayer()->Paint(nullptr); | |
| 2047 } | |
| 2048 if (page_color_overlay_) | 2036 if (page_color_overlay_) |
| 2049 page_color_overlay_->GetGraphicsLayer()->Paint(nullptr); | 2037 page_color_overlay_->GetGraphicsLayer()->Paint(nullptr); |
| 2050 | 2038 |
| 2051 // TODO(chrishtr): link highlights don't currently paint themselves, it's | 2039 // TODO(chrishtr): link highlights don't currently paint themselves, it's |
| 2052 // still driven by cc. Fix this. | 2040 // still driven by cc. Fix this. |
| 2053 for (size_t i = 0; i < link_highlights_.size(); ++i) | 2041 for (size_t i = 0; i < link_highlights_.size(); ++i) |
| 2054 link_highlights_[i]->UpdateGeometry(); | 2042 link_highlights_[i]->UpdateGeometry(); |
| 2055 | 2043 |
| 2056 if (FrameView* view = MainFrameImpl()->GetFrameView()) { | 2044 if (FrameView* view = MainFrameImpl()->GetFrameView()) { |
| 2057 LocalFrame* frame = MainFrameImpl()->GetFrame(); | 2045 LocalFrame* frame = MainFrameImpl()->GetFrame(); |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2174 TRACE_EVENT1("input,rail", "WebViewImpl::handleInputEvent", "type", | 2162 TRACE_EVENT1("input,rail", "WebViewImpl::handleInputEvent", "type", |
| 2175 WebInputEvent::GetName(input_event.GetType())); | 2163 WebInputEvent::GetName(input_event.GetType())); |
| 2176 | 2164 |
| 2177 // If a drag-and-drop operation is in progress, ignore input events. | 2165 // If a drag-and-drop operation is in progress, ignore input events. |
| 2178 if (MainFrameImpl()->FrameWidget()->DoingDragAndDrop()) | 2166 if (MainFrameImpl()->FrameWidget()->DoingDragAndDrop()) |
| 2179 return WebInputEventResult::kHandledSuppressed; | 2167 return WebInputEventResult::kHandledSuppressed; |
| 2180 | 2168 |
| 2181 if (dev_tools_emulator_->HandleInputEvent(input_event)) | 2169 if (dev_tools_emulator_->HandleInputEvent(input_event)) |
| 2182 return WebInputEventResult::kHandledSuppressed; | 2170 return WebInputEventResult::kHandledSuppressed; |
| 2183 | 2171 |
| 2184 if (InspectorOverlayAgent* overlay = GetInspectorOverlay()) { | 2172 if (WebDevToolsAgentImpl* devtools = MainFrameDevToolsAgentImpl()) { |
| 2185 if (overlay->HandleInputEvent(input_event)) | 2173 if (devtools->HandleInputEvent(input_event)) |
| 2186 return WebInputEventResult::kHandledSuppressed; | 2174 return WebInputEventResult::kHandledSuppressed; |
| 2187 } | 2175 } |
| 2188 | 2176 |
| 2189 // Report the event to be NOT processed by WebKit, so that the browser can | 2177 // Report the event to be NOT processed by WebKit, so that the browser can |
| 2190 // handle it appropriately. | 2178 // handle it appropriately. |
| 2191 if (WebFrameWidgetBase::IgnoreInputEvents()) | 2179 if (WebFrameWidgetBase::IgnoreInputEvents()) |
| 2192 return WebInputEventResult::kNotHandled; | 2180 return WebInputEventResult::kNotHandled; |
| 2193 | 2181 |
| 2194 AutoReset<const WebInputEvent*> current_event_change(¤t_input_event_, | 2182 AutoReset<const WebInputEvent*> current_event_change(¤t_input_event_, |
| 2195 &input_event); | 2183 &input_event); |
| (...skipping 1957 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4153 return new CompositorWorkerProxyClientImpl(&Mutator()); | 4141 return new CompositorWorkerProxyClientImpl(&Mutator()); |
| 4154 } | 4142 } |
| 4155 | 4143 |
| 4156 AnimationWorkletProxyClient* WebViewImpl::CreateAnimationWorkletProxyClient() { | 4144 AnimationWorkletProxyClient* WebViewImpl::CreateAnimationWorkletProxyClient() { |
| 4157 return new AnimationWorkletProxyClientImpl(&Mutator()); | 4145 return new AnimationWorkletProxyClientImpl(&Mutator()); |
| 4158 } | 4146 } |
| 4159 | 4147 |
| 4160 void WebViewImpl::UpdatePageOverlays() { | 4148 void WebViewImpl::UpdatePageOverlays() { |
| 4161 if (page_color_overlay_) | 4149 if (page_color_overlay_) |
| 4162 page_color_overlay_->Update(); | 4150 page_color_overlay_->Update(); |
| 4163 if (InspectorOverlayAgent* overlay = GetInspectorOverlay()) { | 4151 if (WebDevToolsAgentImpl* devtools = MainFrameDevToolsAgentImpl()) |
| 4164 PageOverlay* inspector_page_overlay = overlay->GetPageOverlay(); | 4152 devtools->LayoutOverlay(); |
| 4165 if (inspector_page_overlay) | |
| 4166 inspector_page_overlay->Update(); | |
| 4167 } | |
| 4168 } | 4153 } |
| 4169 | 4154 |
| 4170 float WebViewImpl::DeviceScaleFactor() const { | 4155 float WebViewImpl::DeviceScaleFactor() const { |
| 4171 // TODO(oshima): Investigate if this should return the ScreenInfo's scale | 4156 // TODO(oshima): Investigate if this should return the ScreenInfo's scale |
| 4172 // factor rather than page's scale factor, which can be 1 in use-zoom-for-dsf | 4157 // factor rather than page's scale factor, which can be 1 in use-zoom-for-dsf |
| 4173 // mode. | 4158 // mode. |
| 4174 if (!GetPage()) | 4159 if (!GetPage()) |
| 4175 return 1; | 4160 return 1; |
| 4176 | 4161 |
| 4177 return GetPage()->DeviceScaleFactorDeprecated(); | 4162 return GetPage()->DeviceScaleFactorDeprecated(); |
| 4178 } | 4163 } |
| 4179 | 4164 |
| 4180 LocalFrame* WebViewImpl::FocusedLocalFrameInWidget() const { | 4165 LocalFrame* WebViewImpl::FocusedLocalFrameInWidget() const { |
| 4181 if (!MainFrameImpl()) | 4166 if (!MainFrameImpl()) |
| 4182 return nullptr; | 4167 return nullptr; |
| 4183 | 4168 |
| 4184 LocalFrame* focused_frame = ToLocalFrame(FocusedCoreFrame()); | 4169 LocalFrame* focused_frame = ToLocalFrame(FocusedCoreFrame()); |
| 4185 if (focused_frame->LocalFrameRoot() != MainFrameImpl()->GetFrame()) | 4170 if (focused_frame->LocalFrameRoot() != MainFrameImpl()->GetFrame()) |
| 4186 return nullptr; | 4171 return nullptr; |
| 4187 return focused_frame; | 4172 return focused_frame; |
| 4188 } | 4173 } |
| 4189 | 4174 |
| 4190 LocalFrame* WebViewImpl::FocusedLocalFrameAvailableForIme() const { | 4175 LocalFrame* WebViewImpl::FocusedLocalFrameAvailableForIme() const { |
| 4191 return ime_accept_events_ ? FocusedLocalFrameInWidget() : nullptr; | 4176 return ime_accept_events_ ? FocusedLocalFrameInWidget() : nullptr; |
| 4192 } | 4177 } |
| 4193 | 4178 |
| 4194 } // namespace blink | 4179 } // namespace blink |
| OLD | NEW |