Document: https://docs.google.com/document/d/1VNX6OIKodKg9-SWnY8eWiu2217b7FsgCECV2_wBap0U/edit (WIP) Move WakeLock control to Blink.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/abd14b1e6a5fd4919e6b205342e929cfa122bd94 commit abd14b1e6a5fd4919e6b205342e929cfa122bd94 Author: Mounir Lamouri <mlamouri@chromium.org> Date: Thu Dec 13 04:15:02 2018 Remote Playback: create Controller/Observer to allow core/ to be notified of changes. This will allow the video wake lock implementation in Blink to change its behaviour depending on remote playback state and will allow the remote playback overaly to be moved out of modules/media_controls/ Bug: 913668, 903793 Change-Id: I473254b8108e612c52bdb55f4bd880ab0441922f Reviewed-on: https://chromium-review.googlesource.com/c/1374951 Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Mounir Lamouri <mlamouri@chromium.org> Cr-Commit-Position: refs/heads/master@{#616208} [modify] https://crrev.com/abd14b1e6a5fd4919e6b205342e929cfa122bd94/third_party/blink/renderer/core/html/BUILD.gn [add] https://crrev.com/abd14b1e6a5fd4919e6b205342e929cfa122bd94/third_party/blink/renderer/core/html/media/remote_playback_controller.cc [add] https://crrev.com/abd14b1e6a5fd4919e6b205342e929cfa122bd94/third_party/blink/renderer/core/html/media/remote_playback_controller.h [add] https://crrev.com/abd14b1e6a5fd4919e6b205342e929cfa122bd94/third_party/blink/renderer/core/html/media/remote_playback_observer.h [modify] https://crrev.com/abd14b1e6a5fd4919e6b205342e929cfa122bd94/third_party/blink/renderer/modules/remoteplayback/remote_playback.cc [modify] https://crrev.com/abd14b1e6a5fd4919e6b205342e929cfa122bd94/third_party/blink/renderer/modules/remoteplayback/remote_playback.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/20edec21c921e9b963af945f715bde88070b9c2c commit 20edec21c921e9b963af945f715bde88070b9c2c Author: Mounir Lamouri <mlamouri@chromium.org> Date: Fri Dec 14 17:41:37 2018 Video Wake Lock: move all logic to Blink and use mojo service. This is implementing VideoWakeLock insideo core/html/media/ in Blink. The component is created by the HTMLVideoElement and then reacts based on internal events. When the wake lock state changes, it uses the wake lock service to notify of the state change. Two side notes: - This is using the RemotePlaybackObserver/RemotePlaybackController that were added to allow core/ to be notified of remote playback changes. It allows to clarify a weird behavior that was in the browser implementation. - html_media_test_helper.{h,cc} files have been created to have a central place for common html media mock, stubs, etc. The audio wake lock is based on audibility, not on the element itself. Whether it can or should be moved to Blink wasn't yet decided. Associated design doc: https://docs.google.com/document/d/1VNX6OIKodKg9-SWnY8eWiu2217b7FsgCECV2_wBap0U/edit?hl=en&pli=1# Bug: 903793 Change-Id: I5f3f7fdfa345ef829f3efdc5689faef40b03f94c Reviewed-on: https://chromium-review.googlesource.com/c/1375098 Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Commit-Queue: Mounir Lamouri <mlamouri@chromium.org> Cr-Commit-Position: refs/heads/master@{#616728} [modify] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/content/browser/media/media_web_contents_observer.cc [modify] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/content/browser/media/media_web_contents_observer.h [modify] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/content/browser/web_contents/web_contents_impl_unittest.cc [modify] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/BUILD.gn [modify] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/DEPS [modify] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/html/BUILD.gn [modify] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/html/media/html_media_element.h [add] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/html/media/html_media_test_helper.cc [add] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/html/media/html_media_test_helper.h [modify] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/html/media/html_video_element.cc [modify] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/html/media/html_video_element.h [modify] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/html/media/html_video_element_test.cc [add] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/html/media/video_wake_lock.cc [add] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/html/media/video_wake_lock.h [add] https://crrev.com/20edec21c921e9b963af945f715bde88070b9c2c/third_party/blink/renderer/core/html/media/video_wake_lock_test.cc
Comment 1 by mlamouri@chromium.org
, Nov 9