Changeset 108437 in webkit
- Timestamp:
- Feb 21, 2012 7:56:43 PM (12 years ago)
- Location:
- trunk/Source
- Files:
-
- 2 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r108436 r108437 1 2012-02-20 MORITA Hajime <morrita@google.com> 2 3 MEDIA_STREAM should be implemented as a PageSupplement. 4 https://bugs.webkit.org/show_bug.cgi?id=79050 5 6 Reviewed by Adam Barth. 7 8 Added UserMediaController which implements PageSupplement. This 9 controller mediates WebCore-to-client communication and lifecycle 10 management. Then pushed UserMediaController out as a 11 PageSupplement module. 12 13 No new tests. No behavior change. 14 15 * WebCore.gypi: 16 * GNUmakefile.list.am: 17 * mediastream/NavigatorMediaStream.cpp: 18 (WebCore::NavigatorMediaStream::webkitGetUserMedia): 19 * mediastream/UserMediaClient.h: 20 (WebCore): 21 * mediastream/UserMediaController.cpp: Added. 22 (WebCore): 23 (WebCore::UserMediaController::supplementName): 24 (WebCore::UserMediaController::UserMediaController): 25 (WebCore::UserMediaController::~UserMediaController): 26 (WebCore::UserMediaController::create): 27 (WebCore::provideUserMediaTo): 28 * mediastream/UserMediaController.h: Added. 29 (WebCore): 30 (UserMediaController): 31 (WebCore::UserMediaController::client): 32 (WebCore::UserMediaController::from): 33 (WebCore::UserMediaController::requestUserMedia): 34 (WebCore::UserMediaController::cancelUserMediaRequest): 35 * mediastream/UserMediaRequest.cpp: 36 (WebCore::UserMediaRequest::create): 37 (WebCore::UserMediaRequest::UserMediaRequest): 38 (WebCore::UserMediaRequest::didCompleteQuery): 39 (WebCore::UserMediaRequest::contextDestroyed): 40 * mediastream/UserMediaRequest.h: 41 (WebCore): 42 (UserMediaRequest): 43 * page/Page.cpp: 44 (WebCore::Page::Page): 45 (WebCore::Page::~Page): 46 (WebCore::Page::PageClients::PageClients): 47 * page/Page.h: 48 (WebCore): 49 (PageClients): 50 (Page): 51 1 52 2012-02-21 James Robinson <jamesr@chromium.org> 2 53 -
trunk/Source/WebCore/GNUmakefile.list.am
r108428 r108437 2643 2643 Source/WebCore/mediastream/SignalingCallback.h \ 2644 2644 Source/WebCore/mediastream/UserMediaClient.h \ 2645 Source/WebCore/mediastream/UserMediaController.h \ 2646 Source/WebCore/mediastream/UserMediaController.cpp \ 2645 2647 Source/WebCore/mediastream/UserMediaRequest.cpp \ 2646 2648 Source/WebCore/mediastream/UserMediaRequest.h \ -
trunk/Source/WebCore/WebCore.gypi
r108428 r108437 2590 2590 'mediastream/SignalingCallback.h', 2591 2591 'mediastream/UserMediaClient.h', 2592 'mediastream/UserMediaController.h', 2593 'mediastream/UserMediaController.cpp', 2592 2594 'mediastream/UserMediaRequest.cpp', 2593 2595 'mediastream/UserMediaRequest.h', -
trunk/Source/WebCore/mediastream/NavigatorMediaStream.cpp
r107541 r108437 36 36 #include "NavigatorUserMediaSuccessCallback.h" 37 37 #include "Page.h" 38 #include "UserMediaController.h" 38 39 #include "UserMediaRequest.h" 39 40 … … 53 54 return; 54 55 55 Frame* frame = navigator->frame(); 56 if (!frame) 56 UserMediaController* userMedia = UserMediaController::from(navigator->frame()); 57 if (!userMedia) { 58 ec = NOT_SUPPORTED_ERR; 57 59 return; 60 } 58 61 59 Page* page = frame->page(); 60 if (!page) 61 return; 62 63 RefPtr<UserMediaRequest> request = UserMediaRequest::create(frame->document(), page->userMediaClient(), options, successCallback, errorCallback); 62 RefPtr<UserMediaRequest> request = UserMediaRequest::create(navigator->frame()->document(), userMedia, options, successCallback, errorCallback); 64 63 if (!request) { 65 64 ec = NOT_SUPPORTED_ERR; -
trunk/Source/WebCore/mediastream/UserMediaClient.h
r106581 r108437 39 39 namespace WebCore { 40 40 41 class Page; 42 41 43 class UserMediaClient { 42 44 public: … … 50 52 }; 51 53 54 void provideUserMediaTo(Page*, UserMediaClient*); 55 52 56 } // namespace WebCore 53 57 -
trunk/Source/WebCore/mediastream/UserMediaRequest.cpp
r106581 r108437 37 37 #include "LocalMediaStream.h" 38 38 #include "SpaceSplitString.h" 39 #include "UserMediaC lient.h"39 #include "UserMediaController.h" 40 40 41 41 namespace WebCore { 42 42 43 PassRefPtr<UserMediaRequest> UserMediaRequest::create(ScriptExecutionContext* context, UserMediaC lient* client, const String& options, PassRefPtr<NavigatorUserMediaSuccessCallback> successCallback, PassRefPtr<NavigatorUserMediaErrorCallback> errorCallback)43 PassRefPtr<UserMediaRequest> UserMediaRequest::create(ScriptExecutionContext* context, UserMediaController* controller, const String& options, PassRefPtr<NavigatorUserMediaSuccessCallback> successCallback, PassRefPtr<NavigatorUserMediaErrorCallback> errorCallback) 44 44 { 45 RefPtr<UserMediaRequest> request = adoptRef(new UserMediaRequest(context, c lient, options, successCallback, errorCallback));45 RefPtr<UserMediaRequest> request = adoptRef(new UserMediaRequest(context, controller, options, successCallback, errorCallback)); 46 46 if (!request->audio() && !request->video()) 47 47 return 0; … … 50 50 } 51 51 52 UserMediaRequest::UserMediaRequest(ScriptExecutionContext* context, UserMediaC lient* client, const String& options, PassRefPtr<NavigatorUserMediaSuccessCallback> successCallback, PassRefPtr<NavigatorUserMediaErrorCallback> errorCallback)52 UserMediaRequest::UserMediaRequest(ScriptExecutionContext* context, UserMediaController* controller, const String& options, PassRefPtr<NavigatorUserMediaSuccessCallback> successCallback, PassRefPtr<NavigatorUserMediaErrorCallback> errorCallback) 53 53 : ContextDestructionObserver(context) 54 54 , m_audio(false) … … 56 56 , m_cameraPreferenceUser(false) 57 57 , m_cameraPreferenceEnvironment(false) 58 , m_c lient(client)58 , m_controller(controller) 59 59 , m_successCallback(successCallback) 60 60 , m_errorCallback(errorCallback) … … 74 74 void UserMediaRequest::didCompleteQuery(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources) 75 75 { 76 if (m_c lient)77 m_c lient->requestUserMedia(this, audioSources, videoSources);76 if (m_controller) 77 m_controller->requestUserMedia(this, audioSources, videoSources); 78 78 } 79 79 … … 100 100 void UserMediaRequest::contextDestroyed() 101 101 { 102 if (m_c lient) {103 m_c lient->cancelUserMediaRequest(this);104 m_c lient= 0;102 if (m_controller) { 103 m_controller->cancelUserMediaRequest(this); 104 m_controller = 0; 105 105 } 106 106 -
trunk/Source/WebCore/mediastream/UserMediaRequest.h
r106581 r108437 45 45 namespace WebCore { 46 46 47 class UserMediaC lient;47 class UserMediaController; 48 48 49 49 class UserMediaRequest : public MediaStreamSourcesQueryClient, public ContextDestructionObserver { 50 50 public: 51 static PassRefPtr<UserMediaRequest> create(ScriptExecutionContext*, UserMediaC lient*, const String& options, PassRefPtr<NavigatorUserMediaSuccessCallback>, PassRefPtr<NavigatorUserMediaErrorCallback>);51 static PassRefPtr<UserMediaRequest> create(ScriptExecutionContext*, UserMediaController*, const String& options, PassRefPtr<NavigatorUserMediaSuccessCallback>, PassRefPtr<NavigatorUserMediaErrorCallback>); 52 52 ~UserMediaRequest(); 53 53 … … 71 71 72 72 private: 73 UserMediaRequest(ScriptExecutionContext*, UserMediaC lient*, const String& options, PassRefPtr<NavigatorUserMediaSuccessCallback>, PassRefPtr<NavigatorUserMediaErrorCallback>);73 UserMediaRequest(ScriptExecutionContext*, UserMediaController*, const String& options, PassRefPtr<NavigatorUserMediaSuccessCallback>, PassRefPtr<NavigatorUserMediaErrorCallback>); 74 74 75 75 void parseOptions(const String& options); … … 81 81 bool m_cameraPreferenceEnvironment; 82 82 83 UserMediaC lient* m_client;83 UserMediaController* m_controller; 84 84 85 85 RefPtr<NavigatorUserMediaSuccessCallback> m_successCallback; -
trunk/Source/WebCore/page/Page.cpp
r108428 r108437 83 83 #endif 84 84 85 #if ENABLE(MEDIA_STREAM)86 #include "UserMediaClient.h"87 #endif88 89 85 namespace WebCore { 90 86 … … 144 140 #if ENABLE(INPUT_SPEECH) 145 141 , m_speechInputClient(pageClients.speechInputClient) 146 #endif147 #if ENABLE(MEDIA_STREAM)148 , m_userMediaClient(pageClients.userMediaClient)149 142 #endif 150 143 , m_settings(Settings::create(this)) … … 209 202 #endif 210 203 211 #if ENABLE(MEDIA_STREAM)212 if (m_userMediaClient)213 m_userMediaClient->pageDestroyed();214 #endif215 216 204 if (m_scrollingCoordinator) 217 205 m_scrollingCoordinator->pageDestroyed(); … … 1099 1087 , speechInputClient(0) 1100 1088 , notificationClient(0) 1101 , userMediaClient(0)1102 1089 { 1103 1090 } -
trunk/Source/WebCore/page/Page.h
r108140 r108437 86 86 class SpeechInput; 87 87 class SpeechInputClient; 88 class UserMediaClient;89 88 class StorageNamespace; 90 89 #if ENABLE(NOTIFICATIONS) … … 120 119 SpeechInputClient* speechInputClient; 121 120 NotificationPresenter* notificationClient; 122 UserMediaClient* userMediaClient;123 121 }; 124 122 … … 189 187 #if ENABLE(INPUT_SPEECH) 190 188 SpeechInput* speechInput(); 191 #endif192 #if ENABLE(MEDIA_STREAM)193 UserMediaClient* userMediaClient() const { return m_userMediaClient; }194 189 #endif 195 190 ScrollingCoordinator* scrollingCoordinator(); … … 390 385 OwnPtr<SpeechInput> m_speechInput; 391 386 #endif 392 #if ENABLE(MEDIA_STREAM)393 UserMediaClient* m_userMediaClient;394 #endif395 387 RefPtr<ScrollingCoordinator> m_scrollingCoordinator; 396 388 -
trunk/Source/WebKit/chromium/ChangeLog
r108431 r108437 1 2012-02-20 MORITA Hajime <morrita@google.com> 2 3 MEDIA_STREAM should be implemented as a PageSupplement. 4 https://bugs.webkit.org/show_bug.cgi?id=79050 5 6 Reviewed by Adam Barth. 7 8 * src/WebViewImpl.cpp: 9 (WebKit::WebViewImpl::WebViewImpl): 10 1 11 2012-02-21 Dana Jansens <danakj@chromium.org> 2 12 -
trunk/Source/WebKit/chromium/src/WebViewImpl.cpp
r108031 r108437 406 406 #endif 407 407 pageClients.backForwardClient = BackForwardListChromium::create(this); 408 409 m_page = adoptPtr(new Page(pageClients)); 408 410 #if ENABLE(MEDIA_STREAM) 409 pageClients.userMediaClient = &m_userMediaClientImpl; 410 #endif 411 412 m_page = adoptPtr(new Page(pageClients)); 411 provideUserMediaTo(m_page.get(), &m_userMediaClientImpl); 412 #endif 413 413 provideDeviceOrientationTo(m_page.get(), m_deviceOrientationClientProxy.get()); 414 414 m_geolocationClientProxy->setController(m_page->geolocationController());
Note: See TracChangeset
for help on using the changeset viewer.