Changeset 191282 in webkit


Ignore:
Timestamp:
Oct 19, 2015 2:13:43 AM (9 years ago)
Author:
commit-queue@webkit.org
Message:

[EFL] Implement WebContextMenuProxyEfl::showContextMenu after r191194
https://bugs.webkit.org/show_bug.cgi?id=150310

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-10-19
Reviewed by Gyuyoung Kim.

showContextMenu() doesn't work correctly after r191194 in EFL port.
This patch implements WebContextMenuProxyEfl::showContextMenu.

  • UIProcess/efl/WebContextMenuProxyEfl.cpp:

(WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
(WebKit::WebContextMenuProxyEfl::showContextMenu):
(WebKit::WebContextMenuProxyEfl::hideContextMenu):

  • UIProcess/efl/WebContextMenuProxyEfl.h:
Location:
trunk/Source/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r191279 r191282  
     12015-10-19  Hunseop Jeong  <hs85.jeong@samsung.com>
     2
     3        [EFL] Implement WebContextMenuProxyEfl::showContextMenu after r191194
     4        https://bugs.webkit.org/show_bug.cgi?id=150310
     5
     6        Reviewed by Gyuyoung Kim.
     7
     8        showContextMenu() doesn't work correctly after r191194 in EFL port.
     9        This patch implements WebContextMenuProxyEfl::showContextMenu.
     10
     11        * UIProcess/efl/WebContextMenuProxyEfl.cpp:
     12        (WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
     13        (WebKit::WebContextMenuProxyEfl::showContextMenu):
     14        (WebKit::WebContextMenuProxyEfl::hideContextMenu):
     15        * UIProcess/efl/WebContextMenuProxyEfl.h:
     16
    1172015-10-18  Csaba Osztrogonác  <ossy@webkit.org>
    218
  • trunk/Source/WebKit2/UIProcess/efl/WebContextMenuProxyEfl.cpp

    r191239 r191282  
    2929#if ENABLE(CONTEXT_MENUS)
    3030
     31#include "APIContextMenuClient.h"
    3132#include "EwkView.h"
     33#include "WebContextMenuItem.h"
    3234#include "WebContextMenuItemData.h"
    3335#include "WebPageProxy.h"
     
    3840namespace WebKit {
    3941
    40 WebContextMenuProxyEfl::WebContextMenuProxyEfl(EwkView*, WebPageProxy&, const ContextMenuContextData& context, const UserData& userData)
     42WebContextMenuProxyEfl::WebContextMenuProxyEfl(EwkView* ewkView, WebPageProxy& page, const ContextMenuContextData& context, const UserData& userData)
    4143    : WebContextMenuProxy(context, userData)
     44    , m_ewkView(ewkView)
     45    , m_page(page)
    4246{
    4347}
     
    4953void WebContextMenuProxyEfl::showContextMenu()
    5054{
    51     notImplemented();
     55    Vector<RefPtr<WebContextMenuItem>> proposedAPIItems;
     56    for (auto& item : m_context.menuItems()) {
     57        if (item.action() != ContextMenuItemTagShareMenu)
     58            proposedAPIItems.append(WebContextMenuItem::create(item));
     59    }
     60
     61    Vector<RefPtr<WebContextMenuItem>> clientItems;
     62    bool useProposedItems = true;
     63
     64    if (m_page.contextMenuClient().getContextMenuFromProposedMenu(m_page, proposedAPIItems, clientItems, m_context.webHitTestResultData(), m_page.process().transformHandlesToObjects(m_userData.object()).get()))
     65        useProposedItems = false;
     66
     67    const Vector<RefPtr<WebContextMenuItem>>& items = useProposedItems ? proposedAPIItems : clientItems;
     68
     69    if (items.isEmpty())
     70        return;
     71
     72    Vector<RefPtr<API::Object>> menuItems;
     73    menuItems.reserveInitialCapacity(items.size());
     74
     75    for (const auto& menuItem : items)
     76        menuItems.uncheckedAppend(menuItem);
     77
     78    if (m_ewkView)
     79        m_ewkView->showContextMenu(toAPI(m_context.menuLocation()), toAPI(API::Array::create(WTF::move(menuItems)).ptr()));
    5280}
    5381
  • trunk/Source/WebKit2/UIProcess/efl/WebContextMenuProxyEfl.h

    r191239 r191282  
    5555private:
    5656    WebContextMenuProxyEfl(EwkView*, WebPageProxy&, const ContextMenuContextData&, const UserData&);
     57
     58    EwkView* m_ewkView;
     59    WebPageProxy& m_page;
    5760};
    5861
Note: See TracChangeset for help on using the changeset viewer.