Title: [134803] trunk
Revision
134803
Author
[email protected]
Date
2012-11-15 11:15:17 -0800 (Thu, 15 Nov 2012)

Log Message

No tests for changing mouse cursors
https://bugs.webkit.org/show_bug.cgi?id=100550

Patch by Rick Byers <[email protected]> on 2012-11-15
Reviewed by Brent Fulgham.

.:

Add necessary exports for Internals::getCurrentCursorInfo

* Source/autotools/symbols.filter:

Source/WebCore:

Add infrastructure to keep track of the last set mouse cursor,
and then to query it from DumpRenderTree.  Also adds ASSERTs to help ensure
we can reliably detect when an uninitialized Cursor object is used (such as
the one that can be returned from OptionalCursor in the NoCursorChange scenario).

Test: fast/events/mouse-cursor.html

* WebCore.exp.in: Add Cursor copy ctor export
* page/EventHandler.cpp:
(WebCore::OptionalCursor::cursor):
(WebCore::EventHandler::handleMouseMoveEvent): Keep track of last set mouse cursor
* page/EventHandler.h:
(WebCore::EventHandler::currentMouseCursor): New getter for last set mouse cursor
* platform/Cursor.h:
(WebCore::Cursor::Cursor): Mark uninitialized cursor types as invalid.
(WebCore::Cursor::type): Assert cursor type is valid.
* testing/Internals.cpp:
(WebCore::cursorTypeToString): Helper to convert cursor type to enum
(WebCore):
(WebCore::Internals::getCurrentCursorInfo): New function to return a string describing the last set mouse cursor
* testing/Internals.h: Declare getCurrentCursorInfo
* testing/Internals.idl: Declare getCurrentCursorInfo

Source/WebKit2:

Add necessary exports for Internals::getCurrentCursorInfo

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

