[EFL][DRT] Call resetInternalsObject() after each test.
authorrakuco@webkit.org <rakuco@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 18 May 2012 04:46:34 +0000 (04:46 +0000)
committerrakuco@webkit.org <rakuco@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 18 May 2012 04:46:34 +0000 (04:46 +0000)
https://bugs.webkit.org/show_bug.cgi?id=86793

Reviewed by Antonio Gomes.

We need to reset the internals object's settings after running
each test so that there are no interferences between each test's
results.

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::globalContextRefForFrame):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

* DumpRenderTree/efl/DumpRenderTree.cpp:
(runTest):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117540 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/efl/ChangeLog
Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
Tools/ChangeLog
Tools/DumpRenderTree/efl/DumpRenderTree.cpp

index 5461fb5..1824620 100644 (file)
@@ -1,3 +1,18 @@
+2012-05-17  Raphael Kubo da Costa  <rakuco@webkit.org>
+
+        [EFL][DRT] Call resetInternalsObject() after each test.
+        https://bugs.webkit.org/show_bug.cgi?id=86793
+
+        Reviewed by Antonio Gomes.
+
+        We need to reset the internals object's settings after running
+        each test so that there are no interferences between each test's
+        results.
+
+        * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+        (DumpRenderTreeSupportEfl::globalContextRefForFrame):
+        * WebCoreSupport/DumpRenderTreeSupportEfl.h:
+
 2012-05-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
 
         Memory leak in NetworkInfoClient
index d7f0832..cdbd894 100644 (file)
@@ -27,6 +27,7 @@
 #include "ewk_private.h"
 #include "ewk_view_private.h"
 
+#include <APICast.h>
 #include <AnimationController.h>
 #include <CSSComputedStyleDeclaration.h>
 #include <DocumentLoader.h>
@@ -577,6 +578,15 @@ void DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld(const Evas_Object*
     proxy->executeScriptInWorld(scriptWorld.get(), script, true);
 }
 
+JSGlobalContextRef DumpRenderTreeSupportEfl::globalContextRefForFrame(const Evas_Object* ewkFrame)
+{
+    WebCore::Frame* coreFrame = EWKPrivate::coreFrame(ewkFrame);
+    if (!coreFrame)
+        return 0;
+
+    return toGlobalRef(coreFrame->script()->globalObject(WebCore::mainThreadNormalWorld())->globalExec());
+}
+
 void DumpRenderTreeSupportEfl::setMockScrollbarsEnabled(bool enable)
 {
     WebCore::Settings::setMockScrollbarsEnabled(enable);
index 38759d6..5bbae4b 100644 (file)
@@ -89,6 +89,7 @@ public:
     static String historyItemTarget(const Ewk_History_Item*);
     static bool isTargetItem(const Ewk_History_Item*);
     static void evaluateScriptInIsolatedWorld(const Evas_Object* ewkFrame, int worldID, JSObjectRef globalObject, const String& script);
+    static JSGlobalContextRef globalContextRefForFrame(const Evas_Object* ewkFrame);
 
     static void setMockScrollbarsEnabled(bool);
 
index b984d81..c49d299 100644 (file)
@@ -1,3 +1,17 @@
+2012-05-17  Raphael Kubo da Costa  <rakuco@webkit.org>
+
+        [EFL][DRT] Call resetInternalsObject() after each test.
+        https://bugs.webkit.org/show_bug.cgi?id=86793
+
+        Reviewed by Antonio Gomes.
+
+        We need to reset the internals object's settings after running
+        each test so that there are no interferences between each test's
+        results.
+
+        * DumpRenderTree/efl/DumpRenderTree.cpp:
+        (runTest):
+
 2012-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
 
         Unreviewed, rolling out r117526.
index d8931f0..668aa46 100644 (file)
@@ -35,6 +35,7 @@
 #include "NotImplemented.h"
 #include "PixelDumpSupport.h"
 #include "WebCoreSupport/DumpRenderTreeSupportEfl.h"
+#include "WebCoreTestSupport.h"
 #include "WorkQueue.h"
 #include "ewk_private.h"
 #include <EWebKit.h>
@@ -252,6 +253,9 @@ static void runTest(const char* cTestPathOrURL)
 
     browser->clearExtraViews();
 
+    // FIXME: Move to DRTChrome::resetDefaultsToConsistentValues() after bug 85209 lands.
+    WebCoreTestSupport::resetInternalsObject(DumpRenderTreeSupportEfl::globalContextRefForFrame(browser->mainFrame()));
+
     ewk_view_uri_set(browser->mainView(), "about:blank");
 
     gLayoutTestController.clear();