Changeset 96943 in webkit


Ignore:
Timestamp:
Oct 7, 2011 9:22:01 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

[EFL] DRT: Add DumpRenderTreeChrome.{cpp,h}
https://bugs.webkit.org/show_bug.cgi?id=66380

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-10-07
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.

Location:
trunk/Tools
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r96931 r96943  
     12011-10-07  Raphael Kubo da Costa  <kubo@profusion.mobi>
     2
     3        [EFL] DRT: Add DumpRenderTreeChrome.{cpp,h}
     4        https://bugs.webkit.org/show_bug.cgi?id=66380
     5
     6        Reviewed by Antonio Gomes.
     7
     8        This encapsulates EWebKit into an object that manages multiple windows
     9        and provides a cleaner interface to EFL's DumpRenderTree.
     10
     11        * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: Added.
     12        (DumpRenderTreeChrome::create):
     13        (DumpRenderTreeChrome::DumpRenderTreeChrome):
     14        (DumpRenderTreeChrome::~DumpRenderTreeChrome):
     15        (DumpRenderTreeChrome::createNewWindow):
     16        (DumpRenderTreeChrome::createView):
     17        (DumpRenderTreeChrome::removeWindow):
     18        (DumpRenderTreeChrome::initialize):
     19        (DumpRenderTreeChrome::extraViews):
     20        (DumpRenderTreeChrome::mainFrame):
     21        (DumpRenderTreeChrome::mainView):
     22        (DumpRenderTreeChrome::resetDefaultsToConsistentValues):
     23        (DumpRenderTreeChrome::onWindowObjectCleared):
     24        (DumpRenderTreeChrome::onLoadStarted):
     25        (DumpRenderTreeChrome::processWork):
     26        (DumpRenderTreeChrome::onLoadFinished):
     27        (DumpRenderTreeChrome::onStatusbarTextSet):
     28        (DumpRenderTreeChrome::onTitleChanged):
     29        (DumpRenderTreeChrome::onDocumentLoadFinished):
     30        * DumpRenderTree/efl/DumpRenderTreeChrome.h: Added.
     31        * DumpRenderTree/efl/EventSender.cpp:
     32        (sendClick): Use browser->mainFrame() instead of mainFrame.
     33        (mouseDownCallback): Ditto.
     34        (mouseUpCallback): Ditto.
     35        (mouseMoveToCallback): Ditto.
     36        (mouseScrollByCallback): Ditto.
     37        (keyDownCallback): Ditto.
     38        (scalePageByCallback): Ditto.
     39        * DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
     40        (LayoutTestController::counterValueForElementById): Use
     41        browser->mainFrame() instead of mainFrame.
     42        (LayoutTestController::pageNumberForElementById): Ditto.
     43        (LayoutTestController::numberOfPages): Ditto.
     44        (LayoutTestController::pauseAnimationAtTimeOnElementWithId): Ditto.
     45        (LayoutTestController::pauseTransitionAtTimeOnElementWithId): Ditto.
     46        (LayoutTestController::sampleSVGAnimationForElementAtTime): Ditto.
     47        (LayoutTestController::numberOfActiveAnimations): Ditto.
     48        (LayoutTestController::suspendAnimations): Ditto.
     49        (LayoutTestController::resumeAnimations): Ditto.
     50        (LayoutTestController::setWebViewEditable): Ditto.
     51        (LayoutTestController::webHistoryItemCount): Use browser->mainView()
     52        instead of browser.
     53        (LayoutTestController::queueLoad): Ditto.
     54        (LayoutTestController::setAcceptsEditing): Ditto.
     55        (LayoutTestController::setUserStyleSheetEnabled): Ditto.
     56        (LayoutTestController::setPrivateBrowsingEnabled): Ditto.
     57        (LayoutTestController::setFrameFlatteningEnabled): Ditto.
     58        (LayoutTestController::setSpatialNavigationEnabled): Ditto.
     59        (LayoutTestController::setPluginsEnabled): Ditto.
     60        (LayoutTestController::findString): Ditto.
     61        (LayoutTestController::setDeveloperExtrasEnabled): Ditto.
     62        * DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
     63        (createBitmapContextFromWebView): Use browser->mainFrame() instead of
     64        mainFrame.
     65        * DumpRenderTree/efl/WorkQueueItemEfl.cpp:
     66        (LoadItem::invoke): Ditto.
     67        (LoadHTMLStringItem::invoke): Ditto.
     68        (ScriptItem::invoke): Ditto.
     69        (ReloadItem::invoke): Use browser->mainView() instead of browser.
     70
    1712011-10-07  Simon Hausmann  <simon.hausmann@nokia.com>
    272
  • trunk/Tools/DumpRenderTree/efl/EventSender.cpp

    r95006 r96943  
    153153static Eina_Bool sendClick(void*)
    154154{
    155     return !!sendMouseEvent(evas_object_evas_get(mainFrame), EvasMouseEventClick, EvasMouseButtonLeft, EvasKeyModifierNone);
     155    return !!sendMouseEvent(evas_object_evas_get(browser->mainFrame()), EvasMouseEventClick, EvasMouseButtonLeft, EvasKeyModifierNone);
    156156}
    157157
     
    224224
    225225    EvasKeyModifier modifiers = argumentCount >= 2 ? modifiersFromJSValue(context, arguments[1]) : EvasKeyModifierNone;
    226     if (!sendMouseEvent(evas_object_evas_get(mainFrame), EvasMouseEventDown, button, modifiers))
     226    if (!sendMouseEvent(evas_object_evas_get(browser->mainFrame()), EvasMouseEventDown, button, modifiers))
    227227        return JSValueMakeUndefined(context);
    228228
     
    247247
    248248    EvasKeyModifier modifiers = argumentCount >= 2 ? modifiersFromJSValue(context, arguments[1]) : EvasKeyModifierNone;
    249     sendMouseEvent(evas_object_evas_get(mainFrame), EvasMouseEventUp, translateMouseButtonNumber(button), modifiers);
     249    sendMouseEvent(evas_object_evas_get(browser->mainFrame()), EvasMouseEventUp, translateMouseButtonNumber(button), modifiers);
    250250    return JSValueMakeUndefined(context);
    251251}
     
    263263        return JSValueMakeUndefined(context);
    264264
    265     sendMouseEvent(evas_object_evas_get(mainFrame), EvasMouseEventMove, EvasMouseButtonNone, EvasKeyModifierNone);
     265    sendMouseEvent(evas_object_evas_get(browser->mainFrame()), EvasMouseEventMove, EvasMouseButtonNone, EvasKeyModifierNone);
    266266    return JSValueMakeUndefined(context);
    267267}
     
    296296        return JSValueMakeUndefined(context);
    297297
    298     sendMouseEvent(evas_object_evas_get(mainFrame), evasMouseEventFromHorizontalAndVerticalOffsets(horizontal, vertical), EvasMouseButtonNone, EvasKeyModifierNone);
     298    sendMouseEvent(evas_object_evas_get(browser->mainFrame()), evasMouseEventFromHorizontalAndVerticalOffsets(horizontal, vertical), EvasMouseButtonNone, EvasKeyModifierNone);
    299299    return JSValueMakeUndefined(context);
    300300}
     
    401401static JSValueRef keyDownCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
    402402{
    403     Evas_Object* view = ewk_frame_view_get(mainFrame);
     403    Evas_Object* view = ewk_frame_view_get(browser->mainFrame());
    404404    if (!view)
    405405        return JSValueMakeUndefined(context);
     
    436436        return JSValueMakeUndefined(context);
    437437
    438     Evas_Object* view = ewk_frame_view_get(mainFrame);
     438    Evas_Object* view = ewk_frame_view_get(browser->mainFrame());
    439439    if (!view)
    440440        return JSValueMakeUndefined(context);
  • trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp

    r96848 r96943  
    9191JSRetainPtr<JSStringRef> LayoutTestController::counterValueForElementById(JSStringRef id)
    9292{
    93     OwnFastMallocPtr<char> counterValue(ewk_frame_counter_value_by_element_id_get(mainFrame, id->ustring().utf8().data()));
     93    OwnFastMallocPtr<char> counterValue(ewk_frame_counter_value_by_element_id_get(browser->mainFrame(), id->ustring().utf8().data()));
    9494    return JSRetainPtr<JSStringRef>(Adopt, JSStringCreateWithUTF8CString(counterValue.get()));
    9595}
     
    120120int LayoutTestController::pageNumberForElementById(JSStringRef id, float pageWidth, float pageHeight)
    121121{
    122     return ewk_frame_page_number_by_element_id_get(mainFrame, id->ustring().utf8().data(), pageWidth, pageHeight);
     122    return ewk_frame_page_number_by_element_id_get(browser->mainFrame(), id->ustring().utf8().data(), pageWidth, pageHeight);
    123123}
    124124
    125125int LayoutTestController::numberOfPages(float pageWidth, float pageHeight)
    126126{
    127     return ewk_frame_page_number_get(mainFrame, pageWidth, pageHeight);
     127    return ewk_frame_page_number_get(browser->mainFrame(), pageWidth, pageHeight);
    128128}
    129129
     
    148148size_t LayoutTestController::webHistoryItemCount()
    149149{
    150     const Ewk_History* history = ewk_view_history_get(browser);
     150    const Ewk_History* history = ewk_view_history_get(browser->mainView());
    151151    if (!history)
    152152        return -1;
     
    176176void LayoutTestController::queueLoad(JSStringRef url, JSStringRef target)
    177177{
    178     String absoluteUrl = String::fromUTF8(ewk_frame_uri_get(mainFrame));
     178    String absoluteUrl = String::fromUTF8(ewk_frame_uri_get(browser->mainFrame()));
    179179    absoluteUrl.append(url->characters(), url->length());
    180180
     
    187187void LayoutTestController::setAcceptsEditing(bool acceptsEditing)
    188188{
    189     ewk_view_editable_set(browser, acceptsEditing);
     189    ewk_view_editable_set(browser->mainView(), acceptsEditing);
    190190}
    191191
     
    242242{
    243243    gUserStyleSheetEnabled = flag;
    244     ewk_view_setting_user_stylesheet_set(browser, flag ? gUserStyleSheet.data() : 0);
     244    ewk_view_setting_user_stylesheet_set(browser->mainView(), flag ? gUserStyleSheet.data() : 0);
    245245}
    246246
     
    296296void LayoutTestController::setPrivateBrowsingEnabled(bool flag)
    297297{
    298     ewk_view_setting_private_browsing_set(browser, flag);
     298    ewk_view_setting_private_browsing_set(browser->mainView(), flag);
    299299}
    300300
     
    311311void LayoutTestController::setFrameFlatteningEnabled(bool flag)
    312312{
    313     ewk_view_setting_enable_frame_flattening_set(browser, flag);
     313    ewk_view_setting_enable_frame_flattening_set(browser->mainView(), flag);
    314314}
    315315
    316316void LayoutTestController::setSpatialNavigationEnabled(bool flag)
    317317{
    318     ewk_view_setting_spatial_navigation_set(browser, flag);
     318    ewk_view_setting_spatial_navigation_set(browser->mainView(), flag);
    319319}
    320320
     
    433433void LayoutTestController::setPluginsEnabled(bool flag)
    434434{
    435     ewk_view_setting_enable_plugins_set(browser, flag);
     435    ewk_view_setting_enable_plugins_set(browser->mainView(), flag);
    436436}
    437437
     
    473473    }
    474474
    475     return !!ewk_view_text_search(browser, target->ustring().utf8().data(), caseSensitive, forward, wrap);
     475    return !!ewk_view_text_search(browser->mainView(), target->ustring().utf8().data(), caseSensitive, forward, wrap);
    476476}
    477477
     
    594594bool LayoutTestController::pauseAnimationAtTimeOnElementWithId(JSStringRef animationName, double time, JSStringRef elementId)
    595595{
    596     return ewk_frame_animation_pause(mainFrame, animationName->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
     596    return ewk_frame_animation_pause(browser->mainFrame(), animationName->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
    597597}
    598598
    599599bool LayoutTestController::pauseTransitionAtTimeOnElementWithId(JSStringRef propertyName, double time, JSStringRef elementId)
    600600{
    601     return ewk_frame_transition_pause(mainFrame, propertyName->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
     601    return ewk_frame_transition_pause(browser->mainFrame(), propertyName->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
    602602}
    603603
    604604bool LayoutTestController::sampleSVGAnimationForElementAtTime(JSStringRef animationId, double time, JSStringRef elementId)
    605605{
    606     return ewk_frame_svg_animation_pause(mainFrame, animationId->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
     606    return ewk_frame_svg_animation_pause(browser->mainFrame(), animationId->ustring().utf8().data(), elementId->ustring().utf8().data(), time);
    607607}
    608608
    609609unsigned LayoutTestController::numberOfActiveAnimations() const
    610610{
    611     return ewk_frame_animation_active_number_get(mainFrame);
     611    return ewk_frame_animation_active_number_get(browser->mainFrame());
    612612}
    613613
    614614void LayoutTestController::suspendAnimations() const
    615615{
    616     ewk_frame_animation_suspend(mainFrame);
     616    ewk_frame_animation_suspend(browser->mainFrame());
    617617}
    618618
    619619void LayoutTestController::resumeAnimations() const
    620620{
    621     ewk_frame_animation_resume(mainFrame);
     621    ewk_frame_animation_resume(browser->mainFrame());
    622622}
    623623
     
    640640void LayoutTestController::setDeveloperExtrasEnabled(bool enabled)
    641641{
    642     ewk_view_setting_enable_developer_extras_set(browser, enabled);
     642    ewk_view_setting_enable_developer_extras_set(browser->mainView(), enabled);
    643643}
    644644
     
    691691void LayoutTestController::setWebViewEditable(bool)
    692692{
    693     ewk_frame_editable_set(mainFrame, EINA_TRUE);
     693    ewk_frame_editable_set(browser->mainFrame(), EINA_TRUE);
    694694}
    695695
  • trunk/Tools/DumpRenderTree/efl/PixelDumpSupportEfl.cpp

    r96414 r96943  
    3333
    3434#include "DumpRenderTree.h"
     35#include "DumpRenderTreeChrome.h"
    3536#include "PixelDumpSupportCairo.h"
    3637#include "RefPtrCairo.h"
     
    3940PassRefPtr<BitmapContext> createBitmapContextFromWebView(bool, bool, bool, bool drawSelectionRect)
    4041{
    41     Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get(browser));
     42    Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get(browser->mainView()));
    4243    Ewk_View_Private_Data* privateData = static_cast<Ewk_View_Private_Data*>(smartData->_priv);
     44    const Evas_Object* mainFrame = browser->mainFrame();
    4345
    4446    int x, y, width, height;
  • trunk/Tools/DumpRenderTree/efl/WorkQueueItemEfl.cpp

    r95767 r96943  
    3737
    3838    if (!m_target->length())
    39         targetFrame = mainFrame;
     39        targetFrame = browser->mainFrame();
    4040    else
    41         targetFrame = ewk_frame_child_find(mainFrame, m_target->ustring().utf8().data());
     41        targetFrame = ewk_frame_child_find(browser->mainFrame(), m_target->ustring().utf8().data());
    4242
    4343    ewk_frame_uri_set(targetFrame, m_url->ustring().utf8().data());
     
    4949{
    5050    if (!m_unreachableURL->length())
    51         ewk_frame_contents_set(mainFrame, m_content->ustring().utf8().data(), 0, 0, 0, m_baseURL->ustring().utf8().data());
     51        ewk_frame_contents_set(browser->mainFrame(), m_content->ustring().utf8().data(), 0, 0, 0, m_baseURL->ustring().utf8().data());
    5252    else
    53         ewk_frame_contents_alternate_set(mainFrame, m_content->ustring().utf8().data(), 0, 0, 0, m_baseURL->ustring().utf8().data(), m_unreachableURL->ustring().utf8().data());
     53        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());
    5454
    5555    return true;
     
    5858bool ReloadItem::invoke() const
    5959{
    60     ewk_view_reload(browser);
     60    ewk_view_reload(browser->mainView());
    6161    return true;
    6262}
     
    6464bool ScriptItem::invoke() const
    6565{
    66     return ewk_frame_script_execute(mainFrame, m_script->ustring().utf8().data());
     66    return ewk_frame_script_execute(browser->mainFrame(), m_script->ustring().utf8().data());
    6767}
    6868
Note: See TracChangeset for help on using the changeset viewer.