Diff
Modified: trunk/Tools/ChangeLog (96942 => 96943)
--- trunk/Tools/ChangeLog 2011-10-07 16:16:28 UTC (rev 96942)
+++ trunk/Tools/ChangeLog 2011-10-07 16:22:01 UTC (rev 96943)
@@ -1,3 +1,73 @@
+2011-10-07 Raphael Kubo da Costa <[email protected]>
+
+ [EFL] DRT: Add DumpRenderTreeChrome.{cpp,h}
+ https://bugs.webkit.org/show_bug.cgi?id=66380
+
+ Reviewed by Antonio Gomes.
+
+ This encapsulates EWebKit into an object that manages multiple windows
+ and provides a cleaner interface to EFL's DumpRenderTree.
+
+ * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: Added.
+ (DumpRenderTreeChrome::create):
+ (DumpRenderTreeChrome::DumpRenderTreeChrome):
+ (DumpRenderTreeChrome::~DumpRenderTreeChrome):
+ (DumpRenderTreeChrome::createNewWindow):
+ (DumpRenderTreeChrome::createView):
+ (DumpRenderTreeChrome::removeWindow):
+ (DumpRenderTreeChrome::initialize):
+ (DumpRenderTreeChrome::extraViews):
+ (DumpRenderTreeChrome::mainFrame):
+ (DumpRenderTreeChrome::mainView):
+ (DumpRenderTreeChrome::resetDefaultsToConsistentValues):
+ (DumpRenderTreeChrome::onWindowObjectCleared):
+ (DumpRenderTreeChrome::onLoadStarted):
+ (DumpRenderTreeChrome::processWork):
+ (DumpRenderTreeChrome::onLoadFinished):
+ (DumpRenderTreeChrome::onStatusbarTextSet):
+ (DumpRenderTreeChrome::onTitleChanged):
+ (DumpRenderTreeChrome::onDocumentLoadFinished):
+ * DumpRenderTree/efl/DumpRenderTreeChrome.h: Added.
+ * DumpRenderTree/efl/EventSender.cpp:
+ (sendClick): Use browser->mainFrame() instead of mainFrame.
+ (mouseDownCallback): Ditto.
+ (mouseUpCallback): Ditto.
+ (mouseMoveToCallback): Ditto.
+ (mouseScrollByCallback): Ditto.
+ (keyDownCallback): Ditto.
+ (scalePageByCallback): Ditto.
+ * DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
+ (LayoutTestController::counterValueForElementById): Use
+ browser->mainFrame() instead of mainFrame.
+ (LayoutTestController::pageNumberForElementById): Ditto.
+ (LayoutTestController::numberOfPages): Ditto.
+ (LayoutTestController::pauseAnimationAtTimeOnElementWithId): Ditto.
+ (LayoutTestController::pauseTransitionAtTimeOnElementWithId): Ditto.
+ (LayoutTestController::sampleSVGAnimationForElementAtTime): Ditto.
+ (LayoutTestController::numberOfActiveAnimations): Ditto.
+ (LayoutTestController::suspendAnimations): Ditto.
+ (LayoutTestController::resumeAnimations): Ditto.
+ (LayoutTestController::setWebViewEditable): Ditto.
+ (LayoutTestController::webHistoryItemCount): Use browser->mainView()
+ instead of browser.
+ (LayoutTestController::queueLoad): Ditto.
+ (LayoutTestController::setAcceptsEditing): Ditto.
+ (LayoutTestController::setUserStyleSheetEnabled): Ditto.
+ (LayoutTestController::setPrivateBrowsingEnabled): Ditto.
+ (LayoutTestController::setFrameFlatteningEnabled): Ditto.
+ (LayoutTestController::setSpatialNavigationEnabled): Ditto.
+ (LayoutTestController::setPluginsEnabled): Ditto.
+ (LayoutTestController::findString): Ditto.
+ (LayoutTestController::setDeveloperExtrasEnabled): Ditto.
+ * DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
+ (createBitmapContextFromWebView): Use browser->mainFrame() instead of
+ mainFrame.
+ * DumpRenderTree/efl/WorkQueueItemEfl.cpp:
+ (LoadItem::invoke): Ditto.
+ (LoadHTMLStringItem::invoke): Ditto.
+ (ScriptItem::invoke): Ditto.
+ (ReloadItem::invoke): Use browser->mainView() instead of browser.
+
2011-10-07 Simon Hausmann <[email protected]>
[Qt][WK2] Touch mocking is broken with Qt 5 post refactor merge
Added: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp (0 => 96943)
--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp (rev 0)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp 2011-10-07 16:22:01 UTC (rev 96943)
@@ -0,0 +1,282 @@
+/*
+ * Copyright (C) 2011 ProFUSION Embedded Systems
+ * Copyright (C) 2011 Samsung Electronics
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND ITS CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDERS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "DumpRenderTreeChrome.h"
+
+#include "DumpRenderTree.h"
+#include "DumpRenderTreeView.h"
+#include "EventSender.h"
+#include "GCController.h"
+#include "LayoutTestController.h"
+#include "NotImplemented.h"
+#include "WorkQueue.h"
+#include "ewk_private.h" // FIXME: create some WebCoreSupport/DumpRenderTree.cpp instead
+
+#include <EWebKit.h>
+#include <Ecore.h>
+#include <Eina.h>
+#include <Evas.h>
+#include <cstdio>
+#include <wtf/NotFound.h>
+
+PassOwnPtr<DumpRenderTreeChrome> DumpRenderTreeChrome::create(Evas* evas)
+{
+ OwnPtr<DumpRenderTreeChrome> chrome = adoptPtr(new DumpRenderTreeChrome(evas));
+
+ if (!chrome->initialize())
+ return nullptr;
+
+ return chrome.release();
+}
+
+DumpRenderTreeChrome::DumpRenderTreeChrome(Evas* evas)
+ : m_mainView(0)
+ , m_mainFrame(0)
+ , m_evas(evas)
+ , m_gcController(adoptPtr(new GCController))
+{
+}
+
+DumpRenderTreeChrome::~DumpRenderTreeChrome()
+{
+}
+
+Evas_Object* DumpRenderTreeChrome::createNewWindow()
+{
+ Evas_Object* newView = createView();
+
+ ewk_view_setting_scripts_window_open_set(newView, EINA_TRUE);
+ ewk_view_setting_scripts_can_close_windows_set(newView, EINA_TRUE);
+
+ m_extraViews.append(newView);
+
+ return newView;
+}
+
+Evas_Object* DumpRenderTreeChrome::createView() const
+{
+ Evas_Object* view = drtViewTiledAdd(m_evas);
+ if (!view)
+ return 0;
+
+ ewk_view_theme_set(view, DATA_DIR"/default.edj");
+
+ evas_object_smart_callback_add(view, "load,started", onLoadStarted, 0);
+ evas_object_smart_callback_add(view, "load,finished", onLoadFinished, 0);
+ evas_object_smart_callback_add(view, "title,changed", onTitleChanged, 0);
+ evas_object_smart_callback_add(view, "window,object,cleared", onWindowObjectCleared, m_gcController.get());
+ evas_object_smart_callback_add(view, "statusbar,text,set", onStatusbarTextSet, 0);
+ evas_object_smart_callback_add(view, "load,document,finished", onDocumentLoadFinished, 0);
+
+ return view;
+}
+
+void DumpRenderTreeChrome::removeWindow(Evas_Object* view)
+{
+ const size_t pos = m_extraViews.find(view);
+
+ if (pos == notFound)
+ return;
+
+ m_extraViews.remove(pos);
+ evas_object_del(view);
+}
+
+bool DumpRenderTreeChrome::initialize()
+{
+ m_mainView = createView();
+ if (!m_mainView)
+ return false;
+
+ ewk_view_theme_set(m_mainView, DATA_DIR"/default.edj");
+
+ evas_object_name_set(m_mainView, "m_mainView");
+ evas_object_move(m_mainView, 0, 0);
+ evas_object_resize(m_mainView, 800, 600);
+ evas_object_layer_set(m_mainView, EVAS_LAYER_MAX);
+ evas_object_show(m_mainView);
+ evas_object_focus_set(m_mainView, EINA_TRUE);
+
+ m_mainFrame = ewk_view_frame_main_get(m_mainView);
+
+ return true;
+}
+
+Vector<Evas_Object*> DumpRenderTreeChrome::extraViews() const
+{
+ return m_extraViews;
+}
+
+Evas_Object* DumpRenderTreeChrome::mainFrame() const
+{
+ return m_mainFrame;
+}
+
+Evas_Object* DumpRenderTreeChrome::mainView() const
+{
+ return m_mainView;
+}
+
+void DumpRenderTreeChrome::resetDefaultsToConsistentValues()
+{
+ Vector<Evas_Object*>::iterator it = m_extraViews.begin();
+ for (; it != m_extraViews.end(); ++it)
+ evas_object_del(*it);
+ m_extraViews.clear();
+
+ ewk_settings_icon_database_clear();
+ ewk_settings_icon_database_path_set(0);
+
+ ewk_view_setting_private_browsing_set(mainView(), EINA_FALSE);
+ ewk_view_setting_spatial_navigation_set(mainView(), EINA_FALSE);
+ ewk_view_setting_enable_frame_flattening_set(mainView(), EINA_FALSE);
+ ewk_view_setting_offline_app_cache_set(mainView(), EINA_TRUE);
+ ewk_view_setting_enable_scripts_set(mainView(), EINA_TRUE);
+ ewk_view_font_family_name_set(mainView(), EWK_FONT_FAMILY_STANDARD, "Times");
+ ewk_view_font_family_name_set(mainView(), EWK_FONT_FAMILY_MONOSPACE, "Courier");
+ ewk_view_font_family_name_set(mainView(), EWK_FONT_FAMILY_SERIF, "Times");
+ ewk_view_font_family_name_set(mainView(), EWK_FONT_FAMILY_SANS_SERIF, "Helvetica");
+ ewk_view_font_family_name_set(mainView(), EWK_FONT_FAMILY_CURSIVE, "cursive");
+ ewk_view_font_family_name_set(mainView(), EWK_FONT_FAMILY_FANTASY, "fantasy");
+ ewk_view_setting_font_default_size_set(mainView(), 16);
+ ewk_view_setting_font_monospace_size_set(mainView(), 13);
+ ewk_view_setting_font_minimum_size_set(mainView(), 0);
+ ewk_view_setting_caret_browsing_set(mainView(), EINA_FALSE);
+ ewk_view_setting_page_cache_set(mainView(), EINA_FALSE);
+ ewk_view_setting_enable_auto_resize_window_set(mainView(), EINA_TRUE);
+ ewk_view_setting_enable_plugins_set(mainView(), EINA_TRUE);
+ ewk_view_setting_scripts_window_open_set(mainView(), EINA_TRUE);
+ ewk_view_setting_scripts_can_close_windows_set(mainView(), EINA_TRUE);
+
+ ewk_view_zoom_set(mainView(), 1.0, 0, 0);
+ ewk_view_page_scale(mainView(), 1.0, 0, 0);
+
+ Ewk_History* history = ewk_view_history_get(mainView());
+ int limit = ewk_history_limit_get(history);
+ ewk_history_limit_set(history, 0);
+ ewk_history_limit_set(history, limit);
+
+ ewk_cookies_clear();
+ ewk_cookies_policy_set(EWK_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY);
+
+ ewk_frame_name_clear(mainFrame());
+ ewk_frame_opener_clear(mainFrame());
+}
+
+// Smart Callbacks
+// ---------------
+
+void DumpRenderTreeChrome::onWindowObjectCleared(void* userData, Evas_Object*, void* eventInfo)
+{
+ Ewk_Window_Object_Cleared_Event* objectClearedInfo = static_cast<Ewk_Window_Object_Cleared_Event*>(eventInfo);
+ JSValueRef exception = 0;
+ ASSERT(gLayoutTestController);
+
+ GCController* gcController = static_cast<GCController*>(userData);
+ ASSERT(gcController);
+
+ gLayoutTestController->makeWindowObject(objectClearedInfo->context, objectClearedInfo->windowObject, &exception);
+ ASSERT(!exception);
+
+ gcController->makeWindowObject(objectClearedInfo->context, objectClearedInfo->windowObject, &exception);
+ ASSERT(!exception);
+
+ JSRetainPtr<JSStringRef> controllerName(JSStringCreateWithUTF8CString("eventSender"));
+ JSObjectSetProperty(objectClearedInfo->context, objectClearedInfo->windowObject,
+ controllerName.get(),
+ makeEventSender(objectClearedInfo->context, false), // FIXME: s/false/!get_parent/.
+ kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete, 0);
+}
+
+void DumpRenderTreeChrome::onLoadStarted(void*, Evas_Object* view, void*)
+{
+ // FIXME: we actually need the frame related to this event
+ Evas_Object* frame = ewk_view_frame_main_get(view);
+
+ // Make sure we only set this once per test. If it gets cleared, and then set again, we might
+ // end up doing two dumps for one test.
+ if (!topLoadingFrame && !done)
+ topLoadingFrame = frame;
+}
+
+Eina_Bool DumpRenderTreeChrome::processWork(void* data)
+{
+ Evas_Object* frame = static_cast<Evas_Object*>(data);
+
+ if (WorkQueue::shared()->processWork() && !gLayoutTestController->waitToDump())
+ dump();
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void DumpRenderTreeChrome::onLoadFinished(void*, Evas_Object* view, void*)
+{
+ // FIXME: we actually need the frame related to this event
+ Evas_Object* frame = ewk_view_frame_main_get(view);
+
+ if (topLoadingFrame != frame)
+ return;
+
+ topLoadingFrame = 0;
+
+ WorkQueue::shared()->setFrozen(true);
+ if (gLayoutTestController->waitToDump())
+ return;
+
+ if (WorkQueue::shared()->count())
+ ecore_idler_add(processWork, frame);
+ else
+ dump();
+}
+
+void DumpRenderTreeChrome::onStatusbarTextSet(void*, Evas_Object*, void* eventInfo)
+{
+ if (!gLayoutTestController->dumpStatusCallbacks())
+ return;
+
+ const char* statusbarText = static_cast<const char*>(eventInfo);
+ printf("UI DELEGATE STATUS CALLBACK: setStatusText:%s\n", statusbarText);
+}
+
+void DumpRenderTreeChrome::onTitleChanged(void*, Evas_Object*, void*)
+{
+ notImplemented();
+}
+
+void DumpRenderTreeChrome::onDocumentLoadFinished(void*, Evas_Object*, void* eventInfo)
+{
+ const Evas_Object* frame = static_cast<Evas_Object*>(eventInfo);
+ const String frameName(ewk_frame_suitable_drt_name_get(frame));
+
+ if (!done && gLayoutTestController->dumpFrameLoadCallbacks())
+ printf("%s - didFinishDocumentLoadForFrame\n", frameName.utf8().data());
+ else if (!done) {
+ const unsigned pendingFrameUnloadEvents = ewk_frame_pending_unload_event_count_get(frame);
+ if (pendingFrameUnloadEvents)
+ printf("%s - has %u onunload handler(s)\n", frameName.utf8().data(), pendingFrameUnloadEvents);
+ }
+}
Added: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h (0 => 96943)
--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h (rev 0)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h 2011-10-07 16:22:01 UTC (rev 96943)
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2011 ProFUSION Embedded Systems
+ * Copyright (C) 2011 Samsung Electronics
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND ITS CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDERS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DumpRenderTreeChrome_h
+#define DumpRenderTreeChrome_h
+
+#include "GCController.h"
+
+#include <Eina.h>
+#include <Evas.h>
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
+#include <wtf/Vector.h>
+
+class DumpRenderTreeChrome {
+public:
+ ~DumpRenderTreeChrome();
+
+ static PassOwnPtr<DumpRenderTreeChrome> create(Evas*);
+
+ Evas_Object* createNewWindow();
+ void removeWindow(Evas_Object*);
+
+ Vector<Evas_Object*> extraViews() const;
+ Evas_Object* mainFrame() const;
+ Evas_Object* mainView() const;
+
+ void resetDefaultsToConsistentValues();
+
+private:
+ DumpRenderTreeChrome(Evas*);
+
+ Evas_Object* createView() const;
+ bool initialize();
+
+ Evas_Object* m_mainFrame;
+ Evas_Object* m_mainView;
+ Evas* m_evas;
+ OwnPtr<GCController> m_gcController;
+ Vector<Evas_Object*> m_extraViews;
+
+ // Smart callbacks
+ static void onWindowObjectCleared(void*, Evas_Object*, void*);
+ static void onLoadStarted(void*, Evas_Object*, void*);
+
+ static Eina_Bool processWork(void*);
+
+ static void onLoadFinished(void*, Evas_Object*, void*);
+
+ static void onStatusbarTextSet(void*, Evas_Object*, void*);
+
+ static void onTitleChanged(void*, Evas_Object*, void*);
+
+ static void onDocumentLoadFinished(void*, Evas_Object*, void*);
+};
+
+#endif // DumpRenderTreeChrome_h
Modified: trunk/Tools/DumpRenderTree/efl/EventSender.cpp (96942 => 96943)
--- trunk/Tools/DumpRenderTree/efl/EventSender.cpp 2011-10-07 16:16:28 UTC (rev 96942)
+++ trunk/Tools/DumpRenderTree/efl/EventSender.cpp 2011-10-07 16:22:01 UTC (rev 96943)
@@ -152,7 +152,7 @@
static Eina_Bool sendClick(void*)
{
- return !!sendMouseEvent(evas_object_evas_get(mainFrame), EvasMouseEventClick, EvasMouseButtonLeft, EvasKeyModifierNone);
+ return !!sendMouseEvent(evas_object_evas_get(browser->mainFrame()), EvasMouseEventClick, EvasMouseButtonLeft, EvasKeyModifierNone);
}
static JSValueRef scheduleAsynchronousClickCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
@@ -223,7 +223,7 @@
updateClickCount(button);
EvasKeyModifier modifiers = argumentCount >= 2 ? modifiersFromJSValue(context, arguments[1]) : EvasKeyModifierNone;
- if (!sendMouseEvent(evas_object_evas_get(mainFrame), EvasMouseEventDown, button, modifiers))
+ if (!sendMouseEvent(evas_object_evas_get(browser->mainFrame()), EvasMouseEventDown, button, modifiers))
return JSValueMakeUndefined(context);
gButtonCurrentlyDown = button;
@@ -246,7 +246,7 @@
gButtonCurrentlyDown = 0;
EvasKeyModifier modifiers = argumentCount >= 2 ? modifiersFromJSValue(context, arguments[1]) : EvasKeyModifierNone;
- sendMouseEvent(evas_object_evas_get(mainFrame), EvasMouseEventUp, translateMouseButtonNumber(button), modifiers);
+ sendMouseEvent(evas_object_evas_get(browser->mainFrame()), EvasMouseEventUp, translateMouseButtonNumber(button), modifiers);
return JSValueMakeUndefined(context);
}
@@ -262,7 +262,7 @@
if (exception && *exception)
return JSValueMakeUndefined(context);
- sendMouseEvent(evas_object_evas_get(mainFrame), EvasMouseEventMove, EvasMouseButtonNone, EvasKeyModifierNone);
+ sendMouseEvent(evas_object_evas_get(browser->mainFrame()), EvasMouseEventMove, EvasMouseButtonNone, EvasKeyModifierNone);
return JSValueMakeUndefined(context);
}
@@ -295,7 +295,7 @@
if (exception && *exception)
return JSValueMakeUndefined(context);
- sendMouseEvent(evas_object_evas_get(mainFrame), evasMouseEventFromHorizontalAndVerticalOffsets(horizontal, vertical), EvasMouseButtonNone, EvasKeyModifierNone);
+ sendMouseEvent(evas_object_evas_get(browser->mainFrame()), evasMouseEventFromHorizontalAndVerticalOffsets(horizontal, vertical), EvasMouseButtonNone, EvasKeyModifierNone);
return JSValueMakeUndefined(context);
}
@@ -400,7 +400,7 @@
static JSValueRef keyDownCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
{
- Evas_Object* view = ewk_frame_view_get(mainFrame);
+ Evas_Object* view = ewk_frame_view_get(browser->mainFrame());
if (!view)
return JSValueMakeUndefined(context);
@@ -435,7 +435,7 @@
if (argumentCount < 3)
return JSValueMakeUndefined(context);
- Evas_Object* view = ewk_frame_view_get(mainFrame);
+ Evas_Object* view = ewk_frame_view_get(browser->mainFrame());
if (!view)
return JSValueMakeUndefined(context);
Modified: trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp (96942 => 96943)
--- trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp 2011-10-07 16:16:28 UTC (rev 96942)
+++ trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp 2011-10-07 16:22:01 UTC (rev 96943)
@@ -90,7 +90,7 @@
JSRetainPtr<JSStringRef> LayoutTestController::counterValueForElementById(JSStringRef id)
{
- OwnFastMallocPtr<char> counterValue(ewk_frame_counter_value_by_element_id_get(mainFrame, id->ustring().utf8().data()));
+ OwnFastMallocPtr<char> counterValue(ewk_frame_counter_value_by_element_id_get(browser->mainFrame(), id->ustring().utf8().data()));
return JSRetainPtr<JSStringRef>(Adopt, JSStringCreateWithUTF8CString(counterValue.get()));
}
@@ -119,12 +119,12 @@
int LayoutTestController::pageNumberForElementById(JSStringRef id, float pageWidth, float pageHeight)
{
- return ewk_frame_page_number_by_element_id_get(mainFrame, id->ustring().utf8().data(), pageWidth, pageHeight);
+ return ewk_frame_page_number_by_element_id_get(browser->mainFrame(), id->ustring().utf8().data(), pageWidth, pageHeight);
}
int LayoutTestController::numberOfPages(float pageWidth, float pageHeight)
{
- return ewk_frame_page_number_get(mainFrame, pageWidth, pageHeight);
+ return ewk_frame_page_number_get(browser->mainFrame(), pageWidth, pageHeight);
}
JSRetainPtr<JSStringRef> LayoutTestController::pageProperty(const char*, int) const
@@ -147,7 +147,7 @@
size_t LayoutTestController::webHistoryItemCount()
{
- const Ewk_History* history = ewk_view_history_get(browser);
+ const Ewk_History* history = ewk_view_history_get(browser->mainView());
if (!history)
return -1;
@@ -175,7 +175,7 @@
void LayoutTestController::queueLoad(JSStringRef url, JSStringRef target)
{
- String absoluteUrl = String::fromUTF8(ewk_frame_uri_get(mainFrame));
+ String absoluteUrl = String::fromUTF8(ewk_frame_uri_get(browser->mainFrame()));
absoluteUrl.append(url->characters(), url->length());
JSRetainPtr<JSStringRef> jsAbsoluteURL(
@@ -186,7 +186,7 @@
void LayoutTestController::setAcceptsEditing(bool acceptsEditing)
{
- ewk_view_editable_set(browser, acceptsEditing);
+ ewk_view_editable_set(browser->mainView(), acceptsEditing);
}
void LayoutTestController::setAlwaysAcceptCookies(bool alwaysAcceptCookies)
@@ -241,7 +241,7 @@
void LayoutTestController::setUserStyleSheetEnabled(bool flag)
{
gUserStyleSheetEnabled = flag;
- ewk_view_setting_user_stylesheet_set(browser, flag ? gUserStyleSheet.data() : 0);
+ ewk_view_setting_user_stylesheet_set(browser->mainView(), flag ? gUserStyleSheet.data() : 0);
}
void LayoutTestController::setUserStyleSheetLocation(JSStringRef path)
@@ -295,7 +295,7 @@
void LayoutTestController::setPrivateBrowsingEnabled(bool flag)
{
- ewk_view_setting_private_browsing_set(browser, flag);
+ ewk_view_setting_private_browsing_set(browser->mainView(), flag);
}
void LayoutTestController::setJavaScriptCanAccessClipboard(bool)
@@ -310,12 +310,12 @@
void LayoutTestController::setFrameFlatteningEnabled(bool flag)
{
- ewk_view_setting_enable_frame_flattening_set(browser, flag);
+ ewk_view_setting_enable_frame_flattening_set(browser->mainView(), flag);
}
void LayoutTestController::setSpatialNavigationEnabled(bool flag)
{
- ewk_view_setting_spatial_navigation_set(browser, flag);
+ ewk_view_setting_spatial_navigation_set(browser->mainView(), flag);
}
void LayoutTestController::setAllowUniversalAccessFromFileURLs(bool)
@@ -432,7 +432,7 @@
void LayoutTestController::setPluginsEnabled(bool flag)
{
- ewk_view_setting_enable_plugins_set(browser, flag);
+ ewk_view_setting_enable_plugins_set(browser->mainView(), flag);
}
bool LayoutTestController::elementDoesAutoCompleteForElementWithId(JSStringRef)
@@ -472,7 +472,7 @@
wrap = true;
}
- return !!ewk_view_text_search(browser, target->ustring().utf8().data(), caseSensitive, forward, wrap);
+ return !!ewk_view_text_search(browser->mainView(), target->ustring().utf8().data(), caseSensitive, forward, wrap);
}
bool LayoutTestController::isCommandEnabled(JSStringRef name)
@@ -593,32 +593,32 @@
bool LayoutTestController::pauseAnimationAtTimeOnElementWithId(JSStringRef animationName, double time, JSStringRef elementId)
{
- return ewk_frame_animation_pause(mainFrame, animationName->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
+ return ewk_frame_animation_pause(browser->mainFrame(), animationName->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
}
bool LayoutTestController::pauseTransitionAtTimeOnElementWithId(JSStringRef propertyName, double time, JSStringRef elementId)
{
- return ewk_frame_transition_pause(mainFrame, propertyName->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
+ return ewk_frame_transition_pause(browser->mainFrame(), propertyName->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
}
bool LayoutTestController::sampleSVGAnimationForElementAtTime(JSStringRef animationId, double time, JSStringRef elementId)
{
- return ewk_frame_svg_animation_pause(mainFrame, animationId->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
+ return ewk_frame_svg_animation_pause(browser->mainFrame(), animationId->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
}
unsigned LayoutTestController::numberOfActiveAnimations() const
{
- return ewk_frame_animation_active_number_get(mainFrame);
+ return ewk_frame_animation_active_number_get(browser->mainFrame());
}
void LayoutTestController::suspendAnimations() const
{
- ewk_frame_animation_suspend(mainFrame);
+ ewk_frame_animation_suspend(browser->mainFrame());
}
void LayoutTestController::resumeAnimations() const
{
- ewk_frame_animation_resume(mainFrame);
+ ewk_frame_animation_resume(browser->mainFrame());
}
void LayoutTestController::overridePreference(JSStringRef, JSStringRef)
@@ -639,7 +639,7 @@
void LayoutTestController::setDeveloperExtrasEnabled(bool enabled)
{
- ewk_view_setting_enable_developer_extras_set(browser, enabled);
+ ewk_view_setting_enable_developer_extras_set(browser->mainView(), enabled);
}
void LayoutTestController::setAsynchronousSpellCheckingEnabled(bool)
@@ -690,7 +690,7 @@
void LayoutTestController::setWebViewEditable(bool)
{
- ewk_frame_editable_set(mainFrame, EINA_TRUE);
+ ewk_frame_editable_set(browser->mainFrame(), EINA_TRUE);
}
JSRetainPtr<JSStringRef> LayoutTestController::markerTextForListItem(JSContextRef, JSValueRef) const
Modified: trunk/Tools/DumpRenderTree/efl/PixelDumpSupportEfl.cpp (96942 => 96943)
--- trunk/Tools/DumpRenderTree/efl/PixelDumpSupportEfl.cpp 2011-10-07 16:16:28 UTC (rev 96942)
+++ trunk/Tools/DumpRenderTree/efl/PixelDumpSupportEfl.cpp 2011-10-07 16:22:01 UTC (rev 96943)
@@ -32,14 +32,16 @@
#include "config.h"
#include "DumpRenderTree.h"
+#include "DumpRenderTreeChrome.h"
#include "PixelDumpSupportCairo.h"
#include "RefPtrCairo.h"
#include "ewk_private.h"
PassRefPtr<BitmapContext> createBitmapContextFromWebView(bool, bool, bool, bool drawSelectionRect)
{
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get(browser));
+ Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get(browser->mainView()));
Ewk_View_Private_Data* privateData = static_cast<Ewk_View_Private_Data*>(smartData->_priv);
+ const Evas_Object* mainFrame = browser->mainFrame();
int x, y, width, height;
if (!ewk_frame_visible_content_geometry_get(mainFrame, EINA_TRUE, &x, &y, &width, &height))
Modified: trunk/Tools/DumpRenderTree/efl/WorkQueueItemEfl.cpp (96942 => 96943)
--- trunk/Tools/DumpRenderTree/efl/WorkQueueItemEfl.cpp 2011-10-07 16:16:28 UTC (rev 96942)
+++ trunk/Tools/DumpRenderTree/efl/WorkQueueItemEfl.cpp 2011-10-07 16:22:01 UTC (rev 96943)
@@ -36,9 +36,9 @@
Evas_Object* targetFrame;
if (!m_target->length())
- targetFrame = mainFrame;
+ targetFrame = browser->mainFrame();
else
- targetFrame = ewk_frame_child_find(mainFrame, m_target->ustring().utf8().data());
+ targetFrame = ewk_frame_child_find(browser->mainFrame(), m_target->ustring().utf8().data());
ewk_frame_uri_set(targetFrame, m_url->ustring().utf8().data());
@@ -48,22 +48,22 @@
bool LoadHTMLStringItem::invoke() const
{
if (!m_unreachableURL->length())
- ewk_frame_contents_set(mainFrame, m_content->ustring().utf8().data(), 0, 0, 0, m_baseURL->ustring().utf8().data());
+ ewk_frame_contents_set(browser->mainFrame(), m_content->ustring().utf8().data(), 0, 0, 0, m_baseURL->ustring().utf8().data());
else
- ewk_frame_contents_alternate_set(mainFrame, m_content->ustring().utf8().data(), 0, 0, 0, m_baseURL->ustring().utf8().data(), m_unreachableURL->ustring().utf8().data());
+ ewk_frame_contents_alternate_set(browser->mainFrame(), m_content->ustring().utf8().data(), 0, 0, 0, m_baseURL->ustring().utf8().data(), m_unreachableURL->ustring().utf8().data());
return true;
}
bool ReloadItem::invoke() const
{
- ewk_view_reload(browser);
+ ewk_view_reload(browser->mainView());
return true;
}
bool ScriptItem::invoke() const
{
- return ewk_frame_script_execute(mainFrame, m_script->ustring().utf8().data());
+ return ewk_frame_script_execute(browser->mainFrame(), m_script->ustring().utf8().data());
}
bool BackForwardItem::invoke() const