Bug 143911

Summary: REGRESSION (r181656): Animated tiled layers are missing content
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: New BugsAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, darin, kling, simon.fraser, thorton
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch darin: review+

Description Simon Fraser (smfr) 2015-04-17 18:35:44 PDT
REGRESSION (r181656): Animated tiled layers are missing content
Comment 1 Simon Fraser (smfr) 2015-04-18 11:45:45 PDT
Created attachment 251094 [details]
Patch
Comment 2 Simon Fraser (smfr) 2015-04-18 11:46:16 PDT
rdar://problem/20596328
Comment 3 Darin Adler 2015-04-18 12:12:40 PDT
Comment on attachment 251094 [details]
Patch

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

Should fix incorrect use of PassRefPtr; deprecated now.

> Source/WebCore/dom/ScriptedAnimationController.h:94
> +    virtual PassRefPtr<DisplayRefreshMonitor> createDisplayRefreshMonitor(PlatformDisplayID) const override;

This should be RefPtr, not PassRefPtr.

> Source/WebCore/page/ChromeClient.h:289
> +    virtual PassRefPtr<DisplayRefreshMonitor> createDisplayRefreshMonitor(PlatformDisplayID) const { return nullptr; }

This should be RefPtr, not PassRefPtr.

> Source/WebCore/platform/graphics/DisplayRefreshMonitorClient.h:47
> +    virtual PassRefPtr<DisplayRefreshMonitor> createDisplayRefreshMonitor(PlatformDisplayID) const = 0;

This should be RefPtr, not PassRefPtr.

> Source/WebCore/platform/graphics/GraphicsLayerUpdater.cpp:82
> +PassRefPtr<DisplayRefreshMonitor> GraphicsLayerUpdater::createDisplayRefreshMonitor(PlatformDisplayID displayID) const

This should be RefPtr, not PassRefPtr.

> Source/WebCore/platform/graphics/GraphicsLayerUpdater.h:41
> +    virtual PassRefPtr<DisplayRefreshMonitor> createDisplayRefreshMonitor(PlatformDisplayID) const = 0;

This should be RefPtr, not PassRefPtr.

> Source/WebCore/platform/graphics/GraphicsLayerUpdater.h:58
> +    virtual PassRefPtr<DisplayRefreshMonitor> createDisplayRefreshMonitor(PlatformDisplayID) const override;

This should be RefPtr, not PassRefPtr.

> Source/WebCore/rendering/RenderLayerCompositor.cpp:4166
> +PassRefPtr<DisplayRefreshMonitor> RenderLayerCompositor::createDisplayRefreshMonitor(PlatformDisplayID displayID) const

This should be RefPtr, not PassRefPtr.

> Source/WebCore/rendering/RenderLayerCompositor.h:406
> +    PassRefPtr<DisplayRefreshMonitor> createDisplayRefreshMonitor(PlatformDisplayID) const override;

This should be RefPtr, not PassRefPtr.

> Source/WebCore/testing/Internals.cpp:2074
> +        ec = INVALID_ACCESS_ERR;

I don’t understand why having a null FrameView means INVALID_ACCESS_ERR but having a null RenderView means “silently do nothing”. But it’s just testing code, so no big deal I guess.
Comment 4 Simon Fraser (smfr) 2015-04-18 12:18:00 PDT
It's sad that nothing in the PassRefPtr header mentions it being deprecated.
Comment 5 Simon Fraser (smfr) 2015-04-18 12:40:49 PDT
https://trac.webkit.org/r182985
Comment 6 Darin Adler 2015-04-19 09:12:56 PDT
(In reply to comment #4)
> It's sad that nothing in the PassRefPtr header mentions it being deprecated.

I think I’m going to rename it to DeprecatedPassRefPtr soon.