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

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

Issue 2401333002: Add a blink InterfaceRegistry. (Closed)
Patch Set: Created 4 years, 2 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
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | third_party/WebKit/Source/core/frame/LocalFrame.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 #include "content/renderer/manifest/manifest_manager.h" 107 #include "content/renderer/manifest/manifest_manager.h"
108 #include "content/renderer/media/audio_device_factory.h" 108 #include "content/renderer/media/audio_device_factory.h"
109 #include "content/renderer/media/media_permission_dispatcher.h" 109 #include "content/renderer/media/media_permission_dispatcher.h"
110 #include "content/renderer/media/media_stream_dispatcher.h" 110 #include "content/renderer/media/media_stream_dispatcher.h"
111 #include "content/renderer/media/media_stream_renderer_factory_impl.h" 111 #include "content/renderer/media/media_stream_renderer_factory_impl.h"
112 #include "content/renderer/media/render_media_log.h" 112 #include "content/renderer/media/render_media_log.h"
113 #include "content/renderer/media/renderer_webmediaplayer_delegate.h" 113 #include "content/renderer/media/renderer_webmediaplayer_delegate.h"
114 #include "content/renderer/media/user_media_client_impl.h" 114 #include "content/renderer/media/user_media_client_impl.h"
115 #include "content/renderer/media/web_media_element_source_utils.h" 115 #include "content/renderer/media/web_media_element_source_utils.h"
116 #include "content/renderer/media/webmediaplayer_ms.h" 116 #include "content/renderer/media/webmediaplayer_ms.h"
117 #include "content/renderer/mojo/blink_interface_registry_impl.h"
117 #include "content/renderer/mojo/interface_provider_js_wrapper.h" 118 #include "content/renderer/mojo/interface_provider_js_wrapper.h"
118 #include "content/renderer/mojo_bindings_controller.h" 119 #include "content/renderer/mojo_bindings_controller.h"
119 #include "content/renderer/navigation_state_impl.h" 120 #include "content/renderer/navigation_state_impl.h"
120 #include "content/renderer/pepper/pepper_audio_controller.h" 121 #include "content/renderer/pepper/pepper_audio_controller.h"
121 #include "content/renderer/pepper/plugin_instance_throttler_impl.h" 122 #include "content/renderer/pepper/plugin_instance_throttler_impl.h"
122 #include "content/renderer/presentation/presentation_dispatcher.h" 123 #include "content/renderer/presentation/presentation_dispatcher.h"
123 #include "content/renderer/push_messaging/push_messaging_dispatcher.h" 124 #include "content/renderer/push_messaging/push_messaging_dispatcher.h"
124 #include "content/renderer/render_frame_proxy.h" 125 #include "content/renderer/render_frame_proxy.h"
125 #include "content/renderer/render_process.h" 126 #include "content/renderer/render_process.h"
126 #include "content/renderer/render_thread_impl.h" 127 #include "content/renderer/render_thread_impl.h"
(...skipping 984 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 // We don't have a shell::Connection at this point, so use nullptr. 1112 // We don't have a shell::Connection at this point, so use nullptr.
1112 // TODO(beng): We should fix this, so we can apply policy about which 1113 // TODO(beng): We should fix this, so we can apply policy about which
1113 // interfaces get exposed. 1114 // interfaces get exposed.
1114 interface_registry_.reset(new shell::InterfaceRegistry); 1115 interface_registry_.reset(new shell::InterfaceRegistry);
1115 shell::mojom::InterfaceProviderPtr remote_interfaces; 1116 shell::mojom::InterfaceProviderPtr remote_interfaces;
1116 pending_remote_interface_provider_request_ = GetProxy(&remote_interfaces); 1117 pending_remote_interface_provider_request_ = GetProxy(&remote_interfaces);
1117 remote_interfaces_.reset(new shell::InterfaceProvider); 1118 remote_interfaces_.reset(new shell::InterfaceProvider);
1118 remote_interfaces_->Bind(std::move(remote_interfaces)); 1119 remote_interfaces_->Bind(std::move(remote_interfaces));
1119 blink_interface_provider_.reset(new BlinkInterfaceProviderImpl( 1120 blink_interface_provider_.reset(new BlinkInterfaceProviderImpl(
1120 remote_interfaces_->GetWeakPtr())); 1121 remote_interfaces_->GetWeakPtr()));
1122 blink_interface_registry_.reset(
1123 new BlinkInterfaceRegistryImpl(interface_registry_->GetWeakPtr()));
1121 1124
1122 std::pair<RoutingIDFrameMap::iterator, bool> result = 1125 std::pair<RoutingIDFrameMap::iterator, bool> result =
1123 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); 1126 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this));
1124 CHECK(result.second) << "Inserting a duplicate item."; 1127 CHECK(result.second) << "Inserting a duplicate item.";
1125 1128
1126 RenderThread::Get()->AddRoute(routing_id_, this); 1129 RenderThread::Get()->AddRoute(routing_id_, this);
1127 1130
1128 render_view_->RegisterRenderFrame(this); 1131 render_view_->RegisterRenderFrame(this);
1129 1132
1130 // Everything below subclasses RenderFrameObserver and is automatically 1133 // Everything below subclasses RenderFrameObserver and is automatically
(...skipping 5215 matching lines...) Expand 10 before | Expand all | Expand 10 after
6346 media::ConvertToOutputDeviceStatusCB(web_callbacks); 6349 media::ConvertToOutputDeviceStatusCB(web_callbacks);
6347 callback.Run(AudioDeviceFactory::GetOutputDeviceInfo( 6350 callback.Run(AudioDeviceFactory::GetOutputDeviceInfo(
6348 routing_id_, 0, sink_id.utf8(), security_origin) 6351 routing_id_, 0, sink_id.utf8(), security_origin)
6349 .device_status()); 6352 .device_status());
6350 } 6353 }
6351 6354
6352 blink::InterfaceProvider* RenderFrameImpl::interfaceProvider() { 6355 blink::InterfaceProvider* RenderFrameImpl::interfaceProvider() {
6353 return blink_interface_provider_.get(); 6356 return blink_interface_provider_.get();
6354 } 6357 }
6355 6358
6359 blink::InterfaceRegistry* RenderFrameImpl::interfaceRegistry() {
6360 return blink_interface_registry_.get();
6361 }
6362
6356 blink::WebPageVisibilityState RenderFrameImpl::visibilityState() const { 6363 blink::WebPageVisibilityState RenderFrameImpl::visibilityState() const {
6357 RenderFrameImpl* local_root = 6364 RenderFrameImpl* local_root =
6358 RenderFrameImpl::FromWebFrame(frame_->localRoot()); 6365 RenderFrameImpl::FromWebFrame(frame_->localRoot());
6359 blink::WebPageVisibilityState current_state = 6366 blink::WebPageVisibilityState current_state =
6360 local_root->render_widget_->is_hidden() 6367 local_root->render_widget_->is_hidden()
6361 ? blink::WebPageVisibilityStateHidden 6368 ? blink::WebPageVisibilityStateHidden
6362 : blink::WebPageVisibilityStateVisible; 6369 : blink::WebPageVisibilityStateVisible;
6363 blink::WebPageVisibilityState override_state = current_state; 6370 blink::WebPageVisibilityState override_state = current_state;
6364 if (GetContentClient()->renderer()->ShouldOverridePageVisibilityState( 6371 if (GetContentClient()->renderer()->ShouldOverridePageVisibilityState(
6365 this, &override_state)) 6372 this, &override_state))
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
6484 // event target. Potentially a Pepper plugin will receive the event. 6491 // event target. Potentially a Pepper plugin will receive the event.
6485 // In order to tell whether a plugin gets the last mouse event and which it 6492 // In order to tell whether a plugin gets the last mouse event and which it
6486 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets 6493 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets
6487 // the event, it will notify us via DidReceiveMouseEvent() and set itself as 6494 // the event, it will notify us via DidReceiveMouseEvent() and set itself as
6488 // |pepper_last_mouse_event_target_|. 6495 // |pepper_last_mouse_event_target_|.
6489 pepper_last_mouse_event_target_ = nullptr; 6496 pepper_last_mouse_event_target_ = nullptr;
6490 #endif 6497 #endif
6491 } 6498 }
6492 6499
6493 } // namespace content 6500 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | third_party/WebKit/Source/core/frame/LocalFrame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698