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

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

Issue 1293253002: Connect WebUSB client interface to the devices app (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix memory leak in WeakBindingSet Created 5 years, 4 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/DEPS ('k') | content/renderer/render_frame_impl.cc » ('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 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
12 #include "base/gtest_prod_util.h" 12 #include "base/gtest_prod_util.h"
13 #include "base/id_map.h" 13 #include "base/id_map.h"
14 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
15 #include "base/memory/weak_ptr.h" 15 #include "base/memory/weak_ptr.h"
16 #include "base/observer_list.h" 16 #include "base/observer_list.h"
17 #include "base/process/process_handle.h" 17 #include "base/process/process_handle.h"
18 #include "content/common/accessibility_mode_enums.h" 18 #include "content/common/accessibility_mode_enums.h"
19 #include "content/common/frame_message_enums.h" 19 #include "content/common/frame_message_enums.h"
20 #include "content/common/mojo/service_registry_impl.h" 20 #include "content/common/mojo/service_registry_impl.h"
21 #include "content/public/common/console_message_level.h" 21 #include "content/public/common/console_message_level.h"
22 #include "content/public/common/javascript_message_type.h" 22 #include "content/public/common/javascript_message_type.h"
23 #include "content/public/common/referrer.h" 23 #include "content/public/common/referrer.h"
24 #include "content/public/renderer/render_frame.h" 24 #include "content/public/renderer/render_frame.h"
25 #include "content/renderer/render_frame_proxy.h" 25 #include "content/renderer/render_frame_proxy.h"
26 #include "content/renderer/renderer_webcookiejar_impl.h" 26 #include "content/renderer/renderer_webcookiejar_impl.h"
27 #include "ipc/ipc_message.h" 27 #include "ipc/ipc_message.h"
28 #include "media/blink/webmediaplayer_delegate.h" 28 #include "media/blink/webmediaplayer_delegate.h"
29 #include "mojo/application/public/interfaces/service_provider.mojom.h"
30 #include "mojo/application/public/interfaces/shell.mojom.h"
29 #include "third_party/WebKit/public/platform/modules/app_banner/WebAppBannerClie nt.h" 31 #include "third_party/WebKit/public/platform/modules/app_banner/WebAppBannerClie nt.h"
30 #include "third_party/WebKit/public/web/WebAXObject.h" 32 #include "third_party/WebKit/public/web/WebAXObject.h"
31 #include "third_party/WebKit/public/web/WebDataSource.h" 33 #include "third_party/WebKit/public/web/WebDataSource.h"
32 #include "third_party/WebKit/public/web/WebFrameClient.h" 34 #include "third_party/WebKit/public/web/WebFrameClient.h"
33 #include "third_party/WebKit/public/web/WebHistoryCommitType.h" 35 #include "third_party/WebKit/public/web/WebHistoryCommitType.h"
34 #include "third_party/WebKit/public/web/WebScriptExecutionCallback.h" 36 #include "third_party/WebKit/public/web/WebScriptExecutionCallback.h"
35 #include "ui/gfx/range/range.h" 37 #include "ui/gfx/range/range.h"
36 38
37 #if defined(ENABLE_PLUGINS) 39 #if defined(ENABLE_PLUGINS)
38 #include "content/renderer/pepper/plugin_power_saver_helper.h" 40 #include "content/renderer/pepper/plugin_power_saver_helper.h"
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 virtual bool enterFullscreen(); 540 virtual bool enterFullscreen();
539 virtual bool exitFullscreen(); 541 virtual bool exitFullscreen();
540 virtual blink::WebPermissionClient* permissionClient(); 542 virtual blink::WebPermissionClient* permissionClient();
541 virtual blink::WebAppBannerClient* appBannerClient(); 543 virtual blink::WebAppBannerClient* appBannerClient();
542 virtual void registerProtocolHandler(const blink::WebString& scheme, 544 virtual void registerProtocolHandler(const blink::WebString& scheme,
543 const blink::WebURL& url, 545 const blink::WebURL& url,
544 const blink::WebString& title); 546 const blink::WebString& title);
545 virtual void unregisterProtocolHandler(const blink::WebString& scheme, 547 virtual void unregisterProtocolHandler(const blink::WebString& scheme,
546 const blink::WebURL& url); 548 const blink::WebURL& url);
547 virtual blink::WebBluetooth* bluetooth(); 549 virtual blink::WebBluetooth* bluetooth();
550 virtual blink::WebUSBClient* usbClient();
548 551
549 #if defined(ENABLE_WEBVR) 552 #if defined(ENABLE_WEBVR)
550 blink::WebVRClient* webVRClient() override; 553 blink::WebVRClient* webVRClient() override;
551 #endif 554 #endif
552 555
553 // WebMediaPlayerDelegate implementation: 556 // WebMediaPlayerDelegate implementation:
554 void DidPlay(blink::WebMediaPlayer* player) override; 557 void DidPlay(blink::WebMediaPlayer* player) override;
555 void DidPause(blink::WebMediaPlayer* player) override; 558 void DidPause(blink::WebMediaPlayer* player) override;
556 void PlayerGone(blink::WebMediaPlayer* player) override; 559 void PlayerGone(blink::WebMediaPlayer* player) override;
557 560
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
823 media::interfaces::ServiceFactory* GetMediaServiceFactory(); 826 media::interfaces::ServiceFactory* GetMediaServiceFactory();
824 827
825 // Called when a connection error happened on |media_service_factory_|. 828 // Called when a connection error happened on |media_service_factory_|.
826 void OnMediaServiceFactoryConnectionError(); 829 void OnMediaServiceFactoryConnectionError();
827 #endif 830 #endif
828 831
829 media::CdmFactory* GetCdmFactory(); 832 media::CdmFactory* GetCdmFactory();
830 833
831 void RegisterMojoServices(); 834 void RegisterMojoServices();
832 835
836 // Connects to a Mojo application and returns a proxy to its exposed
837 // ServiceProvider.
838 mojo::ServiceProviderPtr ConnectToApplication(const GURL& url);
839
833 // Stores the WebLocalFrame we are associated with. This is null from the 840 // Stores the WebLocalFrame we are associated with. This is null from the
834 // constructor until SetWebFrame is called, and it is null after 841 // constructor until SetWebFrame is called, and it is null after
835 // frameDetached is called until destruction (which is asynchronous in the 842 // frameDetached is called until destruction (which is asynchronous in the
836 // case of the main frame, but not subframes). 843 // case of the main frame, but not subframes).
837 blink::WebLocalFrame* frame_; 844 blink::WebLocalFrame* frame_;
838 845
839 // Boolean value indicating whether this RenderFrameImpl object is for a 846 // Boolean value indicating whether this RenderFrameImpl object is for a
840 // subframe or not. It remains accurate during destruction, even when |frame_| 847 // subframe or not. It remains accurate during destruction, even when |frame_|
841 // has been invalidated. 848 // has been invalidated.
842 bool is_subframe_; 849 bool is_subframe_;
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
978 985
979 // The push messaging dispatcher attached to this frame, lazily initialized. 986 // The push messaging dispatcher attached to this frame, lazily initialized.
980 PushMessagingDispatcher* push_messaging_dispatcher_; 987 PushMessagingDispatcher* push_messaging_dispatcher_;
981 988
982 // The presentation dispatcher implementation attached to this frame, lazily 989 // The presentation dispatcher implementation attached to this frame, lazily
983 // initialized. 990 // initialized.
984 PresentationDispatcher* presentation_dispatcher_; 991 PresentationDispatcher* presentation_dispatcher_;
985 992
986 ServiceRegistryImpl service_registry_; 993 ServiceRegistryImpl service_registry_;
987 994
995 // The shell proxy used to connect to Mojo applications.
996 mojo::ShellPtr mojo_shell_;
997
988 // The screen orientation dispatcher attached to the frame, lazily 998 // The screen orientation dispatcher attached to the frame, lazily
989 // initialized. 999 // initialized.
990 ScreenOrientationDispatcher* screen_orientation_dispatcher_; 1000 ScreenOrientationDispatcher* screen_orientation_dispatcher_;
991 1001
992 // The Manifest Manager handles the manifest requests from the browser 1002 // The Manifest Manager handles the manifest requests from the browser
993 // process. 1003 // process.
994 ManifestManager* manifest_manager_; 1004 ManifestManager* manifest_manager_;
995 1005
996 // The current accessibility mode. 1006 // The current accessibility mode.
997 AccessibilityMode accessibility_mode_; 1007 AccessibilityMode accessibility_mode_;
998 1008
999 // Only valid if |accessibility_mode_| is anything other than 1009 // Only valid if |accessibility_mode_| is anything other than
1000 // AccessibilityModeOff. 1010 // AccessibilityModeOff.
1001 RendererAccessibility* renderer_accessibility_; 1011 RendererAccessibility* renderer_accessibility_;
1002 1012
1003 scoped_ptr<PermissionDispatcher> permission_client_; 1013 scoped_ptr<PermissionDispatcher> permission_client_;
1004 1014
1005 scoped_ptr<blink::WebAppBannerClient> app_banner_client_; 1015 scoped_ptr<blink::WebAppBannerClient> app_banner_client_;
1006 1016
1007 scoped_ptr<blink::WebBluetooth> bluetooth_; 1017 scoped_ptr<blink::WebBluetooth> bluetooth_;
1008 1018
1019 scoped_ptr<blink::WebUSBClient> usb_client_;
1020
1009 #if defined(ENABLE_WEBVR) 1021 #if defined(ENABLE_WEBVR)
1010 // The VR dispatcher attached to the frame, lazily initialized. 1022 // The VR dispatcher attached to the frame, lazily initialized.
1011 scoped_ptr<VRDispatcher> vr_dispatcher_; 1023 scoped_ptr<VRDispatcher> vr_dispatcher_;
1012 #endif 1024 #endif
1013 1025
1014 #if defined(OS_MACOSX) || defined(OS_ANDROID) 1026 #if defined(OS_MACOSX) || defined(OS_ANDROID)
1015 // The external popup for the currently showing select popup. 1027 // The external popup for the currently showing select popup.
1016 scoped_ptr<ExternalPopupMenu> external_popup_menu_; 1028 scoped_ptr<ExternalPopupMenu> external_popup_menu_;
1017 #endif 1029 #endif
1018 1030
1019 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; 1031 base::WeakPtrFactory<RenderFrameImpl> weak_factory_;
1020 1032
1021 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); 1033 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
1022 }; 1034 };
1023 1035
1024 } // namespace content 1036 } // namespace content
1025 1037
1026 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 1038 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
OLDNEW
« no previous file with comments | « content/renderer/DEPS ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698