OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/render_view_impl.h" | 5 #include "content/renderer/render_view_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
711 } else { | 711 } else { |
712 OnEnableAutoResize(params.min_size, params.max_size); | 712 OnEnableAutoResize(params.min_size, params.max_size); |
713 } | 713 } |
714 | 714 |
715 // We don't use HistoryController in OOPIF-enabled modes. | 715 // We don't use HistoryController in OOPIF-enabled modes. |
716 if (!SiteIsolationPolicy::UseSubframeNavigationEntries()) | 716 if (!SiteIsolationPolicy::UseSubframeNavigationEntries()) |
717 history_controller_.reset(new HistoryController(this)); | 717 history_controller_.reset(new HistoryController(this)); |
718 | 718 |
719 new IdleUserDetector(this); | 719 new IdleUserDetector(this); |
720 | 720 |
721 if (command_line.HasSwitch(switches::kDomAutomationController)) | |
722 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION; | |
723 if (command_line.HasSwitch(switches::kStatsCollectionController)) | |
724 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION; | |
725 | |
726 GetContentClient()->renderer()->RenderViewCreated(this); | 721 GetContentClient()->renderer()->RenderViewCreated(this); |
727 | 722 |
728 // Ensure that sandbox flags are inherited from an opener in a different | 723 // Ensure that sandbox flags are inherited from an opener in a different |
729 // process. In that case, the browser process will set any inherited sandbox | 724 // process. In that case, the browser process will set any inherited sandbox |
730 // flags in |replicated_frame_state|, so apply them here. | 725 // flags in |replicated_frame_state|, so apply them here. |
731 if (!was_created_by_renderer && webview()->mainFrame()->isWebLocalFrame()) { | 726 if (!was_created_by_renderer && webview()->mainFrame()->isWebLocalFrame()) { |
732 webview()->mainFrame()->toWebLocalFrame()->forceSandboxFlags( | 727 webview()->mainFrame()->toWebLocalFrame()->forceSandboxFlags( |
733 params.replicated_frame_state.sandbox_flags); | 728 params.replicated_frame_state.sandbox_flags); |
734 } | 729 } |
735 | 730 |
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1204 return true; | 1199 return true; |
1205 } | 1200 } |
1206 | 1201 |
1207 bool handled = true; | 1202 bool handled = true; |
1208 IPC_BEGIN_MESSAGE_MAP(RenderViewImpl, message) | 1203 IPC_BEGIN_MESSAGE_MAP(RenderViewImpl, message) |
1209 IPC_MESSAGE_HANDLER(InputMsg_ExecuteEditCommand, OnExecuteEditCommand) | 1204 IPC_MESSAGE_HANDLER(InputMsg_ExecuteEditCommand, OnExecuteEditCommand) |
1210 IPC_MESSAGE_HANDLER(InputMsg_MoveCaret, OnMoveCaret) | 1205 IPC_MESSAGE_HANDLER(InputMsg_MoveCaret, OnMoveCaret) |
1211 IPC_MESSAGE_HANDLER(InputMsg_ScrollFocusedEditableNodeIntoRect, | 1206 IPC_MESSAGE_HANDLER(InputMsg_ScrollFocusedEditableNodeIntoRect, |
1212 OnScrollFocusedEditableNodeIntoRect) | 1207 OnScrollFocusedEditableNodeIntoRect) |
1213 IPC_MESSAGE_HANDLER(ViewMsg_SetPageScale, OnSetPageScale) | 1208 IPC_MESSAGE_HANDLER(ViewMsg_SetPageScale, OnSetPageScale) |
1214 IPC_MESSAGE_HANDLER(ViewMsg_AllowBindings, OnAllowBindings) | |
1215 IPC_MESSAGE_HANDLER(ViewMsg_SetInitialFocus, OnSetInitialFocus) | 1209 IPC_MESSAGE_HANDLER(ViewMsg_SetInitialFocus, OnSetInitialFocus) |
1216 IPC_MESSAGE_HANDLER(ViewMsg_UpdateTargetURL_ACK, OnUpdateTargetURLAck) | 1210 IPC_MESSAGE_HANDLER(ViewMsg_UpdateTargetURL_ACK, OnUpdateTargetURLAck) |
1217 IPC_MESSAGE_HANDLER(ViewMsg_UpdateWebPreferences, OnUpdateWebPreferences) | 1211 IPC_MESSAGE_HANDLER(ViewMsg_UpdateWebPreferences, OnUpdateWebPreferences) |
1218 IPC_MESSAGE_HANDLER(ViewMsg_EnumerateDirectoryResponse, | 1212 IPC_MESSAGE_HANDLER(ViewMsg_EnumerateDirectoryResponse, |
1219 OnEnumerateDirectoryResponse) | 1213 OnEnumerateDirectoryResponse) |
1220 IPC_MESSAGE_HANDLER(ViewMsg_ClosePage, OnClosePage) | 1214 IPC_MESSAGE_HANDLER(ViewMsg_ClosePage, OnClosePage) |
1221 IPC_MESSAGE_HANDLER(ViewMsg_MoveOrResizeStarted, OnMoveOrResizeStarted) | 1215 IPC_MESSAGE_HANDLER(ViewMsg_MoveOrResizeStarted, OnMoveOrResizeStarted) |
1222 IPC_MESSAGE_HANDLER(ViewMsg_SetBackgroundOpaque, OnSetBackgroundOpaque) | 1216 IPC_MESSAGE_HANDLER(ViewMsg_SetBackgroundOpaque, OnSetBackgroundOpaque) |
1223 IPC_MESSAGE_HANDLER(ViewMsg_EnablePreferredSizeChangedMode, | 1217 IPC_MESSAGE_HANDLER(ViewMsg_EnablePreferredSizeChangedMode, |
1224 OnEnablePreferredSizeChangedMode) | 1218 OnEnablePreferredSizeChangedMode) |
(...skipping 806 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2031 blink::WebFrameWidget* RenderViewImpl::GetWebFrameWidget() { | 2025 blink::WebFrameWidget* RenderViewImpl::GetWebFrameWidget() { |
2032 return frame_widget_; | 2026 return frame_widget_; |
2033 } | 2027 } |
2034 | 2028 |
2035 bool RenderViewImpl::ShouldDisplayScrollbars(int width, int height) const { | 2029 bool RenderViewImpl::ShouldDisplayScrollbars(int width, int height) const { |
2036 return (!send_preferred_size_changes_ || | 2030 return (!send_preferred_size_changes_ || |
2037 (disable_scrollbars_size_limit_.width() <= width || | 2031 (disable_scrollbars_size_limit_.width() <= width || |
2038 disable_scrollbars_size_limit_.height() <= height)); | 2032 disable_scrollbars_size_limit_.height() <= height)); |
2039 } | 2033 } |
2040 | 2034 |
2041 int RenderViewImpl::GetEnabledBindings() const { | |
2042 return enabled_bindings_; | |
2043 } | |
2044 | |
2045 bool RenderViewImpl::GetContentStateImmediately() const { | 2035 bool RenderViewImpl::GetContentStateImmediately() const { |
2046 return send_content_state_immediately_; | 2036 return send_content_state_immediately_; |
2047 } | 2037 } |
2048 | 2038 |
2049 void RenderViewImpl::OnSetPageScale(float page_scale_factor) { | 2039 void RenderViewImpl::OnSetPageScale(float page_scale_factor) { |
2050 if (!webview()) | 2040 if (!webview()) |
2051 return; | 2041 return; |
2052 webview()->setPageScaleFactor(page_scale_factor); | 2042 webview()->setPageScaleFactor(page_scale_factor); |
2053 } | 2043 } |
2054 | 2044 |
(...skipping 12 matching lines...) Expand all Loading... |
2067 if (uses_temporary_zoom_level_) | 2057 if (uses_temporary_zoom_level_) |
2068 return; | 2058 return; |
2069 break; | 2059 break; |
2070 default: | 2060 default: |
2071 NOTIMPLEMENTED(); | 2061 NOTIMPLEMENTED(); |
2072 } | 2062 } |
2073 webview()->hidePopups(); | 2063 webview()->hidePopups(); |
2074 SetZoomLevel(zoom_level); | 2064 SetZoomLevel(zoom_level); |
2075 } | 2065 } |
2076 | 2066 |
2077 void RenderViewImpl::OnAllowBindings(int enabled_bindings_flags) { | |
2078 if ((enabled_bindings_flags & BINDINGS_POLICY_WEB_UI) && | |
2079 !(enabled_bindings_ & BINDINGS_POLICY_WEB_UI)) { | |
2080 // WebUIExtensionData deletes itself when we're destroyed. | |
2081 new WebUIExtensionData(this); | |
2082 } | |
2083 | |
2084 enabled_bindings_ |= enabled_bindings_flags; | |
2085 | |
2086 // Keep track of the total bindings accumulated in this process. | |
2087 RenderProcess::current()->AddBindings(enabled_bindings_flags); | |
2088 | |
2089 if (main_render_frame_) | |
2090 main_render_frame_->MaybeEnableMojoBindings(); | |
2091 } | |
2092 | |
2093 void RenderViewImpl::OnUpdateWebPreferences(const WebPreferences& prefs) { | 2067 void RenderViewImpl::OnUpdateWebPreferences(const WebPreferences& prefs) { |
2094 webkit_preferences_ = prefs; | 2068 webkit_preferences_ = prefs; |
2095 ApplyWebPreferencesInternal(webkit_preferences_, webview(), compositor_deps_); | 2069 ApplyWebPreferencesInternal(webkit_preferences_, webview(), compositor_deps_); |
2096 } | 2070 } |
2097 | 2071 |
2098 void RenderViewImpl::OnEnumerateDirectoryResponse( | 2072 void RenderViewImpl::OnEnumerateDirectoryResponse( |
2099 int id, | 2073 int id, |
2100 const std::vector<base::FilePath>& paths) { | 2074 const std::vector<base::FilePath>& paths) { |
2101 if (!enumeration_completions_[id]) | 2075 if (!enumeration_completions_[id]) |
2102 return; | 2076 return; |
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2733 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); | 2707 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
2734 } | 2708 } |
2735 | 2709 |
2736 std::unique_ptr<InputEventAck> ack( | 2710 std::unique_ptr<InputEventAck> ack( |
2737 new InputEventAck(InputEventAckSource::MAIN_THREAD, input_event->type(), | 2711 new InputEventAck(InputEventAckSource::MAIN_THREAD, input_event->type(), |
2738 INPUT_EVENT_ACK_STATE_NOT_CONSUMED)); | 2712 INPUT_EVENT_ACK_STATE_NOT_CONSUMED)); |
2739 OnInputEventAck(std::move(ack)); | 2713 OnInputEventAck(std::move(ack)); |
2740 } | 2714 } |
2741 | 2715 |
2742 } // namespace content | 2716 } // namespace content |
OLD | NEW |