Bug 130659

Summary: Subpixel rendering: Transition class CSSImageGeneratorValue/class StyleImage (and its dependencies) from IntSize to FloatSize to enable subpixel sized (generated)images.
Product: WebKit Reporter: zalan <zalan>
Component: Layout and RenderingAssignee: zalan <zalan>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, d-r, esprehn+autocc, fmalita, glenn, gyuyoung.kim, japhet, kondapallykalyan, macpherson, menard, ossy, pdr, schenney, sergio, simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 130643    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch none

Description zalan 2014-03-23 21:47:43 PDT
we should eventually be able to get device pixel sized generated images.
Comment 1 zalan 2014-03-23 21:52:45 PDT
Created attachment 227623 [details]
Patch
Comment 2 zalan 2014-03-23 22:20:08 PDT
Created attachment 227624 [details]
Patch
Comment 3 zalan 2014-04-01 12:43:42 PDT
Created attachment 228308 [details]
Patch
Comment 4 zalan 2014-04-01 12:43:52 PDT
Comment on attachment 228308 [details]
Patch

EWS
Comment 5 zalan 2014-04-01 13:03:53 PDT
Created attachment 228310 [details]
Patch
Comment 6 zalan 2014-04-01 13:04:12 PDT
Comment on attachment 228310 [details]
Patch

EWS
Comment 7 WebKit Commit Bot 2014-04-02 07:19:25 PDT
Comment on attachment 228310 [details]
Patch

Clearing flags on attachment: 228310

Committed r166642: <http://trac.webkit.org/changeset/166642>
Comment 8 WebKit Commit Bot 2014-04-02 07:19:31 PDT
All reviewed patches have been landed.  Closing bug.
Comment 9 Csaba Osztrogonác 2014-04-02 08:17:34 PDT
Comment on attachment 228310 [details]
Patch

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

> Source/WebCore/platform/graphics/LayoutSize.h:203
> +inline FloatSize flooredForPainting(const LayoutSize& size, float pixelSnappingFactor)
> +{
> +#if ENABLE(SUBPIXEL_LAYOUT)
> +    return FloatSize(floorToDevicePixel(size.width(), pixelSnappingFactor), floorToDevicePixel(size.height(), pixelSnappingFactor));
> +#else
> +    UNUSED_PARAM(pixelSnappingFactor);
> +    return FloatSize(point);
> +#endif
> +}

It broke the WinCairo build, because there is no defined point identifier:

     1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (C:\Projects\BuildSlave\win-cairo-release\build\WebKitBuild\Release_WinCairo\obj32\WebCore\DerivedSources\MathMLElementFactory.cpp)
     1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (..\html\track\TextTrackCueGeneric.cpp)
     1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (..\html\track\TrackListBase.cpp)
     1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (..\html\track\VideoTrack.cpp)
     1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (..\html\track\AudioTrack.cpp)
     1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (C:\Projects\BuildSlave\win-cairo-release\build\WebKitBuild\Release_WinCairo\obj32\WebCore\DerivedSources\SVGElementFactory.cpp)
Comment 10 zalan 2014-04-02 08:18:45 PDT
(In reply to comment #9)
> (From update of attachment 228310 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=228310&action=review
> 
> > Source/WebCore/platform/graphics/LayoutSize.h:203
> > +inline FloatSize flooredForPainting(const LayoutSize& size, float pixelSnappingFactor)
> > +{
> > +#if ENABLE(SUBPIXEL_LAYOUT)
> > +    return FloatSize(floorToDevicePixel(size.width(), pixelSnappingFactor), floorToDevicePixel(size.height(), pixelSnappingFactor));
> > +#else
> > +    UNUSED_PARAM(pixelSnappingFactor);
> > +    return FloatSize(point);
> > +#endif
> > +}
> 
> It broke the WinCairo build, because there is no defined point identifier:
> 
>      1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (C:\Projects\BuildSlave\win-cairo-release\build\WebKitBuild\Release_WinCairo\obj32\WebCore\DerivedSources\MathMLElementFactory.cpp)
>      1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (..\html\track\TextTrackCueGeneric.cpp)
>      1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (..\html\track\TrackListBase.cpp)
>      1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (..\html\track\VideoTrack.cpp)
>      1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (..\html\track\AudioTrack.cpp)
>      1>c:\projects\buildslave\win-cairo-release\build\source\webcore\platform\graphics\LayoutSize.h(201): error C2065: 'point' : undeclared identifier (C:\Projects\BuildSlave\win-cairo-release\build\WebKitBuild\Release_WinCairo\obj32\WebCore\DerivedSources\SVGElementFactory.cpp)

Thanks, I'll fix it right away.