Commit 83dbf361 authored by Sharon Yang's avatar Sharon Yang Committed by Commit Bot

[fuchsia] Add media blocking API to ApplicationController

Add SetBlockMediaLoading() to ApplicationController to enable media
loading to be blocked, and passes the call to fuchsia.web.Frame.

Bug: 1057860
Change-Id: Ib3c53e35d3fd1ffe2e43d01991ab7d85e2f025e8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2083565
Commit-Queue: Sharon Yang <yangsharon@chromium.org>
Reviewed-by: default avatarWez <wez@chromium.org>
Reviewed-by: default avatarDavid Dorwin <ddorwin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#760084}
parent 4cd50357
...@@ -12,6 +12,11 @@ protocol ApplicationController { ...@@ -12,6 +12,11 @@ protocol ApplicationController {
/// Enables or disables touch event processing. /// Enables or disables touch event processing.
SetTouchInputEnabled(bool enable); SetTouchInputEnabled(bool enable);
/// Sets whether to block all HTMLMediaElements in the frame from fetching and
/// loading media resources.
/// See fuchsia.web.Frame for usage details.
SetBlockMediaLoading(bool blocked);
/// Connects to the application's media control & observation API. /// Connects to the application's media control & observation API.
GetMediaPlayer(request<fuchsia.media.sessions2.Player> request); GetMediaPlayer(request<fuchsia.media.sessions2.Player> request);
}; };
...@@ -36,3 +36,7 @@ void ApplicationControllerImpl::GetMediaPlayer( ...@@ -36,3 +36,7 @@ void ApplicationControllerImpl::GetMediaPlayer(
fidl::InterfaceRequest<fuchsia::media::sessions2::Player> request) { fidl::InterfaceRequest<fuchsia::media::sessions2::Player> request) {
frame_->GetMediaPlayer(std::move(request)); frame_->GetMediaPlayer(std::move(request));
} }
void ApplicationControllerImpl::SetBlockMediaLoading(bool blocked) {
frame_->SetBlockMediaLoading(blocked);
}
...@@ -21,10 +21,12 @@ class ApplicationControllerImpl : public chromium::cast::ApplicationController { ...@@ -21,10 +21,12 @@ class ApplicationControllerImpl : public chromium::cast::ApplicationController {
~ApplicationControllerImpl() final; ~ApplicationControllerImpl() final;
protected: protected:
// chromium::cast::ApplicationController implementation.
void SetTouchInputEnabled(bool enable) final; void SetTouchInputEnabled(bool enable) final;
void GetMediaPlayer( void GetMediaPlayer(
::fidl::InterfaceRequest<fuchsia::media::sessions2::Player> request) ::fidl::InterfaceRequest<fuchsia::media::sessions2::Player> request)
final; final;
void SetBlockMediaLoading(bool blocked) override;
private: private:
fidl::Binding<chromium::cast::ApplicationController> binding_; fidl::Binding<chromium::cast::ApplicationController> binding_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment