Title: [106582] branches/safari-534.54-branch/Source/WebKit2
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