Changeset 145003 in webkit


Ignore:
Timestamp:
Mar 6, 2013 4:27:59 PM (11 years ago)
Author:
jer.noble@apple.com
Message:

Default mouse cursor behavior should be auto-hide for full screen video with custom controls
https://bugs.webkit.org/show_bug.cgi?id=107601

Reviewed by Beth Dakin.

Source/WebCore:

Test: fullscreen/video-cursor-auto-hide.html

To facilitate automatically hiding the mouse cursor after a certain amount of idle mouse
time, add a new CSS property '-webkit-cursor-visibility', and handle that value inside of
EventHandler. When that value is present, the EventHandler will start a timer which, when
fired, will set the view's cursor to the None cursor. Subsequent mouse moves will either
cancel the timer, or reset the auto-hide timer.

Add a new CSS property, '-webkit-cursor-visibility':

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ECursorVisibility):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:
  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

Add a rule for video descendants of full screen elements to auto-hide the cursor on hover:

  • css/fullscreen.css:

(:-webkit-full-screen video:hover):

Add a new timer, m_autoHideCursorTimer, to control resetting the view's cursor to None after
enough mouse idle time has passed.

  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::~EventHandler):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::startAutoHideCursorTimer):
(WebCore::EventHandler::cancelAutoHideCursorTimer):
(WebCore::EventHandler::autoHideCursorTimerFired):

  • page/EventHandler.h:

Make FrameView::isActive() a public function (like it is in its superclass).

  • page/FrameView.h:

(FrameView):

Move the definition for timeWithoutMouseMovementBeforeHidingControls from page->theme()
to page->settings() and allow that setting to be overridden in InternalSettings for
testing purposes:

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
(WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):

  • rendering/RenderTheme.h:
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):

  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:
  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::startHideFullscreenControlsTimer):

Add support to FeatureObserver for CURSOR_VISIBILITY:

  • page/FeatureObserver.h:

Enable the feature flag:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Enable the CURSOR_VISIBILITY feature.

  • WebKit.vcxproj/FeatureDefines.props:

Source/WebKit/mac:

Enable the CURSOR_VISIBILITY feature.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Enable the CURSOR_VISIBILITY feature.

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Enable the CURSOR_VISIBILITY feature.

  • wtf/FeatureDefines.h:

LayoutTests:

  • fullscreen/video-cursor-auto-hide-expected.txt: Added.
  • fullscreen/video-cursor-auto-hide.html: Added.

Add an expected failing result in platforms which do not enable CURSOR_VISIBILITY.

  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
