New issue
Advanced search Search tips

Issue 819583 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Embedded options page is blank in print preview

Reported by aiman.an...@etouch.net, Mar 7 2018

Issue description

Chrome Version: 65.0.3325.124 (Official Build) Revision 42ae48183937849c27a047d09b789231a25e3fcf-refs/branch-heads/3325_122@{#3}(32/64-bit).

OS: Win(7,8,8.1,10), Mac(10.12.6, 10.13.1, 10.13.4) and Linux(14.04 LTS).

Test URL: https://chrome.google.com/webstore/detail/pdf-viewer/oemmndcbldboiebfnladdacbdfmadadm?utm_source=chrome-ntp-icon.

Pre-Condition: Navigate to the above URL and download the extension.

Steps to reproduce:
1.Launch Chrome, navigate to chrome://extensions/?id=oemmndcbldboiebfnladdacbdfmadadm.
2.Click on 'Extension icon' option and on PDF Viewer overlay give print command.
2.On Print preview, check background graphics option and observe.

Actual Result: Blank PDF Viewer overlay is seen on print preview.
Expected Result: Blank PDF Viewer overlay should not be seen on print preview.

This is Non-regression issue seen from ‘M-60’ build #60.0.3072.0

Note: Issue is also reproducible on Stable #65.0.3325.146, Dev #66.0.3355.0 and Canary #67.0.3364.0 build.

Thank You!
 
Actual Result.mp4
1.5 MB View Download
Status: Untriaged (was: Unconfirmed)
Cc: rob@robwu.nl
Owner: ekaramad@chromium.org
Status: Assigned (was: Untriaged)
To Ehsan for triage: does this involve oop printing?

Comment 3 by rob@robwu.nl, Mar 10 2018

Components: Platform>Apps>BrowserTag
Summary: Embedded options page is blank in print preview (was: Blank PDF Viewer overlay is seen on print preview.)
This is not a regression, I can reproduce this in 65.0.3325.146 and even the earliest version where embedded options pages were introduced (version 40.0.2214.114).

When an extension uses options_ui, Chrome will use a <extensionoptions> custom element to render the content. It seems that the content of such elements is not rendered in the print preview.

Minimal reproduction steps:
1. Create file manifest.json with the following content:
{
    "name": "Embedded options page",
    "version": "1",
    "manifest_version": 2,
    "options_ui": {
        "page": "options.html"
    }
}

2. Create options.html with the following content:
Embedded options page.

3. Load the directory containing those two files at chrome://extensions and start the print preview

Expected: Print preview with "Embedded options page".
Actual  : The options page is not rendered.
Owner: weili@chromium.org
This might be OOPIF printing given that the top overlay is an OOPIF-GuestView. Assigning to weili@ who works on OOPIF printing. Feel free to assign back to me if it is not relevant.

Comment 5 by weili@chromium.org, Mar 15 2018

Status: Started (was: Assigned)
yes, the blank content was rendered out of process. OOPIF printing should be able to solve it. 
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 22 2018

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

commit 5c0b4d1a198bfc165b82ab21e2748dc7b9ea1af4
Author: Wei Li <weili@chromium.org>
Date: Thu Mar 22 15:05:22 2018

Use OOPIF printing for extension/app pages

Some extension/app pages are hosted by guest views, which means they
have nested web contents. This CL checks nested web contents and always
use the outer contents to handle print requests so the entire content
can be printed correctly.

BUG= 819583 ,  447941 

Change-Id: I6b45f4867d13cf5141476a7e748e8c0e5d3b0996
Reviewed-on: https://chromium-review.googlesource.com/969949
Commit-Queue: Wei Li <weili@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545077}
[modify] https://crrev.com/5c0b4d1a198bfc165b82ab21e2748dc7b9ea1af4/chrome/browser/printing/print_browsertest.cc
[add] https://crrev.com/5c0b4d1a198bfc165b82ab21e2748dc7b9ea1af4/chrome/test/data/printing/test_extension/manifest.json
[add] https://crrev.com/5c0b4d1a198bfc165b82ab21e2748dc7b9ea1af4/chrome/test/data/printing/test_extension/options.html
[add] https://crrev.com/5c0b4d1a198bfc165b82ab21e2748dc7b9ea1af4/chrome/test/data/printing/test_extension/test_extension.html
[modify] https://crrev.com/5c0b4d1a198bfc165b82ab21e2748dc7b9ea1af4/components/printing/browser/print_composite_client.cc
[modify] https://crrev.com/5c0b4d1a198bfc165b82ab21e2748dc7b9ea1af4/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/5c0b4d1a198bfc165b82ab21e2748dc7b9ea1af4/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/5c0b4d1a198bfc165b82ab21e2748dc7b9ea1af4/content/public/browser/web_contents.h

