Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1027)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 2060713002: Respect the order of input messages from browser to renderer (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@2743
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 #include "content/renderer/context_menu_params_builder.h" 90 #include "content/renderer/context_menu_params_builder.h"
91 #include "content/renderer/devtools/devtools_agent.h" 91 #include "content/renderer/devtools/devtools_agent.h"
92 #include "content/renderer/dom_automation_controller.h" 92 #include "content/renderer/dom_automation_controller.h"
93 #include "content/renderer/effective_connection_type_helper.h" 93 #include "content/renderer/effective_connection_type_helper.h"
94 #include "content/renderer/external_popup_menu.h" 94 #include "content/renderer/external_popup_menu.h"
95 #include "content/renderer/gpu/gpu_benchmarking_extension.h" 95 #include "content/renderer/gpu/gpu_benchmarking_extension.h"
96 #include "content/renderer/history_controller.h" 96 #include "content/renderer/history_controller.h"
97 #include "content/renderer/history_serialization.h" 97 #include "content/renderer/history_serialization.h"
98 #include "content/renderer/image_downloader/image_downloader_impl.h" 98 #include "content/renderer/image_downloader/image_downloader_impl.h"
99 #include "content/renderer/ime_event_guard.h" 99 #include "content/renderer/ime_event_guard.h"
100 #include "content/renderer/input/input_handler_manager.h"
100 #include "content/renderer/internal_document_state_data.h" 101 #include "content/renderer/internal_document_state_data.h"
101 #include "content/renderer/manifest/manifest_manager.h" 102 #include "content/renderer/manifest/manifest_manager.h"
102 #include "content/renderer/media/audio_device_factory.h" 103 #include "content/renderer/media/audio_device_factory.h"
103 #include "content/renderer/media/media_permission_dispatcher.h" 104 #include "content/renderer/media/media_permission_dispatcher.h"
104 #include "content/renderer/media/media_stream_dispatcher.h" 105 #include "content/renderer/media/media_stream_dispatcher.h"
105 #include "content/renderer/media/media_stream_renderer_factory_impl.h" 106 #include "content/renderer/media/media_stream_renderer_factory_impl.h"
106 #include "content/renderer/media/midi_dispatcher.h" 107 #include "content/renderer/media/midi_dispatcher.h"
107 #include "content/renderer/media/render_media_log.h" 108 #include "content/renderer/media/render_media_log.h"
108 #include "content/renderer/media/renderer_webmediaplayer_delegate.h" 109 #include "content/renderer/media/renderer_webmediaplayer_delegate.h"
109 #include "content/renderer/media/user_media_client_impl.h" 110 #include "content/renderer/media/user_media_client_impl.h"
(...skipping 996 matching lines...) Expand 10 before | Expand all | Expand 10 after
1106 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); 1107 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone());
1107 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); 1108 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct());
1108 1109
1109 base::trace_event::TraceLog::GetInstance()->RemoveProcessLabel(routing_id_); 1110 base::trace_event::TraceLog::GetInstance()->RemoveProcessLabel(routing_id_);
1110 1111
1111 #if defined(VIDEO_HOLE) 1112 #if defined(VIDEO_HOLE)
1112 if (contains_media_player_) 1113 if (contains_media_player_)
1113 render_view_->UnregisterVideoHoleFrame(this); 1114 render_view_->UnregisterVideoHoleFrame(this);
1114 #endif 1115 #endif
1115 1116
1117 // Unregister from InputHandlerManager. render_thread may be NULL in tests.
1118 RenderThreadImpl* render_thread = RenderThreadImpl::current();
1119 InputHandlerManager* input_handler_manager =
1120 render_thread ? render_thread->input_handler_manager() : nullptr;
1121 if (input_handler_manager)
1122 input_handler_manager->UnregisterRoutingID(GetRoutingID());
1123
1116 if (is_main_frame_) { 1124 if (is_main_frame_) {
1117 // Ensure the RenderView doesn't point to this object, once it is destroyed. 1125 // Ensure the RenderView doesn't point to this object, once it is destroyed.
1118 // TODO(nasko): Add a check that the |main_render_frame_| of |render_view_| 1126 // TODO(nasko): Add a check that the |main_render_frame_| of |render_view_|
1119 // is |this|, once the object is no longer leaked. 1127 // is |this|, once the object is no longer leaked.
1120 // See https://crbug.com/464764. 1128 // See https://crbug.com/464764.
1121 render_view_->main_render_frame_ = nullptr; 1129 render_view_->main_render_frame_ = nullptr;
1122 } 1130 }
1123 1131
1124 render_view_->UnregisterRenderFrame(this); 1132 render_view_->UnregisterRenderFrame(this);
1125 g_routing_id_frame_map.Get().erase(routing_id_); 1133 g_routing_id_frame_map.Get().erase(routing_id_);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1166 // DevToolsAgent is a RenderFrameObserver, and will destruct itself 1174 // DevToolsAgent is a RenderFrameObserver, and will destruct itself
1167 // when |this| is deleted. 1175 // when |this| is deleted.
1168 devtools_agent_ = new DevToolsAgent(this); 1176 devtools_agent_ = new DevToolsAgent(this);
1169 } 1177 }
1170 1178
1171 RegisterMojoServices(); 1179 RegisterMojoServices();
1172 1180
1173 // We delay calling this until we have the WebFrame so that any observer or 1181 // We delay calling this until we have the WebFrame so that any observer or
1174 // embedder can call GetWebFrame on any RenderFrame. 1182 // embedder can call GetWebFrame on any RenderFrame.
1175 GetContentClient()->renderer()->RenderFrameCreated(this); 1183 GetContentClient()->renderer()->RenderFrameCreated(this);
1184
1185 RenderThreadImpl* render_thread = RenderThreadImpl::current();
1186 // render_thread may be NULL in tests.
1187 InputHandlerManager* input_handler_manager =
1188 render_thread ? render_thread->input_handler_manager() : nullptr;
1189 if (input_handler_manager) {
1190 DCHECK(render_view_->HasAddedInputHandler());
1191 input_handler_manager->RegisterRoutingID(GetRoutingID());
1192 }
1176 } 1193 }
1177 1194
1178 void RenderFrameImpl::InitializeBlameContext(RenderFrameImpl* parent_frame) { 1195 void RenderFrameImpl::InitializeBlameContext(RenderFrameImpl* parent_frame) {
1179 DCHECK(!blame_context_); 1196 DCHECK(!blame_context_);
1180 blame_context_ = new FrameBlameContext(this, parent_frame); 1197 blame_context_ = new FrameBlameContext(this, parent_frame);
1181 blame_context_->Initialize(); 1198 blame_context_->Initialize();
1182 } 1199 }
1183 1200
1184 RenderWidget* RenderFrameImpl::GetRenderWidget() { 1201 RenderWidget* RenderFrameImpl::GetRenderWidget() {
1185 RenderFrameImpl* local_root = 1202 RenderFrameImpl* local_root =
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
1443 OnAdjustSelectionByCharacterOffset) 1460 OnAdjustSelectionByCharacterOffset)
1444 IPC_MESSAGE_HANDLER(InputMsg_Unselect, OnUnselect) 1461 IPC_MESSAGE_HANDLER(InputMsg_Unselect, OnUnselect)
1445 IPC_MESSAGE_HANDLER(InputMsg_MoveRangeSelectionExtent, 1462 IPC_MESSAGE_HANDLER(InputMsg_MoveRangeSelectionExtent,
1446 OnMoveRangeSelectionExtent) 1463 OnMoveRangeSelectionExtent)
1447 IPC_MESSAGE_HANDLER(InputMsg_Replace, OnReplace) 1464 IPC_MESSAGE_HANDLER(InputMsg_Replace, OnReplace)
1448 IPC_MESSAGE_HANDLER(InputMsg_ReplaceMisspelling, OnReplaceMisspelling) 1465 IPC_MESSAGE_HANDLER(InputMsg_ReplaceMisspelling, OnReplaceMisspelling)
1449 IPC_MESSAGE_HANDLER(InputMsg_ExtendSelectionAndDelete, 1466 IPC_MESSAGE_HANDLER(InputMsg_ExtendSelectionAndDelete,
1450 OnExtendSelectionAndDelete) 1467 OnExtendSelectionAndDelete)
1451 IPC_MESSAGE_HANDLER(InputMsg_SetCompositionFromExistingText, 1468 IPC_MESSAGE_HANDLER(InputMsg_SetCompositionFromExistingText,
1452 OnSetCompositionFromExistingText) 1469 OnSetCompositionFromExistingText)
1470 IPC_MESSAGE_HANDLER(InputMsg_SetEditableSelectionOffsets,
1471 OnSetEditableSelectionOffsets)
1453 IPC_MESSAGE_HANDLER(InputMsg_ExecuteNoValueEditCommand, 1472 IPC_MESSAGE_HANDLER(InputMsg_ExecuteNoValueEditCommand,
1454 OnExecuteNoValueEditCommand) 1473 OnExecuteNoValueEditCommand)
1455 IPC_MESSAGE_HANDLER(FrameMsg_CSSInsertRequest, OnCSSInsertRequest) 1474 IPC_MESSAGE_HANDLER(FrameMsg_CSSInsertRequest, OnCSSInsertRequest)
1456 IPC_MESSAGE_HANDLER(FrameMsg_AddMessageToConsole, OnAddMessageToConsole) 1475 IPC_MESSAGE_HANDLER(FrameMsg_AddMessageToConsole, OnAddMessageToConsole)
1457 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequest, 1476 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequest,
1458 OnJavaScriptExecuteRequest) 1477 OnJavaScriptExecuteRequest)
1459 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestForTests, 1478 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestForTests,
1460 OnJavaScriptExecuteRequestForTests) 1479 OnJavaScriptExecuteRequestForTests)
1461 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestInIsolatedWorld, 1480 IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestInIsolatedWorld,
1462 OnJavaScriptExecuteRequestInIsolatedWorld) 1481 OnJavaScriptExecuteRequestInIsolatedWorld)
1463 IPC_MESSAGE_HANDLER(FrameMsg_VisualStateRequest, 1482 IPC_MESSAGE_HANDLER(FrameMsg_VisualStateRequest,
1464 OnVisualStateRequest) 1483 OnVisualStateRequest)
1465 IPC_MESSAGE_HANDLER(FrameMsg_SetEditableSelectionOffsets,
1466 OnSetEditableSelectionOffsets)
1467 IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload) 1484 IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload)
1468 IPC_MESSAGE_HANDLER(FrameMsg_ReloadLoFiImages, OnReloadLoFiImages) 1485 IPC_MESSAGE_HANDLER(FrameMsg_ReloadLoFiImages, OnReloadLoFiImages)
1469 IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest, 1486 IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest,
1470 OnTextSurroundingSelectionRequest) 1487 OnTextSurroundingSelectionRequest)
1471 IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode, 1488 IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode,
1472 OnSetAccessibilityMode) 1489 OnSetAccessibilityMode)
1473 IPC_MESSAGE_HANDLER(AccessibilityMsg_SnapshotTree, 1490 IPC_MESSAGE_HANDLER(AccessibilityMsg_SnapshotTree,
1474 OnSnapshotAccessibilityTree) 1491 OnSnapshotAccessibilityTree)
1475 IPC_MESSAGE_HANDLER(FrameMsg_UpdateOpener, OnUpdateOpener) 1492 IPC_MESSAGE_HANDLER(FrameMsg_UpdateOpener, OnUpdateOpener)
1476 IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation) 1493 IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation)
(...skipping 4660 matching lines...) Expand 10 before | Expand all | Expand 10 after
6137 // event target. Potentially a Pepper plugin will receive the event. 6154 // event target. Potentially a Pepper plugin will receive the event.
6138 // In order to tell whether a plugin gets the last mouse event and which it 6155 // In order to tell whether a plugin gets the last mouse event and which it
6139 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets 6156 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets
6140 // the event, it will notify us via DidReceiveMouseEvent() and set itself as 6157 // the event, it will notify us via DidReceiveMouseEvent() and set itself as
6141 // |pepper_last_mouse_event_target_|. 6158 // |pepper_last_mouse_event_target_|.
6142 pepper_last_mouse_event_target_ = nullptr; 6159 pepper_last_mouse_event_target_ = nullptr;
6143 #endif 6160 #endif
6144 } 6161 }
6145 6162
6146 } // namespace content 6163 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/mus/compositor_mus_connection_unittest.cc ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698