Add a simple test covering the basic scenarios of changing a mouse
cursor with CSS.  This includes most of the cases currently covered
by ManualTests/*cursor*.

* fast/events/mouse-cursor-expected.txt: Added.
* fast/events/mouse-cursor.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/ChangeLog (134802 => 134803)


--- trunk/ChangeLog	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/ChangeLog	2012-11-15 19:15:17 UTC (rev 134803)
@@ -1,3 +1,14 @@
+2012-11-15  Rick Byers  <[email protected]>
+
+        No tests for changing mouse cursors
+        https://bugs.webkit.org/show_bug.cgi?id=100550
+
+        Reviewed by Brent Fulgham.
+
+        Add necessary exports for Internals::getCurrentCursorInfo
+
+        * Source/autotools/symbols.filter:
+
 2012-11-15  Kent Tamura  <[email protected]>
 
         Support stand-alone month names in calendar picker

Modified: trunk/LayoutTests/ChangeLog (134802 => 134803)


--- trunk/LayoutTests/ChangeLog	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/LayoutTests/ChangeLog	2012-11-15 19:15:17 UTC (rev 134803)
@@ -1,3 +1,17 @@
+2012-11-15  Rick Byers  <[email protected]>
+
+        No tests for changing mouse cursors
+        https://bugs.webkit.org/show_bug.cgi?id=100550
+
+        Reviewed by Brent Fulgham.
+
+        Add a simple test covering the basic scenarios of changing a mouse
+        cursor with CSS.  This includes most of the cases currently covered
+        by ManualTests/*cursor*.
+
+        * fast/events/mouse-cursor-expected.txt: Added.
+        * fast/events/mouse-cursor.html: Added.
+
 2012-11-13  Jer Noble  <[email protected]>
 
         Support loading of blob URLs in AVFoundation.

Added: trunk/LayoutTests/fast/events/mouse-cursor-expected.txt (0 => 134803)


--- trunk/LayoutTests/fast/events/mouse-cursor-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/events/mouse-cursor-expected.txt	2012-11-15 19:15:17 UTC (rev 134803)
@@ -0,0 +1,72 @@
+Test that mouse cursors are applied correctly.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Bug 100550
+
+ 
+TEST CASE: Implicit default cursor
+Cursor Info: type=IBeam hotSpot=0,0
+
+TEST CASE: Explicit default
+Cursor Info: type=Pointer hotSpot=0,0
+
+TEST CASE: Explicit auto
+Cursor Info: type=IBeam hotSpot=0,0
+
+TEST CASE: No cursor
+Cursor Info: type=None hotSpot=0,0
+
+TEST CASE: Pointer
+Cursor Info: type=Hand hotSpot=0,0
+
+TEST CASE: -webkit-grabbing
+Cursor Info: type=Grabbing hotSpot=0,0
+
+TEST CASE: Existing 25x25 image
+Cursor Info: type=Custom hotSpot=0,0 image=25x25
+
+TEST CASE: Invalid URL with fallback to pointer
+Cursor Info: type=Hand hotSpot=0,0
+
+TEST CASE: Invalid with fallback to 25x25 image
+Cursor Info: type=Custom hotSpot=0,0 image=25x25
+
+TEST CASE: Image with explicit hot spot at (0,0)
+Cursor Info: type=Custom hotSpot=0,0 image=25x25
+
+TEST CASE: Image with explicit hot spot at (20,10)
+Cursor Info: type=Custom hotSpot=20,10 image=25x25
+
+TEST CASE: Image with explicit hot spot at (-1,-1)
+Cursor Info: type=Custom hotSpot=0,0 image=25x25
+
+TEST CASE: Image with explicit hot spot outside image at (30,30)
+Cursor Info: type=Custom hotSpot=0,0 image=25x25
+
+TEST CASE: Over large image with fallback to pointer
+Cursor Info: type=Hand hotSpot=0,0
+
+TEST CASE: SVG cursor
+Cursor Info: type=Custom hotSpot=0,0 image=25x25
+
+TEST CASE: Multiple invalid cursors with fallback to pointer
+Cursor Info: type=Hand hotSpot=0,0
+
+TEST CASE: Nonexistent SVG cursor with fallback to pointer
+Cursor Info: type=Hand hotSpot=0,0
+
+TEST CASE: A link with default cursor
+Cursor Info: type=Hand hotSpot=0,0
+
+TEST CASE: Link with default cursor overriding wait
+Cursor Info: type=Hand hotSpot=0,0
+
+TEST CASE: Wait cursor which should not be affected by unknown cursor rule
+Cursor Info: type=Wait hotSpot=0,0
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/fast/events/mouse-cursor.html (0 => 134803)


--- trunk/LayoutTests/fast/events/mouse-cursor.html	                        (rev 0)
+++ trunk/LayoutTests/fast/events/mouse-cursor.html	2012-11-15 19:15:17 UTC (rev 134803)
@@ -0,0 +1,118 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<style type="text/css">
+</style>
+</head>
+<body>
+<p id="description"></p>
+<p><a href="" 100550</a></p>
+<svg xmlns="http://www.w3.org/2000/svg" 
+     xmlns:xlink="http://www.w3.org/1999/xlink" width="0" height="0">
+  <defs>
+    <cursor id="greenbox" xlink:href="" x="0" y="0"/>
+  </defs>
+</svg>
+<div id="test-container">
+  <div>Implicit default cursor</div>
+  <div style='cursor: default'>Explicit default</div>
+  <div style='cursor: auto'>Explicit auto</div>
+  <div style='cursor: none'>No cursor</div>
+  <div style='cursor: pointer'>Pointer</div>
+  <div style='cursor: -webkit-grabbing'>-webkit-grabbing</div>
+  <div style='cursor: url(resources/greenbox.png), hand'>Existing 25x25 image</div>
+  <div style='cursor: url(doesntexist.png), pointer'>Invalid URL with fallback to pointer</div>
+  <div style='cursor: url(doesntexist.png), url(resources/greenbox.png), pointer'>Invalid with fallback to 25x25 image</div>
+  <div style='cursor: url(resources/greenbox.png) 0 0, pointer'>Image with explicit hot spot at (0,0)</div>
+  <div style='cursor: url(resources/greenbox.png) 20 10, pointer'>Image with explicit hot spot at (20,10)</div>
+  <div style='cursor: url(resources/greenbox.png) -1 -1, pointer'>Image with explicit hot spot at (-1,-1)</div>
+  <div style='cursor: url(resources/greenbox.png) 30 30, pointer'>Image with explicit hot spot outside image at (30,30)</div>
+  <div style='cursor: url(resources/onload-image.png), pointer'>Over large image with fallback to pointer</div>
+  <div style='cursor: url(#greenbox), pointer'>SVG cursor</div>
+  <div style='cursor: url(mouse-cursor.html), url(unknown-scheme:cursor.png), pointer'>Multiple invalid cursors with fallback to pointer</div>
+  <div style='cursor: url(#nonexistent), pointer'>Nonexistent SVG cursor with fallback to pointer</div>
+  <div><a href=''>A link with default cursor</a></div>
+  <div style='cursor: wait'><a href=''>Link with default cursor overriding wait</a></div>
+  <div style='cursor: wait'><div style='cursor: doesntexist'>Wait cursor which should not be affected by unknown cursor rule</div></div>
+</div>
+<br/>
+<div id="console"></div>
+<script>
+var imagesLeftToLoad = 0;
+
+function onImageLoad(e) {
+
+    // This debug output is non-deterministic and contains absolute URLs - only show when
+    // not running in DRT
+    if (!window.testRunner)
+        debug( 'Event "' + e.type + '": ' + e.target.src);
+        
+    imagesLeftToLoad--;
+    if (imagesLeftToLoad == 0)
+        runTests();
+    if (imagesLeftToLoad < 0)
+        testFailed('Got more load/error callback than expected.');
+}
+
+function onImageUnexpected(e) {
+	imagesLeftToLoad--;
+    testFailed('Got unexpected \'' + e.type + '\' event for image: ' + e.target.src); 
+}
+
+function runTests() {
+    // Can't do anything useful here without eventSender
+    if (window.eventSender) {
+        var nodesToTest = document.querySelectorAll('#test-container > div');
+        for (var i = 0; i < nodesToTest.length; i++) {
+            var node = nodesToTest[i];
+            debug('TEST CASE: ' + node.textContent);
+            eventSender.mouseMoveTo(node.offsetLeft + 3, node.offsetTop + 3);
+            // Note that we could return structured data which we then validate, but that's a lot more
+            // work and is redundant with relying on the expected output anyway.  Better to just dump
+            // it and inspect that it matches the description.
+            debug('Cursor Info: ' + window.internals.getCurrentCursorInfo(document));
+            debug('');
+        }
+        // This text is redundant with the test output - hide it
+        document.getElementById('test-container').style.display = 'none';
+    }
+    
+    finishJSTest();
+}
+
+description("Test that mouse cursors are applied correctly.");
+
+if (!window.eventSender) {
+    testFailed('This test requires DumpRenderTree');
+}
+
+if (window.testRunner) {
+    testRunner.dumpAsText();
+    testRunner.waitUntilDone();
+    window.jsTestIsAsync = true;
+}
+
+// Now wait for each image to load or fail to load before starting tests.
+// Without this we can get null images in the cursors - eg. no known size.
+var imagesToLoad = [
+    { url: 'resources/greenbox.png' },
+    { url: 'resources/onload-image.png' },
+    { url: 'doesntexist.png', error: true },
+    { url: 'unknown-scheme:cursor.png', error: true },
+    { url: 'mouse-cursor.html', error: true },
+    { url: '#greenbox', error: true },
+    { url: '#nonexistent', error: true } ];
+imagesLeftToLoad = imagesToLoad.length;
+for (var i = 0; i < imagesToLoad.length; i++) {
+    var img = new Image();
+    var expectError = imagesToLoad[i].error; 
+    img.addEventListener('load', expectError ? onImageUnexpected : onImageLoad);
+    img.addEventListener('error', expectError ? onImageLoad : onImageUnexpected);
+    img.src = ""
+}
+
+</script>
+<script src=""
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (134802 => 134803)


--- trunk/Source/WebCore/ChangeLog	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebCore/ChangeLog	2012-11-15 19:15:17 UTC (rev 134803)
@@ -1,3 +1,33 @@
+2012-11-15  Rick Byers  <[email protected]>
+
+        No tests for changing mouse cursors
+        https://bugs.webkit.org/show_bug.cgi?id=100550
+
+        Reviewed by Brent Fulgham.
+
+        Add infrastructure to keep track of the last set mouse cursor,
+        and then to query it from DumpRenderTree.  Also adds ASSERTs to help ensure
+        we can reliably detect when an uninitialized Cursor object is used (such as
+        the one that can be returned from OptionalCursor in the NoCursorChange scenario).
+
+        Test: fast/events/mouse-cursor.html
+
+        * WebCore.exp.in: Add Cursor copy ctor export
+        * page/EventHandler.cpp:
+        (WebCore::OptionalCursor::cursor):
+        (WebCore::EventHandler::handleMouseMoveEvent): Keep track of last set mouse cursor
+        * page/EventHandler.h:
+        (WebCore::EventHandler::currentMouseCursor): New getter for last set mouse cursor
+        * platform/Cursor.h:
+        (WebCore::Cursor::Cursor): Mark uninitialized cursor types as invalid.
+        (WebCore::Cursor::type): Assert cursor type is valid.
+        * testing/Internals.cpp:
+        (WebCore::cursorTypeToString): Helper to convert cursor type to enum
+        (WebCore):
+        (WebCore::Internals::getCurrentCursorInfo): New function to return a string describing the last set mouse cursor
+        * testing/Internals.h: Declare getCurrentCursorInfo
+        * testing/Internals.idl: Declare getCurrentCursorInfo
+
 2012-11-13  Jer Noble  <[email protected]>
 
         Support loading of blob URLs in AVFoundation.

Modified: trunk/Source/WebCore/WebCore.exp.in (134802 => 134803)


--- trunk/Source/WebCore/WebCore.exp.in	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebCore/WebCore.exp.in	2012-11-15 19:15:17 UTC (rev 134803)
@@ -1711,6 +1711,7 @@
 __ZN7WebCore5Frame9nodeImageEPNS_4NodeE
 __ZN7WebCore6Cursor8fromTypeENS0_4TypeE
 __ZN7WebCore6CursorC1EPNS_5ImageERKNS_8IntPointE
+__ZN7WebCore6CursorC1ERKS0_
 __ZN7WebCore6CursorD1Ev
 __ZN7WebCore6CursoraSERKS0_
 __ZN7WebCore6Editor13canDHTMLPasteEv

Modified: trunk/Source/WebCore/page/EventHandler.cpp (134802 => 134803)


--- trunk/Source/WebCore/page/EventHandler.cpp	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebCore/page/EventHandler.cpp	2012-11-15 19:15:17 UTC (rev 134803)
@@ -156,7 +156,7 @@
     OptionalCursor(const Cursor& cursor) : m_isCursorChange(true), m_cursor(cursor) { }
 
     bool isCursorChange() const { return m_isCursorChange; }
-    const Cursor& cursor() const { return m_cursor; }
+    const Cursor& cursor() const { ASSERT(m_isCursorChange); return m_cursor; }
 
 private:
     bool m_isCursorChange;
@@ -1538,7 +1538,7 @@
     }
     return pointerCursor();
 }
-    
+
 static LayoutPoint documentPointForWindowPoint(Frame* frame, const IntPoint& windowPoint)
 {
     FrameView* view = frame->view();
@@ -1873,8 +1873,10 @@
             scrollbar->mouseMoved(mouseEvent); // Handle hover effects on platforms that support visual feedback on scrollbar hovering.
         if (FrameView* view = m_frame->view()) {
             OptionalCursor optionalCursor = selectCursor(mev, scrollbar);
-            if (optionalCursor.isCursorChange())
-                view->setCursor(optionalCursor.cursor());
+            if (optionalCursor.isCursorChange()) {
+                m_currentMouseCursor = optionalCursor.cursor();
+                view->setCursor(m_currentMouseCursor);
+            }
         }
     }
     

Modified: trunk/Source/WebCore/page/EventHandler.h (134802 => 134803)


--- trunk/Source/WebCore/page/EventHandler.h	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebCore/page/EventHandler.h	2012-11-15 19:15:17 UTC (rev 134803)
@@ -26,6 +26,7 @@
 #ifndef EventHandler_h
 #define EventHandler_h
 
+#include "Cursor.h"
 #include "DragActions.h"
 #include "DragState.h"
 #include "FocusDirection.h"
@@ -141,6 +142,7 @@
     void resizeLayerDestroyed();
 
     IntPoint currentMousePosition() const;
+    Cursor currentMouseCursor() const { return m_currentMouseCursor; }
 
     static Frame* subframeForTargetNode(Node*);
     static Frame* subframeForHitTestResult(const MouseEventWithHitTestResults&);
@@ -420,6 +422,7 @@
     RefPtr<Node> m_lastNodeUnderMouse;
     RefPtr<Frame> m_lastMouseMoveEventSubframe;
     RefPtr<Scrollbar> m_lastScrollbarUnderMouse;
+    Cursor m_currentMouseCursor;
 
     int m_clickCount;
     RefPtr<Node> m_clickNode;

Modified: trunk/Source/WebCore/platform/Cursor.h (134802 => 134803)


--- trunk/Source/WebCore/platform/Cursor.h	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebCore/platform/Cursor.h	2012-11-15 19:15:17 UTC (rev 134803)
@@ -28,6 +28,7 @@
 
 #include "Image.h"
 #include "IntPoint.h"
+#include <wtf/Assertions.h>
 #include <wtf/RefPtr.h>
 
 #if PLATFORM(WIN)
@@ -99,7 +100,7 @@
         WTF_MAKE_FAST_ALLOCATED;
     public:
         enum Type {
-            Pointer,
+            Pointer = 0,
             Cross,
             Hand,
             IBeam,
@@ -149,8 +150,14 @@
 
         Cursor()
 #if !PLATFORM(IOS) && !PLATFORM(BLACKBERRY)
+#if USE(LAZY_NATIVE_CURSOR)
+            // This is an invalid Cursor and should never actually get used.
+            : m_type(static_cast<Type>(-1))
+            , m_platformCursor(0)
+#else
             : m_platformCursor(0)
-#endif
+#endif // USE(LAZY_NATIVE_CURSOR)
+#endif // !PLATFORM(IOS) && !PLATFORM(BLACKBERRY)
         {
         }
 
@@ -162,7 +169,11 @@
 
 #if USE(LAZY_NATIVE_CURSOR)
         explicit Cursor(Type);
-        Type type() const { return m_type; }
+        Type type() const
+        {
+            ASSERT(m_type >= 0 && m_type <= Custom);
+            return m_type;
+        }
         Image* image() const { return m_image.get(); }
         const IntPoint& hotSpot() const { return m_hotSpot; }
         PlatformCursor platformCursor() const;

Modified: trunk/Source/WebCore/testing/Internals.cpp (134802 => 134803)


--- trunk/Source/WebCore/testing/Internals.cpp	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebCore/testing/Internals.cpp	2012-11-15 19:15:17 UTC (rev 134803)
@@ -31,6 +31,7 @@
 #include "ClientRect.h"
 #include "ClientRectList.h"
 #include "ComposedShadowTreeWalker.h"
+#include "Cursor.h"
 #include "DOMStringList.h"
 #include "DOMWindow.h"
 #include "Document.h"
@@ -38,6 +39,7 @@
 #include "DocumentMarkerController.h"
 #include "Element.h"
 #include "ElementShadow.h"
+#include "EventHandler.h"
 #include "ExceptionCode.h"
 #include "FormController.h"
 #include "Frame.h"
@@ -75,7 +77,9 @@
 #include "TextIterator.h"
 #include "TreeScope.h"
 #include "ViewportArguments.h"
+#include <wtf/text/StringBuffer.h>
 
+
 #if ENABLE(INPUT_TYPE_COLOR)
 #include "ColorChooser.h"
 #endif
@@ -94,7 +98,6 @@
 #endif
 
 #if ENABLE(TOUCH_ADJUSTMENT)
-#include "EventHandler.h"
 #include "WebKitPoint.h"
 #endif
 
@@ -1539,4 +1542,89 @@
     frameView->setTracksRepaints(false);
 }
 
+#if USE(LAZY_NATIVE_CURSOR)
+static const char* cursorTypeToString(Cursor::Type cursorType)
+{
+    switch (cursorType) {
+    case Cursor::Pointer: return "Pointer";
+    case Cursor::Cross: return "Cross";
+    case Cursor::Hand: return "Hand";
+    case Cursor::IBeam: return "IBeam";
+    case Cursor::Wait: return "Wait";
+    case Cursor::Help: return "Help";
+    case Cursor::EastResize: return "EastResize";
+    case Cursor::NorthResize: return "NorthResize";
+    case Cursor::NorthEastResize: return "NorthEastResize";
+    case Cursor::NorthWestResize: return "NorthWestResize";
+    case Cursor::SouthResize: return "SouthResize";
+    case Cursor::SouthEastResize: return "SouthEastResize";
+    case Cursor::SouthWestResize: return "SouthWestResize";
+    case Cursor::WestResize: return "WestResize";
+    case Cursor::NorthSouthResize: return "NorthSouthResize";
+    case Cursor::EastWestResize: return "EastWestResize";
+    case Cursor::NorthEastSouthWestResize: return "NorthEastSouthWestResize";
+    case Cursor::NorthWestSouthEastResize: return "NorthWestSouthEastResize";
+    case Cursor::ColumnResize: return "ColumnResize";
+    case Cursor::RowResize: return "RowResize";
+    case Cursor::MiddlePanning: return "MiddlePanning";
+    case Cursor::EastPanning: return "EastPanning";
+    case Cursor::NorthPanning: return "NorthPanning";
+    case Cursor::NorthEastPanning: return "NorthEastPanning";
+    case Cursor::NorthWestPanning: return "NorthWestPanning";
+    case Cursor::SouthPanning: return "SouthPanning";
+    case Cursor::SouthEastPanning: return "SouthEastPanning";
+    case Cursor::SouthWestPanning: return "SouthWestPanning";
+    case Cursor::WestPanning: return "WestPanning";
+    case Cursor::Move: return "Move";
+    case Cursor::VerticalText: return "VerticalText";
+    case Cursor::Cell: return "Cell";
+    case Cursor::ContextMenu: return "ContextMenu";
+    case Cursor::Alias: return "Alias";
+    case Cursor::Progress: return "Progress";
+    case Cursor::NoDrop: return "NoDrop";
+    case Cursor::Copy: return "Copy";
+    case Cursor::None: return "None";
+    case Cursor::NotAllowed: return "NotAllowed";
+    case Cursor::ZoomIn: return "ZoomIn";
+    case Cursor::ZoomOut: return "ZoomOut";
+    case Cursor::Grab: return "Grab";
+    case Cursor::Grabbing: return "Grabbing";
+    case Cursor::Custom: return "Custom";
+    }
+
+    ASSERT_NOT_REACHED();
+    return "UNKNOWN";
 }
+#endif
+
+String Internals::getCurrentCursorInfo(Document* document, ExceptionCode& ec)
+{
+    if (!document || !document->frame()) {
+        ec = INVALID_ACCESS_ERR;
+        return String();
+    }
+
+    Cursor cursor = document->frame()->eventHandler()->currentMouseCursor();
+
+#if USE(LAZY_NATIVE_CURSOR)
+    StringBuilder result;
+    result.append("type=");
+    result.append(cursorTypeToString(cursor.type()));
+    result.append(" hotSpot=");
+    result.appendNumber(cursor.hotSpot().x());
+    result.append(",");
+    result.appendNumber(cursor.hotSpot().y());
+    if (cursor.image()) {
+        IntSize size = cursor.image()->size();
+        result.append(" image=");
+        result.appendNumber(size.width());
+        result.append("x");
+        result.appendNumber(size.height());
+    }
+    return result.toString();
+#else
+    return "FAIL: Cursor details not available on this platform.";
+#endif
+}
+
+}

Modified: trunk/Source/WebCore/testing/Internals.h (134802 => 134803)


--- trunk/Source/WebCore/testing/Internals.h	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebCore/testing/Internals.h	2012-11-15 19:15:17 UTC (rev 134803)
@@ -246,6 +246,8 @@
     void startTrackingRepaints(Document*, ExceptionCode&);
     void stopTrackingRepaints(Document*, ExceptionCode&);
 
+    String getCurrentCursorInfo(Document*, ExceptionCode&);
+
 private:
     explicit Internals(Document*);
     Document* contextDocument() const;

Modified: trunk/Source/WebCore/testing/Internals.idl (134802 => 134803)


--- trunk/Source/WebCore/testing/Internals.idl	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebCore/testing/Internals.idl	2012-11-15 19:15:17 UTC (rev 134803)
@@ -214,4 +214,7 @@
     //  startTrackingRepaints, repaintRectsAsText, stopTrackingRepaints.
     void startTrackingRepaints(in Document document) raises (DOMException);
     void stopTrackingRepaints(in Document document) raises (DOMException);
+
+    // Returns a string with information about the mouse cursor used at the specified client location.
+    DOMString getCurrentCursorInfo(in Document document) raises (DOMException);
 };

Modified: trunk/Source/WebKit2/ChangeLog (134802 => 134803)


--- trunk/Source/WebKit2/ChangeLog	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebKit2/ChangeLog	2012-11-15 19:15:17 UTC (rev 134803)
@@ -1,3 +1,15 @@
+2012-11-15  Rick Byers  <[email protected]>
+
+        No tests for changing mouse cursors
+        https://bugs.webkit.org/show_bug.cgi?id=100550
+
+        Reviewed by Brent Fulgham.
+
+        Add necessary exports for Internals::getCurrentCursorInfo
+
+        * win/WebKit2.def:
+        * win/WebKit2CFLite.def:
+
 2012-11-15  Kenneth Rohde Christiansen  <[email protected]>
 
         Remove initiallyFitToViewport attribute

Modified: trunk/Source/WebKit2/win/WebKit2.def (134802 => 134803)


--- trunk/Source/WebKit2/win/WebKit2.def	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebKit2/win/WebKit2.def	2012-11-15 19:15:17 UTC (rev 134803)
@@ -153,6 +153,8 @@
         ??0ClientRectList@WebCore@@AAE@XZ
         ??0ClientRectList@WebCore@@AAE@ABV?$Vector@VFloatQuad@WebCore@@$0A@@WTF@@@Z
         ??1ClientRectList@WebCore@@QAE@XZ
+        ??1Cursor@WebCore@@QAE@XZ
+        ??0Cursor@WebCore@@QAE@ABV01@@Z
         ??0String@WTF@@QAE@PBD@Z
         ??0String@WTF@@QAE@PB_W@Z
         ?absoluteBoundingBoxRect@RenderObject@WebCore@@QBE?AVIntRect@2@_N@Z

Modified: trunk/Source/WebKit2/win/WebKit2CFLite.def (134802 => 134803)


--- trunk/Source/WebKit2/win/WebKit2CFLite.def	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/WebKit2/win/WebKit2CFLite.def	2012-11-15 19:15:17 UTC (rev 134803)
@@ -146,6 +146,8 @@
         ??0ClientRectList@WebCore@@AAE@XZ
         ??0ClientRectList@WebCore@@AAE@ABV?$Vector@VFloatQuad@WebCore@@$0A@@WTF@@@Z
         ??1ClientRectList@WebCore@@QAE@XZ
+        ??1Cursor@WebCore@@QAE@XZ
+        ??0Cursor@WebCore@@QAE@ABV01@@Z
         ??0String@WTF@@QAE@PBD@Z
         ??0String@WTF@@QAE@PB_W@Z
         ?absoluteBoundingBoxRect@RenderObject@WebCore@@QBE?AVIntRect@2@_N@Z

Modified: trunk/Source/autotools/symbols.filter (134802 => 134803)


--- trunk/Source/autotools/symbols.filter	2012-11-15 19:08:54 UTC (rev 134802)
+++ trunk/Source/autotools/symbols.filter	2012-11-15 19:15:17 UTC (rev 134803)
@@ -163,6 +163,8 @@
 _ZN7WebCore10ScrollView23setScrollbarsSuppressedEbb;
 _ZN7WebCore10ScrollView21setDelegatesScrollingEb;
 _ZN7WebCore4Node14removedLastRefEv;
+_ZN7WebCore6CursorC1ERKS0_;
+_ZN7WebCore6CursorD1Ev;
 _ZN7WebCore8Settings16setImagesEnabledEb;
 _ZN7WebCore8Settings18setFixedFontFamilyERKN3WTF12AtomicStringE11UScriptCode;
 _ZN7WebCore8Settings18setSerifFontFamilyERKN3WTF12AtomicStringE11UScriptCode;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to