Bug 95908 - Build failure with css filters enabled and accelerated compositing disabled
Summary: Build failure with css filters enabled and accelerated compositing disabled
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: arno.
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-05 16:29 PDT by arno.
Modified: 2012-10-03 15:28 PDT (History)
3 users (show)

See Also:


Attachments
patch proposal (2.55 KB, patch)
2012-09-05 16:33 PDT, arno.
no flags Details | Formatted Diff | Diff
updated patch (2.61 KB, patch)
2012-09-05 17:23 PDT, arno.
no flags Details | Formatted Diff | Diff
Patch (2.23 KB, patch)
2012-10-01 18:07 PDT, arno.
no flags Details | Formatted Diff | Diff
Patch (2.29 KB, patch)
2012-10-03 12:50 PDT, arno.
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description arno. 2012-09-05 16:29:44 PDT
Hi,


when trying to build webkit with:

build-webkit --gtk --css-filters --disable-accelerated-compositing

I get following error:

../../Source/WebCore/rendering/RenderLayer.cpp: In member function ‘void WebCore::RenderLayer::styleChanged(WebCore::StyleDifference, const WebCore::RenderStyle*)’:
../../Source/WebCore/rendering/RenderLayer.cpp:4979:64: error: ‘backing’ was not declared in this scope
../../Source/WebCore/rendering/RenderLayer.cpp:5006:32: error: ‘setBackingNeedsRepaint’ was not declared in this scope
Comment 1 arno. 2012-09-05 16:33:03 PDT
Created attachment 162365 [details]
patch proposal
Comment 2 arno. 2012-09-05 16:34:30 PDT
Ccing achicu as he has worked on css filters.
Comment 3 Alexandru Chiculita 2012-09-05 16:53:44 PDT
Looks good to me.

I think isComposited() is defined in both cases, so maybe the code could look like this instead:

bool RenderLayer::paintsWithFilters() const
{
    // FIXME: Eventually there will be more factors than isComposited() to decide whether or not to render the filter
    if (!renderer()->hasFilter())
        return false;
        
    if (!isComposited())
        return true;

#if USE(ACCELERATED_COMPOSITING)
    if (!m_backing || !m_backing->canCompositeFilters())
        return true;
#endif

    return false;
}
Comment 4 arno. 2012-09-05 17:23:56 PDT
Created attachment 162376 [details]
updated patch
Comment 5 arno. 2012-10-01 18:07:26 PDT
Created attachment 166583 [details]
Patch

updated patch: remove a pointless change
Comment 6 Tony Chang 2012-10-02 09:46:59 PDT
Comment on attachment 166583 [details]
Patch

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

> Source/WebCore/rendering/RenderLayer.cpp:4887
> +#if ENABLE(CSS_FILTERS) && USE(ACCELERATED_COMPOSITING)
>      bool backingDidCompositeLayers = isComposited() && backing()->canCompositeFilters();
>  #endif

Can we move |backingDidCompositeLayers| down to the line before it is used?
Comment 7 arno. 2012-10-03 12:50:37 PDT
Created attachment 166944 [details]
Patch

updated patch to addresse reviewer comment
Comment 8 WebKit Review Bot 2012-10-03 15:28:53 PDT
Comment on attachment 166944 [details]
Patch

Clearing flags on attachment: 166944

Committed r130331: <http://trac.webkit.org/changeset/130331>
Comment 9 WebKit Review Bot 2012-10-03 15:28:56 PDT
All reviewed patches have been landed.  Closing bug.