Changeset 96142 in webkit


Ignore:
Timestamp:
Sep 27, 2011 12:49:09 PM (13 years ago)
Author:
dino@apple.com
Message:

Add 'filter' value to RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=68471

Reviewed by Simon Fraser.

Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
is turned on. Similar to -webkit-transform, -webkit-filter is a
list of FilterOperations, each identifying what type of operation
it is. This change simply adds the basic objects, it does not
parse the property to generate the list.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/filters/FilterOperation.h: Added.

(WebCore::FilterOperation::~FilterOperation):
(WebCore::FilterOperation::operator!=):
(WebCore::FilterOperation::getOperationType):
(WebCore::FilterOperation::isSameType):
(WebCore::FilterOperation::FilterOperation):
(WebCore::ReferenceFilterOperation::create):
(WebCore::ReferenceFilterOperation::reference):
(WebCore::ReferenceFilterOperation::operator==):
(WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
(WebCore::BasicColorMatrixFilterOperation::create):
(WebCore::BasicColorMatrixFilterOperation::amount):
(WebCore::BasicColorMatrixFilterOperation::operator==):
(WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
(WebCore::BasicComponentTransferFilterOperation::create):
(WebCore::BasicComponentTransferFilterOperation::amount):
(WebCore::BasicComponentTransferFilterOperation::operator==):
(WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
(WebCore::GammaFilterOperation::create):
(WebCore::GammaFilterOperation::amplitude):
(WebCore::GammaFilterOperation::exponent):
(WebCore::GammaFilterOperation::offset):
(WebCore::GammaFilterOperation::operator==):
(WebCore::GammaFilterOperation::GammaFilterOperation):
(WebCore::BlurFilterOperation::create):
(WebCore::BlurFilterOperation::stdDeviationX):
(WebCore::BlurFilterOperation::stdDeviationY):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::BlurFilterOperation):
(WebCore::SharpenFilterOperation::create):
(WebCore::SharpenFilterOperation::radius):
(WebCore::SharpenFilterOperation::threshold):
(WebCore::SharpenFilterOperation::amount):
(WebCore::SharpenFilterOperation::operator==):
(WebCore::SharpenFilterOperation::SharpenFilterOperation):
(WebCore::DropShadowFilterOperation::create):
(WebCore::DropShadowFilterOperation::shadow):
(WebCore::DropShadowFilterOperation::operator==):
(WebCore::DropShadowFilterOperation::DropShadowFilterOperation):

  • platform/graphics/filters/FilterOperations.cpp: Added.

(WebCore::FilterOperations::FilterOperations):
(WebCore::FilterOperations::operator==):

  • platform/graphics/filters/FilterOperations.h: Added.

(WebCore::FilterOperations::operator!=):
(WebCore::FilterOperations::clear):
(WebCore::FilterOperations::operations):
(WebCore::FilterOperations::size):
(WebCore::FilterOperations::at):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::RenderStyle):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::filter):
(WebCore::InheritedFlags::hasFilter):
(WebCore::InheritedFlags::setFilter):
(WebCore::InheritedFlags::initialFilter):

  • rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
  • rendering/style/StyleFilterData.cpp: Added.

(WebCore::StyleFilterData::StyleFilterData):
(WebCore::StyleFilterData::operator==):

  • rendering/style/StyleFilterData.h: Added.

