Bug 47485

Summary: SubframeLoader should call setNeedsStyleRecalc() after creating plugin
Product: WebKit Reporter: Girish Ramakrishnan <girish>
Component: Plug-insAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: noam, simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 35524    
Attachments:
Description Flags
Call setNeedsStyleRecalc if USE(ACCELERATED_COMPOSITING) none

Description Girish Ramakrishnan 2010-10-11 01:52:02 PDT
RenderLayerCompositor uses setNeedsStyleRecalc() to trigger acclerated compositing layers. This change is a precursor to adding accelerated compositing support for NPAPI plugins.

See 35524 for AC support for NPAPI plugins in Qt.
Comment 1 Girish Ramakrishnan 2010-10-11 01:54:31 PDT
Created attachment 70428 [details]
Call setNeedsStyleRecalc if USE(ACCELERATED_COMPOSITING)
Comment 2 Simon Fraser (smfr) 2010-10-11 07:40:48 PDT
Comment on attachment 70428 [details]
Call setNeedsStyleRecalc if USE(ACCELERATED_COMPOSITING)

View in context: https://bugs.webkit.org/attachment.cgi?id=70428&action=review

> WebCore/loader/SubframeLoader.cpp:371
>      pluginElement->setNeedsStyleRecalc(SyntheticStyleChange);

Mac does this via [self element]->setNeedsStyleRecalc(SyntheticStyleChange); in the PluginView code. Why not do the same?
Comment 3 Girish Ramakrishnan 2010-10-11 08:06:50 PDT
(In reply to comment #2)
> (From update of attachment 70428 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=70428&action=review
> 
> > WebCore/loader/SubframeLoader.cpp:371
> >      pluginElement->setNeedsStyleRecalc(SyntheticStyleChange);
> 
> Mac does this via [self element]->setNeedsStyleRecalc(SyntheticStyleChange); in the PluginView code. Why not do the same?

Indeed. It is indeed better to make this platform specific since one needs to let the compositor know only if AC is supported by the Chrome and WebKit port supports AC for plugins in that chrome.