Commit 9cec7d2f authored by Antonio Gomes's avatar Antonio Gomes Committed by Commit Bot

Revert "Lazily create UserMediaController"

This reverts commit ab7e4e69.

Reason for revert: https://crbug.com/995709

Original change's description:
> Lazily create UserMediaController
> 
> This CL addressed guidou's remark on [1], that
> was accidentally left off when splitting the CL into
> smaller pieces.
> 
> [1] https://crrev.com/c/1757490/4/third_party/blink/renderer/modules/modules_initializer.cc#185
> 
> BUG=704136
> R=​guidou@chromium.org, haraken@chromium.org
> 
> Change-Id: Ie46cc5eeb9963dc54538d122b0c922a5ec5c4e3c
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1760407
> Reviewed-by: Guido Urdaneta <guidou@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Commit-Queue: Kentaro Hara <haraken@chromium.org>
> Auto-Submit: Antonio Gomes <tonikitoo@igalia.com>
> Cr-Commit-Position: refs/heads/master@{#688302}

TBR=haraken@chromium.org,guidou@chromium.org,tonikitoo@igalia.com

Change-Id: Icd01828810283a7467c03b3be0b22ec24591685b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 704136
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1758468Reviewed-by: default avatarAntonio Gomes <tonikitoo@igalia.com>
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Cr-Commit-Position: refs/heads/master@{#688660}
parent a547a3f9
...@@ -29,33 +29,27 @@ namespace blink { ...@@ -29,33 +29,27 @@ namespace blink {
const char UserMediaController::kSupplementName[] = "UserMediaController"; const char UserMediaController::kSupplementName[] = "UserMediaController";
UserMediaController::UserMediaController(LocalFrame& frame) UserMediaController::UserMediaController(
LocalFrame& frame,
std::unique_ptr<UserMediaClient> client)
: Supplement<LocalFrame>(frame), : Supplement<LocalFrame>(frame),
ContextLifecycleObserver(frame.GetDocument()) {} ContextLifecycleObserver(frame.GetDocument()),
client_(std::move(client)) {}
void UserMediaController::Trace(blink::Visitor* visitor) { void UserMediaController::Trace(blink::Visitor* visitor) {
Supplement<LocalFrame>::Trace(visitor); Supplement<LocalFrame>::Trace(visitor);
ContextLifecycleObserver::Trace(visitor); ContextLifecycleObserver::Trace(visitor);
} }
UserMediaClient* UserMediaController::Client() {
if (!client_) {
client_ = std::make_unique<UserMediaClient>(
GetFrame(), GetFrame()->GetTaskRunner(TaskType::kInternalMedia));
}
return client_.get();
}
void UserMediaController::ContextDestroyed(ExecutionContext*) { void UserMediaController::ContextDestroyed(ExecutionContext*) {
if (!client_)
return;
client_->ContextDestroyed(); client_->ContextDestroyed();
} }
void ProvideUserMediaTo(LocalFrame& frame) { void ProvideUserMediaTo(LocalFrame& frame,
std::unique_ptr<UserMediaClient> client) {
UserMediaController::ProvideTo( UserMediaController::ProvideTo(
frame, MakeGarbageCollected<UserMediaController>(frame)); frame,
MakeGarbageCollected<UserMediaController>(frame, std::move(client)));
} }
} // namespace blink } // namespace blink
...@@ -46,10 +46,10 @@ class UserMediaController final ...@@ -46,10 +46,10 @@ class UserMediaController final
public: public:
static const char kSupplementName[]; static const char kSupplementName[];
UserMediaController(LocalFrame&); UserMediaController(LocalFrame&, std::unique_ptr<UserMediaClient>);
void Trace(blink::Visitor*) override; void Trace(blink::Visitor*) override;
UserMediaClient* Client(); UserMediaClient* Client() const { return client_.get(); }
void RequestUserMedia(UserMediaRequest*); void RequestUserMedia(UserMediaRequest*);
void CancelUserMediaRequest(UserMediaRequest*); void CancelUserMediaRequest(UserMediaRequest*);
...@@ -70,29 +70,30 @@ class UserMediaController final ...@@ -70,29 +70,30 @@ class UserMediaController final
}; };
inline void UserMediaController::RequestUserMedia(UserMediaRequest* request) { inline void UserMediaController::RequestUserMedia(UserMediaRequest* request) {
Client()->RequestUserMedia(request); client_->RequestUserMedia(request);
has_requested_user_media_ = true; has_requested_user_media_ = true;
} }
inline void UserMediaController::CancelUserMediaRequest( inline void UserMediaController::CancelUserMediaRequest(
UserMediaRequest* request) { UserMediaRequest* request) {
Client()->CancelUserMediaRequest(WebUserMediaRequest(request)); client_->CancelUserMediaRequest(WebUserMediaRequest(request));
} }
inline void UserMediaController::ApplyConstraints( inline void UserMediaController::ApplyConstraints(
ApplyConstraintsRequest* request) { ApplyConstraintsRequest* request) {
Client()->ApplyConstraints(WebApplyConstraintsRequest(request)); client_->ApplyConstraints(WebApplyConstraintsRequest(request));
} }
inline void UserMediaController::StopTrack(MediaStreamComponent* track) { inline void UserMediaController::StopTrack(MediaStreamComponent* track) {
Client()->StopTrack(WebMediaStreamTrack(track)); client_->StopTrack(WebMediaStreamTrack(track));
} }
inline bool UserMediaController::HasRequestedUserMedia() { inline bool UserMediaController::HasRequestedUserMedia() {
return has_requested_user_media_; return has_requested_user_media_;
} }
MODULES_EXPORT void ProvideUserMediaTo(LocalFrame&); MODULES_EXPORT void ProvideUserMediaTo(LocalFrame&,
std::unique_ptr<UserMediaClient>);
} // namespace blink } // namespace blink
......
...@@ -181,7 +181,9 @@ void ModulesInitializer::InstallSupplements(LocalFrame& frame) const { ...@@ -181,7 +181,9 @@ void ModulesInitializer::InstallSupplements(LocalFrame& frame) const {
DCHECK(client); DCHECK(client);
ProvidePushMessagingClientTo( ProvidePushMessagingClientTo(
frame, MakeGarbageCollected<PushMessagingClient>(frame)); frame, MakeGarbageCollected<PushMessagingClient>(frame));
ProvideUserMediaTo(frame); ProvideUserMediaTo(
frame, std::make_unique<UserMediaClient>(
&frame, frame.GetTaskRunner(TaskType::kInternalMedia)));
ProvideLocalFileSystemTo(frame, std::make_unique<LocalFileSystemClient>()); ProvideLocalFileSystemTo(frame, std::make_unique<LocalFileSystemClient>());
ScreenOrientationControllerImpl::ProvideTo(frame); ScreenOrientationControllerImpl::ProvideTo(frame);
......
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