(WebCore::StyleFilterData::create):
(WebCore::StyleFilterData::copy):
(WebCore::StyleFilterData::operator!=):

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h: New filter DataRef.
Location:
trunk/Source/WebCore
Files:
2 added
12 edited
3 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeLists.txt

    r96064 r96142  
    11041104    platform/graphics/filters/FETurbulence.cpp
    11051105    platform/graphics/filters/FilterEffect.cpp
     1106    platform/graphics/filters/FilterOperations.cpp
    11061107    platform/graphics/filters/LightSource.cpp
    11071108    platform/graphics/filters/PointLightSource.cpp
     
    12831284    rendering/style/StyleCachedImage.cpp
    12841285    rendering/style/StyleDeprecatedFlexibleBoxData.cpp
     1286    rendering/style/StyleFilterData.cpp
    12851287    rendering/style/StyleFlexibleBoxData.cpp
    12861288    rendering/style/StyleGeneratedImage.cpp
  • trunk/Source/WebCore/ChangeLog

    r96141 r96142  
     12011-09-27  Dean Jackson  <dino@apple.com>
     2
     3        Add 'filter' value to RenderStyle
     4        https://bugs.webkit.org/show_bug.cgi?id=68471
     5
     6        Reviewed by Simon Fraser.
     7
     8        Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
     9        is turned on. Similar to -webkit-transform, -webkit-filter is a
     10        list of FilterOperations, each identifying what type of operation
     11        it is. This change simply adds the basic objects, it does not
     12        parse the property to generate the list.
     13
     14        * CMakeLists.txt:
     15        * GNUmakefile.list.am:
     16        * WebCore.gypi:
     17        * WebCore.pro:
     18        * WebCore.vcproj/WebCore.vcproj:
     19        * WebCore.xcodeproj/project.pbxproj:
     20        * platform/graphics/filters/FilterOperation.h: Added.
     21        (WebCore::FilterOperation::~FilterOperation):
     22        (WebCore::FilterOperation::operator!=):
     23        (WebCore::FilterOperation::getOperationType):
     24        (WebCore::FilterOperation::isSameType):
     25        (WebCore::FilterOperation::FilterOperation):
     26        (WebCore::ReferenceFilterOperation::create):
     27        (WebCore::ReferenceFilterOperation::reference):
     28        (WebCore::ReferenceFilterOperation::operator==):
     29        (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
     30        (WebCore::BasicColorMatrixFilterOperation::create):
     31        (WebCore::BasicColorMatrixFilterOperation::amount):
     32        (WebCore::BasicColorMatrixFilterOperation::operator==):
     33        (WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
     34        (WebCore::BasicComponentTransferFilterOperation::create):
     35        (WebCore::BasicComponentTransferFilterOperation::amount):
     36        (WebCore::BasicComponentTransferFilterOperation::operator==):
     37        (WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
     38        (WebCore::GammaFilterOperation::create):
     39        (WebCore::GammaFilterOperation::amplitude):
     40        (WebCore::GammaFilterOperation::exponent):
     41        (WebCore::GammaFilterOperation::offset):
     42        (WebCore::GammaFilterOperation::operator==):
     43        (WebCore::GammaFilterOperation::GammaFilterOperation):
     44        (WebCore::BlurFilterOperation::create):
     45        (WebCore::BlurFilterOperation::stdDeviationX):
     46        (WebCore::BlurFilterOperation::stdDeviationY):
     47        (WebCore::BlurFilterOperation::operator==):
     48        (WebCore::BlurFilterOperation::BlurFilterOperation):
     49        (WebCore::SharpenFilterOperation::create):
     50        (WebCore::SharpenFilterOperation::radius):
     51        (WebCore::SharpenFilterOperation::threshold):
     52        (WebCore::SharpenFilterOperation::amount):
     53        (WebCore::SharpenFilterOperation::operator==):
     54        (WebCore::SharpenFilterOperation::SharpenFilterOperation):
     55        (WebCore::DropShadowFilterOperation::create):
     56        (WebCore::DropShadowFilterOperation::shadow):
     57        (WebCore::DropShadowFilterOperation::operator==):
     58        (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
     59        * platform/graphics/filters/FilterOperations.cpp: Added.
     60        (WebCore::FilterOperations::FilterOperations):
     61        (WebCore::FilterOperations::operator==):
     62        * platform/graphics/filters/FilterOperations.h: Added.
     63        (WebCore::FilterOperations::operator!=):
     64        (WebCore::FilterOperations::clear):
     65        (WebCore::FilterOperations::operations):
     66        (WebCore::FilterOperations::size):
     67        (WebCore::FilterOperations::at):
     68        * rendering/style/RenderStyle.cpp:
     69        (WebCore::RenderStyle::RenderStyle):
     70        * rendering/style/RenderStyle.h:
     71        (WebCore::InheritedFlags::filter):
     72        (WebCore::InheritedFlags::hasFilter):
     73        (WebCore::InheritedFlags::setFilter):
     74        (WebCore::InheritedFlags::initialFilter):
     75        * rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
     76        * rendering/style/StyleFilterData.cpp: Added.
     77        (WebCore::StyleFilterData::StyleFilterData):
     78        (WebCore::StyleFilterData::operator==):
     79        * rendering/style/StyleFilterData.h: Added.
     80        (WebCore::StyleFilterData::create):
     81        (WebCore::StyleFilterData::copy):
     82        (WebCore::StyleFilterData::operator!=):
     83        * rendering/style/StyleRareNonInheritedData.cpp:
     84        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
     85        (WebCore::StyleRareNonInheritedData::operator==):
     86        * rendering/style/StyleRareNonInheritedData.h: New filter DataRef.
     87
    1882011-09-27  James Robinson  <jamesr@chromium.org>
    289
  • trunk/Source/WebCore/GNUmakefile.list.am

    r96073 r96142  
    24832483        Source/WebCore/platform/graphics/filters/FETurbulence.cpp \
    24842484        Source/WebCore/platform/graphics/filters/FETurbulence.h \
     2485        Source/WebCore/platform/graphics/filters/Filter.h \
    24852486        Source/WebCore/platform/graphics/filters/FilterEffect.cpp \
    24862487        Source/WebCore/platform/graphics/filters/FilterEffect.h \
    2487         Source/WebCore/platform/graphics/filters/Filter.h \
     2488        Source/WebCore/platform/graphics/filters/FilterOperation.h \
     2489        Source/WebCore/platform/graphics/filters/FilterOperations.cpp \
     2490        Source/WebCore/platform/graphics/filters/FilterOperations.h \
    24882491        Source/WebCore/platform/graphics/filters/LightSource.cpp \
    24892492        Source/WebCore/platform/graphics/filters/LightSource.h \
     
    31703173        Source/WebCore/rendering/style/StyleDeprecatedFlexibleBoxData.cpp \
    31713174        Source/WebCore/rendering/style/StyleDeprecatedFlexibleBoxData.h \
     3175        Source/WebCore/rendering/style/StyleFilterData.cpp \
     3176        Source/WebCore/rendering/style/StyleFilterData.h \
    31723177        Source/WebCore/rendering/style/StyleFlexibleBoxData.cpp \
    31733178        Source/WebCore/rendering/style/StyleFlexibleBoxData.h \
  • trunk/Source/WebCore/WebCore.gypi

    r96141 r96142  
    937937            'rendering/style/StyleDashboardRegion.h',
    938938            'rendering/style/StyleDeprecatedFlexibleBoxData.h',
     939            'rendering/style/StyleFilterData.h',
    939940            'rendering/style/StyleFlexibleBoxData.h',
    940941            'rendering/style/StyleGeneratedImage.h',
     
    35713572            'platform/graphics/filters/FilterEffect.cpp',
    35723573            'platform/graphics/filters/FilterEffect.h',
     3574            'platform/graphics/filters/FilterOperation.h',
     3575            'platform/graphics/filters/FilterOperations.cpp',
     3576            'platform/graphics/filters/FilterOperations.h',
    35733577            'platform/graphics/filters/LightSource.cpp',
    35743578            'platform/graphics/filters/LightSource.h',
     
    46784682            'rendering/style/StyleCachedImage.cpp',
    46794683            'rendering/style/StyleDeprecatedFlexibleBoxData.cpp',
     4684            'rendering/style/StyleFilterData.cpp',
    46804685            'rendering/style/StyleFlexibleBoxData.cpp',
    46814686            'rendering/style/StyleGeneratedImage.cpp',
  • trunk/Source/WebCore/WebCore.pro

    r96073 r96142  
    12001200    rendering/style/StyleCachedImage.cpp \
    12011201    rendering/style/StyleDeprecatedFlexibleBoxData.cpp \
     1202    rendering/style/StyleFilterData.cpp \
    12021203    rendering/style/StyleFlexibleBoxData.cpp \
    12031204    rendering/style/StyleGeneratedImage.cpp \
     
    19921993    platform/graphics/filters/FETurbulence.h \
    19931994    platform/graphics/filters/FilterEffect.h \
     1995    platform/graphics/filters/FilterOperation.h \
     1996    platform/graphics/filters/FilterOperations.h \
    19941997    platform/graphics/filters/LightSource.h \
    19951998    platform/graphics/filters/SourceAlpha.h \
     
    22702273    rendering/style/StyleCachedImage.h \
    22712274    rendering/style/StyleDeprecatedFlexibleBoxData.h \
     2275    rendering/style/StyleFilterData.h \
    22722276    rendering/style/StyleFlexibleBoxData.h \
    22732277    rendering/style/StyleGeneratedImage.h \
     
    32093213        platform/graphics/filters/FETurbulence.cpp \
    32103214        platform/graphics/filters/FilterEffect.cpp \
     3215        platform/graphics/filters/FilterOperations.cpp \
    32113216        platform/graphics/filters/LightSource.cpp \
    32123217        platform/graphics/filters/PointLightSource.cpp \
  • trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj

    r96064 r96142  
    3016930169                                        </File>
    3017030170                                        <File
     30171                                                RelativePath="..\platform\graphics\filters\FilterOperation.h"
     30172                                                >
     30173                                        </File>
     30174                                        <File
     30175                                                RelativePath="..\platform\graphics\filters\FilterOperations.cpp"
     30176                                                >
     30177                                        </File>
     30178                                        <File
     30179                                                RelativePath="..\platform\graphics\filters\FilterOperations.h"
     30180                                                >
     30181                                        </File>
     30182                                        <File
    3017130183                                                RelativePath="..\platform\graphics\filters\LightSource.cpp"
    3017230184                                                >
     
    4091640928                                </File>
    4091740929                                <File
     40930                                        RelativePath="..\rendering\style\StyleFilterData.cpp"
     40931                                        >
     40932                                        <FileConfiguration
     40933                                                Name="Debug|Win32"
     40934                                                ExcludedFromBuild="true"
     40935                                                >
     40936                                                <Tool
     40937                                                        Name="VCCLCompilerTool"
     40938                                                />
     40939                                        </FileConfiguration>
     40940                                        <FileConfiguration
     40941                                                Name="Release|Win32"
     40942                                                ExcludedFromBuild="true"
     40943                                                >
     40944                                                <Tool
     40945                                                        Name="VCCLCompilerTool"
     40946                                                />
     40947                                        </FileConfiguration>
     40948                                        <FileConfiguration
     40949                                                Name="Debug_Cairo_CFLite|Win32"
     40950                                                ExcludedFromBuild="true"
     40951                                                >
     40952                                                <Tool
     40953                                                        Name="VCCLCompilerTool"
     40954                                                />
     40955                                        </FileConfiguration>
     40956                                        <FileConfiguration
     40957                                                Name="Release_Cairo_CFLite|Win32"
     40958                                                ExcludedFromBuild="true"
     40959                                                >
     40960                                                <Tool
     40961                                                        Name="VCCLCompilerTool"
     40962                                                />
     40963                                        </FileConfiguration>
     40964                                        <FileConfiguration
     40965                                                Name="Debug_All|Win32"
     40966                                                ExcludedFromBuild="true"
     40967                                                >
     40968                                                <Tool
     40969                                                        Name="VCCLCompilerTool"
     40970                                                />
     40971                                        </FileConfiguration>
     40972                                        <FileConfiguration
     40973                                                Name="Production|Win32"
     40974                                                ExcludedFromBuild="true"
     40975                                                >
     40976                                                <Tool
     40977                                                        Name="VCCLCompilerTool"
     40978                                                />
     40979                                        </FileConfiguration>
     40980                                </File>
     40981                                <File
     40982                                        RelativePath="..\rendering\style\StyleFilterData.h"
     40983                                        >
     40984                                </File>
     40985                                <File
    4091840986                                        RelativePath="..\rendering\style\StyleFlexibleBoxData.cpp"
    4091940987                                        >
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r96073 r96142  
    786786                3194620513022BF1004BB3F8 /* DOMWebKitAnimationList.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3194620313022BF1004BB3F8 /* DOMWebKitAnimationList.mm */; };
    787787                3194623213022F65004BB3F8 /* JSWebKitAnimationListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3194623113022F65004BB3F8 /* JSWebKitAnimationListCustom.cpp */; };
     788                319AE063142D6B24006563A1 /* StyleFilterData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 319AE061142D6B24006563A1 /* StyleFilterData.cpp */; };
     789                319AE064142D6B24006563A1 /* StyleFilterData.h in Headers */ = {isa = PBXBuildFile; fileRef = 319AE062142D6B24006563A1 /* StyleFilterData.h */; settings = {ATTRIBUTES = (Private, ); }; };
     790                319AE068142D78DD006563A1 /* FilterOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 319AE065142D78DD006563A1 /* FilterOperation.h */; settings = {ATTRIBUTES = (Private, ); }; };
     791                319AE069142D78DD006563A1 /* FilterOperations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 319AE066142D78DD006563A1 /* FilterOperations.cpp */; };
     792                319AE06A142D78DD006563A1 /* FilterOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 319AE067142D78DD006563A1 /* FilterOperations.h */; settings = {ATTRIBUTES = (Private, ); }; };
    788793                319E68871327C911004AC91A /* JSWebKitAnimationCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 319E68861327C911004AC91A /* JSWebKitAnimationCustom.cpp */; };
    789794                319E69B213299BBD004AC91A /* WebKitAnimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 319E69AC13299BBD004AC91A /* WebKitAnimation.cpp */; };
     
    73567361                3194620313022BF1004BB3F8 /* DOMWebKitAnimationList.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMWebKitAnimationList.mm; sourceTree = "<group>"; };
    73577362                3194623113022F65004BB3F8 /* JSWebKitAnimationListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitAnimationListCustom.cpp; sourceTree = "<group>"; };
     7363                319AE061142D6B24006563A1 /* StyleFilterData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StyleFilterData.cpp; path = style/StyleFilterData.cpp; sourceTree = "<group>"; };
     7364                319AE062142D6B24006563A1 /* StyleFilterData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StyleFilterData.h; path = style/StyleFilterData.h; sourceTree = "<group>"; };
     7365                319AE065142D78DD006563A1 /* FilterOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FilterOperation.h; path = filters/FilterOperation.h; sourceTree = "<group>"; };
     7366                319AE066142D78DD006563A1 /* FilterOperations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FilterOperations.cpp; path = filters/FilterOperations.cpp; sourceTree = "<group>"; };
     7367                319AE067142D78DD006563A1 /* FilterOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FilterOperations.h; path = filters/FilterOperations.h; sourceTree = "<group>"; };
     7368                319AE06B143131E0006563A1 /* FilterOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FilterOperation.h; path = platform/graphics/filters/FilterOperation.h; sourceTree = "<group>"; };
     7369                319AE06C143131E0006563A1 /* FilterOperations.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FilterOperations.h; path = platform/graphics/filters/FilterOperations.h; sourceTree = "<group>"; };
    73587370                319E68861327C911004AC91A /* JSWebKitAnimationCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitAnimationCustom.cpp; sourceTree = "<group>"; };
    73597371                319E69AC13299BBD004AC91A /* WebKitAnimation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitAnimation.cpp; sourceTree = "<group>"; };
     
    1302013032                        isa = PBXGroup;
    1302113033                        children = (
     13034                                319AE06B143131E0006563A1 /* FilterOperation.h */,
     13035                                319AE06C143131E0006563A1 /* FilterOperations.h */,
    1302213036                                65C97AF208EA908800ACD273 /* config.h */,
    1302313037                                EDEC98020AED7E170059137F /* WebCorePrefix.h */,
     
    1675916773                                08C925170FCC7C4A00480DEC /* FilterEffect.cpp */,
    1676016774                                08C925180FCC7C4A00480DEC /* FilterEffect.h */,
     16775                                319AE065142D78DD006563A1 /* FilterOperation.h */,
     16776                                319AE066142D78DD006563A1 /* FilterOperations.cpp */,
     16777                                319AE067142D78DD006563A1 /* FilterOperations.h */,
    1676116778                                84730D731248F0B300D3A9C9 /* LightSource.cpp */,
    1676216779                                84730D741248F0B300D3A9C9 /* LightSource.h */,
     
    1889218909                                BC5EB8B60E8201BD00B25965 /* StyleDeprecatedFlexibleBoxData.cpp */,
    1889318910                                BC5EB8B70E8201BD00B25965 /* StyleDeprecatedFlexibleBoxData.h */,
     18911                                319AE061142D6B24006563A1 /* StyleFilterData.cpp */,
     18912                                319AE062142D6B24006563A1 /* StyleFilterData.h */,
    1889418913                                5317612013C516690026E454 /* StyleFlexibleBoxData.cpp */,
    1889518914                                5317612113C516690026E454 /* StyleFlexibleBoxData.h */,
     
    2048620505                        buildActionMask = 2147483647;
    2048720506                        files = (
     20507                                319AE064142D6B24006563A1 /* StyleFilterData.h in Headers */,
     20508                                319AE068142D78DD006563A1 /* FilterOperation.h in Headers */,
     20509                                319AE06A142D78DD006563A1 /* FilterOperations.h in Headers */,
    2048820510                                5D8C4DC01428222C0026CE72 /* DisplaySleepDisabler.h in Headers */,
    2048920511                                B5B5DC6A119BB3D5002A8790 /* AbstractDatabase.h in Headers */,
     
    2635726379                                5D8C4DBF1428222C0026CE72 /* DisplaySleepDisabler.cpp in Sources */,
    2635826380                                A85F22091430377D007CC884 /* JSPopStateEventCustom.cpp in Sources */,
     26381                                319AE063142D6B24006563A1 /* StyleFilterData.cpp in Sources */,
     26382                                319AE069142D78DD006563A1 /* FilterOperations.cpp in Sources */,
    2635926383                        );
    2636026384                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/Source/WebCore/platform/graphics/filters/FilterOperations.cpp

    r96141 r96142  
    11/*
    2  * Copyright (C) 2010 Apple Inc. All Rights Reserved.
     2 * Copyright (C) 2011 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    1111 *    documentation and/or other materials provided with the distribution.
    1212 *
    13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
     13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
    1414 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    1515 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
     16 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
    1717 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    1818 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     
    2424 */
    2525
    26 // This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
     26#include "config.h"
     27#include "FilterOperations.h"
    2728
    28 #include "ContentData.cpp"
    29 #include "CounterDirectives.cpp"
    30 #include "FillLayer.cpp"
    31 #include "KeyframeList.cpp"
    32 #include "NinePieceImage.cpp"
    33 #include "QuotesData.cpp"
    34 #include "RenderStyle.cpp"
    35 #include "SVGRenderStyle.cpp"
    36 #include "SVGRenderStyleDefs.cpp"
    37 #include "ShadowData.cpp"
    38 #include "StyleBackgroundData.cpp"
    39 #include "StyleBoxData.cpp"
    40 #include "StyleCachedImage.cpp"
    41 #include "StyleDeprecatedFlexibleBoxData.cpp"
    42 #include "StyleFlexibleBoxData.cpp"
    43 #include "StyleGeneratedImage.cpp"
    44 #include "StyleInheritedData.cpp"
    45 #include "StyleMarqueeData.cpp"
    46 #include "StyleMultiColData.cpp"
    47 #include "StyleRareInheritedData.cpp"
    48 #include "StyleRareNonInheritedData.cpp"
    49 #include "StyleSurroundData.cpp"
    50 #include "StyleTransformData.cpp"
    51 #include "StyleVisualData.cpp"
     29#if ENABLE(CSS_FILTERS)
     30
     31namespace WebCore {
     32
     33FilterOperations::FilterOperations()
     34{
     35}
     36
     37bool FilterOperations::operator==(const FilterOperations& o) const
     38{
     39    if (m_operations.size() != o.m_operations.size())
     40        return false;
     41       
     42    unsigned s = m_operations.size();
     43    for (unsigned i = 0; i < s; i++) {
     44        if (*m_operations[i] != *o.m_operations[i])
     45            return false;
     46    }
     47   
     48    return true;
     49}
     50
     51} // namespace WebCore
     52
     53#endif // ENABLE(CSS_FILTERS)
  • trunk/Source/WebCore/rendering/style/RenderStyle.cpp

    r94912 r96142  
    126126    rareNonInheritedData.access()->m_multiCol.init();
    127127    rareNonInheritedData.access()->m_transform.init();
     128#if ENABLE(CSS_FILTERS)
     129    rareNonInheritedData.access()->m_filter.init();
     130#endif
    128131    rareInheritedData.init();
    129132    inherited.init();
  • trunk/Source/WebCore/rendering/style/RenderStyle.h

    r96026 r96142  
    3636#include "DataRef.h"
    3737#include "FillLayer.h"
     38#if ENABLE(CSS_FILTERS)
     39#include "FilterOperations.h"
     40#endif
    3841#include "Font.h"
    3942#include "GraphicsTypes.h"
     
    5053#include "StyleBoxData.h"
    5154#include "StyleDeprecatedFlexibleBoxData.h"
     55#if ENABLE(CSS_FILTERS)
     56#include "StyleFilterData.h"
     57#endif
    5258#include "StyleFlexibleBoxData.h"
    5359#include "StyleInheritedData.h"
     
    842848   
    843849    ESpeak speak() { return static_cast<ESpeak>(rareInheritedData->speak); }
     850
     851#if ENABLE(CSS_FILTERS)
     852    const FilterOperations& filter() const { return rareNonInheritedData->m_filter->m_operations; }
     853    bool hasFilter() const { return !rareNonInheritedData->m_filter->m_operations.operations().isEmpty(); }
     854#endif
    844855       
    845856// attribute setter methods
     
    11621173    void setTextEmphasisCustomMark(const AtomicString& mark) { SET_VAR(rareInheritedData, textEmphasisCustomMark, mark); }
    11631174    void setTextEmphasisPosition(TextEmphasisPosition position) { SET_VAR(rareInheritedData, textEmphasisPosition, position); }
     1175
     1176#if ENABLE(CSS_FILTERS)
     1177    void setFilter(const FilterOperations& ops) { SET_VAR(rareNonInheritedData.access()->m_filter, m_operations, ops); }
     1178#endif
     1179
    11641180    // End CSS3 Setters
    11651181
     
    14551471    static const Vector<StyleDashboardRegion>& noneDashboardRegions();
    14561472#endif
    1457 
     1473#if ENABLE(CSS_FILTERS)
     1474    static const FilterOperations& initialFilter() { DEFINE_STATIC_LOCAL(FilterOperations, ops, ()); return ops; }
     1475#endif
    14581476private:
    14591477    void inheritUnicodeBidiFrom(const RenderStyle* parent) { noninherited_flags._unicodeBidi = parent->noninherited_flags._unicodeBidi; }
  • trunk/Source/WebCore/rendering/style/StyleAllInOne.cpp

    r95901 r96142  
    4040#include "StyleCachedImage.cpp"
    4141#include "StyleDeprecatedFlexibleBoxData.cpp"
     42#include "StyleFilterData.cpp"
    4243#include "StyleFlexibleBoxData.cpp"
    4344#include "StyleGeneratedImage.cpp"
  • trunk/Source/WebCore/rendering/style/StyleFilterData.cpp

    r96141 r96142  
    11/*
    2  * Copyright (C) 2010 Apple Inc. All Rights Reserved.
     2 * Copyright (C) 2011 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    1111 *    documentation and/or other materials provided with the distribution.
    1212 *
    13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
     13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
    1414 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    1515 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
     16 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
    1717 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    1818 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     
    2424 */
    2525
    26 // This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
     26#include "config.h"
     27#include "StyleFilterData.h"
    2728
    28 #include "ContentData.cpp"
    29 #include "CounterDirectives.cpp"
    30 #include "FillLayer.cpp"
    31 #include "KeyframeList.cpp"
    32 #include "NinePieceImage.cpp"
    33 #include "QuotesData.cpp"
    34 #include "RenderStyle.cpp"
    35 #include "SVGRenderStyle.cpp"
    36 #include "SVGRenderStyleDefs.cpp"
    37 #include "ShadowData.cpp"
    38 #include "StyleBackgroundData.cpp"
    39 #include "StyleBoxData.cpp"
    40 #include "StyleCachedImage.cpp"
    41 #include "StyleDeprecatedFlexibleBoxData.cpp"
    42 #include "StyleFlexibleBoxData.cpp"
    43 #include "StyleGeneratedImage.cpp"
    44 #include "StyleInheritedData.cpp"
    45 #include "StyleMarqueeData.cpp"
    46 #include "StyleMultiColData.cpp"
    47 #include "StyleRareInheritedData.cpp"
    48 #include "StyleRareNonInheritedData.cpp"
    49 #include "StyleSurroundData.cpp"
    50 #include "StyleTransformData.cpp"
    51 #include "StyleVisualData.cpp"
     29#if ENABLE(CSS_FILTERS)
     30
     31#include "RenderStyle.h"
     32
     33namespace WebCore {
     34
     35StyleFilterData::StyleFilterData()
     36    : m_operations()
     37{
     38}
     39
     40StyleFilterData::StyleFilterData(const StyleFilterData& o)
     41    : RefCounted<StyleFilterData>()
     42    , m_operations(o.m_operations)
     43{
     44}
     45
     46bool StyleFilterData::operator==(const StyleFilterData& o) const
     47{
     48    return m_operations == o.m_operations;
     49}
     50
     51} // namespace WebCore
     52
     53#endif // ENABLE(CSS_FILTERS)
  • trunk/Source/WebCore/rendering/style/StyleFilterData.h

    r96141 r96142  
    11/*
    2  * Copyright (C) 2010 Apple Inc. All Rights Reserved.
     2 * Copyright (C) 2011 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    1111 *    documentation and/or other materials provided with the distribution.
    1212 *
    13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
     13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
    1414 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    1515 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
     16 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
    1717 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    1818 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     
    2424 */
    2525
    26 // This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
     26#ifndef StyleFilterData_h
     27#define StyleFilterData_h
    2728
    28 #include "ContentData.cpp"
    29 #include "CounterDirectives.cpp"
    30 #include "FillLayer.cpp"
    31 #include "KeyframeList.cpp"
    32 #include "NinePieceImage.cpp"
    33 #include "QuotesData.cpp"
    34 #include "RenderStyle.cpp"
    35 #include "SVGRenderStyle.cpp"
    36 #include "SVGRenderStyleDefs.cpp"
    37 #include "ShadowData.cpp"
    38 #include "StyleBackgroundData.cpp"
    39 #include "StyleBoxData.cpp"
    40 #include "StyleCachedImage.cpp"
    41 #include "StyleDeprecatedFlexibleBoxData.cpp"
    42 #include "StyleFlexibleBoxData.cpp"
    43 #include "StyleGeneratedImage.cpp"
    44 #include "StyleInheritedData.cpp"
    45 #include "StyleMarqueeData.cpp"
    46 #include "StyleMultiColData.cpp"
    47 #include "StyleRareInheritedData.cpp"
    48 #include "StyleRareNonInheritedData.cpp"
    49 #include "StyleSurroundData.cpp"
    50 #include "StyleTransformData.cpp"
    51 #include "StyleVisualData.cpp"
     29#if ENABLE(CSS_FILTERS)
     30
     31#include "FilterOperations.h"
     32#include <wtf/PassRefPtr.h>
     33#include <wtf/RefCounted.h>
     34
     35namespace WebCore {
     36
     37class StyleFilterData : public RefCounted<StyleFilterData> {
     38public:
     39    static PassRefPtr<StyleFilterData> create() { return adoptRef(new StyleFilterData); }
     40    PassRefPtr<StyleFilterData> copy() const { return adoptRef(new StyleFilterData(*this)); }
     41
     42    bool operator==(const StyleFilterData&) const;
     43    bool operator!=(const StyleFilterData& o) const
     44    {
     45        return !(*this == o);
     46    }
     47
     48    FilterOperations m_operations;
     49
     50private:
     51    StyleFilterData();
     52    StyleFilterData(const StyleFilterData&);
     53};
     54
     55} // namespace WebCore
     56
     57#endif // ENABLE(CSS_FILTERS)
     58
     59#endif // StyleFilterData_h
  • trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp

    r95096 r96142  
    2828#include "RenderStyle.h"
    2929#include "ShadowData.h"
     30#include "StyleFilterData.h"
     31#include "StyleTransformData.h"
    3032#include "StyleImage.h"
    3133
     
    7981    , m_multiCol(o.m_multiCol)
    8082    , m_transform(o.m_transform)
     83#if ENABLE(CSS_FILTERS)
     84    , m_filter(o.m_filter)
     85#endif
    8186    , m_content(o.m_content ? o.m_content->clone() : nullptr)
    8287    , m_counterDirectives(o.m_counterDirectives ? clone(*o.m_counterDirectives) : nullptr)
     
    136141        && m_multiCol == o.m_multiCol
    137142        && m_transform == o.m_transform
     143#if ENABLE(CSS_FILTERS)
     144        && m_filter == o.m_filter
     145#endif
    138146        && contentDataEquivalent(o)
    139147        && counterDataEquivalent(o)
  • trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.h

    r93430 r96142  
    3333#include "LineClampValue.h"
    3434#include "NinePieceImage.h"
    35 #include "StyleTransformData.h"
    3635#include <wtf/OwnPtr.h>
    3736#include <wtf/PassRefPtr.h>
     
    4443class ShadowData;
    4544class StyleDeprecatedFlexibleBoxData;
     45#if ENABLE(CSS_FILTERS)
     46class StyleFilterData;
     47#endif
    4648class StyleFlexibleBoxData;
    4749class StyleMarqueeData;
     
    99101    DataRef<StyleMultiColData> m_multiCol; //  CSS3 multicol properties
    100102    DataRef<StyleTransformData> m_transform; // Transform properties (rotate, scale, skew, etc.)
     103
     104#if ENABLE(CSS_FILTERS)
     105    DataRef<StyleFilterData> m_filter; // Filter operations (url, sepia, blur, etc.)
     106#endif
    101107
    102108    OwnPtr<ContentData> m_content;
Note: See TracChangeset for help on using the changeset viewer.