This repository has been archived by the owner on Jun 16, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 111
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CSS3 Backgrounds and Borders] Implement new CSS3 background-position…
… parsing. https://bugs.webkit.org/show_bug.cgi?id=102104 Reviewed by Julien Chaffraix. .: Protect the new feature behind a feature flag. * Source/cmake/WebKitFeatures.cmake: * Source/cmakeconfig.h.cmake: * configure.ac: Source/JavaScriptCore: Protect the new feature behind a feature flag. * Configurations/FeatureDefines.xcconfig: Source/WebCore: Implement the parsing of the CSS3 background-position property which allows to specify up to four values to position the background. It is documented here : http://www.w3.org/TR/css3-background/#the-background-position . I decided to split up the patch is two pieces, the parsing and later I will do the rendering. I kept the old code as much as possible (i.e. the two values parsing) as it is used not only by background-position but by few other properties. The new four values support is only valid on the property itself but does not work on the shorthand. Opera has already implemented this feature. I extended backgrounds/background-position-parsing-2.html to cover the new possible values as well as buggy values. * Configurations/FeatureDefines.xcconfig: * GNUmakefile.am: * GNUmakefile.features.am: * css/CSSParser.cpp: (WebCore::CSSParser::parseFillPositionComponent): Modify this function to allow creation of CSS primitive values with not only percentage or length but with keywords also as the new <position> type allows to specify keywords, for example top 30px right 20px. (WebCore): (WebCore::isValueConflictingWithCurrentEdge): (WebCore::isBackgroundPositionKeyword): (WebCore::CSSParser::parse3ValuesBackgroundPosition): (WebCore::CSSParser::parse4ValuesBackgroundPosition): (WebCore::CSSParser::parseFillBackgroundPosition): This function counts the number of words for the property value and call dedicated parsing functions for each case. Note that in case of two values we just call the old CSS 2.1 method. (WebCore::CSSParser::parseFillPosition): (WebCore::CSSParser::parseFillProperty): Only call the new parsing function if the feature is activated otherwise fallback to the old code path. * css/CSSParser.h: Source/WebKit/chromium: Protect the new feature behind a feature flag. * features.gypi: Source/WebKit/mac: Protect the new feature behind a feature flag. * Configurations/FeatureDefines.xcconfig: Source/WebKit2: Protect the new feature behind a feature flag. * Configurations/FeatureDefines.xcconfig: Tools: Protect the new feature behind a feature flag. * Scripts/webkitperl/FeatureList.pm: * qmake/mkspecs/features/features.pri: WebKitLibraries: Protect the new feature behind a feature flag. * win/tools/vsprops/FeatureDefines.vsprops: * win/tools/vsprops/FeatureDefinesCairo.vsprops: LayoutTests: Add new tests to cover the new parsing for the background position property. For now the computed style checks are commented out because the rendering part of the feature is not yet implemented (i.e. FillLayer does not contain yet the feature and this is what CSSComputedStyleDeclaration is using). * fast/backgrounds/background-position-parsing-2-expected.txt: * fast/backgrounds/background-position-parsing-2.html: * platform/chromium/TestExpectations: * platform/efl/TestExpectations: * platform/gtk/TestExpectations: * platform/mac/TestExpectations: * platform/qt/TestExpectations: * platform/win/TestExpectations: * platform/wincairo/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information
alexis@webkit.org
committed
Nov 23, 2012
1 parent
dfb69fd
commit d4f3166
Showing
34 changed files
with
713 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.