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

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

Issue 1351443005: Refactor media permission dispatcher class and create proxy class for non-UI threads. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
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"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 92
93 class ChildFrameCompositingHelper; 93 class ChildFrameCompositingHelper;
94 class CompositorDependencies; 94 class CompositorDependencies;
95 class DevToolsAgent; 95 class DevToolsAgent;
96 class DocumentState; 96 class DocumentState;
97 class ExternalPopupMenu; 97 class ExternalPopupMenu;
98 class GeolocationDispatcher; 98 class GeolocationDispatcher;
99 class ManifestManager; 99 class ManifestManager;
100 class MediaStreamDispatcher; 100 class MediaStreamDispatcher;
101 class MediaStreamRendererFactory; 101 class MediaStreamRendererFactory;
102 class MediaPermissionDispatcher; 102 class MediaPermissionDispatcherImpl;
103 class MidiDispatcher; 103 class MidiDispatcher;
104 class NavigationState; 104 class NavigationState;
105 class NotificationPermissionDispatcher; 105 class NotificationPermissionDispatcher;
106 class PageState; 106 class PageState;
107 class PepperPluginInstanceImpl; 107 class PepperPluginInstanceImpl;
108 class PermissionDispatcher; 108 class PermissionDispatcher;
109 class PresentationDispatcher; 109 class PresentationDispatcher;
110 class PushMessagingDispatcher; 110 class PushMessagingDispatcher;
111 class RendererAccessibility; 111 class RendererAccessibility;
112 class RendererCdmManager; 112 class RendererCdmManager;
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 mojo::InterfaceRequest<mojo::ServiceProvider> services, 577 mojo::InterfaceRequest<mojo::ServiceProvider> services,
578 mojo::ServiceProviderPtr exposed_services); 578 mojo::ServiceProviderPtr exposed_services);
579 579
580 ManifestManager* manifest_manager(); 580 ManifestManager* manifest_manager();
581 581
582 // TODO(creis): Remove when the only caller, the HistoryController, is no 582 // TODO(creis): Remove when the only caller, the HistoryController, is no
583 // more. 583 // more.
584 void SetPendingNavigationParams( 584 void SetPendingNavigationParams(
585 scoped_ptr<NavigationParams> navigation_params); 585 scoped_ptr<NavigationParams> navigation_params);
586 586
587 // Expose MediaPermission to the non-UI threads. Any calls to this will be
588 // redirected to |media_permission_dispatcher_| on UI thread and have the
589 // callback called on |caller_task_runner|.
590 scoped_ptr<media::MediaPermission> CreateMediaPermissionProxy(
591 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner);
592
587 protected: 593 protected:
588 explicit RenderFrameImpl(const CreateParams& params); 594 explicit RenderFrameImpl(const CreateParams& params);
589 595
590 private: 596 private:
591 friend class RenderFrameImplTest; 597 friend class RenderFrameImplTest;
592 friend class RenderFrameObserver; 598 friend class RenderFrameObserver;
593 friend class RendererAccessibilityTest; 599 friend class RendererAccessibilityTest;
594 friend class TestRenderFrame; 600 friend class TestRenderFrame;
595 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuDisplayNoneTest, SelectItem); 601 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuDisplayNoneTest, SelectItem);
596 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuRemoveTest, RemoveOnChange); 602 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuRemoveTest, RemoveOnChange);
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 // Dispatches permission requests for Web Notifications. 953 // Dispatches permission requests for Web Notifications.
948 NotificationPermissionDispatcher* notification_permission_dispatcher_; 954 NotificationPermissionDispatcher* notification_permission_dispatcher_;
949 955
950 // Destroyed via the RenderFrameObserver::OnDestruct() mechanism. 956 // Destroyed via the RenderFrameObserver::OnDestruct() mechanism.
951 UserMediaClientImpl* web_user_media_client_; 957 UserMediaClientImpl* web_user_media_client_;
952 958
953 // EncryptedMediaClient attached to this frame; lazily initialized. 959 // EncryptedMediaClient attached to this frame; lazily initialized.
954 scoped_ptr<media::WebEncryptedMediaClientImpl> web_encrypted_media_client_; 960 scoped_ptr<media::WebEncryptedMediaClientImpl> web_encrypted_media_client_;
955 961
956 // The media permission dispatcher attached to this frame, lazily initialized. 962 // The media permission dispatcher attached to this frame, lazily initialized.
957 MediaPermissionDispatcher* media_permission_dispatcher_; 963 MediaPermissionDispatcherImpl* media_permission_dispatcher_;
958 964
959 #if defined(ENABLE_MOJO_MEDIA) 965 #if defined(ENABLE_MOJO_MEDIA)
960 // The media factory attached to this frame, lazily initialized. 966 // The media factory attached to this frame, lazily initialized.
961 media::interfaces::ServiceFactoryPtr media_service_factory_; 967 media::interfaces::ServiceFactoryPtr media_service_factory_;
962 #endif 968 #endif
963 969
964 // MidiClient attached to this frame; lazily initialized. 970 // MidiClient attached to this frame; lazily initialized.
965 MidiDispatcher* midi_dispatcher_; 971 MidiDispatcher* midi_dispatcher_;
966 972
967 #if defined(OS_ANDROID) 973 #if defined(OS_ANDROID)
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1043 #endif 1049 #endif
1044 1050
1045 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; 1051 base::WeakPtrFactory<RenderFrameImpl> weak_factory_;
1046 1052
1047 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); 1053 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
1048 }; 1054 };
1049 1055
1050 } // namespace content 1056 } // namespace content
1051 1057
1052 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 1058 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698