[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

slewis at apple.com slewis at apple.com
Wed Dec 22 15:56:21 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 711fb2a04b85ad92fc4882a1a83a3f7acbc9a016
Author: slewis at apple.com <slewis at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 16 23:54:36 2010 +0000

    <rdar://problem/8624267> Leak creating offscreen webview running fast/dom tests
    
    Reviewed by Geoff Garen.
    
    WebKit/mac:
    
    Make a static provider for WebDeviceOrientationProviderMock.  The old code allocated a new WebDeviceOrientationProviderMock for
    every WebView, and the WebKit API doesn't support that ownership model.
    
    * WebView/WebDeviceOrientationProviderMock.h:
    * WebView/WebDeviceOrientationProviderMock.mm:
    (+[WebDeviceOrientationProviderMock shared]):
    
    WebKitTools:
    
    Use shared DeviceOrientationProviderMock. The old allocation method created a new WebDeviceOrientationProviderMock
    for every WebView, and the WebKit API doesn't support that ownership model.
    
    I also fixed a leak in setMockDeviceOrientation by adding a missing release.
    
    * DumpRenderTree/mac/DumpRenderTree.mm:
    (createWebViewAndOffscreenWindow):
    * DumpRenderTree/mac/LayoutTestControllerMac.mm:
    (LayoutTestController::setMockDeviceOrientation):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 686fc00..4acd7e5 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,16 @@
+2010-11-16  Stephanie Lewis  <slewis at apple.com>
+
+        Reviewed by Geoff Garen.
+
+        <rdar://problem/8624267> Leak creating offscreen webview running fast/dom tests
+
+        Make a static provider for WebDeviceOrientationProviderMock.  The old code allocated a new WebDeviceOrientationProviderMock for 
+        every WebView, and the WebKit API doesn't support that ownership model.
+
+        * WebView/WebDeviceOrientationProviderMock.h:
+        * WebView/WebDeviceOrientationProviderMock.mm:
+        (+[WebDeviceOrientationProviderMock shared]):
+
 2010-11-16  Dave Hyatt  <hyatt at apple.com>
 
         Reviewed by Dan Bernstein.
diff --git a/WebKit/mac/WebView/WebDeviceOrientationProviderMock.h b/WebKit/mac/WebView/WebDeviceOrientationProviderMock.h
index be5a764..8f33691 100644
--- a/WebKit/mac/WebView/WebDeviceOrientationProviderMock.h
+++ b/WebKit/mac/WebView/WebDeviceOrientationProviderMock.h
@@ -32,6 +32,8 @@
     WebDeviceOrientationProviderMockInternal* m_internal;
 }
 
++ (WebDeviceOrientationProviderMock *)shared;
+
 - (id)init;
 - (void)setOrientation:(WebDeviceOrientation*)orientation;
 
diff --git a/WebKit/mac/WebView/WebDeviceOrientationProviderMock.mm b/WebKit/mac/WebView/WebDeviceOrientationProviderMock.mm
index 0435264..9600b7d 100644
--- a/WebKit/mac/WebView/WebDeviceOrientationProviderMock.mm
+++ b/WebKit/mac/WebView/WebDeviceOrientationProviderMock.mm
@@ -78,6 +78,12 @@ using namespace WebCore;
 
 @implementation WebDeviceOrientationProviderMock
 
++ (WebDeviceOrientationProviderMock *)shared
+{
+    static WebDeviceOrientationProviderMock *provider = [[WebDeviceOrientationProviderMock alloc] init];
+    return provider;
+}
+
 - (id)init
 {
     self = [super init];
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 82e66b6..dd02e2f 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,19 @@
+2010-11-16  Stephanie Lewis  <slewis at apple.com>
+
+        Reviewed by Geoff Garen.
+
+        <rdar://problem/8624267> Leak creating offscreen webview running fast/dom tests
+
+        Use shared DeviceOrientationProviderMock. The old allocation method created a new WebDeviceOrientationProviderMock 
+        for every WebView, and the WebKit API doesn't support that ownership model.
+
+        I also fixed a leak in setMockDeviceOrientation by adding a missing release.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (createWebViewAndOffscreenWindow):
+        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+        (LayoutTestController::setMockDeviceOrientation):
+
 2010-11-16  Dirk Pranke  <dpranke at chromium.org>
 
         Reviewed by Ojan Vafai.
diff --git a/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm b/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm
index 6de282f..489f6b2 100644
--- a/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm
+++ b/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm
@@ -295,7 +295,7 @@ WebView *createWebViewAndOffscreenWindow()
     [webView setEditingDelegate:editingDelegate];
     [webView setResourceLoadDelegate:resourceLoadDelegate];
     [webView _setGeolocationProvider:[MockGeolocationProvider shared]];
-    [webView _setDeviceOrientationProvider:[[WebDeviceOrientationProviderMock alloc] init]];
+    [webView _setDeviceOrientationProvider:[WebDeviceOrientationProviderMock shared]];
 
     // Register the same schemes that Safari does
     [WebView registerURLSchemeAsLocal:@"feed"];
diff --git a/WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm b/WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm
index 431d4e9..0191084 100644
--- a/WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm
+++ b/WebKitTools/DumpRenderTree/mac/LayoutTestControllerMac.mm
@@ -348,6 +348,7 @@ void LayoutTestController::setMockDeviceOrientation(bool canProvideAlpha, double
     WebDeviceOrientationProviderMock* mockProvider = static_cast<WebDeviceOrientationProviderMock*>(provider);
     WebDeviceOrientation* orientation = [[WebDeviceOrientation alloc] initWithCanProvideAlpha:canProvideAlpha alpha:alpha canProvideBeta:canProvideBeta beta:beta canProvideGamma:canProvideGamma gamma:gamma];
     [mockProvider setOrientation:orientation];
+    [orientation release];
 }
 
 void LayoutTestController::setMockGeolocationPosition(double latitude, double longitude, double accuracy)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list