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

Issue 749737 link

Starred by 3 users

Issue metadata

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

Blocked on:
issue 759895

Blocking:
issue 650433



Sign in to add a comment

PDFs do not always render in iFrame but data is loaded

Reported by kyleinvr...@gmail.com, Jul 27 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36

Steps to reproduce the problem:
1. Click link to launch iFrame with pdf
2. Most times, PDF is completely black, no icons or messages, just black screen.
3. Right clicking black allows downloading of the PDF
4. Visiting the PDF link outside of the iFrame renders properly 

What is the expected behavior?
PDF should be visible within the iFrame when clicking the link.
Visiting the PDF url directly outside of the iFrame always displays it properly. Right clicking on the black area allows downloading of the PDF and information about it, but doesn't render it. Calling a refresh on the iFrame after it has been loaded will display the PDF.

What went wrong?
In update 59 something changed and PDFs no long display correctly in the iFrame. Tested after the update on a machine with 58 installed, working properly, updated to 59, issue.

Did this work before? Yes 58

Does this work in other browsers? Yes

Chrome version: 60.0.3112.78  Channel: stable
OS Version: 10.0
Flash Version: 

Current workaround is to close and re-open the link whenever rendering fails.
 
Components: Internals>Plugins>PDF
Labels: Needs-Triage-M60 Needs-Feedback
kyleinvrwoodchipper@, thank you for the report. Can you please provide a sample test case to repro?

Comment 2 Deleted

maseefeldt@, thank you for the repro case. I am able to reproduce this issue and will provide the bisect soon.

PS: Since it is a public bug, i'm deleting the credentials listed here.
Labels: -Needs-Feedback -Type-Bug-Regression -Needs-Triage-M60 M-61 OS-Linux OS-Mac Type-Bug
Owner: erikc...@chromium.org
Status: Assigned (was: Unconfirmed)
Here is the narrow bisect: https://chromium.googlesource.com/chromium/src/+log/174eb44312202a5132de900553f7c302da0feef6..85bab14c835935e79a0b63f24b47f671840373de

erikchen@, can you please look into the below change (https://chromium.googlesource.com/chromium/src/+/85bab14c835935e79a0b63f24b47f671840373de) ?

Thank you!
What's the repro? Apparently it got deleted in c#2.
I've emailed you the details.
Any update on this?
Do you need anything else from us help resolve this?  Any idea of a timeline for a fix?
Status: Started (was: Assigned)
Project Member

Comment 10 by bugdroid1@chromium.org, Aug 29 2017

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

commit 1b7a82bab5c46e2cd2ab53c8d2e91f27a6d0ac37
Author: Erik Chen <erikchen@chromium.org>
Date: Tue Aug 29 17:15:53 2017

Move feature behind RuntimeEnabledFeatures conditional.

The DisplayNoneIFrameCreatesNoLayoutObjectEnabled feature had a
LazyReattachIfAttached() call in Document::WillChangeFrameOwnerProperties that
was accidentally not wrapped in a RuntimeEnabledFeatures conditional.

Bug:  749737 ,  758130 ,  650433 
Change-Id: I0482ca470bc0f78aec4ea1f7b82134e565aaa43b
Reviewed-on: https://chromium-review.googlesource.com/639362
Reviewed-by: Stefan Zager <szager@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498149}
[modify] https://crrev.com/1b7a82bab5c46e2cd2ab53c8d2e91f27a6d0ac37/third_party/WebKit/Source/core/dom/Document.cpp

Blockedon: 759895
Blocking: 650433
The feature is correctly turn off now, so the site works on Chromium Canary, but the site is still broken when the feature is turned on.
I started digging into this, just by adding a lot of logging. 

