Changeset 116547 in webkit


Ignore:
Timestamp:
May 9, 2012 11:40:25 AM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[EFL][DRT] EFL's DRT needs to support LayoutTestController.dumpIconChanges()
https://bugs.webkit.org/show_bug.cgi?id=84435

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-09
Reviewed by Antonio Gomes.

Source/WebKit/efl:

Emit a "icon,changed" signal on the frame when its favion changed.
Clarify that the "icon,loaded" signal is only emitted for the main
frame.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::dispatchDidReceiveIcon):
(WebCore::FrameLoaderClientEfl::dispatchDidChangeIcons):

  • ewk/ewk_frame.cpp:

(ewk_frame_icon_changed):

  • ewk/ewk_frame.h:
  • ewk/ewk_private.h:

Tools:

Catch the "icon,changed" signal on the frames in EFL's DumpRenderTree
to support LayoutTestController's dumpIconChanges().

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::createView):
(DumpRenderTreeChrome::onFrameIconChanged):
(DumpRenderTreeChrome::onFrameCreated):

  • DumpRenderTree/efl/DumpRenderTreeChrome.h:

(DumpRenderTreeChrome):

LayoutTests:

Unskip the test checking for DumpRenderTree's support for
LayoutTestController's dumpIconChanges() in EFL port.

  • platform/efl/Skipped:
Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r116546 r116547  
     12012-05-09  Christophe Dumez  <christophe.dumez@intel.com>
     2
     3        [EFL][DRT] EFL's DRT needs to support LayoutTestController.dumpIconChanges()
     4        https://bugs.webkit.org/show_bug.cgi?id=84435
     5
     6        Reviewed by Antonio Gomes.
     7
     8        Unskip the test checking for DumpRenderTree's support for
     9        LayoutTestController's dumpIconChanges() in EFL port.
     10
     11        * platform/efl/Skipped:
     12
    1132012-05-09  Csaba Osztrogonác  <ossy@webkit.org>
    214
  • trunk/LayoutTests/platform/efl/Skipped

    r116519 r116547  
    22# Tests which depend on features which have not been implemented yet
    33# --------------------------------------------------------------------
    4 
    5 # Needs API to receive notifications about changed icons
    6 # https://bugs.webkit.org/show_bug.cgi?id=33812
    7 fast/dom/icon-url-property.html
    84
    95# EFL's EventSender does not implement dumpFilenameBeingDragged
  • trunk/Source/WebKit/efl/ChangeLog

    r116506 r116547  
     12012-05-09  Christophe Dumez  <christophe.dumez@intel.com>
     2
     3        [EFL][DRT] EFL's DRT needs to support LayoutTestController.dumpIconChanges()
     4        https://bugs.webkit.org/show_bug.cgi?id=84435
     5
     6        Reviewed by Antonio Gomes.
     7
     8        Emit a "icon,changed" signal on the frame when its favion changed.
     9        Clarify that the "icon,loaded" signal is only emitted for the main
     10        frame.
     11
     12        * WebCoreSupport/FrameLoaderClientEfl.cpp:
     13        (WebCore::FrameLoaderClientEfl::dispatchDidReceiveIcon):
     14        (WebCore::FrameLoaderClientEfl::dispatchDidChangeIcons):
     15        * ewk/ewk_frame.cpp:
     16        (ewk_frame_icon_changed):
     17        * ewk/ewk_frame.h:
     18        * ewk/ewk_private.h:
     19
    1202012-05-09  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
    221
  • trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp

    r116341 r116547  
    597597void FrameLoaderClientEfl::dispatchDidReceiveIcon()
    598598{
    599     /* report received favicon only for main frame. */
    600     if (ewk_view_frame_main_get(m_view) != m_frame)
    601         return;
     599    // IconController loads icons only for the main frame.
     600    ASSERT(ewk_view_frame_main_get(m_view) == m_frame);
    602601
    603602    ewk_view_frame_main_icon_received(m_view);
     
    622621}
    623622
    624 void FrameLoaderClientEfl::dispatchDidChangeIcons(WebCore::IconType)
    625 {
    626     notImplemented();
     623void FrameLoaderClientEfl::dispatchDidChangeIcons(WebCore::IconType iconType)
     624{
     625    // Other touch types are apple-specific
     626    ASSERT(iconType == WebCore::Favicon);
     627    ewk_frame_icon_changed(m_frame);
    627628}
    628629
  • trunk/Source/WebKit/efl/ewk/ewk_frame.cpp

    r116119 r116547  
    17251725/**
    17261726 * @internal
     1727 * Reports frame favicon changed.
     1728 *
     1729 * @param ewkFrame Frame.
     1730 *
     1731 * Emits signal: "icon,changed" with no parameters.
     1732 */
     1733void ewk_frame_icon_changed(Evas_Object* ewkFrame)
     1734{
     1735    DBG("ewkFrame=%p", ewkFrame);
     1736    evas_object_smart_callback_call(ewkFrame, "icon,changed", 0);
     1737}
     1738
     1739/**
     1740 * @internal
    17271741 * Reports uri changed and swap internal string reference.
    17281742 *
  • trunk/Source/WebKit/efl/ewk/ewk_frame.h

    r116413 r116547  
    4040 *  - "editorclient,contents,changed", void: reports that editor client's
    4141 *    contents were changed
     42 *  - "icon,changed", void: frame favicon changed.
    4243 *  - "load,committed", void: reports load committed.
    4344 *  - "load,document,finished", void: frame finished loading the document.
  • trunk/Source/WebKit/efl/ewk/ewk_private.h

    r116119 r116547  
    242242bool ewk_frame_uri_changed(Evas_Object* ewkFrame);
    243243void ewk_frame_force_layout(Evas_Object* ewkFrame);
     244void ewk_frame_icon_changed(Evas_Object* ewkFrame);
    244245
    245246WTF::PassRefPtr<WebCore::Widget> ewk_frame_plugin_create(Evas_Object* ewkFrame, const WebCore::IntSize& pluginSize, WebCore::HTMLPlugInElement* element, const WebCore::KURL& url, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues, const WTF::String& mimeType, bool loadManually);
  • trunk/Tools/ChangeLog

    r116537 r116547  
     12012-05-09  Christophe Dumez  <christophe.dumez@intel.com>
     2
     3        [EFL][DRT] EFL's DRT needs to support LayoutTestController.dumpIconChanges()
     4        https://bugs.webkit.org/show_bug.cgi?id=84435
     5
     6        Reviewed by Antonio Gomes.
     7
     8        Catch the "icon,changed" signal on the frames in EFL's DumpRenderTree
     9        to support LayoutTestController's dumpIconChanges().
     10
     11        * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
     12        (DumpRenderTreeChrome::createView):
     13        (DumpRenderTreeChrome::onFrameIconChanged):
     14        (DumpRenderTreeChrome::onFrameCreated):
     15        * DumpRenderTree/efl/DumpRenderTreeChrome.h:
     16        (DumpRenderTreeChrome):
     17
    1182012-05-09  Dominik Röttsches  <dominik.rottsches@intel.com>
    219
  • trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp

    r116506 r116547  
    109109
    110110    Evas_Object* mainFrame = ewk_view_frame_main_get(view);
     111    evas_object_smart_callback_add(mainFrame, "icon,changed", onFrameIconChanged, 0);
    111112    evas_object_smart_callback_add(mainFrame, "load,provisional", onFrameProvisionalLoad, 0);
    112113    evas_object_smart_callback_add(mainFrame, "load,committed", onFrameLoadCommitted, 0);
     
    421422}
    422423
     424void DumpRenderTreeChrome::onFrameIconChanged(void*, Evas_Object* frame, void*)
     425{
     426    if (!done && gLayoutTestController->dumpIconChanges()) {
     427        const String frameName(DumpRenderTreeSupportEfl::suitableDRTFrameName(frame));
     428        printf("%s - didChangeIcons\n", frameName.utf8().data());
     429    }
     430}
     431
    423432void DumpRenderTreeChrome::onTitleChanged(void*, Evas_Object*, void* eventInfo)
    424433{
     
    509518    Evas_Object* frame = static_cast<Evas_Object*>(eventInfo);
    510519
     520    evas_object_smart_callback_add(frame, "icon,changed", onFrameIconChanged, 0);
    511521    evas_object_smart_callback_add(frame, "load,provisional", onFrameProvisionalLoad, 0);
    512522    evas_object_smart_callback_add(frame, "load,committed", onFrameLoadCommitted, 0);
  • trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h

    r116407 r116547  
    9292    static void onFrameCreated(void*, Evas_Object*, void*);
    9393
     94    static void onFrameIconChanged(void*, Evas_Object*, void*);
     95
    9496    static void onFrameProvisionalLoad(void*, Evas_Object*, void*);
    9597
Note: See TracChangeset for help on using the changeset viewer.