Title: [191484] trunk/Source
Revision
191484
Author
commit-qu...@webkit.org
Date
2015-10-22 15:36:57 -0700 (Thu, 22 Oct 2015)

Log Message

Fix build for clang-700.0.59.5 by replacing deprecated calls to convert points between screen and window coordinates for Mac.
https://bugs.webkit.org/show_bug.cgi?id=150379

Patch by Gordon Sheridan <gordon_sheri...@apple.com> on 2015-10-22
Reviewed by Andy Estes.

Source/WebCore:

Provide WAKWindow versions of the non-deprecated methods for converting an NSRect between
window and screen coordinates, which replace the deprecated methods that operated on an NSPoint.

* platform/ios/wak/WAKWindow.h:
* platform/ios/wak/WAKWindow.mm:
(-[WAKWindow convertRectToScreen:]): Added.
(-[WAKWindow convertRectFromScreen:]): Added.

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(-[WebHTMLView characterIndexForPoint:]):
Convert point to rect, and replace call to deprecated convertScreenToBase: with convertRectFromScreen:.

(-[WebHTMLView firstRectForCharacterRange:]):
Replace call to deprecated convertBaseToScreen: with convertRectToScreen:.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (191483 => 191484)


--- trunk/Source/WebCore/ChangeLog	2015-10-22 22:33:58 UTC (rev 191483)
+++ trunk/Source/WebCore/ChangeLog	2015-10-22 22:36:57 UTC (rev 191484)
@@ -1,3 +1,18 @@
+2015-10-22  Gordon Sheridan  <gordon_sheri...@apple.com>
+
+        Fix build for clang-700.0.59.5 by replacing deprecated calls to convert points between screen and window coordinates for Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=150379
+
+        Reviewed by Andy Estes.
+
+        Provide WAKWindow versions of the non-deprecated methods for converting an NSRect between
+        window and screen coordinates, which replace the deprecated methods that operated on an NSPoint.
+
+        * platform/ios/wak/WAKWindow.h:
+        * platform/ios/wak/WAKWindow.mm:
+        (-[WAKWindow convertRectToScreen:]): Added.
+        (-[WAKWindow convertRectFromScreen:]): Added.
+
 2015-10-22  Alex Christensen  <achristen...@webkit.org>
 
         Fix Mac CMake build after r191433.

Modified: trunk/Source/WebCore/platform/ios/wak/WAKWindow.h (191483 => 191484)


--- trunk/Source/WebCore/platform/ios/wak/WAKWindow.h	2015-10-22 22:33:58 UTC (rev 191483)
+++ trunk/Source/WebCore/platform/ios/wak/WAKWindow.h	2015-10-22 22:36:57 UTC (rev 191484)
@@ -107,6 +107,8 @@
 
 - (NSPoint)convertBaseToScreen:(NSPoint)aPoint;
 - (NSPoint)convertScreenToBase:(NSPoint)aPoint;
+- (NSRect)convertRectToScreen:(NSRect)aRect;
+- (NSRect)convertRectFromScreen:(NSRect)aRect;
 - (BOOL)isKeyWindow;
 - (void)makeKeyWindow;
 - (BOOL)isVisible;

Modified: trunk/Source/WebCore/platform/ios/wak/WAKWindow.mm (191483 => 191484)


--- trunk/Source/WebCore/platform/ios/wak/WAKWindow.mm	2015-10-22 22:33:58 UTC (rev 191483)
+++ trunk/Source/WebCore/platform/ios/wak/WAKWindow.mm	2015-10-22 22:36:57 UTC (rev 191484)
@@ -156,6 +156,24 @@
     return [_hostLayer convertPoint:aPoint fromLayer:rootLayer];
 }
 
+- (NSRect)convertRectToScreen:(NSRect)windowRect
+{
+    CALayer* rootLayer = _hostLayer;
+    while (rootLayer.superlayer)
+        rootLayer = rootLayer.superlayer;
+
+    return [_hostLayer convertRect:windowRect toLayer:rootLayer];
+}
+
+- (NSRect)convertRectFromScreen:(NSRect)screenRect
+{
+    CALayer* rootLayer = _hostLayer;
+    while (rootLayer.superlayer)
+        rootLayer = rootLayer.superlayer;
+
+    return [_hostLayer convertRect:screenRect fromLayer:rootLayer];
+}
+
 - (BOOL)isKeyWindow
 {
     return YES || self == _WAKKeyWindow; 

Modified: trunk/Source/WebKit/mac/ChangeLog (191483 => 191484)


--- trunk/Source/WebKit/mac/ChangeLog	2015-10-22 22:33:58 UTC (rev 191483)
+++ trunk/Source/WebKit/mac/ChangeLog	2015-10-22 22:36:57 UTC (rev 191484)
@@ -1,3 +1,17 @@
+2015-10-22  Gordon Sheridan  <gordon_sheri...@apple.com>
+
+        Fix build for clang-700.0.59.5 by replacing deprecated calls to convert points between screen and window coordinates for Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=150379
+
+        Reviewed by Andy Estes.
+
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView characterIndexForPoint:]):
+        Convert point to rect, and replace call to deprecated convertScreenToBase: with convertRectFromScreen:.
+
+        (-[WebHTMLView firstRectForCharacterRange:]):
+        Replace call to deprecated convertBaseToScreen: with convertRectToScreen:.
+
 2015-10-22  Myles C. Maxfield  <mmaxfi...@apple.com>
 
         [Cocoa] Migrate WKSetPatternPhaseInUserSpace() and WKGetUserToBaseCTM() from WKSI

Modified: trunk/Source/WebKit/mac/WebView/WebHTMLView.mm (191483 => 191484)


--- trunk/Source/WebKit/mac/WebView/WebHTMLView.mm	2015-10-22 22:33:58 UTC (rev 191483)
+++ trunk/Source/WebKit/mac/WebView/WebHTMLView.mm	2015-10-22 22:36:57 UTC (rev 191484)
@@ -6108,8 +6108,10 @@
     NSWindow *window = [self window];
     WebFrame *frame = [self _frame];
 
-    if (window)
-        thePoint = [window convertScreenToBase:thePoint];
+    if (window) {
+        NSRect screenRect = { thePoint, NSZeroSize };
+        thePoint = [window convertRectFromScreen:screenRect].origin;
+    }
     thePoint = [self convertPoint:thePoint fromView:nil];
 
     DOMRange *range = [frame _characterRangeAtPoint:thePoint];
@@ -6149,7 +6151,7 @@
 
     NSWindow *window = [self window];
     if (window)
-        resultRect.origin = [window convertBaseToScreen:resultRect.origin];
+        resultRect.origin = [window convertRectToScreen:resultRect].origin;
     
     LOG(TextInput, "firstRectForCharacterRange:(%u, %u) -> (%f, %f, %f, %f)", theRange.location, theRange.length, resultRect.origin.x, resultRect.origin.y, resultRect.size.width, resultRect.size.height);
     return resultRect;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to