LOG messages when feature is disabled.
"""
[8640:775:1020/150926.009343:ERROR:browser_plugin.cc(296)] BrowserPlugin::ViewRectsChanged: 0,0 0x0
[8640:775:1020/150926.009376:ERROR:mime_handler_view_container.cc(198)] MimeHandlerViewContainer::DidResizeElement 0x0
[8640:775:1020/150926.009387:ERROR:mime_handler_view_container.cc(324)] MimeHandlerViewContainer::CreateMimeHandlerViewGuestIfNecessary1
[8640:775:1020/150926.009402:ERROR:browser_plugin.cc(296)] BrowserPlugin::ViewRectsChanged: 0,0 0x0
[8640:775:1020/150926.010260:ERROR:WebLocalFrameImpl.cpp(1852)] WebLocalFrameImpl::DidFinish1
[8640:775:1020/150926.010278:ERROR:WebLocalFrameImpl.cpp(1856)] WebLocalFrameImpl::DidFinish2
[8640:775:1020/150926.010301:ERROR:mime_handler_view_container.cc(182)] MimeHandlerViewContainer::PluginDidFinishLoading
[8640:775:1020/150926.154745:ERROR:mime_handler_view_container.cc(324)] MimeHandlerViewContainer::CreateMimeHandlerViewGuestIfNecessary1
[8640:775:1020/150926.154763:ERROR:mime_handler_view_container.cc(336)] MimeHandlerViewContainer::CreateMimeHandlerViewGuestIfNecessary2
[8640:775:1020/150926.154771:ERROR:mime_handler_view_container.cc(340)] MimeHandlerViewContainer::CreateMimeHandlerViewGuestIfNecessary3
[8619:775:1020/150926.154953:ERROR:extensions_guest_view_message_filter.cc(107)] ExtensionsGuestViewMessageFilter::OnCreateMimeHandlerViewGuest
[8640:775:1020/150926.156131:ERROR:browser_plugin.cc(296)] BrowserPlugin::ViewRectsChanged: 100,65 0x0
[8640:775:1020/150926.156253:ERROR:browser_plugin.cc(296)] BrowserPlugin::ViewRectsChanged: 100,65 1000x899
[8640:775:1020/150926.156279:ERROR:mime_handler_view_container.cc(198)] MimeHandlerViewContainer::DidResizeElement 1000x899
[8640:775:1020/150926.156288:ERROR:mime_handler_view_container.cc(324)] MimeHandlerViewContainer::CreateMimeHandlerViewGuestIfNecessary1
[8640:775:1020/150926.156352:ERROR:browser_plugin.cc(296)] BrowserPlugin::ViewRectsChanged: 100,65 1000x899
[8640:775:1020/150926.156491:ERROR:browser_plugin.cc(296)] BrowserPlugin::ViewRectsChanged: 100,65 1000x899
[8619:775:1020/150926.156893:ERROR:extensions_guest_view_message_filter.cc(165)] ExtensionsGuestViewMessageFilter::MimeHandlerViewGuestCreatedCallback 0x0
[8619:775:1020/150926.157471:ERROR:extensions_guest_view_message_filter.cc(140)] ExtensionsGuestViewMessageFilter::OnResizeGuest 1000x899
[8640:775:1020/150926.161048:ERROR:browser_plugin.cc(160)] BrowserPlugin::Attach
[8640:775:1020/150926.161084:ERROR:browser_plugin.cc(202)] BrowserPlugin::Detach
[8640:775:1020/150926.161112:ERROR:browser_plugin.cc(296)] BrowserPlugin::ViewRectsChanged: 100,65 1000x899
[8640:775:1020/150926.230123:ERROR:browser_plugin.cc(296)] BrowserPlugin::ViewRectsChanged: 100,65 1000x899
[8640:775:1020/150926.230167:ERROR:mime_handler_view_container.cc(198)] MimeHandlerViewContainer::DidResizeElement 1000x899
[8640:775:1020/150926.230179:ERROR:mime_handler_view_container.cc(324)] MimeHandlerViewContainer::CreateMimeHandlerViewGuestIfNecessary1
[8619:775:1020/150926.230438:ERROR:extensions_guest_view_message_filter.cc(140)] ExtensionsGuestViewMessageFilter::OnResizeGuest 1000x899
"""

LOG messages when feature is enabled:
"""
[8728:775:1020/151011.213536:ERROR:browser_plugin.cc(296)] BrowserPlugin::ViewRectsChanged: 100,65 1000x859
[8728:775:1020/151011.213563:ERROR:mime_handler_view_container.cc(198)] MimeHandlerViewContainer::DidResizeElement 1000x859
[8728:775:1020/151011.213573:ERROR:mime_handler_view_container.cc(324)] MimeHandlerViewContainer::CreateMimeHandlerViewGuestIfNecessary1
"""

Cc: ekaramad@chromium.org fsam...@chromium.org
Project Member

Comment 15 by bugdroid1@chromium.org, Dec 9 2017

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

commit 924ea9b1e5bd39afaa590a5c5dcac242a907067f
Author: Steve Kobes <skobes@chromium.org>
Date: Sat Dec 09 14:16:48 2017

Always create layout trees for plugin documents.

This makes LayoutView::CanHaveChildren return true for plugin documents
(such as PDF's), even when the DisplayNoneIFrameCreatesNoLayoutObject
feature would have made it return false.

Proper initialization of plugin documents currently needs a layout tree
during frame loading (see comments in LayoutView::CanHaveChildren).

Bug:  749737 
Change-Id: I32307b7ec91c910e0e2b9697046a717a4c343c35
Reviewed-on: https://chromium-review.googlesource.com/817948
Reviewed-by: Erik Chen <erikchen@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Steve Kobes <skobes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522984}
[modify] https://crrev.com/924ea9b1e5bd39afaa590a5c5dcac242a907067f/third_party/WebKit/Source/core/exported/WebPluginContainerTest.cpp
[modify] https://crrev.com/924ea9b1e5bd39afaa590a5c5dcac242a907067f/third_party/WebKit/Source/core/layout/LayoutView.cpp
[add] https://crrev.com/924ea9b1e5bd39afaa590a5c5dcac242a907067f/third_party/WebKit/Source/core/testing/data/iframe_pdf_display_none.html

Status: Fixed (was: Started)

Sign in to add a comment