Changeset 136919 in webkit
- Timestamp:
- Dec 6, 2012 7:07:24 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 7 added
- 45 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r136884 r136919 1 2012-12-06 Rick Byers <rbyers@chromium.org> 2 3 CSS cursor property should support webkit-image-set 4 https://bugs.webkit.org/show_bug.cgi?id=99493 5 6 Reviewed by Beth Dakin. 7 8 Add ENABLE_MOUSE_CURSOR_SCALE (disabled by default) 9 10 * Source/cmake/WebKitFeatures.cmake: 11 * Source/cmakeconfig.h.cmake: 12 1 13 2012-12-06 Laszlo Gombos <l.gombos@samsung.com> 2 14 -
trunk/LayoutTests/ChangeLog
r136918 r136919 1 2012-12-06 Rick Byers <rbyers@chromium.org> 2 3 CSS cursor property should support webkit-image-set 4 https://bugs.webkit.org/show_bug.cgi?id=99493 5 6 Reviewed by Beth Dakin. 7 8 Add tests for parser round-tripping of cursor rules with -webkit-image-set, 9 and also end-to-end mouse cursor tests that validate the cursor details 10 ultimately used at different device scales. 11 12 Tests are disabled on ports other than chromium (require ENABLE(MOUSE_CURSOR_SCALE)) 13 14 * fast/css/cursor-parsing-image-set-expected.txt: Added. 15 * fast/css/cursor-parsing-image-set.html: Added. 16 * fast/events/mouse-cursor-image-set-expected.txt: Added. 17 * fast/events/mouse-cursor-image-set.html: Added. 18 * fast/events/resources/greenbox200.png: Added. 19 * fast/events/resources/greenbox30-hotspot28-3.cur: Added. 20 * fast/events/resources/greenbox30.png: Added. 21 * platform/efl/TestExpectations: 22 * platform/gtk/TestExpectations: 23 * platform/mac/TestExpectations: 24 * platform/win/TestExpectations: 25 1 26 2012-12-06 Hayato Ito <hayato@chromium.org> 2 27 -
trunk/LayoutTests/platform/efl/TestExpectations
r136865 r136919 57 57 fast/dom/Window/slow-unload-handler.html 58 58 fast/dom/Window/slow-unload-handler-only-frame-is-stopped.html 59 60 # Need ENABLE(MOUSE_CURSOR_SCALE) 61 fast/css/cursor-parsing-image-set.html 62 fast/events/mouse-cursor-image-set.html 59 63 60 64 # ---------------------------------------- -
trunk/LayoutTests/platform/gtk/TestExpectations
r136849 r136919 290 290 webkit.org/b/99027 fast/css/image-set-parsing-invalid.html [ Pass ] 291 291 webkit.org/b/99027 fast/css/image-set-setting.html [ Failure ] 292 webkit.org/b/99027 fast/css/cursor-parsing-image-set.html [ Failure ] 293 webkit.org/b/99027 fast/events/mouse-cursor-image-set.html [ Failure ] 292 294 293 295 # For now, Web Audio API is disabled -
trunk/LayoutTests/platform/mac/TestExpectations
r136849 r136919 1237 1237 Bug(jernoble) [ MountainLion Lion SnowLeopard ] media/video-src-blob.html 1238 1238 1239 # Needs ENABLE(MOUSE_CURSOR_SCALE) 1240 webkit.org/b/102579 fast/css/cursor-parsing-image-set.html [ Fail ] 1241 webkit.org/b/102579 fast/events/mouse-cursor-image-set.html [ Fail ] 1242 1239 1243 webkit.org/b/104104 fast/overflow/scrollbar-click-retains-focus.html [ Failure ] -
trunk/LayoutTests/platform/win/TestExpectations
r136849 r136919 52 52 fast/css/image-set-parsing.html 53 53 fast/css/image-set-parsing-invalid.html 54 fast/css/cursor-parsing-image-set.html 55 fast/events/mouse-cursor-image-set.html 54 56 55 57 # CSS3 Background is not yet enabled (needs ENABLE_CSS3_BACKGROUND). -
trunk/Source/JavaScriptCore/ChangeLog
r136914 r136919 1 2012-12-06 Rick Byers <rbyers@chromium.org> 2 3 CSS cursor property should support webkit-image-set 4 https://bugs.webkit.org/show_bug.cgi?id=99493 5 6 Reviewed by Beth Dakin. 7 8 Add ENABLE_MOUSE_CURSOR_SCALE (disabled by default) 9 10 * Configurations/FeatureDefines.xcconfig: 11 1 12 2012-12-06 Laszlo Gombos <l.gombos@samsung.com> 2 13 -
trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
r136415 r136919 116 116 ENABLE_MHTML = ; 117 117 ENABLE_MICRODATA = ; 118 ENABLE_MOUSE_CURSOR_SCALE = ; 118 119 ENABLE_MUTATION_OBSERVERS = ENABLE_MUTATION_OBSERVERS; 119 120 ENABLE_NAVIGATOR_CONTENT_UTILS = ; … … 160 161 ENABLE_XSLT = ENABLE_XSLT; 161 162 162 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_BACKGROUND) $(ENABLE_CSS3_TEXT) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_M UTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT);163 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_BACKGROUND) $(ENABLE_CSS3_TEXT) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT); 163 164 -
trunk/Source/WebCore/ChangeLog
r136918 r136919 1 2012-12-06 Rick Byers <rbyers@chromium.org> 2 3 CSS cursor property should support webkit-image-set 4 https://bugs.webkit.org/show_bug.cgi?id=99493 5 6 Reviewed by Beth Dakin. 7 8 Add support for image scale factors attached to custom mouse cursor images 9 behind ENABLE(MOUSE_CURSOR_SCALE). 10 11 This required refactoring CSSCursorImageValue to derive directly from 12 CSSValue since it can contain either a CSSImageValue or a CSSImageSetValue. 13 If it contains an image-set, then we can plumb directly through to the 14 CSSImageSetValue. If it contains an image, then either we can plumb directly 15 through to the CSSImageValue, or if the URL represents an SVG cursor we have 16 to intercept the image loading in order to substitute the actual SVG image URL 17 and do the appropriate lifetime management. 18 19 Tests: fast/css/cursor-parsing-image-set.html 20 fast/events/mouse-cursor-image-set.html 21 22 * Configurations/FeatureDefines.xcconfig: Add ENABLE_MOUSE_CURSOR_SCALE - disabled 23 * GNUmakefile.features.am: ditto 24 * css/CSSCursorImageValue.cpp: Refactor to inherit directly from CSSValue and support image sets 25 (WebCore::CSSCursorImageValue::CSSCursorImageValue): 26 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): 27 (WebCore::CSSCursorImageValue::customCssText): 28 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): 29 (WebCore::CSSCursorImageValue::cachedImage): 30 (WebCore::CSSCursorImageValue::cachedOrPendingImage): 31 (WebCore::CSSCursorImageValue::isSVGCursor): 32 (WebCore::CSSCursorImageValue::cachedImageURL): 33 (WebCore::CSSCursorImageValue::clearCachedImage): 34 (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage): 35 * css/CSSCursorImageValue.h: Remove cursor-specific hacks 36 (WebCore::CSSCursorImageValue::create): 37 (CSSCursorImageValue): 38 * css/CSSImageValue.cpp: 39 (WebCore::CSSImageValue::cachedImage): 40 * css/CSSImageValue.h: 41 (CSSImageValue): 42 * css/CSSParser.cpp: 43 (WebCore::CSSParser::parseValue): Parse cursor(-webkit-image-set(...)) rules 44 * css/CSSValue.h: 45 (WebCore::CSSValue::isImageValue): 46 * css/StyleBuilder.cpp: 47 (WebCore::ApplyPropertyCursor::applyValue): 48 * css/StyleResolver.cpp: Hook up new CSSCursorImageValue support since it can't be handled like other images any more. 49 (WebCore::StyleResolver::styleImage): 50 (WebCore::StyleResolver::cursorOrPendingFromValue): 51 (WebCore::StyleResolver::loadPendingImage): 52 * css/StyleResolver.h: 53 (StyleResolver): 54 * page/EventHandler.cpp: 55 (WebCore::EventHandler::selectCursor): Handle StyleCachedImageSet images and plumb scale factor through 56 * platform/Cursor.cpp: 57 (WebCore::Cursor::Cursor): Add imageScaleFactor 58 * platform/Cursor.h: Add imageScaleFactor 59 (Cursor): 60 (WebCore::Cursor::imageScaleFactor): 61 * platform/chromium/CursorChromium.cpp: Add imageScaleFactor 62 (WebCore::Cursor::Cursor): 63 (WebCore::Cursor::operator=): 64 * rendering/style/CursorData.h: Clarify hotspot units 65 (CursorData): 66 * rendering/style/StyleCachedImage.h: 67 (StyleCachedImage::cachedImage): Override new virtual. 68 * rendering/style/StyleCachedImageSet.h: 69 (StyleCachedImageSet::cachedImage): Override new virtual. 70 * rendering/style/StyleImage.h: 71 (StyleImage::cachedImage): Add new virtual method to avoid lots of casts and typechecks. 72 * rendering/style/StylePendingImage.h: Add CSSCursorImageValue support 73 (WebCore::StylePendingImage::cssCursorImageValue): 74 * testing/Internals.cpp: 75 (WebCore::Internals::getCurrentCursorInfo): Print non-identity scale factors for testing 76 1 77 2012-12-06 Hayato Ito <hayato@chromium.org> 2 78 -
trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig
r136415 r136919 116 116 ENABLE_MHTML = ; 117 117 ENABLE_MICRODATA = ; 118 ENABLE_MOUSE_CURSOR_SCALE = ; 118 119 ENABLE_MUTATION_OBSERVERS = ENABLE_MUTATION_OBSERVERS; 119 120 ENABLE_NAVIGATOR_CONTENT_UTILS = ; … … 160 161 ENABLE_XSLT = ENABLE_XSLT; 161 162 162 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_BACKGROUND) $(ENABLE_CSS3_TEXT) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_M UTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT);163 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_BACKGROUND) $(ENABLE_CSS3_TEXT) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT); 163 164 -
trunk/Source/WebCore/GNUmakefile.features.am
r136407 r136919 64 64 ENABLE_MHTML=1 \ 65 65 ENABLE_MICRODATA=1 \ 66 ENABLE_MOUSE_CURSOR_SCALE=0 \ 66 67 ENABLE_MUTATION_OBSERVERS=1 \ 67 68 ENABLE_NAVIGATOR_CONTENT_UTILS=0 \ -
trunk/Source/WebCore/css/CSSCursorImageValue.cpp
r136256 r136919 23 23 #include "CSSCursorImageValue.h" 24 24 25 #include "CSSImageValue.h" 26 #include "CachedImage.h" 25 27 #include "CachedResourceLoader.h" 28 #include "StyleCachedImage.h" 29 #include "StyleImage.h" 30 #include "StylePendingImage.h" 26 31 #include "TreeScope.h" 27 32 #include "WebCoreMemoryInstrumentation.h" … … 38 43 #endif 39 44 45 #if ENABLE(CSS_IMAGE_SET) 46 #include "CSSImageSetValue.h" 47 #include "StyleCachedImageSet.h" 48 #endif 49 40 50 namespace WebCore { 41 51 42 52 #if ENABLE(SVG) 43 static inline bool isSVGCursorIdentifier(const String& url)44 {45 KURL kurl(ParsedURLString, url);46 return kurl.hasFragmentIdentifier();47 }48 49 53 static inline SVGCursorElement* resourceReferencedByCursorElement(const String& url, Document* document) 50 54 { … … 57 61 #endif 58 62 59 CSSCursorImageValue::CSSCursorImageValue(const String& url, bool hasHotSpot, const IntPoint& hotSpot) 60 : CSSImageValue(CursorImageClass, url) 63 CSSCursorImageValue::CSSCursorImageValue(PassRefPtr<CSSValue> imageValue, bool hasHotSpot, const IntPoint& hotSpot) 64 : CSSValue(CursorImageClass) 65 , m_imageValue(imageValue) 61 66 , m_hasHotSpot(hasHotSpot) 62 67 , m_hotSpot(hotSpot) 68 , m_accessedImage(false) 63 69 { 64 70 } … … 67 73 { 68 74 #if ENABLE(SVG) 69 if (!isSVGCursor Identifier(url()))75 if (!isSVGCursor()) 70 76 return; 71 77 72 78 HashSet<SVGElement*>::const_iterator it = m_referencedElements.begin(); 73 79 HashSet<SVGElement*>::const_iterator end = m_referencedElements.end(); 80 String url = static_cast<CSSImageValue*>(m_imageValue.get())->url(); 74 81 75 82 for (; it != end; ++it) { 76 83 SVGElement* referencedElement = *it; 77 84 referencedElement->cursorImageValueRemoved(); 78 if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url (), referencedElement->document()))85 if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url, referencedElement->document())) 79 86 cursorElement->removeClient(referencedElement); 80 87 } … … 85 92 { 86 93 StringBuilder result; 87 result.append( CSSImageValue::customCssText());94 result.append(m_imageValue->cssText()); 88 95 if (m_hasHotSpot) { 89 96 result.append(' '); … … 103 110 return false; 104 111 105 if (!isSVGCursor Identifier(url()))112 if (!isSVGCursor()) 106 113 return false; 107 114 108 if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url(), element->document())) { 115 String url = static_cast<CSSImageValue*>(m_imageValue.get())->url(); 116 if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url, element->document())) { 109 117 // FIXME: This will override hot spot specified in CSS, which is probably incorrect. 110 118 SVGLengthContext lengthContext(0); … … 130 138 } 131 139 132 StyleCachedImage* CSSCursorImageValue::cachedImage(CachedResourceLoader* loader) 133 { 134 #if ENABLE(SVG) 135 if (isSVGCursorIdentifier(url()) && loader && loader->document()) { 136 // FIXME: This will fail if the <cursor> element is in a shadow DOM (bug 59827) 137 if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url(), loader->document())) 138 return CSSImageValue::cachedImage(loader, cursorElement->href()); 139 } 140 #endif 141 142 return CSSImageValue::cachedImage(loader, url()); 143 } 144 145 #if ENABLE(SVG) 140 StyleImage* CSSCursorImageValue::cachedImage(CachedResourceLoader* loader) 141 { 142 #if ENABLE(CSS_IMAGE_SET) 143 if (m_imageValue->isImageSetValue()) 144 return static_cast<CSSImageSetValue*>(m_imageValue.get())->cachedImageSet(loader); 145 #endif 146 147 if (!m_accessedImage) { 148 m_accessedImage = true; 149 150 #if ENABLE(SVG) 151 // For SVG images we need to lazily substitute in the correct URL. Rather than attempt 152 // to change the URL of the CSSImageValue (which would then change behavior like cssText), 153 // we create an alternate CSSImageValue to use. 154 if (isSVGCursor() && loader && loader->document()) { 155 RefPtr<CSSImageValue> imageValue = static_cast<CSSImageValue*>(m_imageValue.get()); 156 // FIXME: This will fail if the <cursor> element is in a shadow DOM (bug 59827) 157 if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(imageValue->url(), loader->document())) { 158 RefPtr<CSSImageValue> svgImageValue = CSSImageValue::create(cursorElement->href()); 159 StyleCachedImage* cachedImage = svgImageValue->cachedImage(loader); 160 m_image = cachedImage; 161 return cachedImage; 162 } 163 } 164 #endif 165 166 if (m_imageValue->isImageValue()) 167 m_image = static_cast<CSSImageValue*>(m_imageValue.get())->cachedImage(loader); 168 } 169 170 if (m_image && m_image->isCachedImage()) 171 return static_cast<StyleCachedImage*>(m_image.get()); 172 173 return 0; 174 } 175 176 StyleImage* CSSCursorImageValue::cachedOrPendingImage(Document* document) 177 { 178 #if ENABLE(CSS_IMAGE_SET) 179 // Need to delegate completely so that changes in device scale factor can be handled appropriately. 180 if (m_imageValue->isImageSetValue()) 181 return static_cast<CSSImageSetValue*>(m_imageValue.get())->cachedOrPendingImageSet(document); 182 #endif 183 184 if (!m_image) 185 m_image = StylePendingImage::create(this); 186 187 return m_image.get(); 188 } 189 190 #if ENABLE(SVG) 191 bool CSSCursorImageValue::isSVGCursor() const 192 { 193 if (m_imageValue->isImageValue()) { 194 RefPtr<CSSImageValue> imageValue = static_cast<CSSImageValue*>(m_imageValue.get()); 195 KURL kurl(ParsedURLString, imageValue->url()); 196 return kurl.hasFragmentIdentifier(); 197 } 198 return false; 199 } 200 201 String CSSCursorImageValue::cachedImageURL() 202 { 203 if (!m_image || !m_image->isCachedImage()) 204 return String(); 205 return static_cast<StyleCachedImage*>(m_image.get())->cachedImage()->url(); 206 } 207 208 void CSSCursorImageValue::clearCachedImage() 209 { 210 m_image = 0; 211 m_accessedImage = false; 212 } 213 146 214 void CSSCursorImageValue::removeReferencedElement(SVGElement* element) 147 215 { … … 153 221 { 154 222 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS); 155 CSSImageValue::reportDescendantMemoryUsage(memoryObjectInfo); 223 m_imageValue->reportMemoryUsage(memoryObjectInfo); 224 // No need to report m_image as it is counted as part of RenderArena. 156 225 #if ENABLE(SVG) 157 226 info.addMember(m_referencedElements); -
trunk/Source/WebCore/css/CSSCursorImageValue.h
r132966 r136919 28 28 namespace WebCore { 29 29 30 class Document; 30 31 class Element; 31 32 class SVGElement; 32 33 33 class CSSCursorImageValue : public CSS ImageValue {34 class CSSCursorImageValue : public CSSValue { 34 35 public: 35 static PassRefPtr<CSSCursorImageValue> create( const String& url, bool hasHotSpot, const IntPoint& hotSpot)36 static PassRefPtr<CSSCursorImageValue> create(PassRefPtr<CSSValue> imageValue, bool hasHotSpot, const IntPoint& hotSpot) 36 37 { 37 return adoptRef(new CSSCursorImageValue( url, hasHotSpot, hotSpot));38 return adoptRef(new CSSCursorImageValue(imageValue, hasHotSpot, hotSpot)); 38 39 } 39 40 … … 52 53 53 54 bool updateIfSVGCursorIsUsed(Element*); 54 StyleCachedImage* cachedImage(CachedResourceLoader*); 55 StyleImage* cachedImage(CachedResourceLoader*); 56 StyleImage* cachedOrPendingImage(Document*); 55 57 56 58 #if ENABLE(SVG) … … 61 63 62 64 private: 63 CSSCursorImageValue(const String& url, bool hasHotSpot, const IntPoint& hotSpot); 65 CSSCursorImageValue(PassRefPtr<CSSValue> imageValue, bool hasHotSpot, const IntPoint& hotSpot); 66 67 #if ENABLE(SVG) 68 bool isSVGCursor() const; 69 String cachedImageURL(); 70 void clearCachedImage(); 71 #endif 72 73 RefPtr<CSSValue> m_imageValue; 64 74 65 75 bool m_hasHotSpot; 66 76 IntPoint m_hotSpot; 77 RefPtr<StyleImage> m_image; 78 bool m_accessedImage; 67 79 68 80 #if ENABLE(SVG) -
trunk/Source/WebCore/css/CSSImageValue.cpp
r136256 r136919 38 38 namespace WebCore { 39 39 40 CSSImageValue::CSSImageValue(ClassType classType, const String& url)41 : CSSValue(classType)42 , m_url(url)43 , m_accessedImage(false)44 {45 }46 47 40 CSSImageValue::CSSImageValue(const String& url) 48 41 : CSSValue(ImageClass) … … 74 67 StyleCachedImage* CSSImageValue::cachedImage(CachedResourceLoader* loader) 75 68 { 76 if (isCursorImageValue())77 return static_cast<CSSCursorImageValue*>(this)->cachedImage(loader);78 return cachedImage(loader, m_url);79 }80 81 StyleCachedImage* CSSImageValue::cachedImage(CachedResourceLoader* loader, const String& url)82 {83 69 ASSERT(loader); 84 70 … … 86 72 m_accessedImage = true; 87 73 88 CachedResourceRequest request(ResourceRequest(loader->document()->completeURL( url)));74 CachedResourceRequest request(ResourceRequest(loader->document()->completeURL(m_url))); 89 75 if (m_initiatorName.isEmpty()) 90 76 request.setInitiator(cachedResourceRequestInitiators().css); … … 96 82 97 83 return (m_image && m_image->isCachedImage()) ? static_cast<StyleCachedImage*>(m_image.get()) : 0; 98 }99 100 String CSSImageValue::cachedImageURL()101 {102 if (!m_image || !m_image->isCachedImage())103 return String();104 return static_cast<StyleCachedImage*>(m_image.get())->cachedImage()->url();105 }106 107 void CSSImageValue::clearCachedImage()108 {109 m_image = 0;110 m_accessedImage = false;111 84 } 112 85 -
trunk/Source/WebCore/css/CSSImageValue.h
r136256 r136919 57 57 void setInitiator(const AtomicString& name) { m_initiatorName = name; } 58 58 59 protected:60 CSSImageValue(ClassType, const String& url);61 62 StyleCachedImage* cachedImage(CachedResourceLoader*, const String& url);63 String cachedImageURL();64 void clearCachedImage();65 66 59 private: 67 60 explicit CSSImageValue(const String& url); -
trunk/Source/WebCore/css/CSSParser.cpp
r136754 r136919 1905 1905 1906 1906 case CSSPropertyCursor: { 1907 // [<uri>,]* [ auto | crosshair | default | pointer | progress | move | e-resize | ne-resize | 1907 // Grammar defined by CSS3 UI and modified by CSS4 images: 1908 // [ [<image> [<x> <y>]?,]* 1909 // [ auto | crosshair | default | pointer | progress | move | e-resize | ne-resize | 1908 1910 // nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize | ew-resize | 1909 1911 // ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | text | wait | help | … … 1911 1913 // -webkit-zoom-out | all-scroll | -webkit-grab | -webkit-grabbing ] ] | inherit 1912 1914 RefPtr<CSSValueList> list; 1913 while (value && value->unit == CSSPrimitiveValue::CSS_URI) { 1914 if (!list) 1915 list = CSSValueList::createCommaSeparated(); 1916 String uri = value->string; 1915 while (value) { 1916 RefPtr<CSSValue> image = 0; 1917 if (value->unit == CSSPrimitiveValue::CSS_URI) { 1918 String uri = value->string; 1919 if (!uri.isNull()) 1920 image = CSSImageValue::create(completeURL(uri)); 1921 #if ENABLE(CSS_IMAGE_SET) 1922 } else if (value->unit == CSSParserValue::Function && equalIgnoringCase(value->function->name, "-webkit-image-set(")) { 1923 image = parseImageSet(m_valueList.get()); 1924 if (!image) 1925 break; 1926 #endif 1927 } else 1928 break; 1929 1917 1930 Vector<int> coords; 1918 1931 value = m_valueList->next(); … … 1931 1944 } 1932 1945 1933 if (!uri.isNull()) 1934 list->append(CSSCursorImageValue::create(completeURL(uri), hasHotSpot, hotSpot)); 1946 if (!list) 1947 list = CSSValueList::createCommaSeparated(); 1948 1949 if (image) 1950 list->append(CSSCursorImageValue::create(image, hasHotSpot, hotSpot)); 1935 1951 1936 1952 if ((inStrictMode() && !value) || (value && !(value->unit == CSSParserValue::Operator && value->iValue == ','))) -
trunk/Source/WebCore/css/CSSValue.h
r128418 r136919 80 80 bool isImageSetValue() const { return m_classType == ImageSetClass; } 81 81 #endif 82 bool isImageValue() const { return m_classType == ImageClass || m_classType == CursorImageClass; }82 bool isImageValue() const { return m_classType == ImageClass; } 83 83 bool isImplicitInitialValue() const; 84 84 bool isInheritedValue() const { return m_classType == InheritedClass; } -
trunk/Source/WebCore/css/StyleBuilder.cpp
r136640 r136919 1093 1093 if (image->updateIfSVGCursorIsUsed(styleResolver->element())) // Elements with SVG cursors are not allowed to share style. 1094 1094 styleResolver->style()->setUnique(); 1095 styleResolver->style()->addCursor(styleResolver-> cachedOrPendingFromValue(CSSPropertyCursor, image), image->hotSpot());1095 styleResolver->style()->addCursor(styleResolver->styleImage(CSSPropertyCursor, image), image->hotSpot()); 1096 1096 } else if (item->isPrimitiveValue()) { 1097 1097 CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(item); -
trunk/Source/WebCore/css/StyleResolver.cpp
r136722 r136919 3986 3986 #endif 3987 3987 3988 if (value->isCursorImageValue()) 3989 return cursorOrPendingFromValue(property, static_cast<CSSCursorImageValue*>(value)); 3990 3988 3991 return 0; 3989 3992 } … … 4015 4018 } 4016 4019 #endif 4020 4021 PassRefPtr<StyleImage> StyleResolver::cursorOrPendingFromValue(CSSPropertyID property, CSSCursorImageValue* value) 4022 { 4023 RefPtr<StyleImage> image = value->cachedOrPendingImage(document()); 4024 if (image && image->isPendingImage()) 4025 m_pendingImageProperties.set(property, value); 4026 return image.release(); 4027 } 4017 4028 4018 4029 void StyleResolver::checkForTextSizeAdjust() … … 5124 5135 } 5125 5136 5137 if (pendingImage->cssCursorImageValue()) { 5138 CSSCursorImageValue* cursorImageValue = pendingImage->cssCursorImageValue(); 5139 return cursorImageValue->cachedImage(cachedResourceLoader); 5140 } 5141 5126 5142 #if ENABLE(CSS_IMAGE_SET) 5127 5143 if (pendingImage->cssImageSetValue()) { -
trunk/Source/WebCore/css/StyleResolver.h
r136640 r136919 46 46 enum ESmartMinimumForFontSize { DoNotUseSmartMinimumForFontSize, UseSmartMinimumForFontFize }; 47 47 48 class CSSCursorImageValue; 48 49 class CSSFontSelector; 49 class CSSPageRule;50 class CSSPrimitiveValue;51 class CSSProperty;52 class CSSRuleList;53 50 class CSSFontFace; 54 51 class CSSFontFaceRule; … … 56 53 class CSSImageSetValue; 57 54 class CSSImageValue; 55 class CSSPageRule; 56 class CSSPrimitiveValue; 57 class CSSProperty; 58 class CSSRuleList; 58 59 class CSSSelector; 59 60 class CSSStyleRule; … … 415 416 PassRefPtr<StyleImage> setOrPendingFromValue(CSSPropertyID, CSSImageSetValue*); 416 417 #endif 418 PassRefPtr<StyleImage> cursorOrPendingFromValue(CSSPropertyID, CSSCursorImageValue*); 417 419 418 420 bool applyPropertyToRegularStyle() const { return m_applyPropertyToRegularStyle; } -
trunk/Source/WebCore/page/EventHandler.cpp
r136642 r136919 112 112 #endif 113 113 114 #if ENABLE(CSS_IMAGE_SET) 115 #include "StyleCachedImageSet.h" 116 #endif 117 114 118 namespace WebCore { 115 119 … … 148 152 const double fakeMouseMoveIntervalReductionLimit = 0.5; 149 153 const double fakeMouseMoveIntervalReductionFraction = 0.75; 154 155 const int maximumCursorSize = 128; 156 #if ENABLE(MOUSE_CURSOR_SCALE) 157 // It's pretty unlikely that a scale of less than one would ever be used. But all we really 158 // need to ensure here is that the scale isn't so small that integer overflow can occur when 159 // dividing cursor sizes (limited above) by the scale. 160 const double minimumCursorScale = 0.001; 161 #endif 150 162 151 163 enum NoCursorChangeType { NoCursorChange }; … … 1451 1463 const CursorList* cursors = style->cursors(); 1452 1464 for (unsigned i = 0; i < cursors->size(); ++i) { 1453 CachedImage* cimage = 0; 1454 StyleImage* image = (*cursors)[i].image(); 1455 if (image && image->isCachedImage()) 1456 cimage = static_cast<StyleCachedImage*>(image)->cachedImage(); 1457 if (!cimage) 1465 StyleImage* styleImage = (*cursors)[i].image(); 1466 if (!styleImage) 1458 1467 continue; 1468 CachedImage* cachedImage = styleImage->cachedImage(); 1469 if (!cachedImage) 1470 continue; 1471 float scale = styleImage->imageScaleFactor(); 1472 // Get hotspot and convert from logical pixels to physical pixels. 1459 1473 IntPoint hotSpot = (*cursors)[i].hotSpot(); 1460 // Limit the size of cursors so that they cannot be used to cover UI elements in chrome.1461 IntSize size = c image->imageForRenderer(renderer)->size();1462 if ( size.width() > 128 || size.height() > 128)1474 hotSpot.scale(scale, scale); 1475 IntSize size = cachedImage->imageForRenderer(renderer)->size(); 1476 if (cachedImage->errorOccurred()) 1463 1477 continue; 1464 if (!cimage->errorOccurred()) 1465 return Cursor(cimage->imageForRenderer(renderer), hotSpot); 1478 // Limit the size of cursors (in UI pixels) so that they cannot be 1479 // used to cover UI elements in chrome. 1480 size.scale(1 / scale); 1481 if (size.width() > maximumCursorSize || size.height() > maximumCursorSize) 1482 continue; 1483 1484 Image* image = cachedImage->imageForRenderer(renderer); 1485 #if ENABLE(MOUSE_CURSOR_SCALE) 1486 // Ensure no overflow possible in calculations above. 1487 if (scale < minimumCursorScale) 1488 continue; 1489 return Cursor(image, hotSpot, scale); 1490 #else 1491 ASSERT(scale == 1); 1492 return Cursor(image, hotSpot); 1493 #endif // ENABLE(MOUSE_CURSOR_SCALE) 1466 1494 } 1467 1495 } -
trunk/Source/WebCore/platform/Cursor.cpp
r101698 r136919 28 28 29 29 #include "Image.h" 30 #include <wtf/Assertions.h> 30 31 31 32 namespace WebCore { … … 151 152 , m_image(image) 152 153 , m_hotSpot(determineHotSpot(image, hotSpot)) 154 #if ENABLE(MOUSE_CURSOR_SCALE) 155 , m_imageScaleFactor(1) 156 #endif 153 157 , m_platformCursor(0) 154 158 { 155 159 } 160 161 #if ENABLE(MOUSE_CURSOR_SCALE) 162 Cursor::Cursor(Image* image, const IntPoint& hotSpot, float scale) 163 : m_type(Custom) 164 , m_image(image) 165 , m_hotSpot(determineHotSpot(image, hotSpot)) 166 , m_imageScaleFactor(scale) 167 , m_platformCursor(0) 168 { 169 } 170 #endif 156 171 157 172 Cursor::Cursor(Type type) 158 173 : m_type(type) 174 #if ENABLE(MOUSE_CURSOR_SCALE) 175 , m_imageScaleFactor(1) 176 #endif 159 177 , m_platformCursor(0) 160 178 { -
trunk/Source/WebCore/platform/Cursor.h
r134803 r136919 165 165 Cursor(Image*, const IntPoint& hotSpot); 166 166 Cursor(const Cursor&); 167 168 #if ENABLE(MOUSE_CURSOR_SCALE) 169 // Hot spot is in image pixels. 170 Cursor(Image*, const IntPoint& hotSpot, float imageScaleFactor); 171 #endif 172 167 173 ~Cursor(); 168 174 Cursor& operator=(const Cursor&); … … 177 183 Image* image() const { return m_image.get(); } 178 184 const IntPoint& hotSpot() const { return m_hotSpot; } 185 #if ENABLE(MOUSE_CURSOR_SCALE) 186 // Image scale in image pixels per logical (UI) pixel. 187 float imageScaleFactor() const { return m_imageScaleFactor; } 188 #endif 179 189 PlatformCursor platformCursor() const; 180 190 #else … … 190 200 RefPtr<Image> m_image; 191 201 IntPoint m_hotSpot; 202 #if ENABLE(MOUSE_CURSOR_SCALE) 203 float m_imageScaleFactor; 204 #endif 192 205 #endif 193 206 -
trunk/Source/WebCore/platform/chromium/CursorChromium.cpp
r134149 r136919 40 40 , m_image(other.m_image) 41 41 , m_hotSpot(other.m_hotSpot) 42 , m_imageScaleFactor(other.m_imageScaleFactor) 42 43 , m_platformCursor(other.m_platformCursor) 43 44 { … … 49 50 m_image = other.m_image; 50 51 m_hotSpot = other.m_hotSpot; 52 m_imageScaleFactor = other.m_imageScaleFactor; 51 53 m_platformCursor = other.m_platformCursor; 52 54 return *this; -
trunk/Source/WebCore/rendering/style/CursorData.h
r66391 r136919 52 52 void setImage(PassRefPtr<StyleImage> image) { m_image = image; } 53 53 54 // Hot spot in the image in logical pixels. 54 55 const IntPoint& hotSpot() const { return m_hotSpot; } 55 56 -
trunk/Source/WebCore/rendering/style/StyleCachedImage.h
r135629 r136919 43 43 virtual PassRefPtr<CSSValue> cssValue() const; 44 44 45 CachedImage* cachedImage() const { return m_image.get(); }46 47 45 virtual bool canRender(const RenderObject*, float multiplier) const; 48 46 virtual bool isLoaded() const; … … 58 56 virtual PassRefPtr<Image> image(RenderObject*, const IntSize&) const; 59 57 virtual bool hasAlpha(const RenderObject*) const OVERRIDE; 58 virtual CachedImage* cachedImage() const OVERRIDE { return m_image.get(); } 60 59 61 60 private: -
trunk/Source/WebCore/rendering/style/StyleCachedImageSet.h
r136560 r136919 57 57 virtual WrappedImagePtr data() const { return m_bestFitImage.get(); } 58 58 59 CachedImage* cachedImage() const { return m_bestFitImage.get(); }60 61 59 void clearImageSetValue() { m_imageSetValue = 0; } 62 60 … … 75 73 virtual float imageScaleFactor() const { return m_imageScaleFactor; } 76 74 virtual bool hasAlpha(const RenderObject*) const OVERRIDE; 75 virtual CachedImage* cachedImage() const OVERRIDE { return m_bestFitImage.get(); } 77 76 78 77 private: -
trunk/Source/WebCore/rendering/style/StyleImage.h
r135629 r136919 35 35 namespace WebCore { 36 36 37 class CachedImage; 37 38 class CSSValue; 38 39 class RenderObject; … … 66 67 virtual float imageScaleFactor() const { return 1; } 67 68 virtual bool hasAlpha(const RenderObject*) const = 0; 69 virtual CachedImage* cachedImage() const { return 0; } 68 70 69 71 ALWAYS_INLINE bool isCachedImage() const { return m_isCachedImage; } -
trunk/Source/WebCore/rendering/style/StylePendingImage.h
r135629 r136919 27 27 #define StylePendingImage_h 28 28 29 #include "CSSCursorImageValue.h" 29 30 #include "CSSImageGeneratorValue.h" 30 31 #if ENABLE(CSS_IMAGE_SET) … … 50 51 CSSImageValue* cssImageValue() const { return m_value->isImageValue() ? static_cast<CSSImageValue*>(m_value) : 0; } 51 52 CSSImageGeneratorValue* cssImageGeneratorValue() const { return m_value->isImageGeneratorValue() ? static_cast<CSSImageGeneratorValue*>(m_value) : 0; } 53 CSSCursorImageValue* cssCursorImageValue() const { return m_value->isCursorImageValue() ? static_cast<CSSCursorImageValue*>(m_value) : 0; } 52 54 #if ENABLE(CSS_IMAGE_SET) 53 55 CSSImageSetValue* cssImageSetValue() const { return m_value->isImageSetValue() ? static_cast<CSSImageSetValue*>(m_value) : 0; } -
trunk/Source/WebCore/testing/Internals.cpp
r136878 r136919 85 85 #include <wtf/text/StringBuffer.h> 86 86 87 88 87 #if ENABLE(INPUT_TYPE_COLOR) 89 88 #include "ColorChooser.h" … … 105 104 #if ENABLE(TOUCH_ADJUSTMENT) 106 105 #include "WebKitPoint.h" 106 #endif 107 108 #if ENABLE(MOUSE_CURSOR_SCALE) 109 #include <wtf/dtoa.h> 107 110 #endif 108 111 … … 1715 1718 result.appendNumber(size.height()); 1716 1719 } 1720 #if ENABLE(MOUSE_CURSOR_SCALE) 1721 if (cursor.imageScaleFactor() != 1) { 1722 result.append(" scale="); 1723 NumberToStringBuffer buffer; 1724 result.append(numberToFixedPrecisionString(cursor.imageScaleFactor(), 8, buffer, true)); 1725 } 1726 #endif 1717 1727 return result.toString(); 1718 1728 #else -
trunk/Source/WebKit/chromium/ChangeLog
r136904 r136919 1 2012-12-06 Rick Byers <rbyers@chromium.org> 2 3 CSS cursor property should support webkit-image-set 4 https://bugs.webkit.org/show_bug.cgi?id=99493 5 6 Reviewed by Beth Dakin. 7 8 Add ENABLE_MOUSE_CURSOR_SCALE and enable it on the chromium port. 9 Plumb cursor image scale factor through to chromium API. 10 11 * features.gypi: 12 * public/WebCursorInfo.h: 13 * src/WebCursorInfo.cpp: 14 (WebKit::WebCursorInfo::WebCursorInfo): 15 1 16 2012-12-06 James Simonsen <simonjam@chromium.org> 2 17 -
trunk/Source/WebKit/chromium/features.gypi
r136904 r136919 91 91 'ENABLE_MHTML=1', 92 92 'ENABLE_MICRODATA=0', 93 'ENABLE_MOUSE_CURSOR_SCALE=1', 93 94 'ENABLE_MUTATION_OBSERVERS=<(enable_mutation_observers)', 94 95 'ENABLE_NAVIGATOR_CONTENT_UTILS=1', -
trunk/Source/WebKit/chromium/src/WebCursorInfo.cpp
r135076 r136919 41 41 : type(static_cast<Type>(cursor.type())) 42 42 , hotSpot(cursor.hotSpot()) 43 , imageScaleFactor( 1)43 , imageScaleFactor(cursor.imageScaleFactor()) 44 44 , customImage(cursor.image()) 45 45 #ifdef WIN32 -
trunk/Source/WebKit/mac/ChangeLog
r136455 r136919 1 2012-12-06 Rick Byers <rbyers@chromium.org> 2 3 CSS cursor property should support webkit-image-set 4 https://bugs.webkit.org/show_bug.cgi?id=99493 5 6 Reviewed by Beth Dakin. 7 8 Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default. 9 10 * Configurations/FeatureDefines.xcconfig: 11 1 12 2012-12-03 Yury Semikhatsky <yurys@chromium.org> 2 13 -
trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
r136415 r136919 116 116 ENABLE_MHTML = ; 117 117 ENABLE_MICRODATA = ; 118 ENABLE_MOUSE_CURSOR_SCALE = ; 118 119 ENABLE_MUTATION_OBSERVERS = ENABLE_MUTATION_OBSERVERS; 119 120 ENABLE_NAVIGATOR_CONTENT_UTILS = ; … … 160 161 ENABLE_XSLT = ENABLE_XSLT; 161 162 162 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_BACKGROUND) $(ENABLE_CSS3_TEXT) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_M UTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT);163 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_BACKGROUND) $(ENABLE_CSS3_TEXT) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT); -
trunk/Source/WebKit2/ChangeLog
r136912 r136919 1 2012-12-06 Rick Byers <rbyers@chromium.org> 2 3 CSS cursor property should support webkit-image-set 4 https://bugs.webkit.org/show_bug.cgi?id=99493 5 6 Reviewed by Beth Dakin. 7 8 Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default. 9 10 * Configurations/FeatureDefines.xcconfig: 11 1 12 2012-12-06 Jae Hyun Park <jae.park@company100.net> 2 13 -
trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig
r136415 r136919 116 116 ENABLE_MHTML = ; 117 117 ENABLE_MICRODATA = ; 118 ENABLE_MOUSE_CURSOR_SCALE = ; 118 119 ENABLE_MUTATION_OBSERVERS = ENABLE_MUTATION_OBSERVERS; 119 120 ENABLE_NAVIGATOR_CONTENT_UTILS = ; … … 160 161 ENABLE_XSLT = ENABLE_XSLT; 161 162 162 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_BACKGROUND) $(ENABLE_CSS3_TEXT) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_M UTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT);163 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_BACKGROUND) $(ENABLE_CSS3_TEXT) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT); -
trunk/Source/cmake/WebKitFeatures.cmake
r136884 r136919 85 85 WEBKIT_OPTION_DEFINE(ENABLE_MHTML "Toggle MHTML support" OFF) 86 86 WEBKIT_OPTION_DEFINE(ENABLE_MICRODATA "Toggle Microdata support" OFF) 87 WEBKIT_OPTION_DEFINE(ENABLE_ENABLE_MOUSE_CURSOR_SCALE "Toggle Scaled mouse cursor support" OFF) 87 88 WEBKIT_OPTION_DEFINE(ENABLE_MUTATION_OBSERVERS "Toggle DOM mutation observer support" ON) 88 89 WEBKIT_OPTION_DEFINE(ENABLE_NAVIGATOR_CONTENT_UTILS "Toggle Navigator Content Utils support" OFF) -
trunk/Source/cmakeconfig.h.cmake
r136884 r136919 79 79 #cmakedefine01 ENABLE_MHTML 80 80 #cmakedefine01 ENABLE_MICRODATA 81 #cmakedefine01 ENABLE_MOUSE_CURSOR_SCALE 81 82 #cmakedefine01 ENABLE_MUTATION_OBSERVERS 82 83 #cmakedefine01 ENABLE_NAVIGATOR_CONTENT_UTILS -
trunk/Tools/ChangeLog
r136901 r136919 1 2012-12-06 Rick Byers <rbyers@chromium.org> 2 3 CSS cursor property should support webkit-image-set 4 https://bugs.webkit.org/show_bug.cgi?id=99493 5 6 Reviewed by Beth Dakin. 7 8 Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default 9 10 * Scripts/webkitperl/FeatureList.pm: 11 * qmake/mkspecs/features/features.pri: 12 1 13 2012-12-06 Vivek Galatage <vivek.vg@samsung.com> 2 14 -
trunk/Tools/Scripts/webkitperl/FeatureList.pm
r136727 r136919 106 106 $mhtmlSupport, 107 107 $microdataSupport, 108 $mouseCursorScaleSupport, 108 109 $mutationObserversSupport, 109 110 $netscapePluginAPISupport, … … 332 333 define => "ENABLE_MICRODATA", default => (isEfl() || isBlackBerry()), value => \$microdataSupport }, 333 334 335 { option => "mouse-cursor-scale", desc => "Toggle Scaled mouse cursor support", 336 define => "ENABLE_MOUSE_CURSOR_SCALE", default => 0, value => \$mouseCursorScaleSupport }, 337 334 338 { option => "mutation-observers", desc => "Toggle Mutation Observers support", 335 339 define => "ENABLE_MUTATION_OBSERVERS", default => 1, value => \$mutationObserversSupport }, -
trunk/Tools/qmake/mkspecs/features/features.pri
r136387 r136919 81 81 ENABLE_MHTML=1 \ 82 82 ENABLE_MICRODATA=0 \ 83 ENABLE_MOUSE_CURSOR_SCALE=0 \ 83 84 ENABLE_MUTATION_OBSERVERS=1 \ 84 85 ENABLE_NAVIGATOR_CONTENT_UTILS=0 \ -
trunk/WebKitLibraries/ChangeLog
r135766 r136919 1 2012-12-06 Rick Byers <rbyers@chromium.org> 2 3 CSS cursor property should support webkit-image-set 4 https://bugs.webkit.org/show_bug.cgi?id=99493 5 6 Reviewed by Beth Dakin. 7 8 Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default 9 10 * win/tools/vsprops/FeatureDefines.vsprops: 11 * win/tools/vsprops/FeatureDefinesCairo.vsprops: 12 1 13 2012-11-26 Roger Fong <roger_fong@apple.com> 2 14 -
trunk/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops
r135766 r136919 273 273 /> 274 274 <UserMacro 275 Name="ENABLE_MOUSE_CURSOR_SCALE" 276 Value="" 277 PerformEnvironmentSet="true" 278 /> 279 <UserMacro 275 280 Name="ENABLE_MUTATION_OBSERVERS" 276 281 Value="ENABLE_MUTATION_OBSERVERS" -
trunk/WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.vsprops
r135632 r136919 263 263 /> 264 264 <UserMacro 265 Name="ENABLE_MOUSE_CURSOR_SCALE" 266 Value="" 267 PerformEnvironmentSet="true" 268 /> 269 <UserMacro 265 270 Name="ENABLE_MUTATION_OBSERVERS" 266 271 Value="ENABLE_MUTATION_OBSERVERS"
Note: See TracChangeset
for help on using the changeset viewer.