Title: [98132] branches/safari-534.52-branch/Source/WebKit2

Diff

Modified: branches/safari-534.52-branch/Source/WebKit2/ChangeLog (98131 => 98132)


--- branches/safari-534.52-branch/Source/WebKit2/ChangeLog	2011-10-21 19:58:51 UTC (rev 98131)
+++ branches/safari-534.52-branch/Source/WebKit2/ChangeLog	2011-10-21 20:00:43 UTC (rev 98132)
@@ -1,5 +1,26 @@
 2011-10-21  Lucas Forschler  <[email protected]>
 
+    Merge 94454
+
+    2011-09-02  Ada Chan  <[email protected]>
+
+            Add WKContextGarbageCollectJavaScriptObjects() which does a garbage collection in the WebProcess
+            https://bugs.webkit.org/show_bug.cgi?id=67526
+
+            Reviewed by Darin Adler.
+
+            * UIProcess/API/C/WKContext.cpp:
+            (WKContextGarbageCollectJavaScriptObjects):
+            * UIProcess/API/C/WKContext.h:
+            * UIProcess/WebContext.cpp:
+            (WebKit::WebContext::garbageCollectJavaScriptObjects): Send a message to WebProcess to garbage collect JS objects.
+            * UIProcess/WebContext.h:
+            * WebProcess/WebProcess.cpp:
+            (WebKit::WebProcess::garbageCollectJavaScriptObjects): Call GCController::garbageCollectNow().
+            * WebProcess/WebProcess.h:
+            * WebProcess/WebProcess.messages.in: Add GarbageCollectJavaScriptObjects message.
+2011-10-21  Lucas Forschler  <[email protected]>
+
     Merge 94371
 
     2011-09-01  Ada Chan  <[email protected]>

Modified: branches/safari-534.52-branch/Source/WebKit2/UIProcess/API/C/WKContext.cpp (98131 => 98132)


--- branches/safari-534.52-branch/Source/WebKit2/UIProcess/API/C/WKContext.cpp	2011-10-21 19:58:51 UTC (rev 98131)
+++ branches/safari-534.52-branch/Source/WebKit2/UIProcess/API/C/WKContext.cpp	2011-10-21 20:00:43 UTC (rev 98132)
@@ -243,3 +243,8 @@
     toImpl(contextRef)->getWebCoreStatistics(DictionaryCallback::create(context, callback));    
 }
 
+void WKContextGarbageCollectJavaScriptObjects(WKContextRef contextRef)
+{
+    toImpl(contextRef)->garbageCollectJavaScriptObjects();
+}
+

Modified: branches/safari-534.52-branch/Source/WebKit2/UIProcess/API/C/WKContext.h (98131 => 98132)


--- branches/safari-534.52-branch/Source/WebKit2/UIProcess/API/C/WKContext.h	2011-10-21 19:58:51 UTC (rev 98131)
+++ branches/safari-534.52-branch/Source/WebKit2/UIProcess/API/C/WKContext.h	2011-10-21 20:00:43 UTC (rev 98132)
@@ -134,6 +134,8 @@
     
 typedef void (*WKContextGetStatisticsFunction)(WKDictionaryRef statistics, WKErrorRef error, void* functionContext);
 WK_EXPORT void WKContextGetStatistics(WKContextRef context, void* functionContext, WKContextGetStatisticsFunction function);
+    
+WK_EXPORT void WKContextGarbageCollectJavaScriptObjects(WKContextRef context);
 
 #ifdef __cplusplus
 }

Modified: branches/safari-534.52-branch/Source/WebKit2/UIProcess/WebContext.cpp (98131 => 98132)


--- branches/safari-534.52-branch/Source/WebKit2/UIProcess/WebContext.cpp	2011-10-21 19:58:51 UTC (rev 98131)
+++ branches/safari-534.52-branch/Source/WebKit2/UIProcess/WebContext.cpp	2011-10-21 20:00:43 UTC (rev 98132)
@@ -824,4 +824,9 @@
     callback->performCallbackWithReturnValue(statistics.get());
 }
     
+void WebContext::garbageCollectJavaScriptObjects()
+{
+    process()->send(Messages::WebProcess::GarbageCollectJavaScriptObjects(), 0);
+}
+
 } // namespace WebKit

Modified: branches/safari-534.52-branch/Source/WebKit2/UIProcess/WebContext.h (98131 => 98132)


--- branches/safari-534.52-branch/Source/WebKit2/UIProcess/WebContext.h	2011-10-21 19:58:51 UTC (rev 98131)
+++ branches/safari-534.52-branch/Source/WebKit2/UIProcess/WebContext.h	2011-10-21 20:00:43 UTC (rev 98132)
@@ -181,6 +181,7 @@
     bool httpPipeliningEnabled();
     
     void getWebCoreStatistics(PassRefPtr<DictionaryCallback>);
+    void garbageCollectJavaScriptObjects();
 
 private:
     WebContext(ProcessModel, const String& injectedBundlePath);

Modified: branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebProcess.cpp (98131 => 98132)


--- branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebProcess.cpp	2011-10-21 19:58:51 UTC (rev 98131)
+++ branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebProcess.cpp	2011-10-21 20:00:43 UTC (rev 98132)
@@ -926,6 +926,11 @@
     m_connection->send(Messages::WebContext::DidGetWebCoreStatistics(data, callbackID), 0);
 }
 
+void WebProcess::garbageCollectJavaScriptObjects()
+{
+    gcController().garbageCollectNow();
+}
+
 #if ENABLE(PLUGIN_PROCESS)
 void WebProcess::pluginProcessCrashed(const String& pluginPath)
 {

Modified: branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebProcess.h (98131 => 98132)


--- branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebProcess.h	2011-10-21 19:58:51 UTC (rev 98131)
+++ branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebProcess.h	2011-10-21 20:00:43 UTC (rev 98132)
@@ -177,6 +177,7 @@
     void setTextCheckerState(const TextCheckerState&);
     
     void getWebCoreStatistics(uint64_t callbackID);
+    void garbageCollectJavaScriptObjects();
 
     // ChildProcess
     virtual bool shouldTerminate();

Modified: branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebProcess.messages.in (98131 => 98132)


--- branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebProcess.messages.in	2011-10-21 19:58:51 UTC (rev 98131)
+++ branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebProcess.messages.in	2011-10-21 20:00:43 UTC (rev 98132)
@@ -69,4 +69,5 @@
     SetEnhancedAccessibility(bool flag)
 
     GetWebCoreStatistics(uint64_t callbackID)
+    GarbageCollectJavaScriptObjects()
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to