Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(405)

Unified Diff: third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp

Issue 2345863002: [Blink, RemotePlayback] Rename connect() to prompt() (Closed)
Patch Set: Rebase Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp
diff --git a/third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp b/third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp
index 4aa8e0263cd23561b5d4e24f87662f067f14a607..a79e321554cd934336f420935d49d64160b2c75b 100644
--- a/third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp
+++ b/third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp
@@ -80,24 +80,30 @@ ScriptPromise RemotePlayback::getAvailability(ScriptState* scriptState)
return promise;
}
-ScriptPromise RemotePlayback::connect(ScriptState* scriptState)
+ScriptPromise RemotePlayback::prompt(ScriptState* scriptState)
{
+ // TODO(avayvod): implement steps 3, 4, 5, 8, 9 of the algorithm.
+ // https://crbug.com/647441
ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState);
ScriptPromise promise = resolver->promise();
// TODO(avayvod): should we have a separate flag to disable the user gesture
// requirement (for tests) or reuse the one for the PresentationRequest::start()?
if (!UserGestureIndicator::utilizeUserGesture()) {
- resolver->reject(DOMException::create(InvalidAccessError, "RemotePlayback::connect() requires user gesture."));
+ resolver->reject(DOMException::create(InvalidAccessError, "RemotePlayback::prompt() requires user gesture."));
return promise;
}
if (m_state == WebRemotePlaybackState::Disconnected) {
- m_connectPromiseResolvers.append(resolver);
+ m_promptPromiseResolvers.append(resolver);
m_mediaElement->requestRemotePlayback();
} else {
m_mediaElement->requestRemotePlaybackControl();
- resolver->resolve(false);
+ // TODO(avayvod): Need to keep the resolver until user chooses to stop
+ // the remote playback (resolve) or dismisses the UI (reject).
+ // Steps 11 and 12 of the prompt() algorithm.
+ // https://crbug.com/647441
+ resolver->resolve();
}
return promise;
@@ -112,7 +118,7 @@ bool RemotePlayback::hasPendingActivity() const
{
return hasEventListeners()
|| !m_availabilityObjects.isEmpty()
- || !m_connectPromiseResolvers.isEmpty();
+ || !m_promptPromiseResolvers.isEmpty();
}
void RemotePlayback::stateChanged(WebRemotePlaybackState state)
@@ -123,13 +129,13 @@ void RemotePlayback::stateChanged(WebRemotePlaybackState state)
// TODO(avayvod): cleanup this logic when we implementing the "connecting"
// state.
if (state != WebRemotePlaybackState::Disconnected) {
- for (auto& resolver : m_connectPromiseResolvers)
- resolver->resolve(true);
+ for (auto& resolver : m_promptPromiseResolvers)
+ resolver->resolve();
} else {
- for (auto& resolver : m_connectPromiseResolvers)
+ for (auto& resolver : m_promptPromiseResolvers)
resolver->reject(DOMException::create(AbortError, "Failed to connect to the remote device."));
}
- m_connectPromiseResolvers.clear();
+ m_promptPromiseResolvers.clear();
if (m_state == state)
return;
@@ -148,17 +154,17 @@ void RemotePlayback::availabilityChanged(bool available)
availabilityObject->availabilityChanged(available);
}
-void RemotePlayback::connectCancelled()
+void RemotePlayback::promptCancelled()
{
- for (auto& resolver : m_connectPromiseResolvers)
- resolver->resolve(false);
- m_connectPromiseResolvers.clear();
+ for (auto& resolver : m_promptPromiseResolvers)
+ resolver->resolve();
+ m_promptPromiseResolvers.clear();
}
DEFINE_TRACE(RemotePlayback)
{
visitor->trace(m_availabilityObjects);
- visitor->trace(m_connectPromiseResolvers);
+ visitor->trace(m_promptPromiseResolvers);
visitor->trace(m_mediaElement);
EventTargetWithInlineData::trace(visitor);
}

Powered by Google App Engine
This is Rietveld 408576698