Title: [88861] branches/safari-534-branch/Source

Diff

Modified: branches/safari-534-branch/Source/WebCore/ChangeLog (88860 => 88861)


--- branches/safari-534-branch/Source/WebCore/ChangeLog	2011-06-14 22:57:22 UTC (rev 88860)
+++ branches/safari-534-branch/Source/WebCore/ChangeLog	2011-06-14 23:00:45 UTC (rev 88861)
@@ -1,5 +1,22 @@
 2011-06-14  Lucas Forschler  <[email protected]>
 
+    Merged 88564.
+
+    2011-06-10  Simon Fraser  <[email protected]>
+
+        Reviewed by Dan Bernstein.
+
+        Null-check the layer owner again when painting layers
+        https://bugs.webkit.org/show_bug.cgi?id=62473
+
+        Speculative fix for a crash that occurs when the layer's owner
+        gets destroyed during painting.
+
+        * platform/graphics/mac/WebLayer.mm:
+        (drawLayerContents):
+        
+2011-06-14  Lucas Forschler  <[email protected]>
+
     Merged 88528.
 
     2011-06-09  Jer Noble  <[email protected]>

Modified: branches/safari-534-branch/Source/WebCore/platform/graphics/mac/WebLayer.mm (88860 => 88861)


--- branches/safari-534-branch/Source/WebCore/platform/graphics/mac/WebLayer.mm	2011-06-14 22:57:22 UTC (rev 88860)
+++ branches/safari-534-branch/Source/WebCore/platform/graphics/mac/WebLayer.mm	2011-06-14 23:00:45 UTC (rev 88861)
@@ -78,7 +78,10 @@
 
     [NSGraphicsContext restoreGraphicsState];
 
-    if (layerContents->platformCALayerShowRepaintCounter()) {
+    // Re-fetch the layer owner, since <rdar://problem/9125151> indicates that it might have been destroyed during painting.
+    layerContents = platformLayer->owner();
+    ASSERT(layerContents);
+    if (layerContents && layerContents->platformCALayerShowRepaintCounter()) {
         bool isTiledLayer = [layer isKindOfClass:[CATiledLayer class]];
 
         char text[16]; // that's a lot of repaints

Modified: branches/safari-534-branch/Source/WebKit2/ChangeLog (88860 => 88861)


--- branches/safari-534-branch/Source/WebKit2/ChangeLog	2011-06-14 22:57:22 UTC (rev 88860)
+++ branches/safari-534-branch/Source/WebKit2/ChangeLog	2011-06-14 23:00:45 UTC (rev 88861)
@@ -1,5 +1,22 @@
 2011-06-14  Lucas Forschler  <[email protected]>
 
+    Merged 88585.
+
+    2011-06-10  Sam Weinig  <[email protected]>
+
+        Reviewed by Anders Carlsson.
+
+        Unresponsive cursor is shown when displaying a modal dialog
+        Part of <rdar://problem/9581492>
+        https://bugs.webkit.org/show_bug.cgi?id=62494
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::runModal):
+        * UIProcess/WebPageProxy.h:
+        Stop the responsiveness timer when calling out to show a modal dialog.
+        
+2011-06-14  Lucas Forschler  <[email protected]>
+
     Merged 87834.
 
     2011-06-14  Lucas Forschler  <[email protected]>

Modified: branches/safari-534-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp (88860 => 88861)


--- branches/safari-534-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp	2011-06-14 22:57:22 UTC (rev 88860)
+++ branches/safari-534-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp	2011-06-14 23:00:45 UTC (rev 88861)
@@ -3043,6 +3043,14 @@
     m_uiClient.drawFooter(this, frame, rect);
 }
 
+void WebPageProxy::runModal()
+{
+    // Since runModal() can (and probably will) spin a nested run loop we need to turn off the responsiveness timer.
+    process()->responsivenessTimer()->stop();
+
+    m_uiClient.runModal(this);
+}
+
 void WebPageProxy::didCompleteRubberBandForMainFrame(const IntSize& initialOverhang)
 {
     m_uiClient.didCompleteRubberBandForMainFrame(this, initialOverhang);

Modified: branches/safari-534-branch/Source/WebKit2/UIProcess/WebPageProxy.h (88860 => 88861)


--- branches/safari-534-branch/Source/WebKit2/UIProcess/WebPageProxy.h	2011-06-14 22:57:22 UTC (rev 88860)
+++ branches/safari-534-branch/Source/WebKit2/UIProcess/WebPageProxy.h	2011-06-14 23:00:45 UTC (rev 88861)
@@ -615,7 +615,7 @@
     void printFrame(uint64_t frameID);
     void exceededDatabaseQuota(uint64_t frameID, const String& originIdentifier, const String& databaseName, const String& displayName, uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage, uint64_t& newQuota);
     void requestGeolocationPermissionForFrame(uint64_t geolocationID, uint64_t frameID, String originIdentifier);
-    void runModal() { m_uiClient.runModal(this); }
+    void runModal();
     void didCompleteRubberBandForMainFrame(const WebCore::IntSize&);
     void notifyScrollerThumbIsVisibleInRect(const WebCore::IntRect&);
     void didChangeScrollbarsForMainFrame(bool hasHorizontalScrollbar, bool hasVerticalScrollbar);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to