Title: [202020] trunk/Tools
- Revision
- 202020
- Author
- [email protected]
- Date
- 2016-06-13 19:27:08 -0700 (Mon, 13 Jun 2016)
Log Message
False-positive over-release of WebView in destroyWebViewAndOffscreenWindow() in DumpRenderTree.mm
<https://webkit.org/b/158716>
Reviewed by Andy Estes.
* DumpRenderTree/mac/DumpRenderTree.mm:
(destroyWebViewAndOffscreenWindow): Change this function to take
a WebView, and assert that it's the same as [mainFrame webView].
(dumpRenderTree): Pass 'webView' into
destroyWebViewAndOffscreenWindow().
* DumpRenderTree/mac/DumpRenderTreeMac.h:
(createWebViewAndOffscreenWindow): Add NS_RETURNS_RETAINED since
this function returns a +1 WebView. Declare this method only for
Objective-C[++] source.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (202019 => 202020)
--- trunk/Tools/ChangeLog 2016-06-14 00:34:11 UTC (rev 202019)
+++ trunk/Tools/ChangeLog 2016-06-14 02:27:08 UTC (rev 202020)
@@ -1,3 +1,20 @@
+2016-06-13 David Kilzer <[email protected]>
+
+ False-positive over-release of WebView in destroyWebViewAndOffscreenWindow() in DumpRenderTree.mm
+ <https://webkit.org/b/158716>
+
+ Reviewed by Andy Estes.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (destroyWebViewAndOffscreenWindow): Change this function to take
+ a WebView, and assert that it's the same as [mainFrame webView].
+ (dumpRenderTree): Pass 'webView' into
+ destroyWebViewAndOffscreenWindow().
+ * DumpRenderTree/mac/DumpRenderTreeMac.h:
+ (createWebViewAndOffscreenWindow): Add NS_RETURNS_RETAINED since
+ this function returns a +1 WebView. Declare this method only for
+ Objective-C[++] source.
+
2016-06-13 Sam Weinig <[email protected]>
Make HashMap and HashSet work with Refs
Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (202019 => 202020)
--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2016-06-14 00:34:11 UTC (rev 202019)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2016-06-14 02:27:08 UTC (rev 202020)
@@ -855,9 +855,9 @@
return webView;
}
-static void destroyWebViewAndOffscreenWindow()
+static void destroyWebViewAndOffscreenWindow(WebView *webView)
{
- WebView *webView = [mainFrame webView];
+ ASSERT(webView == [mainFrame webView]);
#if !PLATFORM(IOS)
NSWindow *window = [webView window];
#endif
@@ -1313,7 +1313,7 @@
if (threaded)
stopJavaScriptThreads();
- destroyWebViewAndOffscreenWindow();
+ destroyWebViewAndOffscreenWindow(webView);
releaseGlobalControllers();
Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTreeMac.h (202019 => 202020)
--- trunk/Tools/DumpRenderTree/mac/DumpRenderTreeMac.h 2016-06-14 00:34:11 UTC (rev 202019)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTreeMac.h 2016-06-14 02:27:08 UTC (rev 202020)
@@ -67,7 +67,10 @@
void setWaitToDumpWatchdog(CFRunLoopTimerRef);
bool shouldSetWaitToDumpWatchdog();
-WebView* createWebViewAndOffscreenWindow();
+#ifdef __OBJC__
+WebView *createWebViewAndOffscreenWindow() NS_RETURNS_RETAINED;
+#endif
+
void setPersistentUserStyleSheetLocation(CFStringRef);
unsigned worldIDForWorld(WebScriptWorld *);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes