From a0223ac038ace94f09bbdcd1896eace2dc8ff104 Mon Sep 17 00:00:00 2001 From: "rakuco@webkit.org" Date: Fri, 18 May 2012 04:46:34 +0000 Subject: [PATCH] [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. 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 | 15 +++++++++++++++ .../efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp | 10 ++++++++++ .../WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h | 1 + Tools/ChangeLog | 14 ++++++++++++++ Tools/DumpRenderTree/efl/DumpRenderTree.cpp | 4 ++++ 5 files changed, 44 insertions(+) diff --git a/Source/WebKit/efl/ChangeLog b/Source/WebKit/efl/ChangeLog index 5461fb5..1824620 100644 --- a/Source/WebKit/efl/ChangeLog +++ b/Source/WebKit/efl/ChangeLog @@ -1,3 +1,18 @@ +2012-05-17 Raphael Kubo da Costa + + [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 Memory leak in NetworkInfoClient diff --git a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp index d7f0832..cdbd894 100644 --- a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp +++ b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp @@ -27,6 +27,7 @@ #include "ewk_private.h" #include "ewk_view_private.h" +#include #include #include #include @@ -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); diff --git a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h index 38759d6..5bbae4b 100644 --- a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h +++ b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h @@ -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); diff --git a/Tools/ChangeLog b/Tools/ChangeLog index b984d81..c49d299 100644 --- a/Tools/ChangeLog +++ b/Tools/ChangeLog @@ -1,3 +1,17 @@ +2012-05-17 Raphael Kubo da Costa + + [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 Unreviewed, rolling out r117526. diff --git a/Tools/DumpRenderTree/efl/DumpRenderTree.cpp b/Tools/DumpRenderTree/efl/DumpRenderTree.cpp index d8931f0..668aa46 100644 --- a/Tools/DumpRenderTree/efl/DumpRenderTree.cpp +++ b/Tools/DumpRenderTree/efl/DumpRenderTree.cpp @@ -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 @@ -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(); -- 2.7.4