Changeset 172192 in webkit
- Timestamp:
- Aug 6, 2014 5:19:40 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 10 added
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r172183 r172192 1 2014-08-06 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Implement parsing for CSS scroll snap points 4 https://bugs.webkit.org/show_bug.cgi?id=134301 5 6 Reviewed by Dean Jackson. 7 8 Tests that parsing -webkit-scroll-snap-* properties behaves as expected. 9 10 * css3/scroll-snap/scroll-snap-property-computed-style-expected.txt: Expected text output of below test. 11 * css3/scroll-snap/scroll-snap-property-computed-style.html: Tests that scroll snap properties are correctly displayed via getComputedStyle. 12 * css3/scroll-snap/scroll-snap-property-computed-style.js: Script for above test. 13 (testComputedScrollSnapRule): 14 * css3/scroll-snap/scroll-snap-property-parsing-expected.txt: Expected text output of below test. 15 * css3/scroll-snap/scroll-snap-property-parsing.html: Tests that scroll snap properties are correctly parsed. 16 * css3/scroll-snap/scroll-snap-property-parsing.js: Script for above test. 17 (testScrollSnapRule): 18 1 19 2014-08-06 Simon Fraser <simon.fraser@apple.com> 2 20 -
trunk/LayoutTests/platform/efl/TestExpectations
r171990 r172192 251 251 fast/events/drag-and-drop-subframe-dataTransfer.html 252 252 fast/events/drag-dataTransferItemList-file-handling.html 253 254 # ENABLE(CSS_SCROLL_SNAP) is disabled. 255 css3/scroll-snap 253 256 254 257 # ENABLE(DRAGGABLE_REGION) is disabled -
trunk/LayoutTests/platform/gtk/TestExpectations
r172116 r172192 364 364 # Style scoped support unimplemented 365 365 Bug(GTK) fast/css/style-scoped [ Skip ] 366 367 # ENABLE(CSS_SCROLL_SNAP) is disabled. 368 css3/scroll-snap 366 369 367 370 # ENABLE(SHADOW_DOM) is disabled. -
trunk/LayoutTests/platform/win/TestExpectations
r171186 r172192 1436 1436 # <style scoped> is not yet enabled. http://webkit.org/b/49142 1437 1437 webkit.org/b/49142 fast/css/style-scoped 1438 1439 # ENABLE(CSS_SCROLL_SNAP) is disabled. 1440 css3/scroll-snap 1438 1441 1439 1442 # ENABLE(SHADOW_DOM) is disabled. -
trunk/Source/JavaScriptCore/ChangeLog
r172190 r172192 1 2014-08-06 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Implement parsing for CSS scroll snap points 4 https://bugs.webkit.org/show_bug.cgi?id=134301 5 6 Reviewed by Dean Jackson. 7 8 * Configurations/FeatureDefines.xcconfig: Added ENABLE_CSS_SCROLL_SNAP 9 1 10 2014-08-06 Mark Lam <mark.lam@apple.com> 2 11 -
trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
r172048 r172192 187 187 ENABLE_SCRIPTED_SPEECH = ; 188 188 ENABLE_SHARED_WORKERS = ENABLE_SHARED_WORKERS; 189 ENABLE_CSS_SCROLL_SNAP = $(ENABLE_CSS_SCROLL_SNAP_$(PLATFORM_NAME)); 190 ENABLE_CSS_SCROLL_SNAP_macosx = ENABLE_CSS_SCROLL_SNAP; 189 191 ENABLE_SPEECH_SYNTHESIS = $(ENABLE_SPEECH_SYNTHESIS_$(PLATFORM_NAME)); 190 192 ENABLE_SPEECH_SYNTHESIS = ENABLE_SPEECH_SYNTHESIS; … … 249 251 ENABLE_LLINT_C_LOOP = ; 250 252 251 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_ SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));253 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME)); -
trunk/Source/WebCore/CMakeLists.txt
r172093 r172192 2443 2443 rendering/style/StyleRareInheritedData.cpp 2444 2444 rendering/style/StyleRareNonInheritedData.cpp 2445 rendering/style/StyleScrollSnapPoints.cpp 2445 2446 rendering/style/StyleSurroundData.cpp 2446 2447 rendering/style/StyleTransformData.cpp -
trunk/Source/WebCore/ChangeLog
r172191 r172192 1 2014-08-06 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Implement parsing for CSS scroll snap points 4 https://bugs.webkit.org/show_bug.cgi?id=134301 5 6 Provided support for parsing -webkit-scroll-snap-* properties, i.e. type, points-x, points-y, destination, and coordinates. 7 The exact syntax of the scroll snap CSS properties follow the W3C spec at http://dev.w3.org/csswg/css-snappoints/ 8 9 Reviewed by Dean Jackson. 10 11 Tests: css3/scroll-snap/scroll-snap-property-parsing.html, 12 css3/scroll-snap/scroll-snap-property-computed-style.html 13 14 * CMakeLists.txt: Added StyleScrollSnapPoints.h, StyleScrollSnapPoints.cpp 15 * Configurations/FeatureDefines.xcconfig: Added ENABLE_CSS_SCROLL_SNAP 16 * WebCore.vcxproj/WebCore.vcxproj: Added StyleScrollSnapPoints.h, StyleScrollSnapPoints.cpp 17 * WebCore.vcxproj/WebCore.vcxproj.filters: Added StyleScrollSnapPoints.h, StyleScrollSnapPoints.cpp 18 * WebCore.xcodeproj/project.pbxproj: Added StyleScrollSnapPoints.h, StyleScrollSnapPoints.cpp, LengthRepeat.h 19 * css/CSSCalculationValue.cpp: Support for LengthRepeat 20 (WebCore::hasDoubleValue): 21 * css/CSSComputedStyleDeclaration.cpp: Support for showing computed style for snap point properties. 22 (WebCore::scrollSnapDestination): 23 (WebCore::scrollSnapPoints): 24 (WebCore::scrollSnapCoordinates): 25 (WebCore::ComputedStyleExtractor::propertyValue): 26 * css/CSSParser.cpp: Support for parsing snap point properties. 27 (WebCore::isValidKeywordPropertyAndValue): handle snap point type 28 (WebCore::isKeywordPropertyID): 29 (WebCore::CSSParser::parseValue): Added support for parsing snap points. 30 (WebCore::CSSParser::parseNonElementSnapPoints): Helper for parsing snap points-x/y. 31 (WebCore::CSSParser::parseScrollSnapDestination): Helper for parsing snap point destinations. 32 (WebCore::CSSParser::parseScrollSnapCoordinate): Helper for parsing snap point coordinates. 33 * css/CSSParser.h: Support for parsing snap point properties. 34 * css/CSSParserValues.cpp: 35 (WebCore::CSSParserValue::createCSSValue): 36 * css/CSSPrimitiveValue.cpp: 37 (WebCore::isValidCSSUnitTypeForDoubleConversion): 38 (WebCore::CSSPrimitiveValue::init): 39 (WebCore::CSSPrimitiveValue::cleanup): 40 (WebCore::CSSPrimitiveValue::getLengthRepeatValue): 41 (WebCore::CSSPrimitiveValue::formatNumberForcustomCSSText): 42 (WebCore::CSSPrimitiveValue::cloneForCSSOM): 43 (WebCore::CSSPrimitiveValue::equals): 44 * css/CSSPrimitiveValue.h: 45 (WebCore::CSSPrimitiveValue::isLengthRepeat): 46 (WebCore::CSSPrimitiveValue::getLengthRepeatValue): 47 * css/CSSPrimitiveValueMappings.h: Added converters for snap point type properties. 48 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 49 (WebCore::CSSPrimitiveValue::operator ScrollSnapType): 50 * css/CSSPropertyNames.in: Added relevant snap point property names. 51 * css/CSSValueKeywords.in: Added "proximity", "mandatory" and "elements". 52 * css/LengthRepeat.h: Added to represent values of repeat(<length>) 53 (WebCore::LengthRepeat::create): 54 (WebCore::LengthRepeat::cloneForCSSOM): 55 (WebCore::LengthRepeat::interval): 56 (WebCore::LengthRepeat::setInterval): 57 (WebCore::LengthRepeat::equals): 58 (WebCore::LengthRepeat::cssText): 59 (WebCore::LengthRepeat::LengthRepeat): 60 * css/StyleResolver.cpp: Support for handling snap point properties 61 (WebCore::StyleResolver::applyProperty):Updated switch case to build snap-point-related style data 62 * rendering/style/RenderStyle.h: Added methods to access and modify snap point data 63 * rendering/style/RenderStyleConstants.h: Added scroll snap type flags. 64 * rendering/style/StyleAllInOne.cpp: Added StyleScrollSnapPoints.cpp 65 * rendering/style/StyleRareNonInheritedData.cpp: Added initiazing for m_scrollSnapPoints, updated equality check 66 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 67 (WebCore::StyleRareNonInheritedData::operator==): 68 * rendering/style/StyleRareNonInheritedData.h: Added field for StyleScrollSnapPoints 69 * rendering/style/StyleScrollSnapPoints.cpp: Added. Wrapper for basic snap point data structures. 70 (WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): 71 (WebCore::StyleScrollSnapPoints::copy): 72 (WebCore::StyleScrollSnapPoints::operator==): 73 * rendering/style/StyleScrollSnapPoints.h: Added. 74 (WebCore::StyleScrollSnapPoints::create): 75 (WebCore::StyleScrollSnapPoints::defaultRepeatOffset): Creates a new Length representing the default repeat value of repeat(100%) 76 (WebCore::StyleScrollSnapPoints::defaultDestinationOffset): Creates a new Length representing a default destination value (0px) 77 (WebCore::StyleScrollSnapPoints::operator!=): 78 1 79 2014-08-06 Andy Estes <aestes@apple.com> 2 80 -
trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig
r172048 r172192 187 187 ENABLE_SCRIPTED_SPEECH = ; 188 188 ENABLE_SHARED_WORKERS = ENABLE_SHARED_WORKERS; 189 ENABLE_CSS_SCROLL_SNAP = $(ENABLE_CSS_SCROLL_SNAP_$(PLATFORM_NAME)); 190 ENABLE_CSS_SCROLL_SNAP_macosx = ENABLE_CSS_SCROLL_SNAP; 189 191 ENABLE_SPEECH_SYNTHESIS = $(ENABLE_SPEECH_SYNTHESIS_$(PLATFORM_NAME)); 190 192 ENABLE_SPEECH_SYNTHESIS = ENABLE_SPEECH_SYNTHESIS; … … 249 251 ENABLE_LLINT_C_LOOP = ; 250 252 251 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_ SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));253 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME)); -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
r171824 r172192 11906 11906 </ClCompile> 11907 11907 <ClCompile Include="..\rendering\style\StyleRareNonInheritedData.cpp"> 11908 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> 11909 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> 11910 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild> 11911 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild> 11912 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild> 11913 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild> 11914 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> 11915 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> 11916 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild> 11917 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild> 11918 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild> 11919 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild> 11920 </ClCompile> 11921 <ClCompile Include="..\rendering\style\StyleScrollSnapPoints.cpp"> 11908 11922 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> 11909 11923 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> … … 20111 20125 <ClInclude Include="..\css\FontLoader.h" /> 20112 20126 <ClInclude Include="..\css\LengthFunctions.h" /> 20127 <ClInclude Include="..\css\LengthRepeat.h" /> 20113 20128 <ClInclude Include="..\css\MediaFeatureNames.h" /> 20114 20129 <ClInclude Include="..\css\MediaList.h" /> … … 20370 20385 <ClInclude Include="..\rendering\style\StyleRareNonInheritedData.h" /> 20371 20386 <ClInclude Include="..\rendering\style\StyleReflection.h" /> 20387 <ClInclude Include="..\rendering\style\StyleScrollSnapPoints.h" /> 20372 20388 <ClInclude Include="..\rendering\style\StyleSurroundData.h" /> 20373 20389 <ClInclude Include="..\rendering\style\StyleTransformData.h" /> -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
r171824 r172192 2854 2854 <Filter>rendering\style</Filter> 2855 2855 </ClCompile> 2856 <ClCompile Include="..\rendering\style\StyleScrollSnapPoints.cpp"> 2857 <Filter>rendering\style</Filter> 2858 </ClCompile> 2856 2859 <ClCompile Include="..\rendering\style\StyleSurroundData.cpp"> 2857 2860 <Filter>rendering\style</Filter> … … 9262 9265 <Filter>css</Filter> 9263 9266 </ClInclude> 9267 <ClInclude Include="..\css\LengthRepeat.h"> 9268 <Filter>css</Filter> 9269 </ClInclude> 9264 9270 <ClInclude Include="..\css\MediaFeatureNames.h"> 9265 9271 <Filter>css</Filter> … … 9908 9914 </ClInclude> 9909 9915 <ClInclude Include="..\rendering\style\StyleReflection.h"> 9916 <Filter>rendering\style</Filter> 9917 </ClInclude> 9918 <ClInclude Include="..\rendering\style\StyleScrollSnapPoints.h"> 9910 9919 <Filter>rendering\style</Filter> 9911 9920 </ClInclude> -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r171964 r172192 6255 6255 F3F5CF1112ED81A80084C569 /* InspectorConsoleInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = F3F5CF1012ED81A80084C569 /* InspectorConsoleInstrumentation.h */; }; 6256 6256 F3F5CF1312ED81B30084C569 /* InspectorDatabaseInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = F3F5CF1212ED81B30084C569 /* InspectorDatabaseInstrumentation.h */; }; 6257 F42FFB461984B71600F6837F /* LengthRepeat.h in Headers */ = {isa = PBXBuildFile; fileRef = F42FFB451984B71600F6837F /* LengthRepeat.h */; }; 6258 F47A5E3E195B8C8A00483100 /* StyleScrollSnapPoints.h in Headers */ = {isa = PBXBuildFile; fileRef = F47A5E3B195B8C8A00483100 /* StyleScrollSnapPoints.h */; settings = {ATTRIBUTES = (Private, ); }; }; 6259 F47A5E3F195B8E4800483100 /* StyleScrollSnapPoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F47A5E3A195B8C8A00483100 /* StyleScrollSnapPoints.cpp */; }; 6257 6260 F50664F7157F52DC00AC226F /* FormController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F50664F5157F52DC00AC226F /* FormController.cpp */; }; 6258 6261 F50664F8157F52DC00AC226F /* FormController.h in Headers */ = {isa = PBXBuildFile; fileRef = F50664F6157F52DC00AC226F /* FormController.h */; }; … … 13783 13786 F3F5CF1012ED81A80084C569 /* InspectorConsoleInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorConsoleInstrumentation.h; sourceTree = "<group>"; }; 13784 13787 F3F5CF1212ED81B30084C569 /* InspectorDatabaseInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDatabaseInstrumentation.h; sourceTree = "<group>"; }; 13788 F42FFB451984B71600F6837F /* LengthRepeat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LengthRepeat.h; sourceTree = "<group>"; }; 13789 F47A5E3A195B8C8A00483100 /* StyleScrollSnapPoints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StyleScrollSnapPoints.cpp; path = style/StyleScrollSnapPoints.cpp; sourceTree = "<group>"; }; 13790 F47A5E3B195B8C8A00483100 /* StyleScrollSnapPoints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StyleScrollSnapPoints.h; path = style/StyleScrollSnapPoints.h; sourceTree = "<group>"; }; 13785 13791 F50664F5157F52DC00AC226F /* FormController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FormController.cpp; sourceTree = "<group>"; }; 13786 13792 F50664F6157F52DC00AC226F /* FormController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormController.h; sourceTree = "<group>"; }; … … 21090 21096 BC2274770E8366E200E7F975 /* SVGRenderStyleDefs.h */, 21091 21097 448B1B780F3A2F9B0047A9E2 /* TextSizeAdjustment.h */, 21098 F47A5E3A195B8C8A00483100 /* StyleScrollSnapPoints.cpp */, 21099 F47A5E3B195B8C8A00483100 /* StyleScrollSnapPoints.h */, 21092 21100 ); 21093 21101 name = style; … … 22160 22168 BC4368E70C226E32005EFB5F /* Rect.h */, 22161 22169 A80E79960A19BD21007FB8C5 /* Rect.idl */, 22170 F42FFB451984B71600F6837F /* LengthRepeat.h */, 22162 22171 BC74DA361013F3F7007987AD /* RGBColor.cpp */, 22163 22172 BC74DA351013F3F7007987AD /* RGBColor.h */, … … 24585 24594 A779791A0D6B9D0C003851B9 /* ImageData.h in Headers */, 24586 24595 97205AB61239291000B17380 /* ImageDocument.h in Headers */, 24596 F42FFB461984B71600F6837F /* LengthRepeat.h in Headers */, 24587 24597 F55B3DC21251F12D003EF269 /* ImageInputType.h in Headers */, 24588 24598 089582560E857A7E00F82C83 /* ImageLoader.h in Headers */, … … 25022 25032 B20111080AB7740500DB0E68 /* JSSVGAElement.h in Headers */, 25023 25033 24D9129213CA951E00D21915 /* JSSVGAltGlyphDefElement.h in Headers */, 25034 F47A5E3E195B8C8A00483100 /* StyleScrollSnapPoints.h in Headers */, 25024 25035 07AC47021952102100EE9723 /* ISOVTTCue.h in Headers */, 25025 25036 6515EC920D9723FF0063D49A /* JSSVGAltGlyphElement.h in Headers */, … … 27821 27832 4A8C96EB0BE69032004EEFF0 /* FrameSelectionMac.mm in Sources */, 27822 27833 C4CD629A18383766007EBAF1 /* FrameSnapshotting.cpp in Sources */, 27834 F47A5E3F195B8E4800483100 /* StyleScrollSnapPoints.cpp in Sources */, 27823 27835 65A21484097A3F5300B9050A /* FrameTree.cpp in Sources */, 27824 27836 65CBFEF90974F607001DAC25 /* FrameView.cpp in Sources */, -
trunk/Source/WebCore/css/CSSCalculationValue.cpp
r171871 r172192 140 140 case CSSPrimitiveValue::CSS_SHAPE: 141 141 case CSSPrimitiveValue::CSS_QUAD: 142 #if ENABLE(CSS_SCROLL_SNAP) 143 case CSSPrimitiveValue::CSS_LENGTH_REPEAT: 144 #endif 142 145 case CSSPrimitiveValue::CSS_CALC: 143 146 case CSSPrimitiveValue::CSS_CALC_PERCENTAGE_WITH_NUMBER: -
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
r171591 r172192 84 84 #if ENABLE(DASHBOARD_SUPPORT) 85 85 #include "DashboardRegion.h" 86 #endif 87 88 #if ENABLE(CSS_SCROLL_SNAP) 89 #include "LengthRepeat.h" 90 #include "StyleScrollSnapPoints.h" 86 91 #endif 87 92 … … 213 218 CSSPropertyWordSpacing, 214 219 CSSPropertyWordWrap, 220 #if ENABLE(CSS_SCROLL_SNAP) 221 CSSPropertyWebkitScrollSnapType, 222 CSSPropertyWebkitScrollSnapPointsX, 223 CSSPropertyWebkitScrollSnapPointsY, 224 CSSPropertyWebkitScrollSnapDestination, 225 CSSPropertyWebkitScrollSnapCoordinate, 226 #endif 215 227 CSSPropertyZIndex, 216 228 CSSPropertyZoom, … … 1072 1084 return list; 1073 1085 } 1086 1087 #if ENABLE(CSS_SCROLL_SNAP) 1088 static PassRef<CSSValueList> scrollSnapDestination(RenderStyle* style, Length x, Length y) 1089 { 1090 RefPtr<CSSValueList> snapDestinationValue = CSSValueList::createSpaceSeparated(); 1091 if (x.isPercentNotCalculated()) 1092 snapDestinationValue->append(cssValuePool().createValue(x.percent(), CSSPrimitiveValue::CSS_PERCENTAGE)); 1093 else 1094 snapDestinationValue->append(zoomAdjustedPixelValue(valueForLength(x, 0), style)); 1095 1096 if (y.isPercentNotCalculated()) 1097 snapDestinationValue->append(cssValuePool().createValue(y.percent(), CSSPrimitiveValue::CSS_PERCENTAGE)); 1098 else 1099 snapDestinationValue->append(zoomAdjustedPixelValue(valueForLength(y, 0), style)); 1100 1101 return snapDestinationValue.releaseNonNull(); 1102 } 1103 1104 static PassRef<CSSValueList> scrollSnapPoints(RenderStyle* style, const Vector<Length>& points, Length repeatPoint, bool hasRepeat) 1105 { 1106 RefPtr<CSSValueList> snapPointsValue = CSSValueList::createSpaceSeparated(); 1107 for (auto& point : points) { 1108 if (point.isPercentNotCalculated()) 1109 snapPointsValue->append(cssValuePool().createValue(point.percent(), CSSPrimitiveValue::CSS_PERCENTAGE)); 1110 else 1111 snapPointsValue->append(zoomAdjustedPixelValue(valueForLength(point, 0), style)); 1112 } 1113 if (hasRepeat) { 1114 if (repeatPoint.isPercentNotCalculated()) 1115 snapPointsValue->append(cssValuePool().createValue(LengthRepeat::create(cssValuePool().createValue(repeatPoint.percent(), CSSPrimitiveValue::CSS_PERCENTAGE)))); 1116 else 1117 snapPointsValue->append(cssValuePool().createValue(LengthRepeat::create(zoomAdjustedPixelValue(valueForLength(repeatPoint, 0), style)))); 1118 } 1119 return snapPointsValue.releaseNonNull(); 1120 } 1121 1122 static PassRef<CSSValueList> scrollSnapCoordinates(RenderStyle* style, const Vector<SnapCoordinate>& coordinates) 1123 { 1124 RefPtr<CSSValueList> snapCoordinatesValue = CSSValueList::createCommaSeparated(); 1125 for (const auto& coordinate : coordinates) { 1126 RefPtr<CSSValueList> currentCoordinate = CSSValueList::createSpaceSeparated(); 1127 Length point = coordinate.first; 1128 if (point.isPercentNotCalculated()) 1129 currentCoordinate->append(cssValuePool().createValue(point.percent(), CSSPrimitiveValue::CSS_PERCENTAGE)); 1130 else 1131 currentCoordinate->append(zoomAdjustedPixelValue(valueForLength(point, 0), style)); 1132 1133 point = coordinate.second; 1134 if (point.isPercentNotCalculated()) 1135 currentCoordinate->append(cssValuePool().createValue(point.percent(), CSSPrimitiveValue::CSS_PERCENTAGE)); 1136 else 1137 currentCoordinate->append(zoomAdjustedPixelValue(valueForLength(point, 0), style)); 1138 1139 snapCoordinatesValue->append(PassRefPtr<CSSValueList>(WTF::move(currentCoordinate))); 1140 } 1141 return snapCoordinatesValue.releaseNonNull(); 1142 } 1143 #endif 1074 1144 1075 1145 static PassRef<CSSValueList> getDelayValue(const AnimationList* animList) … … 3040 3110 case CSSPropertyWebkitSvgShadow: 3041 3111 return svgPropertyValue(propertyID, DoNotUpdateLayout); 3112 3113 #if ENABLE(CSS_SCROLL_SNAP) 3114 case CSSPropertyWebkitScrollSnapType: 3115 return cssValuePool().createValue(style->scrollSnapType()); 3116 case CSSPropertyWebkitScrollSnapDestination: 3117 return scrollSnapDestination(style.get(), style->scrollSnapDestinationX(), style->scrollSnapDestinationY()); 3118 case CSSPropertyWebkitScrollSnapPointsX: 3119 if (style->scrollSnapUsesElementsX()) 3120 return cssValuePool().createValue("elements", CSSPrimitiveValue::CSS_STRING); 3121 return scrollSnapPoints(style.get(), style->scrollSnapOffsetsX(), style->scrollSnapRepeatOffsetX(), style->scrollSnapHasRepeatX()); 3122 case CSSPropertyWebkitScrollSnapPointsY: 3123 if (style->scrollSnapUsesElementsY()) 3124 return cssValuePool().createValue("elements", CSSPrimitiveValue::CSS_STRING); 3125 return scrollSnapPoints(style.get(), style->scrollSnapOffsetsY(), style->scrollSnapRepeatOffsetY(), style->scrollSnapHasRepeatY()); 3126 case CSSPropertyWebkitScrollSnapCoordinate: 3127 Vector<SnapCoordinate> coords = style->scrollSnapCoordinates(); 3128 if (!coords.size()) 3129 return cssValuePool().createValue("none", CSSPrimitiveValue::CSS_STRING); 3130 return scrollSnapCoordinates(style.get(), coords); 3131 #endif 3042 3132 } 3043 3133 -
trunk/Source/WebCore/css/CSSParser.cpp
r172036 r172192 105 105 #endif 106 106 107 #if ENABLE(CSS_SCROLL_SNAP) 108 #include "LengthRepeat.h" 109 #endif 110 107 111 #if ENABLE(DASHBOARD_SUPPORT) 108 112 #include "DashboardRegion.h" … … 721 725 return true; 722 726 break; 727 #if ENABLE(CSS_SCROLL_SNAP) 728 case CSSPropertyWebkitScrollSnapType: // none | mandatory | proximity 729 if (valueID == CSSValueNone || valueID == CSSValueMandatory || valueID == CSSValueProximity) 730 return true; 731 break; 732 #endif 723 733 case CSSPropertyOverflowX: // visible | hidden | scroll | auto | marquee | overlay | inherit 724 734 if (valueID == CSSValueVisible || valueID == CSSValueHidden || valueID == CSSValueScroll || valueID == CSSValueAuto || valueID == CSSValueOverlay || valueID == CSSValueWebkitMarquee) … … 1139 1149 case CSSPropertyWordBreak: 1140 1150 case CSSPropertyWordWrap: 1151 #if ENABLE(CSS_SCROLL_SNAP) 1152 case CSSPropertyWebkitScrollSnapType: 1153 #endif 1141 1154 return true; 1142 1155 default: … … 3033 3046 case CSSPropertyWordBreak: 3034 3047 case CSSPropertyWordWrap: 3048 #if ENABLE(CSS_SCROLL_SNAP) 3049 case CSSPropertyWebkitScrollSnapType: 3050 #endif 3035 3051 // These properties should be handled before in isValidKeywordPropertyAndValue(). 3036 3052 ASSERT_NOT_REACHED(); … … 3047 3063 break; 3048 3064 #endif 3065 #if ENABLE(CSS_SCROLL_SNAP) 3066 case CSSPropertyWebkitScrollSnapPointsX: 3067 case CSSPropertyWebkitScrollSnapPointsY: 3068 if (id == CSSValueElements) { 3069 validPrimitive = true; 3070 break; 3071 } 3072 return parseNonElementSnapPoints(propId, important); 3073 case CSSPropertyWebkitScrollSnapDestination: // <length>{2} 3074 return parseScrollSnapDestination(propId, important); 3075 case CSSPropertyWebkitScrollSnapCoordinate: 3076 return parseScrollSnapCoordinate(propId, important); 3077 #endif 3049 3078 default: 3050 3079 return parseSVGValue(propId, important); … … 3153 3182 return m_context.useLegacyBackgroundSizeShorthandBehavior; 3154 3183 } 3184 3185 #if ENABLE(CSS_SCROLL_SNAP) 3186 bool CSSParser::parseNonElementSnapPoints(CSSPropertyID propId, bool important) 3187 { 3188 RefPtr<CSSValueList> values = CSSValueList::createSpaceSeparated(); 3189 while (CSSParserValue* val = m_valueList->current()) { 3190 RefPtr<CSSValue> parsedValue; 3191 if (validUnit(val, FPercent | FLength)) { 3192 parsedValue = createPrimitiveNumericValue(val); 3193 values->append(parsedValue.release()); 3194 } else if (val->unit == CSSParserValue::Function 3195 && val->function->args != 0 3196 && val->function->args->size() == 1 3197 && equalIgnoringCase(val->function->name, "repeat(")) { 3198 CSSParserValue* parserVal = val->function->args.get()->current(); 3199 if (validUnit(parserVal, FLength | FPercent)) { 3200 values->append(cssValuePool().createValue(LengthRepeat::create(createPrimitiveNumericValue(parserVal)))); 3201 m_valueList->next(); 3202 if (m_valueList->current()) 3203 return false; 3204 break; 3205 } 3206 } else 3207 return false; 3208 m_valueList->next(); 3209 } 3210 if (values->length()) { 3211 addProperty(propId, values.release(), important); 3212 m_valueList->next(); 3213 return true; 3214 } 3215 return false; 3216 } 3217 3218 bool CSSParser::parseScrollSnapDestination(CSSPropertyID propId, bool important) 3219 { 3220 RefPtr<CSSValueList> position = CSSValueList::createSpaceSeparated(); 3221 if (m_valueList->size() != 2) 3222 return false; 3223 CSSParserValue* curParserVal = m_valueList->current(); 3224 if (!validUnit(curParserVal, FPercent | FLength)) 3225 return false; 3226 RefPtr<CSSValue> cssValueX = createPrimitiveNumericValue(curParserVal); 3227 m_valueList->next(); 3228 curParserVal = m_valueList->current(); 3229 if (!validUnit(curParserVal, FPercent | FLength)) 3230 return false; 3231 RefPtr<CSSValue> cssValueY = createPrimitiveNumericValue(curParserVal); 3232 position->append(cssValueX.release()); 3233 position->append(cssValueY.release()); 3234 addProperty(propId, position, important); 3235 m_valueList->next(); 3236 return true; 3237 } 3238 3239 bool CSSParser::parseScrollSnapCoordinate(CSSPropertyID propId, bool important) 3240 { 3241 RefPtr<CSSValueList> positions = CSSValueList::createSpaceSeparated(); 3242 while (m_valueList->current()) { 3243 CSSParserValue* parsedValueX = m_valueList->current(); 3244 // Don't accept odd-length lists of coordinates. 3245 if (!m_valueList->next()) 3246 return false; 3247 CSSParserValue* parsedValueY = m_valueList->current(); 3248 if (!validUnit(parsedValueX, FPercent | FLength) || !validUnit(parsedValueY, FPercent | FLength)) 3249 return false; 3250 positions->append(createPrimitiveNumericValue(parsedValueX)); 3251 positions->append(createPrimitiveNumericValue(parsedValueY)); 3252 m_valueList->next(); 3253 } 3254 if (positions->length()) { 3255 addProperty(propId, positions.release(), important); 3256 return true; 3257 } 3258 return false; 3259 } 3260 #endif 3155 3261 3156 3262 const int cMaxFillProperties = 9; -
trunk/Source/WebCore/css/CSSParser.h
r171010 r172192 535 535 SizeParameterType parseSizeParameter(CSSValueList* parsedValues, CSSParserValue* value, SizeParameterType prevParamType); 536 536 537 #if ENABLE(CSS_SCROLL_SNAP) 538 bool parseNonElementSnapPoints(CSSPropertyID propId, bool important); 539 bool parseScrollSnapDestination(CSSPropertyID propId, bool important); 540 bool parseScrollSnapCoordinate(CSSPropertyID propId, bool important); 541 #endif 542 537 543 bool parseFontFaceSrcURI(CSSValueList*); 538 544 bool parseFontFaceSrcLocal(CSSValueList*); -
trunk/Source/WebCore/css/CSSParserValues.cpp
r170774 r172192 142 142 case CSSPrimitiveValue::CSS_SHAPE: 143 143 case CSSPrimitiveValue::CSS_QUAD: 144 #if ENABLE(CSS_SCROLL_SNAP) 145 case CSSPrimitiveValue::CSS_LENGTH_REPEAT: 146 #endif 144 147 case CSSPrimitiveValue::CSS_CALC: 145 148 case CSSPrimitiveValue::CSS_CALC_PERCENTAGE_WITH_NUMBER: -
trunk/Source/WebCore/css/CSSPrimitiveValue.cpp
r170774 r172192 50 50 #if ENABLE(DASHBOARD_SUPPORT) 51 51 #include "DashboardRegion.h" 52 #endif 53 54 #if ENABLE(CSS_SCROLL_SNAP) 55 #include "LengthRepeat.h" 52 56 #endif 53 57 … … 120 124 case CSSPrimitiveValue::CSS_RECT: 121 125 case CSSPrimitiveValue::CSS_QUAD: 126 #if ENABLE(CSS_SCROLL_SNAP) 127 case CSSPrimitiveValue::CSS_LENGTH_REPEAT: 128 #endif 122 129 case CSSPrimitiveValue::CSS_RGBCOLOR: 123 130 case CSSPrimitiveValue::CSS_SHAPE: … … 399 406 } 400 407 408 #if ENABLE(CSS_SCROLL_SNAP) 409 void CSSPrimitiveValue::init(PassRefPtr<LengthRepeat> lengthRepeat) 410 { 411 m_primitiveUnitType = CSS_LENGTH_REPEAT; 412 m_hasCachedCSSText = false; 413 m_value.lengthRepeat = lengthRepeat.leakRef(); 414 } 415 #endif 416 401 417 #if ENABLE(DASHBOARD_SUPPORT) 402 418 void CSSPrimitiveValue::init(PassRefPtr<DashboardRegion> r) … … 454 470 m_value.quad->deref(); 455 471 break; 472 #if ENABLE(CSS_SCROLL_SNAP) 473 case CSS_LENGTH_REPEAT: 474 m_value.lengthRepeat->deref(); 475 break; 476 #endif 456 477 case CSS_PAIR: 457 478 m_value.pair->deref(); … … 898 919 return m_value.quad; 899 920 } 921 922 #if ENABLE(CSS_SCROLL_SNAP) 923 LengthRepeat* CSSPrimitiveValue::getLengthRepeatValue(ExceptionCode& ec) const 924 { 925 ec = 0; 926 if (m_primitiveUnitType != CSS_LENGTH_REPEAT) { 927 ec = INVALID_ACCESS_ERR; 928 return 0; 929 } 930 931 return m_value.lengthRepeat; 932 } 933 #endif 900 934 901 935 PassRefPtr<RGBColor> CSSPrimitiveValue::getRGBColorValue(ExceptionCode& ec) const … … 1048 1082 case CSS_QUAD: 1049 1083 return getQuadValue()->cssText(); 1084 #if ENABLE(CSS_SCROLL_SNAP) 1085 case CSS_LENGTH_REPEAT: 1086 return getLengthRepeatValue()->cssText(); 1087 #endif 1050 1088 case CSS_RGBCOLOR: 1051 1089 case CSS_PARSER_HEXCOLOR: { … … 1187 1225 result = CSSPrimitiveValue::create(m_value.quad->cloneForCSSOM()); 1188 1226 break; 1227 #if ENABLE(CSS_SCROLL_SNAP) 1228 case CSS_LENGTH_REPEAT: 1229 result = CSSPrimitiveValue::create(m_value.lengthRepeat->cloneForCSSOM()); 1230 break; 1231 #endif 1189 1232 case CSS_PAIR: 1190 1233 // Pair is not exposed to the CSSOM, no need for a deep clone. … … 1317 1360 case CSS_QUAD: 1318 1361 return m_value.quad && other.m_value.quad && m_value.quad->equals(*other.m_value.quad); 1362 #if ENABLE(CSS_SCROLL_SNAP) 1363 case CSS_LENGTH_REPEAT: 1364 return m_value.lengthRepeat && other.m_value.lengthRepeat && m_value.lengthRepeat->equals(*other.m_value.lengthRepeat); 1365 #endif 1319 1366 case CSS_RGBCOLOR: 1320 1367 return m_value.rgbcolor == other.m_value.rgbcolor; -
trunk/Source/WebCore/css/CSSPrimitiveValue.h
r169731 r172192 43 43 class RenderStyle; 44 44 class CSSBasicShape; 45 46 #if ENABLE(CSS_SCROLL_SNAP) 47 class LengthRepeat; 48 #endif 45 49 46 50 struct Length; … … 105 109 CSS_DPCM = 32, 106 110 CSS_FR = 33, 111 #if ENABLE(CSS_SCROLL_SNAP) 112 CSS_LENGTH_REPEAT = 34, 113 #endif 107 114 CSS_PAIR = 100, // We envision this being exposed as a means of getting computed style values for pairs (border-spacing/radius, background-position, etc.) 108 115 #if ENABLE(DASHBOARD_SUPPORT) … … 182 189 bool isPx() const { return primitiveType() == CSS_PX; } 183 190 bool isRect() const { return m_primitiveUnitType == CSS_RECT; } 191 #if ENABLE(CSS_SCROLL_SNAP) 192 bool isLengthRepeat() const { return m_primitiveUnitType == CSS_LENGTH_REPEAT; } 193 #endif 184 194 bool isRGBColor() const { return m_primitiveUnitType == CSS_RGBCOLOR; } 185 195 bool isShape() const { return m_primitiveUnitType == CSS_SHAPE; } … … 304 314 Quad* getQuadValue() const { return m_primitiveUnitType != CSS_QUAD ? 0 : m_value.quad; } 305 315 316 #if ENABLE(CSS_SCROLL_SNAP) 317 LengthRepeat* getLengthRepeatValue(ExceptionCode&) const; 318 LengthRepeat* getLengthRepeatValue() const { return m_primitiveUnitType != CSS_LENGTH_REPEAT ? 0 : m_value.lengthRepeat; } 319 #endif 320 306 321 PassRefPtr<RGBColor> getRGBColorValue(ExceptionCode&) const; 307 322 RGBA32 getRGBA32Value() const { return m_primitiveUnitType != CSS_RGBCOLOR ? 0 : m_value.rgbcolor; } … … 372 387 void init(PassRefPtr<Pair>); 373 388 void init(PassRefPtr<Quad>); 389 #if ENABLE(CSS_SCROLL_SNAP) 390 void init(PassRefPtr<LengthRepeat>); 391 #endif 374 392 void init(PassRefPtr<DashboardRegion>); // FIXME: Dashboard region should not be a primitive value. 375 393 void init(PassRefPtr<CSSBasicShape>); … … 393 411 Rect* rect; 394 412 Quad* quad; 413 #if ENABLE(CSS_SCROLL_SNAP) 414 LengthRepeat* lengthRepeat; 415 #endif 395 416 unsigned rgbcolor; 396 417 Pair* pair; -
trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h
r171871 r172192 5184 5184 } 5185 5185 5186 } 5187 5186 5187 #if ENABLE(CSS_SCROLL_SNAP) 5188 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ScrollSnapType e) 5189 : CSSValue(PrimitiveClass) 5190 { 5191 m_primitiveUnitType = CSS_VALUE_ID; 5192 switch (e) { 5193 case ScrollSnapType::None: 5194 m_value.valueID = CSSValueNone; 5195 break; 5196 case ScrollSnapType::Proximity: 5197 m_value.valueID = CSSValueProximity; 5198 break; 5199 case ScrollSnapType::Mandatory: 5200 m_value.valueID = CSSValueMandatory; 5201 break; 5202 } 5203 } 5204 5205 template<> inline CSSPrimitiveValue::operator ScrollSnapType() const 5206 { 5207 ASSERT(isValueID()); 5208 switch (m_value.valueID) { 5209 case CSSValueNone: 5210 return ScrollSnapType::None; 5211 case CSSValueProximity: 5212 return ScrollSnapType::Proximity; 5213 case CSSValueMandatory: 5214 return ScrollSnapType::Mandatory; 5215 default: 5216 break; 5217 } 5218 ASSERT_NOT_REACHED(); 5219 return ScrollSnapType::None; 5220 } 5188 5221 #endif 5222 5223 } 5224 5225 #endif -
trunk/Source/WebCore/css/CSSPropertyNames.in
r171010 r172192 388 388 -webkit-rtl-ordering [Inherited] 389 389 -webkit-ruby-position [Inherited] 390 #if defined(ENABLE_CSS_SCROLL_SNAP) 391 -webkit-scroll-snap-points-x 392 -webkit-scroll-snap-points-y 393 -webkit-scroll-snap-type 394 -webkit-scroll-snap-destination 395 -webkit-scroll-snap-coordinate 396 #endif 390 397 -webkit-text-combine [Inherited] 391 398 -epub-text-combine = -webkit-text-combine -
trunk/Source/WebCore/css/CSSValueKeywords.in
r171677 r172192 990 990 // farthest-side 991 991 992 #if defined(ENABLE_CSS_SCROLL_SNAP) 993 // -webkit-scroll-snap-points-x 994 // -webkit-scroll-snap-points-y 995 elements 996 997 // -webkit-scroll-snap-type 998 mandatory 999 proximity 1000 #endif 1001 992 1002 // -webkit-region-fragment 993 1003 // auto -
trunk/Source/WebCore/css/StyleResolver.cpp
r171871 r172192 162 162 #endif 163 163 164 #if ENABLE(CSS_SCROLL_SNAP) 165 #include "LengthRepeat.h" 166 #endif 167 164 168 namespace WebCore { 165 169 … … 2844 2848 return; 2845 2849 } 2850 2851 #if ENABLE(CSS_SCROLL_SNAP) 2852 case CSSPropertyWebkitScrollSnapType: { 2853 state.style()->setScrollSnapType(*primitiveValue); 2854 return; 2855 } 2856 case CSSPropertyWebkitScrollSnapPointsX: 2857 case CSSPropertyWebkitScrollSnapPointsY: { 2858 RenderStyle* renderStyle = state.style(); 2859 if (id == CSSPropertyWebkitScrollSnapPointsX) 2860 renderStyle->setScrollSnapHasRepeatX(false); 2861 else 2862 renderStyle->setScrollSnapHasRepeatY(false); 2863 2864 if (primitiveValue && primitiveValue->getValueID() == CSSValueElements) { 2865 if (id == CSSPropertyWebkitScrollSnapPointsX) 2866 renderStyle->setScrollSnapUsesElementsX(true); 2867 else 2868 renderStyle->setScrollSnapUsesElementsY(true); 2869 return; 2870 } 2871 if (id == CSSPropertyWebkitScrollSnapPointsX) 2872 renderStyle->setScrollSnapUsesElementsX(false); 2873 else 2874 renderStyle->setScrollSnapUsesElementsY(false); 2875 2876 Vector<Length> offsets; 2877 for (CSSValueListIterator it(value); it.hasMore(); it.advance()) { 2878 RefPtr<CSSValue> rawItemValue = it.value(); 2879 CSSPrimitiveValue* primitiveItemValue = toCSSPrimitiveValue(rawItemValue.get()); 2880 if (primitiveItemValue->isLengthRepeat()) { 2881 LengthRepeat* lengthRepeat = primitiveItemValue->getLengthRepeatValue(); 2882 if (lengthRepeat && lengthRepeat->interval()) { 2883 if (id == CSSPropertyWebkitScrollSnapPointsX) { 2884 renderStyle->setScrollSnapRepeatOffsetX(lengthRepeat->interval()->convertToLength<FixedIntegerConversion | PercentConversion | AutoConversion>(state.cssToLengthConversionData())); 2885 renderStyle->setScrollSnapHasRepeatX(true); 2886 } else { 2887 renderStyle->setScrollSnapRepeatOffsetY(lengthRepeat->interval()->convertToLength<FixedIntegerConversion | PercentConversion | AutoConversion>(state.cssToLengthConversionData())); 2888 renderStyle->setScrollSnapHasRepeatY(true); 2889 } 2890 break; 2891 } 2892 } else 2893 offsets.append(primitiveItemValue->convertToLength<FixedIntegerConversion | PercentConversion | AutoConversion>(state.cssToLengthConversionData())); 2894 } 2895 if (id == CSSPropertyWebkitScrollSnapPointsX) 2896 renderStyle->setScrollSnapOffsetsX(offsets); 2897 else 2898 renderStyle->setScrollSnapOffsetsY(offsets); 2899 return; 2900 } 2901 case CSSPropertyWebkitScrollSnapDestination: { 2902 CSSValueList& position = toCSSValueList(*value); 2903 RefPtr<CSSValue> xCoordinate = position.item(0); 2904 RefPtr<CSSPrimitiveValue> xCoordinateValue = toCSSPrimitiveValue(xCoordinate.get()); 2905 state.style()->setScrollSnapDestinationX(xCoordinateValue->convertToLength<FixedIntegerConversion | PercentConversion | AutoConversion>(state.cssToLengthConversionData())); 2906 2907 RefPtr<CSSValue> yCoordinate = position.item(1); 2908 RefPtr<CSSPrimitiveValue> yCoordinateValue = toCSSPrimitiveValue(yCoordinate.get()); 2909 state.style()->setScrollSnapDestinationY(yCoordinateValue->convertToLength<FixedIntegerConversion | PercentConversion | AutoConversion>(state.cssToLengthConversionData())); 2910 return; 2911 } 2912 case CSSPropertyWebkitScrollSnapCoordinate: { 2913 Vector<SnapCoordinate> coordinates; 2914 CSSValueList& valueList = toCSSValueList(*value); 2915 size_t pointCount = valueList.length(); 2916 // Every x must be followed by a y. 2917 if (pointCount % 2) 2918 return; 2919 pointCount /= 2; 2920 coordinates.reserveCapacity(pointCount); 2921 for (size_t i = 0; i < pointCount; i++) { 2922 RefPtr<CSSValue> xCoordinate = valueList.item(i * 2); 2923 RefPtr<CSSValue> yCoordinate = valueList.item((i * 2) + 1); 2924 RefPtr<CSSPrimitiveValue> xCoordinateValue = toCSSPrimitiveValue(xCoordinate.get()); 2925 RefPtr<CSSPrimitiveValue> yCoordinateValue = toCSSPrimitiveValue(yCoordinate.get()); 2926 coordinates.append(SnapCoordinate(xCoordinateValue->convertToLength<FixedIntegerConversion | PercentConversion | AutoConversion>(state.cssToLengthConversionData()), yCoordinateValue->convertToLength<FixedIntegerConversion | PercentConversion | AutoConversion>(state.cssToLengthConversionData()))); 2927 } 2928 state.style()->setScrollSnapCoordinates(coordinates); 2929 return; 2930 } 2931 #endif 2846 2932 // These properties are aliased and DeprecatedStyleBuilder already applied the property on the prefixed version. 2847 2933 case CSSPropertyTransitionDelay: -
trunk/Source/WebCore/rendering/style/RenderStyle.h
r171692 r172192 88 88 #endif 89 89 90 #if ENABLE(CSS_SCROLL_SNAP) 91 #include "StyleScrollSnapPoints.h" 92 #endif 93 90 94 #if ENABLE(IOS_TEXT_AUTOSIZING) 91 95 #include "TextSizeAdjustment.h" … … 1079 1083 LineBoxContain lineBoxContain() const { return rareInheritedData->m_lineBoxContain; } 1080 1084 const LineClampValue& lineClamp() const { return rareNonInheritedData->lineClamp; } 1085 #if ENABLE(CSS_SCROLL_SNAP) 1086 ScrollSnapType scrollSnapType() const { return static_cast<ScrollSnapType>(rareNonInheritedData->m_scrollSnapType); } 1087 Vector<Length> scrollSnapOffsetsX() const { return rareNonInheritedData->m_scrollSnapPoints->offsetsX; } 1088 Vector<Length> scrollSnapOffsetsY() const { return rareNonInheritedData->m_scrollSnapPoints->offsetsY; } 1089 Length scrollSnapRepeatOffsetX() const { return rareNonInheritedData->m_scrollSnapPoints->repeatOffsetX; } 1090 Length scrollSnapRepeatOffsetY() const { return rareNonInheritedData->m_scrollSnapPoints->repeatOffsetY; } 1091 bool scrollSnapHasRepeatX() const { return rareNonInheritedData->m_scrollSnapPoints->hasRepeatX; } 1092 bool scrollSnapHasRepeatY() const { return rareNonInheritedData->m_scrollSnapPoints->hasRepeatY; } 1093 Length scrollSnapDestinationX() const { return rareNonInheritedData->m_scrollSnapPoints->destinationX; } 1094 Length scrollSnapDestinationY() const { return rareNonInheritedData->m_scrollSnapPoints->destinationY; } 1095 Vector<SnapCoordinate> scrollSnapCoordinates() const { return rareNonInheritedData->m_scrollSnapPoints->coordinates; } 1096 bool scrollSnapUsesElementsX() const { return rareNonInheritedData->m_scrollSnapPoints->usesElementsX; } 1097 bool scrollSnapUsesElementsY() const { return rareNonInheritedData->m_scrollSnapPoints->usesElementsY; } 1098 #endif 1081 1099 #if ENABLE(TOUCH_EVENTS) 1082 1100 Color tapHighlightColor() const { return rareInheritedData->tapHighlightColor; } … … 1595 1613 void setLineBoxContain(LineBoxContain c) { SET_VAR(rareInheritedData, m_lineBoxContain, c); } 1596 1614 void setLineClamp(LineClampValue c) { SET_VAR(rareNonInheritedData, lineClamp, c); } 1615 #if ENABLE(CSS_SCROLL_SNAP) 1616 void setScrollSnapType(ScrollSnapType type) { SET_VAR(rareNonInheritedData, m_scrollSnapType, type); } 1617 void setScrollSnapOffsetsX(Vector<Length>& offsets) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, offsetsX, offsets); } 1618 void setScrollSnapOffsetsY(Vector<Length>& offsets) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, offsetsY, offsets); } 1619 void setScrollSnapRepeatOffsetX(Length repeatOffset) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, repeatOffsetX, repeatOffset); } 1620 void setScrollSnapRepeatOffsetY(Length repeatOffset) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, repeatOffsetY, repeatOffset); } 1621 void setScrollSnapHasRepeatX(bool hasRepeat) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, hasRepeatX, hasRepeat); } 1622 void setScrollSnapHasRepeatY(bool hasRepeat) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, hasRepeatY, hasRepeat); } 1623 void setScrollSnapDestinationX(Length destination) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, destinationX, destination); } 1624 void setScrollSnapDestinationY(Length destination) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, destinationY, destination); } 1625 void setScrollSnapCoordinates(Vector<SnapCoordinate>& coordinates) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, coordinates, coordinates); } 1626 void setScrollSnapUsesElementsX(bool usesElements) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, usesElementsX, usesElements); } 1627 void setScrollSnapUsesElementsY(bool usesElements) { SET_VAR(rareNonInheritedData.access()->m_scrollSnapPoints, usesElementsY, usesElements); } 1628 #endif 1629 1597 1630 #if ENABLE(TOUCH_EVENTS) 1598 1631 void setTapHighlightColor(const Color& c) { SET_VAR(rareInheritedData, tapHighlightColor, c); } … … 1898 1931 static StyleImage* initialMaskBoxImageSource() { return 0; } 1899 1932 static PrintColorAdjust initialPrintColorAdjust() { return PrintColorAdjustEconomy; } 1933 #if ENABLE(CSS_SCROLL_SNAP) 1934 static ScrollSnapType initialScrollSnapType() { return ScrollSnapType::None; } 1935 #endif 1900 1936 1901 1937 #if ENABLE(CSS_GRID_LAYOUT) -
trunk/Source/WebCore/rendering/style/RenderStyleConstants.h
r171677 r172192 576 576 enum CSSBoxType { BoxMissing = 0, MarginBox, BorderBox, PaddingBox, ContentBox, Fill, Stroke, ViewBox }; 577 577 578 #if ENABLE(CSS_SCROLL_SNAP) 579 enum class ScrollSnapType { 580 None, 581 Proximity, 582 Mandatory 583 }; 584 #endif 585 578 586 } // namespace WebCore 579 587 -
trunk/Source/WebCore/rendering/style/StyleAllInOne.cpp
r164659 r172192 57 57 #include "StyleGridItemData.cpp" 58 58 #endif 59 60 #if ENABLE(CSS_SCROLL_SNAP) 61 #include "StyleScrollSnapPoints.cpp" 62 #endif -
trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
r171010 r172192 54 54 , m_gridItem(StyleGridItemData::create()) 55 55 #endif 56 #if ENABLE(CSS_SCROLL_SNAP) 57 , m_scrollSnapPoints(StyleScrollSnapPoints::create()) 58 #endif 56 59 , m_mask(FillLayer(MaskFillLayer)) 57 60 , m_pageSize() … … 66 69 , m_flowThread(RenderStyle::initialFlowThread()) 67 70 , m_regionThread(RenderStyle::initialRegionThread()) 71 #if ENABLE(CSS_SCROLL_SNAP) 72 , m_scrollSnapType(RenderStyle::initialScrollSnapType()) 73 #endif 68 74 , m_regionFragment(RenderStyle::initialRegionFragment()) 69 75 , m_regionBreakAfter(RenderStyle::NonInheritedFlags::initialPageBreak()) … … 119 125 , m_gridItem(o.m_gridItem) 120 126 #endif 127 #if ENABLE(CSS_SCROLL_SNAP) 128 , m_scrollSnapPoints(o.m_scrollSnapPoints) 129 #endif 121 130 , m_content(o.m_content ? o.m_content->clone() : nullptr) 122 131 , m_counterDirectives(o.m_counterDirectives ? clone(*o.m_counterDirectives) : nullptr) … … 145 154 , m_flowThread(o.m_flowThread) 146 155 , m_regionThread(o.m_regionThread) 156 #if ENABLE(CSS_SCROLL_SNAP) 157 , m_scrollSnapType(o.m_scrollSnapType) 158 #endif 147 159 , m_regionFragment(o.m_regionFragment) 148 160 , m_regionBreakAfter(o.m_regionBreakAfter) … … 208 220 && m_grid == o.m_grid 209 221 && m_gridItem == o.m_gridItem 222 #endif 223 #if ENABLE(CSS_SCROLL_SNAP) 224 && m_scrollSnapPoints == o.m_scrollSnapPoints 210 225 #endif 211 226 && contentDataEquivalent(o) … … 254 269 && m_textCombine == o.m_textCombine 255 270 && m_textDecorationStyle == o.m_textDecorationStyle 271 #if ENABLE(CSS_SCROLL_SNAP) 272 && m_scrollSnapType == o.m_scrollSnapType 273 #endif 256 274 && !m_runningAcceleratedAnimation && !o.m_runningAcceleratedAnimation 257 275 #if ENABLE(CSS_COMPOSITING) -
trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.h
r171010 r172192 57 57 class StyleResolver; 58 58 class StyleTransformData; 59 #if ENABLE(CSS_SCROLL_SNAP) 60 class StyleScrollSnapPoints; 61 #endif 59 62 60 63 class ContentData; … … 125 128 #endif 126 129 130 #if ENABLE(CSS_SCROLL_SNAP) 131 DataRef<StyleScrollSnapPoints> m_scrollSnapPoints; 132 #endif 133 127 134 std::unique_ptr<ContentData> m_content; 128 135 std::unique_ptr<CounterDirectiveMap> m_counterDirectives; … … 162 169 AtomicString m_flowThread; 163 170 AtomicString m_regionThread; 171 172 #if ENABLE(CSS_SCROLL_SNAP) 173 ScrollSnapType m_scrollSnapType; // ScrollSnapType 174 #endif 175 164 176 unsigned m_regionFragment : 1; // RegionFragment 165 177 -
trunk/Source/WebInspectorUI/ChangeLog
r172162 r172192 1 2014-08-06 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Implement parsing for CSS scroll snap points 4 https://bugs.webkit.org/show_bug.cgi?id=134301 5 6 Reviewed by Dean Jackson. 7 8 * UserInterface/Models/CSSKeywordCompletions.js: Added snap point property keywords, such as mandatory, proximity, elements, and repeat. 9 1 10 2014-08-06 Brian J. Burg <burg@cs.washington.edu> 2 11 -
trunk/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js
r171011 r172192 905 905 ], 906 906 */ 907 "-webkit-scroll-snap-type": [ 908 "mandatory", "proximity", "none" 909 ], 910 "-webkit-scroll-snap-points-x": [ 911 "elements", "repeat" 912 ], 913 "-webkit-scroll-snap-points-y": [ 914 "elements", "repeat" 915 ], 916 "-webkit-scroll-snap-coordinate": [ 917 "none" 918 ], 907 919 908 920 // iOS Properties -
trunk/Source/WebKit/mac/ChangeLog
r172172 r172192 1 2014-08-06 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Implement parsing for CSS scroll snap points 4 https://bugs.webkit.org/show_bug.cgi?id=134301 5 6 Reviewed by Dean Jackson. 7 8 * Configurations/FeatureDefines.xcconfig: Added ENABLE_CSS_SCROLL_SNAP 9 1 10 2014-08-06 Alexey Proskuryakov <ap@apple.com> 2 11 -
trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
r172048 r172192 187 187 ENABLE_SCRIPTED_SPEECH = ; 188 188 ENABLE_SHARED_WORKERS = ENABLE_SHARED_WORKERS; 189 ENABLE_CSS_SCROLL_SNAP = $(ENABLE_CSS_SCROLL_SNAP_$(PLATFORM_NAME)); 190 ENABLE_CSS_SCROLL_SNAP_macosx = ENABLE_CSS_SCROLL_SNAP; 189 191 ENABLE_SPEECH_SYNTHESIS = $(ENABLE_SPEECH_SYNTHESIS_$(PLATFORM_NAME)); 190 192 ENABLE_SPEECH_SYNTHESIS = ENABLE_SPEECH_SYNTHESIS; … … 249 251 ENABLE_LLINT_C_LOOP = ; 250 252 251 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_ SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));253 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME)); -
trunk/Source/WebKit2/ChangeLog
r172191 r172192 1 2014-08-06 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Implement parsing for CSS scroll snap points 4 https://bugs.webkit.org/show_bug.cgi?id=134301 5 6 Reviewed by Dean Jackson. 7 8 * Configurations/FeatureDefines.xcconfig: Added ENABLE_CSS_SCROLL_SNAP 9 1 10 2014-08-06 Andy Estes <aestes@apple.com> 2 11 -
trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig
r172048 r172192 187 187 ENABLE_SCRIPTED_SPEECH = ; 188 188 ENABLE_SHARED_WORKERS = ENABLE_SHARED_WORKERS; 189 ENABLE_CSS_SCROLL_SNAP = $(ENABLE_CSS_SCROLL_SNAP_$(PLATFORM_NAME)); 190 ENABLE_CSS_SCROLL_SNAP_macosx = ENABLE_CSS_SCROLL_SNAP; 189 191 ENABLE_SPEECH_SYNTHESIS = $(ENABLE_SPEECH_SYNTHESIS_$(PLATFORM_NAME)); 190 192 ENABLE_SPEECH_SYNTHESIS = ENABLE_SPEECH_SYNTHESIS; … … 249 251 ENABLE_LLINT_C_LOOP = ; 250 252 251 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_ SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));253 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
Note: See TracChangeset
for help on using the changeset viewer.