Comment 7 by weili@chromium.org, Mar 23 2018

Labels: -Target-67 Merge-Request-66
verified on Canary 67.0.3379.0. This change is small and affected extension/app printing only. This has been broken for a while (maybe M60?). It didn't show option page in print preview. But if site isolation is enabled, the print preview will hang until user close it. Thus request a merge into M66. thanks.
Project Member

Comment 8 by sheriffbot@chromium.org, Mar 23 2018

Labels: -Merge-Request-66 Merge-Review-66 Hotlist-Merge-Review
This bug requires manual review: M66 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 9 by rob@robwu.nl, Mar 23 2018

@7
As said in comment 3, this has never worked in Chrome (all the way back to 40, where the <extensionoptions> guest view was being used).

I'm not sure whether this needs to be merged since this is a non-regression, and apparently nobody had noticed the blank pages in the print preview of chrome://extensions.

> But if site isolation is enabled, the print preview will hang until user close it.

Print preview isn't hanging here in Chrome stable with the STR from comment 3.

Comment 10 by lfg@chromium.org, Mar 23 2018

Re#9: The hang started after commit ef052a2f598059f95ff7151e3b62fd2a8a3b9abb, which is only in M66.

lfg@ / weili@ - is a merge still needed?

Comment 12 by weili@chromium.org, Mar 23 2018

yes, pls. Otherwise, print preview will hang on extension option page for M66 trials.
Labels: -Merge-Review-66 Merge-Approved-66
Approving merge to M66. Branch:3359
Project Member

Comment 14 by bugdroid1@chromium.org, Mar 26 2018

Labels: -merge-approved-66 merge-merged-3359
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3de8547439cdb5522a973e72dd0607c1dd7c6998

commit 3de8547439cdb5522a973e72dd0607c1dd7c6998
Author: Wei Li <weili@chromium.org>
Date: Mon Mar 26 18:40:04 2018

Use OOPIF printing for extension/app pages

Some extension/app pages are hosted by guest views, which means they
have nested web contents. This CL checks nested web contents and always
use the outer contents to handle print requests so the entire content
can be printed correctly.

BUG= 819583 ,  447941 

Change-Id: I6b45f4867d13cf5141476a7e748e8c0e5d3b0996
Reviewed-on: https://chromium-review.googlesource.com/969949
Commit-Queue: Wei Li <weili@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#545077}(cherry picked from commit 5c0b4d1a198bfc165b82ab21e2748dc7b9ea1af4)
Reviewed-on: https://chromium-review.googlesource.com/981085
Reviewed-by: Wei Li <weili@chromium.org>
Cr-Commit-Position: refs/branch-heads/3359@{#444}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/3de8547439cdb5522a973e72dd0607c1dd7c6998/chrome/browser/printing/print_browsertest.cc
[add] https://crrev.com/3de8547439cdb5522a973e72dd0607c1dd7c6998/chrome/test/data/printing/test_extension/manifest.json
[add] https://crrev.com/3de8547439cdb5522a973e72dd0607c1dd7c6998/chrome/test/data/printing/test_extension/options.html
[add] https://crrev.com/3de8547439cdb5522a973e72dd0607c1dd7c6998/chrome/test/data/printing/test_extension/test_extension.html
[modify] https://crrev.com/3de8547439cdb5522a973e72dd0607c1dd7c6998/components/printing/browser/print_composite_client.cc
[modify] https://crrev.com/3de8547439cdb5522a973e72dd0607c1dd7c6998/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/3de8547439cdb5522a973e72dd0607c1dd7c6998/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/3de8547439cdb5522a973e72dd0607c1dd7c6998/content/public/browser/web_contents.h

Comment 15 by weili@chromium.org, Mar 26 2018

Status: Fixed (was: Started)

Sign in to add a comment