Title: [106582] branches/safari-534.54-branch/Source/WebKit2
Revision
106582
Author
[email protected]
Date
2012-02-02 12:56:32 -0800 (Thu, 02 Feb 2012)

Log Message

Merged r106508.

Modified Paths

Diff

Modified: branches/safari-534.54-branch/Source/WebKit2/ChangeLog (106581 => 106582)


--- branches/safari-534.54-branch/Source/WebKit2/ChangeLog	2012-02-02 20:53:58 UTC (rev 106581)
+++ branches/safari-534.54-branch/Source/WebKit2/ChangeLog	2012-02-02 20:56:32 UTC (rev 106582)
@@ -1,3 +1,28 @@
+2011-02-02  Lucas Forschler  <[email protected]>
+
+    Merge 106508
+
+    2012-02-01  Anders Carlsson  <[email protected]>
+
+            REGRESSION (r104727): Strange graphics corruption opening a new tab in Safari
+            https://bugs.webkit.org/show_bug.cgi?id=77578
+            <rdar://problem/10767174>
+
+            Reviewed by Dan Bernstein.
+
+            Resizing a window will always invalidate the window backing store, so make sure to set
+            _data->_windowHasValidBackingStore to NO whenever that happens.
+
+            * UIProcess/API/mac/WKView.mm:
+            (-[WKView addWindowObserversForWindow:]):
+            Use separate methods for the NSWindowDidMoveNotification and NSWindowDidResizeNotification notifications.
+
+            (-[WKView _windowDidMove:]):
+            Call -[WKView _updateWindowAndViewFrames].
+
+            (-[WKView _windowDidResize:]):
+            Call -[WKView _updateWindowAndViewFrames] and mark the window backing store as invalid.
+
 2011-02-01  Lucas Forschler  <[email protected]>
 
     Merge 106271

Modified: branches/safari-534.54-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm (106581 => 106582)


--- branches/safari-534.54-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm	2012-02-02 20:53:58 UTC (rev 106581)
+++ branches/safari-534.54-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm	2012-02-02 20:56:32 UTC (rev 106582)
@@ -1736,9 +1736,9 @@
                                                      name:NSWindowDidMiniaturizeNotification object:window];
         [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowDidDeminiaturize:)
                                                      name:NSWindowDidDeminiaturizeNotification object:window];
-        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowFrameDidChange:)
+        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowDidMove:)
                                                      name:NSWindowDidMoveNotification object:window];
-        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowFrameDidChange:) 
+        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowDidResize:) 
                                                      name:NSWindowDidResizeNotification object:window];
         [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowDidOrderOffScreen:) 
                                                      name:@"NSWindowDidOrderOffScreenNotification" object:window];
@@ -1848,8 +1848,15 @@
     [self _updateWindowVisibility];
 }
 
-- (void)_windowFrameDidChange:(NSNotification *)notification
+- (void)_windowDidMove:(NSNotification *)notification
 {
+    [self _updateWindowAndViewFrames];    
+}
+
+- (void)_windowDidResize:(NSNotification *)notification
+{
+    _data->_windowHasValidBackingStore = NO;
+
     [self _updateWindowAndViewFrames];
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to