REGRESSION: svg/custom/use-instanceRoot-event-listeners.xhtml & svg/custom/pointer...
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Jan 2012 23:56:26 +0000 (23:56 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Jan 2012 23:56:26 +0000 (23:56 +0000)
https://bugs.webkit.org/show_bug.cgi?id=76254

Reviewed by Anders Carlsson.

Source/WebCore:

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::beginLoadTimerFired): Added a call to
CachedResourceLoader::loadDone() after decrementing the request count. This allows the
frame loader to see that the request count is zero and dispatch didFinishLoad.

LayoutTests:

* svg/custom/pointer-events-invalid-fill.svg: Force layout before sending a mouse event.
Otherwise, the WebHTMLView may have zero size, causing the hit test in
-[EventSendingController mouseMoveToX:Y:] to yield the clip view and the event to go nowhere.
* svg/custom/resources/use-instanceRoot-event-listeners.js: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@105005 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/svg/custom/pointer-events-invalid-fill.svg
LayoutTests/svg/custom/resources/use-instanceRoot-event-listeners.js
Source/WebCore/ChangeLog
Source/WebCore/css/CSSFontSelector.cpp

index 5439614ec09f630efff1e70e68d33e1648047ea8..6eabcb3c238d830381cdf508fc34cb4cffbba966 100644 (file)
@@ -1,3 +1,15 @@
+2012-01-13  Dan Bernstein  <mitz@apple.com>
+
+        REGRESSION: svg/custom/use-instanceRoot-event-listeners.xhtml & svg/custom/pointer-events-invalid-fill.svg broken on the Bots
+        https://bugs.webkit.org/show_bug.cgi?id=76254
+
+        Reviewed by Anders Carlsson.
+
+        * svg/custom/pointer-events-invalid-fill.svg: Force layout before sending a mouse event.
+        Otherwise, the WebHTMLView may have zero size, causing the hit test in
+        -[EventSendingController mouseMoveToX:Y:] to yield the clip view and the event to go nowhere.
+        * svg/custom/resources/use-instanceRoot-event-listeners.js: Ditto.
+
 2012-01-13  Nate Chapin  <japhet@chromium.org>
 
         http/tests/multipart/invalid-image-data.html should no longer
index c805d7ab47026db1b70c539802f8b0c8012886cc..2dac01f26e96369cf18bb396786addedb325d240 100644 (file)
@@ -64,6 +64,7 @@
       }
       function runTest() {
         if (window.eventSender) {
+          document.documentElement.offsetLeft;
           eventSender.mouseMoveTo(30, 100);
         }
       }
index 08b204af8f13523eb704b79996cbabdfe4e3217c..7ff59e4910618495da49e257d04ed724ec3729ad 100644 (file)
@@ -171,6 +171,7 @@ function driveTests()
 
 // Start tests
 if (window.eventSender) {
+    document.documentElement.offsetLeft;
     eventSender.mouseMoveTo(115, 55);
     driveTests();
 } else
index 68ef476ab6f43e5b0db985e5eeafac13cf67e5da..16eabe6840c279e8715e4df6e783513aa6f0cc0e 100644 (file)
@@ -1,3 +1,15 @@
+2012-01-13  Dan Bernstein  <mitz@apple.com>
+
+        REGRESSION: svg/custom/use-instanceRoot-event-listeners.xhtml & svg/custom/pointer-events-invalid-fill.svg broken on the Bots
+        https://bugs.webkit.org/show_bug.cgi?id=76254
+
+        Reviewed by Anders Carlsson.
+
+        * css/CSSFontSelector.cpp:
+        (WebCore::CSSFontSelector::beginLoadTimerFired): Added a call to
+        CachedResourceLoader::loadDone() after decrementing the request count. This allows the
+        frame loader to see that the request count is zero and dispatch didFinishLoad. 
+
 2012-01-13  Jer Noble  <jer.noble@apple.com>
 
         WebAudio: Optimize calculateNormalizationScale().
index 4c90ae3d7884a513c23b5a9d180775c106026d0a..58a551f6057f0e66a90afc7c66363504da794287 100644 (file)
@@ -615,6 +615,8 @@ void CSSFontSelector::beginLoadTimerFired(Timer<WebCore::CSSFontSelector>*)
         // Balances incrementRequestCount() in beginLoadingFontSoon().
         cachedResourceLoader->decrementRequestCount(fontsToBeginLoading[i].get());
     }
+    // Ensure that if the request count reaches zero, the frame loader will know about it.
+    cachedResourceLoader->loadDone();
 }
 
 }