According to latest spec, we shall check mixed context when creating PresentationRequest object, instead of when calling start(), reconnect(), getAvailability(). https://w3c.github.io/presentation-api/#interface-presentationrequest
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894 commit ad0eb0fa0ba570b4e41e28383dda35d1aca0a894 Author: zhaobin <zhaobin@chromium.org> Date: Tue Jan 17 21:25:47 2017 [Presentation API] Adds DOMString[] constructor to PresentationRequest. Applying https://codereview.chromium.org/2148643002/ This updates the Blink and platform layers of the Presentation API to support multiple URLs per PresentationRequest. Until support is plumbed through to the service layer, only the first URL in the array will be passed through the PresentationService API. This also: - Updates layout tests to exercise the new constructor - Adds a unit test to PresentationRequest - Updates PresentationAvailabilityTest - Adds a 'url' attribute to PresentationConnection - Moves mixed-content check to PresentationRequest ctor BUG= 627655 , 673942 , 654110 Review-Url: https://codereview.chromium.org/2552343009 Cr-Commit-Position: refs/heads/master@{#444148} [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/chrome/test/media_router/resources/common.js [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/content/renderer/presentation/presentation_dispatcher.cc [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/content/renderer/presentation/presentation_dispatcher.h [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/content/renderer/presentation/presentation_dispatcher_unittest.cc [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/presentation/presentation-api.html [add] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/presentation/presentation-navigation-multipleurls.html [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/presentation/presentation-reconnect.html [add] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/presentation/presentation-start.html [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/presentation/presentationconnectionavailableevent-ctor-mock.html [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/presentation/presentationrequest.html [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/presentation/resources/presentation-service-mock.js [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/BUILD.gn [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/Presentation.cpp [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationAvailability.cpp [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationAvailability.h [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationAvailabilityCallbacks.cpp [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationAvailabilityCallbacks.h [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationAvailabilityTest.cpp [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationConnection.h [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationConnection.idl [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationController.cpp [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationController.h [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationReceiverTest.cpp [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationRequest.cpp [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationRequest.h [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationRequest.idl [add] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/Source/modules/presentation/PresentationRequestTest.cpp [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/public/platform/modules/presentation/WebPresentationAvailabilityObserver.h [modify] https://crrev.com/ad0eb0fa0ba570b4e41e28383dda35d1aca0a894/third_party/WebKit/public/platform/modules/presentation/WebPresentationClient.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/34215edf2e52ccf0e9fd52135afd1addde2c7356 commit 34215edf2e52ccf0e9fd52135afd1addde2c7356 Author: zhaobin <zhaobin@chromium.org> Date: Fri Jan 20 00:51:25 2017 [Presentation API] fix DCHECK failure if PresentationRequest::create() throws SecurityError DCHECK failure if use exceptionState.throwDOMException() to throw SecurityError. Use throwSecurityError() instead. BUG= 673942 Review-Url: https://codereview.chromium.org/2642213002 Cr-Commit-Position: refs/heads/master@{#444898} [modify] https://crrev.com/34215edf2e52ccf0e9fd52135afd1addde2c7356/third_party/WebKit/Source/modules/presentation/PresentationRequest.cpp
Comment 1 by sko...@chromium.org
, Dec 15 2016Status: Assigned (was: Untriaged)