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

Side by Side Diff: third_party/WebKit/Source/modules/presentation/PresentationConnection.cpp

Issue 2737413003: [Presentation API] Remove references to presentation sessions. (Closed)
Patch Set: Update PresentationServiceDelegateImpl unittest Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/presentation/PresentationConnection.h" 5 #include "modules/presentation/PresentationConnection.h"
6 6
7 #include "bindings/core/v8/ScriptPromiseResolver.h" 7 #include "bindings/core/v8/ScriptPromiseResolver.h"
8 #include "core/dom/DOMArrayBuffer.h" 8 #include "core/dom/DOMArrayBuffer.h"
9 #include "core/dom/DOMArrayBufferView.h" 9 #include "core/dom/DOMArrayBufferView.h"
10 #include "core/dom/Document.h" 10 #include "core/dom/Document.h"
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 161
162 void PresentationConnection::bindProxy( 162 void PresentationConnection::bindProxy(
163 std::unique_ptr<WebPresentationConnectionProxy> proxy) { 163 std::unique_ptr<WebPresentationConnectionProxy> proxy) {
164 DCHECK(proxy); 164 DCHECK(proxy);
165 m_proxy = std::move(proxy); 165 m_proxy = std::move(proxy);
166 } 166 }
167 167
168 // static 168 // static
169 PresentationConnection* PresentationConnection::take( 169 PresentationConnection* PresentationConnection::take(
170 ScriptPromiseResolver* resolver, 170 ScriptPromiseResolver* resolver,
171 const WebPresentationSessionInfo& sessionInfo, 171 const WebPresentationInfo& presentationInfo,
172 PresentationRequest* request) { 172 PresentationRequest* request) {
173 ASSERT(resolver); 173 ASSERT(resolver);
174 ASSERT(request); 174 ASSERT(request);
175 ASSERT(resolver->getExecutionContext()->isDocument()); 175 ASSERT(resolver->getExecutionContext()->isDocument());
176 176
177 Document* document = toDocument(resolver->getExecutionContext()); 177 Document* document = toDocument(resolver->getExecutionContext());
178 if (!document->frame()) 178 if (!document->frame())
179 return nullptr; 179 return nullptr;
180 180
181 PresentationController* controller = 181 PresentationController* controller =
182 PresentationController::from(*document->frame()); 182 PresentationController::from(*document->frame());
183 if (!controller) 183 if (!controller)
184 return nullptr; 184 return nullptr;
185 185
186 return take(controller, sessionInfo, request); 186 return take(controller, presentationInfo, request);
187 } 187 }
188 188
189 // static 189 // static
190 PresentationConnection* PresentationConnection::take( 190 PresentationConnection* PresentationConnection::take(
191 PresentationController* controller, 191 PresentationController* controller,
192 const WebPresentationSessionInfo& sessionInfo, 192 const WebPresentationInfo& presentationInfo,
193 PresentationRequest* request) { 193 PresentationRequest* request) {
194 ASSERT(controller); 194 ASSERT(controller);
195 ASSERT(request); 195 ASSERT(request);
196 196
197 PresentationConnection* connection = new PresentationConnection( 197 PresentationConnection* connection = new PresentationConnection(
198 controller->frame(), sessionInfo.id, sessionInfo.url); 198 controller->frame(), presentationInfo.id, presentationInfo.url);
199 controller->registerConnection(connection); 199 controller->registerConnection(connection);
200 200
201 // Fire onconnectionavailable event asynchronously. 201 // Fire onconnectionavailable event asynchronously.
202 auto* event = PresentationConnectionAvailableEvent::create( 202 auto* event = PresentationConnectionAvailableEvent::create(
203 EventTypeNames::connectionavailable, connection); 203 EventTypeNames::connectionavailable, connection);
204 TaskRunnerHelper::get(TaskType::Presentation, request->getExecutionContext()) 204 TaskRunnerHelper::get(TaskType::Presentation, request->getExecutionContext())
205 ->postTask(BLINK_FROM_HERE, 205 ->postTask(BLINK_FROM_HERE,
206 WTF::bind(&PresentationConnection::dispatchEventAsync, 206 WTF::bind(&PresentationConnection::dispatchEventAsync,
207 wrapPersistent(request), wrapPersistent(event))); 207 wrapPersistent(request), wrapPersistent(event)));
208 208
209 return connection; 209 return connection;
210 } 210 }
211 211
212 // static 212 // static
213 PresentationConnection* PresentationConnection::take( 213 PresentationConnection* PresentationConnection::take(
214 PresentationReceiver* receiver, 214 PresentationReceiver* receiver,
215 const WebPresentationSessionInfo& sessionInfo) { 215 const WebPresentationInfo& presentationInfo) {
216 DCHECK(receiver); 216 DCHECK(receiver);
217 217
218 PresentationConnection* connection = new PresentationConnection( 218 PresentationConnection* connection = new PresentationConnection(
219 receiver->frame(), sessionInfo.id, sessionInfo.url); 219 receiver->frame(), presentationInfo.id, presentationInfo.url);
220 receiver->registerConnection(connection); 220 receiver->registerConnection(connection);
221 221
222 return connection; 222 return connection;
223 } 223 }
224 224
225 const AtomicString& PresentationConnection::interfaceName() const { 225 const AtomicString& PresentationConnection::interfaceName() const {
226 return EventTargetNames::PresentationConnection; 226 return EventTargetNames::PresentationConnection;
227 } 227 }
228 228
229 ExecutionContext* PresentationConnection::getExecutionContext() const { 229 ExecutionContext* PresentationConnection::getExecutionContext() const {
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 return m_state; 392 return m_state;
393 } 393 }
394 394
395 void PresentationConnection::close() { 395 void PresentationConnection::close() {
396 if (m_state != WebPresentationConnectionState::Connecting && 396 if (m_state != WebPresentationConnectionState::Connecting &&
397 m_state != WebPresentationConnectionState::Connected) { 397 m_state != WebPresentationConnectionState::Connected) {
398 return; 398 return;
399 } 399 }
400 WebPresentationClient* client = presentationClient(getExecutionContext()); 400 WebPresentationClient* client = presentationClient(getExecutionContext());
401 if (client) 401 if (client)
402 client->closeSession(m_url, m_id, m_proxy.get()); 402 client->closeConnection(m_url, m_id, m_proxy.get());
403 403
404 tearDown(); 404 tearDown();
405 } 405 }
406 406
407 void PresentationConnection::terminate() { 407 void PresentationConnection::terminate() {
408 if (m_state != WebPresentationConnectionState::Connected) 408 if (m_state != WebPresentationConnectionState::Connected)
409 return; 409 return;
410 WebPresentationClient* client = presentationClient(getExecutionContext()); 410 WebPresentationClient* client = presentationClient(getExecutionContext());
411 if (client) 411 if (client)
412 client->terminateConnection(m_url, m_id); 412 client->terminatePresentation(m_url, m_id);
413 413
414 tearDown(); 414 tearDown();
415 } 415 }
416 416
417 bool PresentationConnection::matches( 417 bool PresentationConnection::matches(
418 const WebPresentationSessionInfo& sessionInfo) const { 418 const WebPresentationInfo& presentationInfo) const {
419 return m_url == KURL(sessionInfo.url) && m_id == String(sessionInfo.id); 419 return m_url == KURL(presentationInfo.url) &&
420 m_id == String(presentationInfo.id);
420 } 421 }
421 422
422 bool PresentationConnection::matches(const String& id, const KURL& url) const { 423 bool PresentationConnection::matches(const String& id, const KURL& url) const {
423 return m_url == url && m_id == id; 424 return m_url == url && m_id == id;
424 } 425 }
425 426
426 void PresentationConnection::didChangeState( 427 void PresentationConnection::didChangeState(
427 WebPresentationConnectionState state) { 428 WebPresentationConnectionState state) {
428 didChangeState(state, true /* shouldDispatchEvent */); 429 didChangeState(state, true /* shouldDispatchEvent */);
429 } 430 }
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 void PresentationConnection::tearDown() { 516 void PresentationConnection::tearDown() {
516 // Cancel current Blob loading if any. 517 // Cancel current Blob loading if any.
517 if (m_blobLoader) { 518 if (m_blobLoader) {
518 m_blobLoader->cancel(); 519 m_blobLoader->cancel();
519 m_blobLoader.clear(); 520 m_blobLoader.clear();
520 } 521 }
521 m_messages.clear(); 522 m_messages.clear();
522 } 523 }
523 524
524 } // namespace blink 525 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698