New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 734798 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug

Blocking:
issue 697526


Participants' hotlists:
presentation-api-1ua


Sign in to add a comment

[Presentation API] PresentationReceiver_create-manual.https.html triggers DCHECK in offscreen_presentation_manager

Project Member Reported by mfo...@chromium.org, Jun 19 2017

Issue description

Chrome: Version 61.0.3136.0 (Developer Build) (64-bit)
OS: Max OS X 10.12.5 (Sierra)

Steps to repro:
1. Run a debug build as

/Users/mfoltz/chrome/src/out/Default/Google Chrome.app/Contents/MacOS/Google Chrome' --enable-logging --also-log-to-stderr '--vmodule=presentation*=2,media_r*=2,extension*=2,capture_access*=2,desktop_capture*=2,media_stream*=2,user_media*=2' --load-media-router-component-extension=1 --no-proxy-server --show-component-extension-options --unsafely-treat-insecure-origin-as-secure=http://web-platform.test:8000 --user-data-dir=/Users/mfoltz/tmp/mr-chrome/local

(Note: Only the --unsafely and --user-data-dir flags are necessary)

2. Visit http://web-platform.test:8000/presentation-api/receiving-ua/PresentationReceiver_create-manual.https.html
3. Select a Cast device to start test
4. Chrome crashes here:

void OffscreenPresentationManager::OffscreenPresentation::RegisterReceiver(
    const content::ReceiverConnectionAvailableCallback& receiver_callback) {
==>  DCHECK(receiver_callback_.is_null());

Attaching log file
 
mr-chrome-local-20170619-155755.txt
66.4 KB View Download

Comment 1 by mfo...@chromium.org, Jun 19 2017

Blocking: 697526

Comment 2 by sko...@chromium.org, Jun 23 2017

Status: Assigned (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dca98f635b5337b08df7a3d9480800adfeaba4c5

commit dca98f635b5337b08df7a3d9480800adfeaba4c5
Author: zhaobin <zhaobin@chromium.org>
Date: Thu Jun 29 18:42:28 2017

[Presentation API] OffscreenPresentationManager should only interact with top level receiver frame

When receiver page has sub frames, all frames will try to register receiver callbacks to OPM with the same presentation_id, triggering DCHECK failure. Also any frame reset will end offscreen presentation.

According to https://github.com/w3c/presentation-api/issues/367, only top level frame matters. This patch adds a is_main_frame_ flag to PresentationServiceImpl to indicate top level frame.

BUG= 734798 

Review-Url: https://codereview.chromium.org/2949053002
Cr-Commit-Position: refs/heads/master@{#483436}

[modify] https://crrev.com/dca98f635b5337b08df7a3d9480800adfeaba4c5/content/browser/presentation/presentation_service_impl.cc
[modify] https://crrev.com/dca98f635b5337b08df7a3d9480800adfeaba4c5/content/browser/presentation/presentation_service_impl.h
[modify] https://crrev.com/dca98f635b5337b08df7a3d9480800adfeaba4c5/content/browser/presentation/presentation_service_impl_unittest.cc

Cc: -zhaobin@chromium.org mfo...@chromium.org
Owner: zhaobin@chromium.org
Bin, can this be marked fixed?

Status: Fixed (was: Assigned)

Sign in to add a comment