Chromium Code Reviews
Description[Reland] Support listening for available screens for multiple
Presentation URLs on a per frame basis.
Reland of 906113002. Previously failed to build due to missing
CONTENT_EXPORTs which are added in this patch.
Tested locally by switching to building using shared_library, repro'ed
the problem, then added the CONTENT_EXPORT and built successfully.
Support listening for available screens for multiple
Presentation URLs on a per frame basis.
This is done by associating PresentationServiceImpl
with the RenderFrameHost. When Presentation API
requests are passed to PresentationServiceImpl, it
will delegate to the embedder's Media Router along
with the frame id via the PresentationServiceDelegate
interface.
Each PresentationServiceImpl also maintains a hash
map of Presentation URLs currently registered to
"context" objects. These objects wait for both result
and renderer (i.e. callback) to both be ready before
sending the result back to renderer /
PresentationDispatcher.
Furthermore, PresentationServiceImpl listens for
changes to the RenderFrameHost. If an out of page
navigation occurred or if RenderFrameHost is
being destroyed, all current Presentation URLs
are unregistered.
Also added unit tests for PresentationSerivceImpl.
BUG=412331
Committed: https://crrev.com/9f515d066350e9be283ae8a0a36a6cb29218d8de
Cr-Commit-Position: refs/heads/master@{#315624}
Patch Set 1 #Patch Set 2 : NON_EXPORTED_BASE #Patch Set 3 : removed non_export_base from RenderFrameObserver #
Messages
Total messages: 8 (3 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||