Changeset 85745 in webkit
- Timestamp:
- May 4, 2011 6:57:31 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r85382 r85745 1933 1933 LIST(APPEND WebCore_SOURCES 1934 1934 bindings/js/JSNavigatorCustom.cpp 1935 page/MediaStreamController.cpp 1936 page/MediaStreamFrameController.cpp 1935 1937 ) 1936 1938 -
trunk/Source/WebCore/ChangeLog
r85744 r85745 1 2011-05-04 Leandro Gracia Gil <leandrogracia@chromium.org> 2 3 Reviewed by Tony Gentilcore. 4 5 Media Stream API: add the skeleton of the frame and page controllers and the embedder client. 6 https://bugs.webkit.org/show_bug.cgi?id=56922 7 8 Add the basic outlines of the page controller, the per-frame controller and the embedder 9 client interface for the Media Stream API. Provide methods to handle the situations 10 where a frame is detached from the page or transferred between pages. 11 12 Tests for the Media Stream API will be provided by the bug 56587. 13 14 * CMakeLists.txt: 15 * GNUmakefile.list.am: 16 * WebCore.gypi: 17 * WebCore.pro: 18 * WebCore.vcproj/WebCore.vcproj: 19 * WebCore.xcodeproj/project.pbxproj: 20 * page/Frame.cpp: 21 (WebCore::Frame::Frame): 22 (WebCore::Frame::~Frame): 23 (WebCore::Frame::pageDestroyed): 24 (WebCore::Frame::transferChildFrameToNewDocument): 25 * page/Frame.h: 26 (WebCore::Frame::mediaStreamFrameController): 27 * page/MediaStreamClient.h: Added. 28 (WebCore::MediaStreamClient::~MediaStreamClient): 29 * page/MediaStreamController.cpp: Added. 30 (WebCore::MediaStreamController::Request::Request): 31 (WebCore::MediaStreamController::Request::localId): 32 (WebCore::MediaStreamController::Request::frameController): 33 (WebCore::MediaStreamController::MediaStreamController): 34 (WebCore::MediaStreamController::~MediaStreamController): 35 (WebCore::MediaStreamController::unregisterFrameController): 36 (WebCore::MediaStreamController::registerRequest): 37 * page/MediaStreamController.h: Added. 38 * page/MediaStreamFrameController.cpp: Added. 39 (WebCore::MediaStreamFrameController::Request::Request): 40 (WebCore::MediaStreamFrameController::Request::~Request): 41 (WebCore::MediaStreamFrameController::Request::scriptExecutionContext): 42 (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest): 43 (WebCore::MediaStreamFrameController::Request::isRecordedDataRequest): 44 (WebCore::MediaStreamFrameController::RequestMap::abort): 45 (WebCore::MediaStreamFrameController::RequestMap::abortAll): 46 (WebCore::MediaStreamFrameController::MediaStreamFrameController): 47 (WebCore::MediaStreamFrameController::~MediaStreamFrameController): 48 (WebCore::MediaStreamFrameController::securityOrigin): 49 (WebCore::MediaStreamFrameController::scriptExecutionContext): 50 (WebCore::MediaStreamFrameController::pageController): 51 (WebCore::MediaStreamFrameController::enterDetachedState): 52 (WebCore::MediaStreamFrameController::disconnectPage): 53 (WebCore::MediaStreamFrameController::disconnectFrame): 54 (WebCore::MediaStreamFrameController::transferToNewPage): 55 * page/MediaStreamFrameController.h: Added. 56 * page/Page.cpp: 57 (WebCore::Page::Page): 58 (WebCore::Page::PageClients::PageClients): 59 * page/Page.h: 60 (WebCore::Page::mediaStreamController): 61 1 62 2011-05-04 Alexander Pavlov <apavlov@chromium.org> 2 63 -
trunk/Source/WebCore/GNUmakefile.list.am
r85385 r85745 2193 2193 Source/WebCore/page/Location.h \ 2194 2194 Source/WebCore/page/MediaCanStartListener.h \ 2195 Source/WebCore/page/MediaStreamClient.h \ 2196 Source/WebCore/page/MediaStreamController.cpp \ 2197 Source/WebCore/page/MediaStreamController.h \ 2198 Source/WebCore/page/MediaStreamFrameController.cpp \ 2199 Source/WebCore/page/MediaStreamFrameController.h \ 2195 2200 Source/WebCore/page/MemoryInfo.cpp \ 2196 2201 Source/WebCore/page/MemoryInfo.h \ -
trunk/Source/WebCore/WebCore.gypi
r85588 r85745 3457 3457 'page/SpeechInputResultList.cpp', 3458 3458 'page/SpeechInputResultList.h', 3459 'page/MediaStreamClient.h', 3460 'page/MediaStreamController.cpp', 3461 'page/MediaStreamController.h', 3462 'page/MediaStreamFrameController.cpp', 3463 'page/MediaStreamFrameController.h', 3459 3464 'page/SuspendableTimer.cpp', 3460 3465 'page/SuspendableTimer.h', -
trunk/Source/WebCore/WebCore.pro
r85648 r85745 3072 3072 contains(DEFINES, ENABLE_MEDIA_STREAM=1) { 3073 3073 HEADERS += \ 3074 page/MediaStreamClient.h \ 3075 page/MediaStreamController.h \ 3076 page/MediaStreamFrameController.h \ 3074 3077 page/NavigatorUserMediaError.h \ 3075 3078 page/NavigatorUserMediaErrorCallback.h \ 3076 3079 page/NavigatorUserMediaSuccessCallback.h 3077 3080 3081 SOURCES += \ 3082 page/MediaStreamController.cpp \ 3083 page/MediaStreamFrameController.cpp 3084 3078 3085 v8 { 3079 3086 SOURCES += \ 3080 3087 bindings/v8/custom/V8NavigatorCustom.cpp 3081 3082 3088 } 3083 3089 } -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r85719 r85745 24659 24659 </File> 24660 24660 <File 24661 RelativePath="..\page\MediaStreamClient.h" 24662 > 24663 </File> 24664 <File 24665 RelativePath="..\page\MediaStreamController.cpp" 24666 > 24667 </File> 24668 <File 24669 RelativePath="..\page\MediaStreamController.h" 24670 > 24671 </File> 24672 <File 24673 RelativePath="..\page\MediaStreamFrameController.cpp" 24674 > 24675 </File> 24676 <File 24677 RelativePath="..\page\MediaStreamFrameController.h" 24678 > 24679 </File> 24680 <File 24661 24681 RelativePath="..\page\MouseEventWithHitTestResults.cpp" 24662 24682 > -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r85382 r85745 4078 4078 B1827493134CA4C100B98C2D /* CallbackFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1827492134CA4C100B98C2D /* CallbackFunction.cpp */; }; 4079 4079 B1D5ECB5134B58DA0087C78F /* CallbackFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = B1D5ECB4134B58DA0087C78F /* CallbackFunction.h */; }; 4080 B1E54594134629C10092A545 /* MediaStreamClient.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E54588134629C10092A545 /* MediaStreamClient.h */; }; 4081 B1E54597134629C10092A545 /* MediaStreamController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1E5458B134629C10092A545 /* MediaStreamController.cpp */; }; 4082 B1E54598134629C10092A545 /* MediaStreamController.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E5458C134629C10092A545 /* MediaStreamController.h */; }; 4083 B1E54595134629C10092A545 /* MediaStreamFrameController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1E54589134629C10092A545 /* MediaStreamFrameController.cpp */; }; 4084 B1E54596134629C10092A545 /* MediaStreamFrameController.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E5458A134629C10092A545 /* MediaStreamFrameController.h */; }; 4080 4085 B1E54599134629C10092A545 /* NavigatorUserMediaError.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E5458D134629C10092A545 /* NavigatorUserMediaError.h */; }; 4081 4086 B1E5459B134629C10092A545 /* NavigatorUserMediaErrorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E5458F134629C10092A545 /* NavigatorUserMediaErrorCallback.h */; }; … … 10315 10320 B1827492134CA4C100B98C2D /* CallbackFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CallbackFunction.cpp; sourceTree = "<group>"; }; 10316 10321 B1D5ECB4134B58DA0087C78F /* CallbackFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallbackFunction.h; sourceTree = "<group>"; }; 10322 B1E54588134629C10092A545 /* MediaStreamClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaStreamClient.h; sourceTree = "<group>"; }; 10323 B1E5458B134629C10092A545 /* MediaStreamController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaStreamController.cpp; sourceTree = "<group>"; }; 10324 B1E5458C134629C10092A545 /* MediaStreamController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaStreamController.h; sourceTree = "<group>"; }; 10325 B1E54589134629C10092A545 /* MediaStreamFrameController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaStreamFrameController.cpp; sourceTree = "<group>"; }; 10326 B1E5458A134629C10092A545 /* MediaStreamFrameController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaStreamFrameController.h; sourceTree = "<group>"; }; 10317 10327 B1E5458D134629C10092A545 /* NavigatorUserMediaError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigatorUserMediaError.h; sourceTree = "<group>"; }; 10318 10328 B1E5458E134629C10092A545 /* NavigatorUserMediaError.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NavigatorUserMediaError.idl; sourceTree = "<group>"; }; … … 14122 14132 BCE1C4220D9829F2003B02F2 /* Location.idl */, 14123 14133 931BCC601124DFCB00BE70DD /* MediaCanStartListener.h */, 14134 B1E54588134629C10092A545 /* MediaStreamClient.h */, 14135 B1E5458B134629C10092A545 /* MediaStreamController.cpp */, 14136 B1E5458C134629C10092A545 /* MediaStreamController.h */, 14137 B1E54589134629C10092A545 /* MediaStreamFrameController.cpp */, 14138 B1E5458A134629C10092A545 /* MediaStreamFrameController.h */, 14124 14139 9FFE3E7811B59C5D0037874E /* MemoryInfo.cpp */, 14125 14140 9FFE3E7911B59C5D0037874E /* MemoryInfo.h */, … … 22703 22718 E1BE512E0CF6C512002EA959 /* XSLTUnicodeSort.h in Headers */, 22704 22719 977E2E0F12F0FC9C00C13379 /* XSSFilter.h in Headers */, 22720 B1E54594134629C10092A545 /* MediaStreamClient.h in Headers */, 22721 B1E54598134629C10092A545 /* MediaStreamController.h in Headers */, 22722 B1E54596134629C10092A545 /* MediaStreamFrameController.h in Headers */, 22705 22723 ); 22706 22724 runOnlyForDeploymentPostprocessing = 0; … … 25363 25381 E1BE512D0CF6C512002EA959 /* XSLTUnicodeSort.cpp in Sources */, 25364 25382 977E2E0E12F0FC9C00C13379 /* XSSFilter.cpp in Sources */, 25383 B1E54597134629C10092A545 /* MediaStreamController.cpp in Sources */, 25384 B1E54595134629C10092A545 /* MediaStreamFrameController.cpp in Sources */, 25365 25385 ); 25366 25386 runOnlyForDeploymentPostprocessing = 0; -
trunk/Source/WebCore/page/Frame.cpp
r85256 r85745 60 60 #include "Logging.h" 61 61 #include "MediaFeatureNames.h" 62 #include "MediaStreamFrameController.h" 62 63 #include "Navigator.h" 63 64 #include "NodeList.h" … … 71 72 #include "RenderTheme.h" 72 73 #include "RenderView.h" 74 #include "RuntimeEnabledFeatures.h" 73 75 #include "ScriptController.h" 74 76 #include "ScriptSourceCode.h" … … 164 166 , m_isDisconnected(false) 165 167 , m_excludeFromTextSearch(false) 168 #if ENABLE(MEDIA_STREAM) 169 , m_mediaStreamFrameController(RuntimeEnabledFeatures::mediaStreamEnabled() ? adoptPtr(new MediaStreamFrameController(this)) : PassOwnPtr<MediaStreamFrameController>()) 170 #endif 166 171 { 167 172 ASSERT(page); … … 220 225 if (m_domWindow) 221 226 m_domWindow->disconnectFrame(); 227 228 #if ENABLE(MEDIA_STREAM) 229 if (m_mediaStreamFrameController) 230 m_mediaStreamFrameController->disconnectFrame(); 231 #endif 232 222 233 script()->clearWindowShell(); 223 234 … … 731 742 } 732 743 744 #if ENABLE(MEDIA_STREAM) 745 if (m_mediaStreamFrameController) 746 m_mediaStreamFrameController->disconnectPage(); 747 #endif 748 733 749 // FIXME: It's unclear as to why this is called more than once, but it is, 734 750 // so page() could be NULL. … … 781 797 m_domWindow->resetGeolocation(); 782 798 799 #if ENABLE(MEDIA_STREAM) 800 if (m_mediaStreamFrameController) 801 m_mediaStreamFrameController->transferToNewPage(newPage); 802 #endif 783 803 m_page = newPage; 784 804 -
trunk/Source/WebCore/page/Frame.h
r85030 r85745 65 65 class FrameView; 66 66 class HTMLTableCellElement; 67 class MediaStreamFrameController; 67 68 class RegularExpression; 68 69 class RenderPart; … … 199 200 #endif 200 201 202 #if ENABLE(MEDIA_STREAM) 203 MediaStreamFrameController* mediaStreamFrameController() const { return m_mediaStreamFrameController.get(); } 204 #endif 205 201 206 // ======== 202 207 … … 265 270 OwnPtr<TiledBackingStore> m_tiledBackingStore; 266 271 #endif 272 273 #if ENABLE(MEDIA_STREAM) 274 OwnPtr<MediaStreamFrameController> m_mediaStreamFrameController; 275 #endif 267 276 }; 268 277 -
trunk/Source/WebCore/page/Page.cpp
r85720 r85745 51 51 #include "Logging.h" 52 52 #include "MediaCanStartListener.h" 53 #include "MediaStreamClient.h" 54 #include "MediaStreamController.h" 53 55 #include "Navigator.h" 54 56 #include "NetworkStateNotifier.h" … … 131 133 , m_deviceMotionController(RuntimeEnabledFeatures::deviceMotionEnabled() ? adoptPtr(new DeviceMotionController(pageClients.deviceMotionClient)) : nullptr) 132 134 , m_deviceOrientationController(RuntimeEnabledFeatures::deviceOrientationEnabled() ? adoptPtr(new DeviceOrientationController(this, pageClients.deviceOrientationClient)) : nullptr) 135 #endif 136 #if ENABLE(MEDIA_STREAM) 137 , m_mediaStreamController(RuntimeEnabledFeatures::mediaStreamEnabled() ? adoptPtr(new MediaStreamController(pageClients.mediaStreamClient)) : PassOwnPtr<MediaStreamController>()) 133 138 #endif 134 139 #if ENABLE(INPUT_SPEECH) … … 941 946 , deviceOrientationClient(0) 942 947 , speechInputClient(0) 948 , mediaStreamClient(0) 943 949 { 944 950 } -
trunk/Source/WebCore/page/Page.h
r85256 r85745 67 67 class InspectorController; 68 68 class MediaCanStartListener; 69 class MediaStreamClient; 70 class MediaStreamController; 69 71 class Node; 70 72 class PageGroup; … … 116 118 RefPtr<BackForwardList> backForwardClient; 117 119 SpeechInputClient* speechInputClient; 120 MediaStreamClient* mediaStreamClient; 118 121 }; 119 122 … … 180 183 DeviceMotionController* deviceMotionController() const { return m_deviceMotionController.get(); } 181 184 DeviceOrientationController* deviceOrientationController() const { return m_deviceOrientationController.get(); } 185 #endif 186 #if ENABLE(MEDIA_STREAM) 187 MediaStreamController* mediaStreamController() const { return m_mediaStreamController.get(); } 182 188 #endif 183 189 #if ENABLE(INPUT_SPEECH) … … 333 339 OwnPtr<DeviceOrientationController> m_deviceOrientationController; 334 340 #endif 341 #if ENABLE(MEDIA_STREAM) 342 OwnPtr<MediaStreamController> m_mediaStreamController; 343 #endif 335 344 #if ENABLE(INPUT_SPEECH) 336 345 SpeechInputClient* m_speechInputClient;
Note: See TracChangeset
for help on using the changeset viewer.