Bug 64128 - CSS outlines on <embed> don't display
Summary: CSS outlines on <embed> don't display
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2011-07-07 15:30 PDT by Simon Fraser (smfr)
Modified: 2022-07-26 19:49 PDT (History)
12 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2011-07-07 15:30:51 PDT
<embed style="border: 2px solid red; outline: 4px solid blue;">

The blue border does not display.

This seems to be because RenderEmbeddedObject::paint() doesn't use the same pattern as RenderBlock etc:

    bool pushedClip = pushContentsClip(paintInfo, tx, ty);
    paintObject(paintInfo, tx, ty);
    if (pushedClip)
        popContentsClip(paintInfo, phase, tx, ty);

where popContentsClip paint the outline.
Comment 1 SravanKumar 2011-07-15 04:53:35 PDT
Hi,

If no one is working on this, i think i can work on it.
Comment 2 Simon Fraser (smfr) 2011-07-27 12:20:53 PDT
Please do. Assign the bug to yourself if you wish to work on it.
Comment 3 Antaryami Pandia (apandia) 2012-02-12 23:43:36 PST
@Simon - I think this outline issue for <embed> tag has been resolved.
I verified on chromium (linux) Webkit Gtk Port.
Comment 4 Simon Fraser (smfr) 2012-02-13 00:52:48 PST
Would be nice to know which commit fixed it.
Comment 5 Antaryami Pandia (apandia) 2012-02-13 00:54:17 PST
yes, I will dig to find out.
Comment 6 Antaryami Pandia (apandia) 2012-02-13 03:43:34 PST
I am digging to find out the exact revision.
Given below is the stack which paints the outline.

0	WebCore::RenderObject::paintOutline			RenderObject.cpp		1121	0xb57147e2	
1	WebCore::RenderWidget::paint	        		RenderWidget.cpp		255	0xb576d8b4	
2	WebCore::RenderEmbeddedObject::paint			RenderEmbeddedObject.cpp	147	0xb56bd8e3	
3	WebCore::InlineBox::paint	        		InlineBox.cpp			240	0xb56208dc	
4	WebCore::InlineFlowBox::paint	        		InlineFlowBox.cpp		1069	0xb56251e2	
5	WebCore::RootInlineBox::paint	        		RootInlineBox.cpp		196	0xb577316d	
6	WebCore::RenderLineBoxList::paint			RenderLineBoxList.cpp		262	0xb56fe1c0	
7	WebCore::RenderBlock::paintContents			RenderBlock.cpp			2580	0xb5642330	
8	WebCore::RenderBlock::paintObject			RenderBlock.cpp			2690	0xb5642a90	
9	WebCore::RenderBlock::paint	        		RenderBlock.cpp			2435	0xb5641622	
10	WebCore::RenderBlock::paintChildren	 		RenderBlock.cpp			2624	0xb564260b	
11	WebCore::RenderBlock::paintContents	                RenderBlock.cpp			2582	0xb564234b	
12	WebCore::RenderBlock::paintObject	                RenderBlock.cpp			2690	0xb5642a90	
13	WebCore::RenderBlock::paint	                        RenderBlock.cpp			2435	0xb5641622	
14	WebCore::RenderLayer::paintLayerContents	        RenderLayer.cpp			2912	0xb56f0e90	
15	WebCore::RenderLayer::paintLayerContentsAndReflection	RenderLayer.cpp			2813	0xb56f08ef	
16	WebCore::RenderLayer::paintLayer			RenderLayer.cpp			2794	0xb56f07ee	
17	WebCore::RenderLayer::paintList				RenderLayer.cpp			2977	0xb56f132b	
18	WebCore::RenderLayer::paintLayerContents		RenderLayer.cpp			2933	0xb56f107f	
19	WebCore::RenderLayer::paintLayerContentsAndReflection	RenderLayer.cpp			2813	0xb56f08ef	
20	WebCore::RenderLayer::paintLayer			RenderLayer.cpp			2794	0xb56f07ee
Comment 7 Ahmad Saleem 2022-07-26 04:43:40 PDT
I slightly changed the test case as below from Comment 0:

Link - https://jsfiddle.net/xw9zb8vu/show

Only Firefox Nightly 104 is drawing the blue border with red inside, while Safari 15.6 and Chrome Canary 106 does not draw anything.

I am not sure on whether there is any plan for <embed> to support or enhance this further, so I will leave it up to the team but just wanted to share updated testing result. Thanks!
Comment 8 Radar WebKit Bug Importer 2022-07-26 19:49:15 PDT
<rdar://problem/97642023>