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

Side by Side Diff: third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.cpp

Issue 2652973002: [scheduler] Plumb websocket information to scheduler (Closed)
Patch Set: Introduce WebFrameScheduler::ActiveConnectionHandle Created 3 years, 10 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 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 27 matching lines...) Expand all
38 #include "core/frame/LocalFrame.h" 38 #include "core/frame/LocalFrame.h"
39 #include "core/inspector/ConsoleMessage.h" 39 #include "core/inspector/ConsoleMessage.h"
40 #include "core/inspector/InspectorInstrumentation.h" 40 #include "core/inspector/InspectorInstrumentation.h"
41 #include "core/loader/FrameLoader.h" 41 #include "core/loader/FrameLoader.h"
42 #include "core/loader/FrameLoaderClient.h" 42 #include "core/loader/FrameLoaderClient.h"
43 #include "core/loader/MixedContentChecker.h" 43 #include "core/loader/MixedContentChecker.h"
44 #include "modules/websockets/InspectorWebSocketEvents.h" 44 #include "modules/websockets/InspectorWebSocketEvents.h"
45 #include "modules/websockets/WebSocketChannelClient.h" 45 #include "modules/websockets/WebSocketChannelClient.h"
46 #include "modules/websockets/WebSocketFrame.h" 46 #include "modules/websockets/WebSocketFrame.h"
47 #include "modules/websockets/WebSocketHandleImpl.h" 47 #include "modules/websockets/WebSocketHandleImpl.h"
48 #include "platform/WebFrameScheduler.h"
48 #include "platform/loader/fetch/UniqueIdentifier.h" 49 #include "platform/loader/fetch/UniqueIdentifier.h"
49 #include "platform/network/NetworkLog.h" 50 #include "platform/network/NetworkLog.h"
50 #include "platform/network/WebSocketHandshakeRequest.h" 51 #include "platform/network/WebSocketHandshakeRequest.h"
51 #include "platform/weborigin/SecurityOrigin.h" 52 #include "platform/weborigin/SecurityOrigin.h"
52 #include "public/platform/InterfaceProvider.h" 53 #include "public/platform/InterfaceProvider.h"
53 #include "public/platform/Platform.h" 54 #include "public/platform/Platform.h"
54 #include "wtf/PtrUtil.h" 55 #include "wtf/PtrUtil.h"
55 #include <memory> 56 #include <memory>
56 57
57 namespace blink { 58 namespace blink {
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 return m_document; 453 return m_document;
453 } 454 }
454 455
455 void DocumentWebSocketChannel::didConnect(WebSocketHandle* handle, 456 void DocumentWebSocketChannel::didConnect(WebSocketHandle* handle,
456 const String& selectedProtocol, 457 const String& selectedProtocol,
457 const String& extensions) { 458 const String& extensions) {
458 NETWORK_DVLOG(1) << this << " didConnect(" << handle << ", " 459 NETWORK_DVLOG(1) << this << " didConnect(" << handle << ", "
459 << String(selectedProtocol) << ", " << String(extensions) 460 << String(selectedProtocol) << ", " << String(extensions)
460 << ")"; 461 << ")";
461 462
463 if (document()->frame()) {
464 connection_handle_for_scheduler_ =
465 document()->frame()->frameScheduler()->onActiveConnectionCreated();
466 }
467
462 DCHECK(m_handle); 468 DCHECK(m_handle);
463 DCHECK_EQ(handle, m_handle.get()); 469 DCHECK_EQ(handle, m_handle.get());
464 DCHECK(m_client); 470 DCHECK(m_client);
465 471
466 m_client->didConnect(selectedProtocol, extensions); 472 m_client->didConnect(selectedProtocol, extensions);
467 } 473 }
468 474
469 void DocumentWebSocketChannel::didStartOpeningHandshake( 475 void DocumentWebSocketChannel::didStartOpeningHandshake(
470 WebSocketHandle* handle, 476 WebSocketHandle* handle,
471 PassRefPtr<WebSocketHandshakeRequest> request) { 477 PassRefPtr<WebSocketHandshakeRequest> request) {
(...skipping 24 matching lines...) Expand all
496 InspectorInstrumentation::didReceiveWebSocketHandshakeResponse( 502 InspectorInstrumentation::didReceiveWebSocketHandshakeResponse(
497 document(), m_identifier, m_handshakeRequest.get(), response); 503 document(), m_identifier, m_handshakeRequest.get(), response);
498 m_handshakeRequest.clear(); 504 m_handshakeRequest.clear();
499 } 505 }
500 506
501 void DocumentWebSocketChannel::didFail(WebSocketHandle* handle, 507 void DocumentWebSocketChannel::didFail(WebSocketHandle* handle,
502 const String& message) { 508 const String& message) {
503 NETWORK_DVLOG(1) << this << " didFail(" << handle << ", " << String(message) 509 NETWORK_DVLOG(1) << this << " didFail(" << handle << ", " << String(message)
504 << ")"; 510 << ")";
505 511
512 connection_handle_for_scheduler_.reset();
513
506 DCHECK(m_handle); 514 DCHECK(m_handle);
507 DCHECK_EQ(handle, m_handle.get()); 515 DCHECK_EQ(handle, m_handle.get());
508 516
509 // This function is called when the browser is required to fail the 517 // This function is called when the browser is required to fail the
510 // WebSocketConnection. Hence we fail this channel by calling 518 // WebSocketConnection. Hence we fail this channel by calling
511 // |this->failAsError| function. 519 // |this->failAsError| function.
512 failAsError(message); 520 failAsError(message);
513 // |this| may be deleted. 521 // |this| may be deleted.
514 } 522 }
515 523
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 } 586 }
579 } 587 }
580 588
581 void DocumentWebSocketChannel::didClose(WebSocketHandle* handle, 589 void DocumentWebSocketChannel::didClose(WebSocketHandle* handle,
582 bool wasClean, 590 bool wasClean,
583 unsigned short code, 591 unsigned short code,
584 const String& reason) { 592 const String& reason) {
585 NETWORK_DVLOG(1) << this << " didClose(" << handle << ", " << wasClean << ", " 593 NETWORK_DVLOG(1) << this << " didClose(" << handle << ", " << wasClean << ", "
586 << code << ", " << String(reason) << ")"; 594 << code << ", " << String(reason) << ")";
587 595
596 connection_handle_for_scheduler_.reset();
597
588 DCHECK(m_handle); 598 DCHECK(m_handle);
589 DCHECK_EQ(handle, m_handle.get()); 599 DCHECK_EQ(handle, m_handle.get());
590 600
591 m_handle.reset(); 601 m_handle.reset();
592 602
593 if (m_identifier) { 603 if (m_identifier) {
594 TRACE_EVENT_INSTANT1( 604 TRACE_EVENT_INSTANT1(
595 "devtools.timeline", "WebSocketDestroy", TRACE_EVENT_SCOPE_THREAD, 605 "devtools.timeline", "WebSocketDestroy", TRACE_EVENT_SCOPE_THREAD,
596 "data", InspectorWebSocketEvent::data(document(), m_identifier)); 606 "data", InspectorWebSocketEvent::data(document(), m_identifier));
597 InspectorInstrumentation::didCloseWebSocket(document(), m_identifier); 607 InspectorInstrumentation::didCloseWebSocket(document(), m_identifier);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
657 WebSocketChannel::trace(visitor); 667 WebSocketChannel::trace(visitor);
658 } 668 }
659 669
660 std::ostream& operator<<(std::ostream& ostream, 670 std::ostream& operator<<(std::ostream& ostream,
661 const DocumentWebSocketChannel* channel) { 671 const DocumentWebSocketChannel* channel) {
662 return ostream << "DocumentWebSocketChannel " 672 return ostream << "DocumentWebSocketChannel "
663 << static_cast<const void*>(channel); 673 << static_cast<const void*>(channel);
664 } 674 }
665 675
666 } // namespace blink 676 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698