Location:
trunk
Files:
2 added
38 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r145001 r145003  
     12013-01-23  Jer Noble  <jer.noble@apple.com>
     2
     3        Default mouse cursor behavior should be auto-hide for full screen video with custom controls
     4        https://bugs.webkit.org/show_bug.cgi?id=107601
     5
     6        Reviewed by Beth Dakin.
     7
     8        * fullscreen/video-cursor-auto-hide-expected.txt: Added.
     9        * fullscreen/video-cursor-auto-hide.html: Added.
     10
     11        Add an expected failing result in platforms which do not enable CURSOR_VISIBILITY.
     12        * platform/chromium/TestExpectations:
     13        * platform/efl/TestExpectations:
     14        * platform/gtk/TestExpectations:
     15        * platform/qt/TestExpectations:
     16
     17
    1182013-03-06  Jer Noble  <jer.noble@apple.com>
    219
  • trunk/LayoutTests/platform/chromium/TestExpectations

    r144998 r145003  
    44214421
    44224422webkit.org/b/111640 [ Mac Win ] fast/dom/Window/window-special-properties.html [ Slow ]
     4423
     4424# CURSOR_VISIBILITY is not enabled in chromium
     4425webkit.org/b/107601 fullscreen/video-cursor-auto-hide.html [ Failure ]
  • trunk/LayoutTests/platform/efl/TestExpectations

    r144963 r145003  
    18611861webkit.org/b/111172 compositing/overlap-blending/children-opacity-no-overlap.html [ ImageOnlyFailure ]
    18621862webkit.org/b/111172 compositing/overlap-blending/reflection-opacity-huge.html [ ImageOnlyFailure ]
     1863
     1864# CURSOR_VISIBILITY is not enabled in efl
     1865webkit.org/b/107601 fullscreen/video-cursor-auto-hide.html [ Failure ]
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r144963 r145003  
    14071407webkit.org/b/111477 inspector-protocol/layers/layers-reflected-content.html [ Timeout ]
    14081408
     1409# CURSOR_VISIBILITY is not enabled in gtk
     1410webkit.org/b/107601 fullscreen/video-cursor-auto-hide.html [ Failure ]
     1411
    14091412#////////////////////////////////////////////////////////////////////////////////////////
    14101413# End of Tests failing
  • trunk/LayoutTests/platform/qt/TestExpectations

    r144818 r145003  
    360360# gestureTwoFingerTap not implemented by this platform (introduced in r132406)
    361361touchadjustment/touch-links-two-finger-tap.html
     362
     363# CURSOR_VISIBILITY is not enabled in qt
     364webkit.org/b/107601 fullscreen/video-cursor-auto-hide.html [ Failure ]
    362365
    363366# =========================================================================== #
  • trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig

    r144764 r145003  
    5959ENABLE_CSS3_TEXT = ;
    6060ENABLE_CSS3_TEXT_LINE_BREAK = ;
     61ENABLE_CURSOR_VISIBILITY = ENABLE_CURSOR_VISIBILITY;
    6162ENABLE_CUSTOM_SCHEME_HANDLER = ;
    6263ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
     
    185186ENABLE_XSLT = ENABLE_XSLT;
    186187
    187 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(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_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(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_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(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_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(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) $(FEATURE_DEFINES_$(PLATFORM_NAME));
     188FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(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_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(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_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(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_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(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) $(FEATURE_DEFINES_$(PLATFORM_NAME));
  • trunk/Source/WTF/ChangeLog

    r144971 r145003  
     12013-03-04  Jer Noble  <jer.noble@apple.com>
     2
     3        Default mouse cursor behavior should be auto-hide for full screen video with custom controls
     4        https://bugs.webkit.org/show_bug.cgi?id=107601
     5
     6        Reviewed by Beth Dakin.
     7
     8        Enable the CURSOR_VISIBILITY feature.
     9
     10        * wtf/FeatureDefines.h:
     11
    1122013-03-04  Oliver Hunt  <oliver@apple.com>
    213
  • trunk/Source/WTF/wtf/FeatureDefines.h

    r144662 r145003  
    187187#endif
    188188
     189#if !defined(ENABLE_CURSOR_VISIBILITY)
     190#define ENABLE_CURSOR_VISIBILITY 1
     191#endif
     192
    189193#endif /* PLATFORM(MAC) && !PLATFORM(IOS) */
    190194
  • trunk/Source/WebCore/ChangeLog

    r145001 r145003  
     12013-02-22  Jer Noble  <jer.noble@apple.com>
     2
     3        Default mouse cursor behavior should be auto-hide for full screen video with custom controls
     4        https://bugs.webkit.org/show_bug.cgi?id=107601
     5
     6        Reviewed by Beth Dakin.
     7
     8        Test: fullscreen/video-cursor-auto-hide.html
     9
     10        To facilitate automatically hiding the mouse cursor after a certain amount of idle mouse
     11        time, add a new CSS property '-webkit-cursor-visibility', and handle that value inside of
     12        EventHandler. When that value is present, the EventHandler will start a timer which, when
     13        fired, will set the view's cursor to the None cursor. Subsequent mouse moves will either
     14        cancel the timer, or reset the auto-hide timer.
     15
     16        Add a new CSS property, '-webkit-cursor-visibility':
     17        * css/CSSComputedStyleDeclaration.cpp:
     18        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
     19        * css/CSSParser.cpp:
     20        (WebCore::CSSParser::parseValue):
     21        * css/CSSPrimitiveValueMappings.h:
     22        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
     23        (WebCore::CSSPrimitiveValue::operator ECursorVisibility):
     24        * css/CSSProperty.cpp:
     25        (WebCore::CSSProperty::isInheritedProperty):
     26        * css/CSSPropertyNames.in:
     27        * css/CSSValueKeywords.in:
     28        * css/StyleBuilder.cpp:
     29        (WebCore::StyleBuilder::StyleBuilder):
     30        * css/StyleResolver.cpp:
     31        (WebCore::StyleResolver::applyProperty):
     32
     33        Add a rule for video descendants of full screen elements to auto-hide the cursor on hover:
     34        * css/fullscreen.css:
     35        (:-webkit-full-screen video:hover):
     36
     37        Add a new timer, m_autoHideCursorTimer, to control resetting the view's cursor to None after
     38        enough mouse idle time has passed.
     39        * page/EventHandler.cpp:
     40        (WebCore::EventHandler::EventHandler):
     41        (WebCore::EventHandler::~EventHandler):
     42        (WebCore::EventHandler::clear):
     43        (WebCore::EventHandler::selectCursor):
     44        (WebCore::EventHandler::startAutoHideCursorTimer):
     45        (WebCore::EventHandler::cancelAutoHideCursorTimer):
     46        (WebCore::EventHandler::autoHideCursorTimerFired):
     47        * page/EventHandler.h:
     48
     49        Make FrameView::isActive() a public function (like it is in its superclass).
     50        * page/FrameView.h:
     51        (FrameView):
     52
     53        Move the definition for timeWithoutMouseMovementBeforeHidingControls from page->theme()
     54        to page->settings() and allow that setting to be overridden in InternalSettings for
     55        testing purposes:
     56        * page/Settings.cpp:
     57        (WebCore::Settings::Settings):
     58        * page/Settings.h:
     59        (WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
     60        (WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):
     61        * rendering/RenderTheme.h:
     62        * testing/InternalSettings.cpp:
     63        (WebCore::InternalSettings::Backup::Backup):
     64        (WebCore::InternalSettings::Backup::restoreTo):
     65        (WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):
     66        * testing/InternalSettings.h:
     67        (InternalSettings):
     68        * testing/InternalSettings.idl:
     69        * html/shadow/MediaControls.cpp:
     70        (WebCore::MediaControls::startHideFullscreenControlsTimer):
     71
     72        Add support to FeatureObserver for CURSOR_VISIBILITY:
     73        * page/FeatureObserver.h:
     74
     75        Enable the feature flag:
     76        * Configurations/FeatureDefines.xcconfig:
     77
    1782013-03-06  Jer Noble  <jer.noble@apple.com>
    279
  • trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig

    r144764 r145003  
    5959ENABLE_CSS3_TEXT = ;
    6060ENABLE_CSS3_TEXT_LINE_BREAK = ;
     61ENABLE_CURSOR_VISIBILITY = ENABLE_CURSOR_VISIBILITY;
    6162ENABLE_CUSTOM_SCHEME_HANDLER = ;
    6263ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
     
    185186ENABLE_XSLT = ENABLE_XSLT;
    186187
    187 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(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_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(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_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(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_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(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) $(FEATURE_DEFINES_$(PLATFORM_NAME));
     188FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(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_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(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_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(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_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(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) $(FEATURE_DEFINES_$(PLATFORM_NAME));
  • trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp

    r144762 r145003  
    264264    CSSPropertyWebkitColumnSpan,
    265265    CSSPropertyWebkitColumnWidth,
     266#if ENABLE(CURSOR_VISIBILITY)
     267    CSSPropertyWebkitCursorVisibility,
     268#endif
    266269#if ENABLE(DASHBOARD_SUPPORT)
    267270    CSSPropertyWebkitDashboardRegion,
     
    18481851            return value.release();
    18491852        }
     1853#if ENABLE(CURSOR_VISIBILITY)
     1854        case CSSPropertyWebkitCursorVisibility:
     1855            return cssValuePool().createValue(style->cursorVisibility());
     1856#endif
    18501857        case CSSPropertyDirection:
    18511858            return cssValuePool().createValue(style->direction());
  • trunk/Source/WebCore/css/CSSParser.cpp

    r144908 r145003  
    20732073        break;
    20742074    }
     2075
     2076#if ENABLE(CURSOR_VISIBILITY)
     2077    case CSSPropertyWebkitCursorVisibility:
     2078        if (id == CSSValueAuto || id == CSSValueAutoHide)
     2079            validPrimitive = true;
     2080        break;
     2081#endif
    20752082
    20762083    case CSSPropertyBackgroundAttachment:
  • trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h

    r141787 r145003  
    11631163    return static_cast<ECursor>(m_value.ident - CSSValueAuto);
    11641164}
     1165
     1166
     1167#if ENABLE(CURSOR_VISIBILITY)
     1168template<> inline CSSPrimitiveValue::CSSPrimitiveValue(CursorVisibility e)
     1169    : CSSValue(PrimitiveClass)
     1170{
     1171    m_primitiveUnitType = CSS_IDENT;
     1172    switch (e) {
     1173    case CursorVisibilityAuto:
     1174        m_value.ident = CSSValueAuto;
     1175        break;
     1176    case CursorVisibilityAutoHide:
     1177        m_value.ident = CSSValueAutoHide;
     1178        break;
     1179    }
     1180}
     1181
     1182template<> inline CSSPrimitiveValue::operator CursorVisibility() const
     1183{
     1184    if (m_value.ident == CSSValueAuto)
     1185        return CursorVisibilityAuto;
     1186    if (m_value.ident == CSSValueAutoHide)
     1187        return CursorVisibilityAutoHide;
     1188
     1189    ASSERT_NOT_REACHED();
     1190    return CursorVisibilityAuto;
     1191}
     1192#endif
    11651193
    11661194template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EDisplay e)
  • trunk/Source/WebCore/css/CSSProperty.cpp

    r144762 r145003  
    303303    case CSSPropertyWebkitBoxDirection:
    304304    case CSSPropertyWebkitColorCorrection:
     305#if ENABLE(CURSOR_VISIBILITY)
     306    case CSSPropertyWebkitCursorVisibility:
     307#endif
    305308    case CSSPropertyWebkitFontFeatureSettings:
    306309    case CSSPropertyWebkitFontKerning:
  • trunk/Source/WebCore/css/CSSPropertyNames.in

    r144762 r145003  
    101101counter-reset
    102102cursor
     103#if defined(ENABLE_CURSOR_VISIBILITY) && ENABLE_CURSOR_VISIBILITY
     104-webkit-cursor-visibility
     105#endif
    103106empty-cells
    104107float
  • trunk/Source/WebCore/css/CSSValueKeywords.in

    r137359 r145003  
    378378// none
    379379//
     380// CSS_PROP_CURSOR_VISIBILITY:
     381// auto
     382auto-hide
     383//
    380384// CSS_PROP_DIRECTION:
    381385//
  • trunk/Source/WebCore/css/StyleBuilder.cpp

    r144912 r145003  
    19621962    setPropertyHandler(CSSPropertyWebkitColumnRuleStyle, ApplyPropertyDefault<EBorderStyle, &RenderStyle::columnRuleStyle, EBorderStyle, &RenderStyle::setColumnRuleStyle, EBorderStyle, &RenderStyle::initialBorderStyle>::createHandler());
    19631963    setPropertyHandler(CSSPropertyWebkitColumnWidth, ApplyPropertyAuto<float, &RenderStyle::columnWidth, &RenderStyle::setColumnWidth, &RenderStyle::hasAutoColumnWidth, &RenderStyle::setHasAutoColumnWidth, ComputeLength>::createHandler());
     1964#if ENABLE(CURSOR_VISIBILITY)
     1965    setPropertyHandler(CSSPropertyWebkitCursorVisibility, ApplyPropertyDefault<CursorVisibility, &RenderStyle::cursorVisibility, CursorVisibility, &RenderStyle::setCursorVisibility, CursorVisibility, &RenderStyle::initialCursorVisibility>::createHandler());
     1966#endif
    19641967    setPropertyHandler(CSSPropertyWebkitAlignContent, ApplyPropertyDefault<EAlignContent, &RenderStyle::alignContent, EAlignContent, &RenderStyle::setAlignContent, EAlignContent, &RenderStyle::initialAlignContent>::createHandler());
    19651968    setPropertyHandler(CSSPropertyWebkitAlignItems, ApplyPropertyDefault<EAlignItems, &RenderStyle::alignItems, EAlignItems, &RenderStyle::setAlignItems, EAlignItems, &RenderStyle::initialAlignItems>::createHandler());
  • trunk/Source/WebCore/css/StyleResolver.cpp

    r144930 r145003  
    37493749    case CSSPropertyWebkitColumnSpan:
    37503750    case CSSPropertyWebkitColumnWidth:
     3751#if ENABLE(CURSOR_VISIBILITY)
     3752    case CSSPropertyWebkitCursorVisibility:
     3753#endif
    37513754    case CSSPropertyWebkitAlignContent:
    37523755    case CSSPropertyWebkitAlignItems:
  • trunk/Source/WebCore/css/fullscreen.css

    r145001 r145003  
    3232}
    3333
     34:-webkit-full-screen video:hover {
     35    -webkit-cursor-visibility:auto-hide;
     36}
     37
    3438img:-webkit-full-screen {
    3539    width: auto;
  • trunk/Source/WebCore/html/shadow/MediaControls.cpp

    r144891 r145003  
    3131
    3232#include "ExceptionCodePlaceholder.h"
     33#include "Settings.h"
    3334
    3435namespace WebCore {
     
    345346        return;
    346347
    347     m_hideFullscreenControlsTimer.startOneShot(page->theme()->timeWithoutMouseMovementBeforeHidingControls());
     348    m_hideFullscreenControlsTimer.startOneShot(page->settings()->timeWithoutMouseMovementBeforeHidingControls());
    348349}
    349350
  • trunk/Source/WebCore/page/EventHandler.cpp

    r144894 r145003  
    350350    , m_didStartDrag(false)
    351351    , m_didLongPressInvokeContextMenu(false)
     352#if ENABLE(CURSOR_VISIBILITY)
     353    , m_autoHideCursorTimer(this, &EventHandler::autoHideCursorTimerFired)
     354#endif
    352355{
    353356}
     
    356359{
    357360    ASSERT(!m_fakeMouseMoveEventTimer.isActive());
     361#if ENABLE(CURSOR_VISIBILITY)
     362    ASSERT(!m_autoHideCursorTimer.isActive());
     363#endif
    358364}
    359365   
     
    370376    m_hoverTimer.stop();
    371377    m_fakeMouseMoveEventTimer.stop();
     378#if ENABLE(CURSOR_VISIBILITY)
     379    cancelAutoHideCursorTimer();
     380#endif
    372381    m_resizeLayer = 0;
    373382    m_nodeUnderMouse = 0;
     
    12331242    bool horizontalText = !style || style->isHorizontalWritingMode();
    12341243    const Cursor& iBeam = horizontalText ? iBeamCursor() : verticalTextCursor();
     1244
     1245#if ENABLE(CURSOR_VISIBILITY)
     1246    if (style && style->cursorVisibility() == CursorVisibilityAutoHide) {
     1247        FeatureObserver::observe(m_frame->document(), FeatureObserver::CursorVisibility);
     1248        startAutoHideCursorTimer();
     1249    } else
     1250        cancelAutoHideCursorTimer();
     1251#endif
    12351252
    12361253    // During selection, use an I-beam no matter what we're over.
     
    13821399}
    13831400
     1401#if ENABLE(CURSOR_VISIBILITY)
     1402void EventHandler::startAutoHideCursorTimer()
     1403{
     1404    Page* page = m_frame->page();
     1405    if (!page)
     1406        return;
     1407
     1408    m_autoHideCursorTimer.startOneShot(page->settings()->timeWithoutMouseMovementBeforeHidingControls());
     1409
     1410    // The fake mouse move event screws up the auto-hide feature (by resetting the auto-hide timer)
     1411    // so cancel any pending fake mouse moves.
     1412    if (m_fakeMouseMoveEventTimer.isActive())
     1413        m_fakeMouseMoveEventTimer.stop();
     1414}
     1415
     1416void EventHandler::cancelAutoHideCursorTimer()
     1417{
     1418    if (m_autoHideCursorTimer.isActive())
     1419        m_autoHideCursorTimer.stop();
     1420}
     1421
     1422void EventHandler::autoHideCursorTimerFired(Timer<EventHandler>* timer)
     1423{
     1424    ASSERT_UNUSED(timer, timer == &m_autoHideCursorTimer);
     1425    m_currentMouseCursor = noneCursor();
     1426    FrameView* view = m_frame->view();
     1427    if (view && view->isActive())
     1428        view->setCursor(m_currentMouseCursor);
     1429}
     1430#endif
     1431
    13841432static LayoutPoint documentPointForWindowPoint(Frame* frame, const IntPoint& windowPoint)
    13851433{
  • trunk/Source/WebCore/page/EventHandler.h

    r144742 r145003  
    389389    void setLastKnownMousePosition(const PlatformMouseEvent&);
    390390
     391#if ENABLE(CURSOR_VISIBILITY)
     392    void startAutoHideCursorTimer();
     393    void cancelAutoHideCursorTimer();
     394    void autoHideCursorTimerFired(Timer<EventHandler>*);
     395#endif
     396
    391397    Frame* m_frame;
    392398
     
    484490    bool m_didStartDrag;
    485491    bool m_didLongPressInvokeContextMenu;
     492
     493#if ENABLE(CURSOR_VISIBILITY)
     494    Timer<EventHandler> m_autoHideCursorTimer;
     495#endif
    486496};
    487497
  • trunk/Source/WebCore/page/FeatureObserver.h

    r144456 r145003  
    100100        CSSOverflowMarquee,
    101101        Reflection,
     102        CursorVisibility,
    102103        // Add new features above this line. Don't change assigned numbers of each items.
    103104        NumberOfFeatures, // This enum value must be last.
  • trunk/Source/WebCore/page/FrameView.h

    r144260 r145003  
    398398#endif
    399399
     400    virtual bool isActive() const OVERRIDE;
     401
    400402protected:
    401403    virtual bool scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
     
    447449    // ScrollableArea interface
    448450    virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&) OVERRIDE;
    449     virtual bool isActive() const OVERRIDE;
    450451    virtual void getTickmarks(Vector<IntRect>&) const OVERRIDE;
    451452    virtual void scrollTo(const IntSize&) OVERRIDE;
  • trunk/Source/WebCore/page/Settings.cpp

    r144953 r145003  
    185185    , m_scrollingPerformanceLoggingEnabled(false)
    186186    , m_aggressiveTileRetentionEnabled(false)
     187    , m_timeWithoutMouseMovementBeforeHidingControls(3)
    187188    , m_setImageLoadingSettingsTimer(this, &Settings::imageLoadingSettingsTimerFired)
    188189{
  • trunk/Source/WebCore/page/Settings.h

    r143658 r145003  
    265265#endif
    266266
     267        void setTimeWithoutMouseMovementBeforeHidingControls(double time) { m_timeWithoutMouseMovementBeforeHidingControls = time; }
     268        double timeWithoutMouseMovementBeforeHidingControls() const { return m_timeWithoutMouseMovementBeforeHidingControls; }
     269
    267270    private:
    268271        explicit Settings(Page*);
     
    321324        bool m_aggressiveTileRetentionEnabled : 1;
    322325
     326        double m_timeWithoutMouseMovementBeforeHidingControls;
     327
    323328        Timer<Settings> m_setImageLoadingSettingsTimer;
    324329        void imageLoadingSettingsTimerFired(Timer<Settings>*);
  • trunk/Source/WebCore/rendering/RenderTheme.h

    r144789 r145003  
    206206    virtual double mediaControlsFadeInDuration() { return 0.1; }
    207207    virtual double mediaControlsFadeOutDuration() { return 0.3; }
    208     virtual double timeWithoutMouseMovementBeforeHidingControls() { return 3.0; }
    209208    virtual String formatMediaControlsTime(float time) const;
    210209    virtual String formatMediaControlsCurrentTime(float currentTime, float duration) const;
  • trunk/Source/WebCore/rendering/style/RenderStyle.h

    r144762 r145003  
    167167                && (_text_decorations == other._text_decorations)
    168168                && (_cursor_style == other._cursor_style)
     169#if ENABLE(CURSOR_VISIBILITY)
     170                && (m_cursorVisibility == other.m_cursorVisibility)
     171#endif
    169172                && (_direction == other._direction)
    170173                && (_white_space == other._white_space)
     
    189192        unsigned _text_decorations : ETextDecorationBits;
    190193        unsigned _cursor_style : 6; // ECursor
     194#if ENABLE(CURSOR_VISIBILITY)
     195        unsigned m_cursorVisibility : 1; // CursorVisibility
     196#endif
    191197        unsigned _direction : 1; // TextDirection
    192198        unsigned _white_space : 3; // EWhiteSpace
     
    294300        inherited_flags._text_decorations = initialTextDecoration();
    295301        inherited_flags._cursor_style = initialCursor();
     302#if ENABLE(CURSOR_VISIBILITY)
     303        inherited_flags.m_cursorVisibility = initialCursorVisibility();
     304#endif
    296305        inherited_flags._direction = initialDirection();
    297306        inherited_flags._white_space = initialWhiteSpace();
     
    701710
    702711    ECursor cursor() const { return static_cast<ECursor>(inherited_flags._cursor_style); }
     712#if ENABLE(CURSOR_VISIBILITY)
     713    CursorVisibility cursorVisibility() const { return static_cast<CursorVisibility>(inherited_flags.m_cursorVisibility); }
     714#endif
    703715
    704716    CursorList* cursors() const { return rareInheritedData->cursorData.get(); }
     
    11961208    void setCursorList(PassRefPtr<CursorList>);
    11971209    void clearCursorList();
     1210
     1211#if ENABLE(CURSOR_VISIBILITY)
     1212    void setCursorVisibility(CursorVisibility c) { inherited_flags.m_cursorVisibility = c; }
     1213#endif
    11981214
    11991215    void setInsideLink(EInsideLink insideLink) { inherited_flags._insideLink = insideLink; }
     
    15551571    static short initialVerticalBorderSpacing() { return 0; }
    15561572    static ECursor initialCursor() { return CURSOR_AUTO; }
     1573#if ENABLE(CURSOR_VISIBILITY)
     1574    static CursorVisibility initialCursorVisibility() { return CursorVisibilityAuto; }
     1575#endif
    15571576    static Color initialColor() { return Color::black; }
    15581577    static StyleImage* initialListStyleImage() { return 0; }
  • trunk/Source/WebCore/rendering/style/RenderStyleConstants.h

    r141787 r145003  
    419419};
    420420
     421#if ENABLE(CURSOR_VISIBILITY)
     422enum CursorVisibility {
     423    CursorVisibilityAuto,
     424    CursorVisibilityAutoHide,
     425};
     426#endif
     427
    421428// The order of this enum must match the order of the display values in CSSValueKeywords.in.
    422429enum EDisplay {
  • trunk/Source/WebCore/testing/InternalSettings.cpp

    r142726 r145003  
    9595    , m_shouldDisplayTextDescriptions(settings->shouldDisplayTextDescriptions())
    9696#endif
     97    , m_originalTimeWithoutMouseMovementBeforeHidingControls(settings->timeWithoutMouseMovementBeforeHidingControls())
    9798{
    9899}
     
    130131    settings->setShouldDisplayTextDescriptions(m_shouldDisplayTextDescriptions);
    131132#endif
     133    settings->setTimeWithoutMouseMovementBeforeHidingControls(m_originalTimeWithoutMouseMovementBeforeHidingControls);
    132134}
    133135
     
    488490}
    489491
    490 }
     492void InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls(double time, ExceptionCode& ec)
     493{
     494    InternalSettingsGuardForSettings();
     495    settings()->setTimeWithoutMouseMovementBeforeHidingControls(time);
     496}
     497
     498}
  • trunk/Source/WebCore/testing/InternalSettings.h

    r142509 r145003  
    8383        bool m_shouldDisplayTextDescriptions;
    8484#endif
     85        bool m_originalTimeWithoutMouseMovementBeforeHidingControls;
    8586    };
    8687
     
    127128    void setImagesEnabled(bool enabled, ExceptionCode&);
    128129    void setMinimumTimerInterval(double intervalInSeconds, ExceptionCode&);
     130    void setTimeWithoutMouseMovementBeforeHidingControls(double time, ExceptionCode&);
    129131
    130132private:
  • trunk/Source/WebCore/testing/InternalSettings.idl

    r142509 r145003  
    6060    void setImagesEnabled(in boolean enabled) raises(DOMException);
    6161    void setMinimumTimerInterval(in double intervalInSeconds) raises(DOMException);
     62    void setTimeWithoutMouseMovementBeforeHidingControls(in double time) raises(DOMException);
    6263};
  • trunk/Source/WebKit/ChangeLog

    r144842 r145003  
     12013-03-04  Jer Noble  <jer.noble@apple.com>
     2
     3        Default mouse cursor behavior should be auto-hide for full screen video with custom controls
     4        https://bugs.webkit.org/show_bug.cgi?id=107601
     5
     6        Reviewed by Beth Dakin.
     7
     8        Enable the CURSOR_VISIBILITY feature.
     9
     10        * WebKit.vcxproj/FeatureDefines.props:
     11
    1122013-03-05  Ryuan Choi  <ryuan.choi@samsung.com>
    213
  • trunk/Source/WebKit/WebKit.vcxproj/FeatureDefines.props

    r144663 r145003  
    2020    <ENABLE_CSS_STICKY_POSITION>ENABLE_CSS_STICKY_POSITION</ENABLE_CSS_STICKY_POSITION>
    2121    <ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED>ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED</ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED>
     22    <ENABLE_CURSOR_VISIBILITY>ENABLE_CURSOR_VISIBILITY</ENABLE_CURSOR_VISIBILITY>
    2223    <ENABLE_CUSTOM_SCHEME_HANDLER />
    2324    <ENABLE_DATAGRID />
     
    8889  <ItemDefinitionGroup>
    8990    <ClCompile>
    90       <PreprocessorDefinitions>$(ENABLE_IFRAME_SEAMLESS);$(ENABLE_REQUEST_ANIMATION_FRAME);$(ENABLE_3D_RENDERING);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_BLOB);$(ENABLE_CANVAS_PROXY);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_FILTERS);$(ENABLE_CSS_GRID_LAYOUT);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_EXCLUSIONS);$(ENABLE_CSS_STICKY_POSITION);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_SQL_DATABASE);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DETAILS_ELEMENT);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_FILTERS);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(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_LINK_PREFETCH);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_NOTIFICATIONS);$(ENABLE_PAGE_VISIBILITY_API);$(ENABLE_PROGRESS_ELEMENT);$(ENABLE_PROXIMITY_EVENTS);$(ENABLE_QUOTA);$(ENABLE_REGISTER_PROTOCOL_HANDLER);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHADOW_DOM);$(ENABLE_SHARED_WORKERS);$(ENABLE_STYLE_SCOPED);$(ENABLE_SVG);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_TEXT_AUTOSIZING);$(ENABLE_UNDO_MANAGER);$(ENABLE_VIDEO);ENABLE_VIDEO_TRACK;$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WORKERS);$(ENABLE_XSLT);%(PreprocessorDefinitions)</PreprocessorDefinitions>
     91      <PreprocessorDefinitions>$(ENABLE_IFRAME_SEAMLESS);$(ENABLE_REQUEST_ANIMATION_FRAME);$(ENABLE_3D_RENDERING);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_BLOB);$(ENABLE_CANVAS_PROXY);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_FILTERS);$(ENABLE_CSS_GRID_LAYOUT);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_EXCLUSIONS);$(ENABLE_CSS_STICKY_POSITION);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_SQL_DATABASE);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DETAILS_ELEMENT);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_FILTERS);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(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_LINK_PREFETCH);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_NOTIFICATIONS);$(ENABLE_PAGE_VISIBILITY_API);$(ENABLE_PROGRESS_ELEMENT);$(ENABLE_PROXIMITY_EVENTS);$(ENABLE_QUOTA);$(ENABLE_REGISTER_PROTOCOL_HANDLER);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHADOW_DOM);$(ENABLE_SHARED_WORKERS);$(ENABLE_STYLE_SCOPED);$(ENABLE_SVG);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_TEXT_AUTOSIZING);$(ENABLE_UNDO_MANAGER);$(ENABLE_VIDEO);ENABLE_VIDEO_TRACK;$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WORKERS);$(ENABLE_XSLT);%(PreprocessorDefinitions)</PreprocessorDefinitions>
    9192    </ClCompile>
    9293  </ItemDefinitionGroup>
  • trunk/Source/WebKit/mac/ChangeLog

    r144953 r145003  
     12013-03-04  Jer Noble  <jer.noble@apple.com>
     2
     3        Default mouse cursor behavior should be auto-hide for full screen video with custom controls
     4        https://bugs.webkit.org/show_bug.cgi?id=107601
     5
     6        Reviewed by Beth Dakin.
     7
     8        Enable the CURSOR_VISIBILITY feature.
     9
     10        * Configurations/FeatureDefines.xcconfig:
     11
    1122013-03-05  Geoffrey Garen  <ggaren@apple.com>
    213
  • trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig

    r144764 r145003  
    5959ENABLE_CSS3_TEXT = ;
    6060ENABLE_CSS3_TEXT_LINE_BREAK = ;
     61ENABLE_CURSOR_VISIBILITY = ENABLE_CURSOR_VISIBILITY;
    6162ENABLE_CUSTOM_SCHEME_HANDLER = ;
    6263ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
     
    185186ENABLE_XSLT = ENABLE_XSLT;
    186187
    187 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(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_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(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_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(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_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(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) $(FEATURE_DEFINES_$(PLATFORM_NAME));
     188FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(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_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(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_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(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_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(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) $(FEATURE_DEFINES_$(PLATFORM_NAME));
  • trunk/Source/WebKit2/ChangeLog

    r144982 r145003  
     12013-03-04  Jer Noble  <jer.noble@apple.com>
     2
     3        Default mouse cursor behavior should be auto-hide for full screen video with custom controls
     4        https://bugs.webkit.org/show_bug.cgi?id=107601
     5
     6        Reviewed by Beth Dakin.
     7
     8        Enable the CURSOR_VISIBILITY feature.
     9
     10        * Configurations/FeatureDefines.xcconfig:
     11
    1122013-03-06  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
    213
  • trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig

    r144764 r145003  
    5959ENABLE_CSS3_TEXT = ;
    6060ENABLE_CSS3_TEXT_LINE_BREAK = ;
     61ENABLE_CURSOR_VISIBILITY = ENABLE_CURSOR_VISIBILITY;
    6162ENABLE_CUSTOM_SCHEME_HANDLER = ;
    6263ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
     
    185186ENABLE_XSLT = ENABLE_XSLT;
    186187
    187 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(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_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(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_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(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_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(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) $(FEATURE_DEFINES_$(PLATFORM_NAME));
     188FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(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_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(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_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(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_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(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) $(FEATURE_DEFINES_$(PLATFORM_NAME));
Note: See TracChangeset for help on using the changeset viewer.