Changeset 64422 in webkit


Ignore:
Timestamp:
Jul 31, 2010 1:17:37 PM (14 years ago)
Author:
luiz@webkit.org
Message:

2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Fisher.

PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592

Classes PopupMenu and SearchPopupMenu have been made pure virtual.

  • platform/PopupMenu.h: (WebCore::PopupMenu::~PopupMenu):
  • platform/SearchPopupMenu.h: (WebCore::SearchPopupMenu::~SearchPopupMenu):

Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
the new pure virtual PopupMenu and SearchPopupMenu.

  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::adjustInnerStyle): (WebCore::RenderMenuList::showPopup):
  • rendering/RenderMenuList.h:
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::addSearchResult): (WebCore::RenderTextControlSingleLine::showPopup): (WebCore::RenderTextControlSingleLine::hidePopup): (WebCore::RenderTextControlSingleLine::updateFromElement): (WebCore::RenderTextControlSingleLine::valueChanged):
  • rendering/RenderTextControlSingleLine.h:

Chrome and ChromeClient were made responsible for providing instances of classes
PopupMenu and SearchPopupMenu to its users.

  • loader/EmptyClients.h: (WebCore::EmptyPopupMenu::show): (WebCore::EmptyPopupMenu::hide): (WebCore::EmptyPopupMenu::updateFromElement): (WebCore::EmptyPopupMenu::disconnectClient): (WebCore::EmptySearchPopupMenu::popupMenu): (WebCore::EmptySearchPopupMenu::saveRecentSearches): (WebCore::EmptySearchPopupMenu::loadRecentSearches): (WebCore::EmptySearchPopupMenu::enabled): (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural): (WebCore::EmptyChromeClient::createPopupMenu): (WebCore::EmptyChromeClient::createSearchPopupMenu):
  • page/Chrome.cpp: (WebCore::Chrome::selectItemWritingDirectionIsNatural): (WebCore::Chrome::createPopupMenu): (WebCore::Chrome::createSearchPopupMenu):
  • page/Chrome.h:
  • page/ChromeClient.h:

Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
Each of new the files contain the concrete classes that inherit form PopupMenu or
SearchPopupMenu and are specific for the corresponding platform.

brew:

  • platform/brew/PopupMenuBrew.cpp: (WebCore::PopupMenuBrew::PopupMenuBrew): (WebCore::PopupMenuBrew::~PopupMenuBrew): (WebCore::PopupMenuBrew::disconnectClient): (WebCore::PopupMenuBrew::show): (WebCore::PopupMenuBrew::hide): (WebCore::PopupMenuBrew::updateFromElement):
  • platform/brew/PopupMenuBrew.h: Added. (WebCore::PopupMenuBrew::client):
  • platform/brew/SearchPopupMenuBrew.cpp: (WebCore::SearchPopupMenuBrew::saveRecentSearches): (WebCore::SearchPopupMenuBrew::loadRecentSearches): (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew): (WebCore::SearchPopupMenuBrew::enabled): (WebCore::SearchPopupMenuBrew::popupMenu):
  • platform/brew/SearchPopupMenuBrew.h: Added.

chromium:

  • WebCore.gypi:
  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupMenuChromium::PopupMenuChromium): (WebCore::PopupMenuChromium::~PopupMenuChromium): (WebCore::PopupMenuChromium::show): (WebCore::PopupMenuChromium::hide): (WebCore::PopupMenuChromium::updateFromElement): (WebCore::PopupMenuChromium::disconnectClient):
  • platform/chromium/PopupMenuChromium.h: (WebCore::PopupMenuChromium::client):
  • platform/chromium/SearchPopupMenuChromium.cpp: (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium): (WebCore::SearchPopupMenuChromium::popupMenu): (WebCore::SearchPopupMenuChromium::enabled): (WebCore::SearchPopupMenuChromium::saveRecentSearches): (WebCore::SearchPopupMenuChromium::loadRecentSearches):
  • platform/chromium/SearchPopupMenuChromium.h: Added.

efl:

  • platform/efl/PopupMenuEfl.cpp: (WebCore::PopupMenuEfl::PopupMenuEfl): (WebCore::PopupMenuEfl::~PopupMenuEfl): (WebCore::PopupMenuEfl::show): (WebCore::PopupMenuEfl::hide): (WebCore::PopupMenuEfl::updateFromElement): (WebCore::PopupMenuEfl::disconnectClient):
  • platform/efl/PopupMenuEfl.h: Added. (WebCore::PopupMenuEfl::client):
  • platform/efl/SearchPopupMenuEfl.cpp: (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl): (WebCore::SearchPopupMenuEfl::popupMenu): (WebCore::SearchPopupMenuEfl::saveRecentSearches): (WebCore::SearchPopupMenuEfl::loadRecentSearches): (WebCore::SearchPopupMenuEfl::enabled):
  • platform/efl/SearchPopupMenuEfl.h: Added.

gtk:

  • GNUmakefile.am:
  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenuGtk::PopupMenuGtk): (WebCore::PopupMenuGtk::~PopupMenuGtk): (WebCore::PopupMenuGtk::show): (WebCore::PopupMenuGtk::hide): (WebCore::PopupMenuGtk::updateFromElement): (WebCore::PopupMenuGtk::disconnectClient): (WebCore::PopupMenuGtk::menuItemActivated): (WebCore::PopupMenuGtk::menuUnmapped): (WebCore::PopupMenuGtk::menuPositionFunction): (WebCore::PopupMenuGtk::menuRemoveItem):
  • platform/gtk/PopupMenuGtk.h: Added. (WebCore::PopupMenuGtk::client):
  • platform/gtk/SearchPopupMenuGtk.cpp: (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk): (WebCore::SearchPopupMenuGtk::popupMenu): (WebCore::SearchPopupMenuGtk::saveRecentSearches): (WebCore::SearchPopupMenuGtk::loadRecentSearches): (WebCore::SearchPopupMenuGtk::enabled):
  • platform/gtk/SearchPopupMenuGtk.h: Added.

haiku:

  • platform/haiku/PopupMenuHaiku.cpp: (WebCore::HaikuPopup::HaikuPopup): (WebCore::HaikuPopup::~HaikuPopup): (WebCore::PopupMenuHaiku::PopupMenuHaiku): (WebCore::PopupMenuHaiku::~PopupMenuHaiku): (WebCore::PopupMenuHaiku::disconnectClient): (WebCore::PopupMenuHaiku::show): (WebCore::PopupMenuHaiku::hide): (WebCore::PopupMenuHaiku::updateFromElement):
  • platform/haiku/PopupMenuHaiku.h: Added. (WebCore::PopupMenuHaiku::disconnectClient): (WebCore::PopupMenuHaiku::client):
  • platform/haiku/SearchPopupMenuHaiku.cpp: (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku): (WebCore::SearchPopupMenuHaiku::saveRecentSearches): (WebCore::SearchPopupMenuHaiku::loadRecentSearches): (WebCore::SearchPopupMenuHaiku::enabled): (WebCore::SearchPopupMenuHaiku::popupMenu):
  • platform/haiku/SearchPopupMenuHaiku.h: Added.

mac:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/PopupMenuMac.h: Added. (WebCore::PopupMenuMac::disconnectClient): (WebCore::PopupMenuMac::client):
  • platform/mac/PopupMenuMac.mm: (WebCore::PopupMenuMac::PopupMenuMac): (WebCore::PopupMenuMac::~PopupMenuMac): (WebCore::PopupMenuMac::clear): (WebCore::PopupMenuMac::populate): (WebCore::PopupMenuMac::show): (WebCore::PopupMenuMac::hide): (WebCore::PopupMenuMac::updateFromElement): (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
  • platform/mac/SearchPopupMenuMac.h: Added.
  • platform/mac/SearchPopupMenuMac.mm: (WebCore::SearchPopupMenuMac::SearchPopupMenuMac): (WebCore::SearchPopupMenuMac::popupMenu): (WebCore::SearchPopupMenuMac::enabled): (WebCore::SearchPopupMenuMac::saveRecentSearches): (WebCore::SearchPopupMenuMac::loadRecentSearches):

qt:

  • WebCore.pro:
  • platform/qt/PopupMenuQt.cpp: (WebCore::PopupMenuQt::PopupMenuQt): (WebCore::PopupMenuQt::~PopupMenuQt): (WebCore::PopupMenuQt::disconnectClient): (WebCore::PopupMenuQt::show): (WebCore::PopupMenuQt::hide): (WebCore::PopupMenuQt::updateFromElement):
  • platform/qt/PopupMenuQt.h: Added.
  • platform/qt/QtAbstractWebPopup.h:
  • platform/qt/SearchPopupMenuQt.cpp: (WebCore::SearchPopupMenuQt::SearchPopupMenuQt): (WebCore::SearchPopupMenuQt::popupMenu): (WebCore::SearchPopupMenuQt::saveRecentSearches): (WebCore::SearchPopupMenuQt::loadRecentSearches): (WebCore::SearchPopupMenuQt::enabled):
  • platform/qt/SearchPopupMenuQt.h: Added.

win:

  • WebCore.vcproj/WebCore.vcproj:
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenuWin::PopupMenuWin): (WebCore::PopupMenuWin::~PopupMenuWin): (WebCore::PopupMenuWin::disconnectClient): (WebCore::PopupMenuWin::popupClassName): (WebCore::PopupMenuWin::show): (WebCore::PopupMenuWin::hide): (WebCore::PopupMenuWin::calculatePositionAndSize): (WebCore::PopupMenuWin::setFocusedIndex): (WebCore::PopupMenuWin::visibleItems): (WebCore::PopupMenuWin::listIndexAtPoint): (WebCore::PopupMenuWin::focusedIndex): (WebCore::PopupMenuWin::focusFirst): (WebCore::PopupMenuWin::focusLast): (WebCore::PopupMenuWin::down): (WebCore::PopupMenuWin::up): (WebCore::PopupMenuWin::invalidateItem): (WebCore::PopupMenuWin::clientRect): (WebCore::PopupMenuWin::incrementWheelDelta): (WebCore::PopupMenuWin::reduceWheelDelta): (WebCore::PopupMenuWin::scrollToRevealSelection): (WebCore::PopupMenuWin::updateFromElement): (WebCore::PopupMenuWin::paint): (WebCore::PopupMenuWin::valueChanged): (WebCore::PopupMenuWin::invalidateScrollbarRect): (WebCore::PopupMenuWin::registerClass): (WebCore::PopupMenuWin::PopupMenuWndProc): (WebCore::PopupMenuWin::wndProc):
  • platform/win/PopupMenuWin.h: Added. (WebCore::PopupMenuWin::client): (WebCore::PopupMenuWin::scrollbar): (WebCore::PopupMenuWin::itemHeight): (WebCore::PopupMenuWin::windowRect): (WebCore::PopupMenuWin::popupHandle): (WebCore::PopupMenuWin::setWasClicked): (WebCore::PopupMenuWin::wasClicked): (WebCore::PopupMenuWin::setScrollOffset): (WebCore::PopupMenuWin::scrollOffset): (WebCore::PopupMenuWin::wheelDelta): (WebCore::PopupMenuWin::scrollbarCapturingMouse): (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
  • platform/win/SearchPopupMenuWin.cpp: (WebCore::SearchPopupMenuWin::SearchPopupMenuWin): (WebCore::SearchPopupMenuWin::popupMenu): (WebCore::SearchPopupMenuWin::enabled): (WebCore::SearchPopupMenuWin::saveRecentSearches): (WebCore::SearchPopupMenuWin::loadRecentSearches):
  • platform/win/SearchPopupMenuWin.h: Added.

wx:

  • platform/wx/PopupMenuWx.cpp: (WebCore::PopupMenuWx::PopupMenuWx): (WebCore::PopupMenuWx::~PopupMenuWx): (WebCore::PopupMenuWx::disconnectClient): (WebCore::PopupMenuWx::show): (WebCore::PopupMenuWx::OnMenuItemSelected): (WebCore::PopupMenuWx::hide): (WebCore::PopupMenuWx::updateFromElement):
  • platform/wx/PopupMenuWx.h: Added. (WebCore::PopupMenuWx::client):
  • platform/wx/SearchPopupMenuWx.cpp: (WebCore::SearchPopupMenuWx::SearchPopupMenuWx): (WebCore::SearchPopupMenuWx::saveRecentSearches): (WebCore::SearchPopupMenuWx::loadRecentSearches): (WebCore::SearchPopupMenuWx::enabled): (WebCore::SearchPopupMenuWx::popupMenu):
  • platform/wx/SearchPopupMenuWx.h: Added.

2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Fisher.

PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592

As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.

  • src/ChromeClientImpl.cpp: (WebKit::ChromeClientImpl::selectItemWritingDirectionIsNatural): (WebKit::ChromeClientImpl::createPopupMenu): (WebKit::ChromeClientImpl::createSearchPopupMenu):
  • src/ChromeClientImpl.h:

2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Fisher.

PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592

As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.

  • WebCoreSupport/ChromeClientEfl.cpp: (WebCore::ChromeClientEfl::selectItemWritingDirectionIsNatural): (WebCore::ChromeClientEfl::createPopupMenu): (WebCore::ChromeClientEfl::createSearchPopupMenu):
  • WebCoreSupport/ChromeClientEfl.h:

2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Fisher.

PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592

As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::selectItemWritingDirectionIsNatural): (WebKit::ChromeClient::createPopupMenu): (WebKit::ChromeClient::createSearchPopupMenu):
  • WebCoreSupport/ChromeClientGtk.h:

2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Fisher.

PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592

As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.

  • WebCoreSupport/ChromeClientHaiku.cpp: (WebCore::ChromeClientHaiku::selectItemWritingDirectionIsNatural): (WebCore::ChromeClientHaiku::createPopupMenu): (WebCore::ChromeClientHaiku::createSearchPopupMenu):
  • WebCoreSupport/ChromeClientHaiku.h:

2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Fisher.

PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592

As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::selectItemWritingDirectionIsNatural): (WebChromeClient::createPopupMenu): (WebChromeClient::createSearchPopupMenu):

2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Fisher.

PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592

As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::selectItemWritingDirectionIsNatural): (WebCore::ChromeClientQt::createPopupMenu): (WebCore::ChromeClientQt::createSearchPopupMenu):
  • WebCoreSupport/ChromeClientQt.h:

2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Fisher.

PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592

As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.

  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::selectItemWritingDirectionIsNatural): (WebChromeClient::createPopupMenu): (WebChromeClient::createSearchPopupMenu):
  • WebCoreSupport/WebChromeClient.h:

2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Fisher.

PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592

As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.

  • WebKitSupport/ChromeClientWx.cpp: (WebCore::ChromeClientWx::selectItemWritingDirectionIsNatural): (WebCore::ChromeClientWx::createPopupMenu): (WebCore::ChromeClientWx::createSearchPopupMenu):
  • WebKitSupport/ChromeClientWx.h:

2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Darin Fisher.

PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592

Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
SearchPopupMenu respectively. At this point they are just empty implementations.

  • WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added. (WebKit::WebPopupMenu::WebPopupMenu): (WebKit::WebPopupMenu::~WebPopupMenu): (WebKit::WebPopupMenu::disconnectClient): (WebKit::WebPopupMenu::show): (WebKit::WebPopupMenu::hide): (WebKit::WebPopupMenu::updateFromElement):
  • WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
  • WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added. (WebKit::WebSearchPopupMenu::WebSearchPopupMenu): (WebKit::WebSearchPopupMenu::popupMenu): (WebKit::WebSearchPopupMenu::saveRecentSearches): (WebKit::WebSearchPopupMenu::loadRecentSearches): (WebKit::WebSearchPopupMenu::enabled):
  • WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.

As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): (WebKit::WebChromeClient::createPopupMenu): (WebKit::WebChromeClient::createSearchPopupMenu):
  • WebProcess/WebCoreSupport/WebChromeClient.h:

build issues:

  • WebKit2.xcodeproj/project.pbxproj:
  • win/WebKit2.vcproj:
Location:
trunk
Files:
2 added
66 edited
19 copied

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r64421 r64422  
     12010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        PopupMenu refactoring in preparation to WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=42592
     7
     8        Classes PopupMenu and SearchPopupMenu have been made pure virtual.
     9
     10        * platform/PopupMenu.h:
     11        (WebCore::PopupMenu::~PopupMenu):
     12        * platform/SearchPopupMenu.h:
     13        (WebCore::SearchPopupMenu::~SearchPopupMenu):
     14
     15        Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
     16        the new pure virtual PopupMenu and SearchPopupMenu.
     17
     18        * rendering/RenderMenuList.cpp:
     19        (WebCore::RenderMenuList::adjustInnerStyle):
     20        (WebCore::RenderMenuList::showPopup):
     21        * rendering/RenderMenuList.h:
     22        * rendering/RenderTextControlSingleLine.cpp:
     23        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
     24        (WebCore::RenderTextControlSingleLine::addSearchResult):
     25        (WebCore::RenderTextControlSingleLine::showPopup):
     26        (WebCore::RenderTextControlSingleLine::hidePopup):
     27        (WebCore::RenderTextControlSingleLine::updateFromElement):
     28        (WebCore::RenderTextControlSingleLine::valueChanged):
     29        * rendering/RenderTextControlSingleLine.h:
     30
     31        Chrome and ChromeClient were made responsible for providing instances of classes
     32        PopupMenu and SearchPopupMenu to its users.
     33
     34        * loader/EmptyClients.h:
     35        (WebCore::EmptyPopupMenu::show):
     36        (WebCore::EmptyPopupMenu::hide):
     37        (WebCore::EmptyPopupMenu::updateFromElement):
     38        (WebCore::EmptyPopupMenu::disconnectClient):
     39        (WebCore::EmptySearchPopupMenu::popupMenu):
     40        (WebCore::EmptySearchPopupMenu::saveRecentSearches):
     41        (WebCore::EmptySearchPopupMenu::loadRecentSearches):
     42        (WebCore::EmptySearchPopupMenu::enabled):
     43        (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
     44        (WebCore::EmptyChromeClient::createPopupMenu):
     45        (WebCore::EmptyChromeClient::createSearchPopupMenu):
     46        * page/Chrome.cpp:
     47        (WebCore::Chrome::selectItemWritingDirectionIsNatural):
     48        (WebCore::Chrome::createPopupMenu):
     49        (WebCore::Chrome::createSearchPopupMenu):
     50        * page/Chrome.h:
     51        * page/ChromeClient.h:
     52
     53        Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
     54        in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
     55        Each of new the files contain the concrete classes that inherit form PopupMenu or
     56        SearchPopupMenu and are specific for the corresponding platform.
     57
     58        brew:
     59
     60        * platform/brew/PopupMenuBrew.cpp:
     61        (WebCore::PopupMenuBrew::PopupMenuBrew):
     62        (WebCore::PopupMenuBrew::~PopupMenuBrew):
     63        (WebCore::PopupMenuBrew::disconnectClient):
     64        (WebCore::PopupMenuBrew::show):
     65        (WebCore::PopupMenuBrew::hide):
     66        (WebCore::PopupMenuBrew::updateFromElement):
     67        * platform/brew/PopupMenuBrew.h: Added.
     68        (WebCore::PopupMenuBrew::client):
     69        * platform/brew/SearchPopupMenuBrew.cpp:
     70        (WebCore::SearchPopupMenuBrew::saveRecentSearches):
     71        (WebCore::SearchPopupMenuBrew::loadRecentSearches):
     72        (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
     73        (WebCore::SearchPopupMenuBrew::enabled):
     74        (WebCore::SearchPopupMenuBrew::popupMenu):
     75        * platform/brew/SearchPopupMenuBrew.h: Added.
     76
     77        chromium:
     78
     79        * WebCore.gypi:
     80        * platform/chromium/PopupMenuChromium.cpp:
     81        (WebCore::PopupMenuChromium::PopupMenuChromium):
     82        (WebCore::PopupMenuChromium::~PopupMenuChromium):
     83        (WebCore::PopupMenuChromium::show):
     84        (WebCore::PopupMenuChromium::hide):
     85        (WebCore::PopupMenuChromium::updateFromElement):
     86        (WebCore::PopupMenuChromium::disconnectClient):
     87        * platform/chromium/PopupMenuChromium.h:
     88        (WebCore::PopupMenuChromium::client):
     89        * platform/chromium/SearchPopupMenuChromium.cpp:
     90        (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
     91        (WebCore::SearchPopupMenuChromium::popupMenu):
     92        (WebCore::SearchPopupMenuChromium::enabled):
     93        (WebCore::SearchPopupMenuChromium::saveRecentSearches):
     94        (WebCore::SearchPopupMenuChromium::loadRecentSearches):
     95        * platform/chromium/SearchPopupMenuChromium.h: Added.
     96
     97        efl:
     98
     99        * platform/efl/PopupMenuEfl.cpp:
     100        (WebCore::PopupMenuEfl::PopupMenuEfl):
     101        (WebCore::PopupMenuEfl::~PopupMenuEfl):
     102        (WebCore::PopupMenuEfl::show):
     103        (WebCore::PopupMenuEfl::hide):
     104        (WebCore::PopupMenuEfl::updateFromElement):
     105        (WebCore::PopupMenuEfl::disconnectClient):
     106        * platform/efl/PopupMenuEfl.h: Added.
     107        (WebCore::PopupMenuEfl::client):
     108        * platform/efl/SearchPopupMenuEfl.cpp:
     109        (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
     110        (WebCore::SearchPopupMenuEfl::popupMenu):
     111        (WebCore::SearchPopupMenuEfl::saveRecentSearches):
     112        (WebCore::SearchPopupMenuEfl::loadRecentSearches):
     113        (WebCore::SearchPopupMenuEfl::enabled):
     114        * platform/efl/SearchPopupMenuEfl.h: Added.
     115
     116        gtk:
     117
     118        * GNUmakefile.am:
     119        * platform/gtk/PopupMenuGtk.cpp:
     120        (WebCore::PopupMenuGtk::PopupMenuGtk):
     121        (WebCore::PopupMenuGtk::~PopupMenuGtk):
     122        (WebCore::PopupMenuGtk::show):
     123        (WebCore::PopupMenuGtk::hide):
     124        (WebCore::PopupMenuGtk::updateFromElement):
     125        (WebCore::PopupMenuGtk::disconnectClient):
     126        (WebCore::PopupMenuGtk::menuItemActivated):
     127        (WebCore::PopupMenuGtk::menuUnmapped):
     128        (WebCore::PopupMenuGtk::menuPositionFunction):
     129        (WebCore::PopupMenuGtk::menuRemoveItem):
     130        * platform/gtk/PopupMenuGtk.h: Added.
     131        (WebCore::PopupMenuGtk::client):
     132        * platform/gtk/SearchPopupMenuGtk.cpp:
     133        (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
     134        (WebCore::SearchPopupMenuGtk::popupMenu):
     135        (WebCore::SearchPopupMenuGtk::saveRecentSearches):
     136        (WebCore::SearchPopupMenuGtk::loadRecentSearches):
     137        (WebCore::SearchPopupMenuGtk::enabled):
     138        * platform/gtk/SearchPopupMenuGtk.h: Added.
     139
     140        haiku:
     141
     142        * platform/haiku/PopupMenuHaiku.cpp:
     143        (WebCore::HaikuPopup::HaikuPopup):
     144        (WebCore::HaikuPopup::~HaikuPopup):
     145        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
     146        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
     147        (WebCore::PopupMenuHaiku::disconnectClient):
     148        (WebCore::PopupMenuHaiku::show):
     149        (WebCore::PopupMenuHaiku::hide):
     150        (WebCore::PopupMenuHaiku::updateFromElement):
     151        * platform/haiku/PopupMenuHaiku.h: Added.
     152        (WebCore::PopupMenuHaiku::disconnectClient):
     153        (WebCore::PopupMenuHaiku::client):
     154        * platform/haiku/SearchPopupMenuHaiku.cpp:
     155        (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
     156        (WebCore::SearchPopupMenuHaiku::saveRecentSearches):
     157        (WebCore::SearchPopupMenuHaiku::loadRecentSearches):
     158        (WebCore::SearchPopupMenuHaiku::enabled):
     159        (WebCore::SearchPopupMenuHaiku::popupMenu):
     160        * platform/haiku/SearchPopupMenuHaiku.h: Added.
     161
     162        mac:
     163
     164        * WebCore.exp.in:
     165        * WebCore.xcodeproj/project.pbxproj:
     166        * platform/mac/PopupMenuMac.h: Added.
     167        (WebCore::PopupMenuMac::disconnectClient):
     168        (WebCore::PopupMenuMac::client):
     169        * platform/mac/PopupMenuMac.mm:
     170        (WebCore::PopupMenuMac::PopupMenuMac):
     171        (WebCore::PopupMenuMac::~PopupMenuMac):
     172        (WebCore::PopupMenuMac::clear):
     173        (WebCore::PopupMenuMac::populate):
     174        (WebCore::PopupMenuMac::show):
     175        (WebCore::PopupMenuMac::hide):
     176        (WebCore::PopupMenuMac::updateFromElement):
     177        (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
     178        * platform/mac/SearchPopupMenuMac.h: Added.
     179        * platform/mac/SearchPopupMenuMac.mm:
     180        (WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
     181        (WebCore::SearchPopupMenuMac::popupMenu):
     182        (WebCore::SearchPopupMenuMac::enabled):
     183        (WebCore::SearchPopupMenuMac::saveRecentSearches):
     184        (WebCore::SearchPopupMenuMac::loadRecentSearches):
     185
     186        qt:
     187
     188        * WebCore.pro:
     189        * platform/qt/PopupMenuQt.cpp:
     190        (WebCore::PopupMenuQt::PopupMenuQt):
     191        (WebCore::PopupMenuQt::~PopupMenuQt):
     192        (WebCore::PopupMenuQt::disconnectClient):
     193        (WebCore::PopupMenuQt::show):
     194        (WebCore::PopupMenuQt::hide):
     195        (WebCore::PopupMenuQt::updateFromElement):
     196        * platform/qt/PopupMenuQt.h: Added.
     197        * platform/qt/QtAbstractWebPopup.h:
     198        * platform/qt/SearchPopupMenuQt.cpp:
     199        (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
     200        (WebCore::SearchPopupMenuQt::popupMenu):
     201        (WebCore::SearchPopupMenuQt::saveRecentSearches):
     202        (WebCore::SearchPopupMenuQt::loadRecentSearches):
     203        (WebCore::SearchPopupMenuQt::enabled):
     204        * platform/qt/SearchPopupMenuQt.h: Added.
     205
     206        win:
     207
     208        * WebCore.vcproj/WebCore.vcproj:
     209        * platform/win/PopupMenuWin.cpp:
     210        (WebCore::PopupMenuWin::PopupMenuWin):
     211        (WebCore::PopupMenuWin::~PopupMenuWin):
     212        (WebCore::PopupMenuWin::disconnectClient):
     213        (WebCore::PopupMenuWin::popupClassName):
     214        (WebCore::PopupMenuWin::show):
     215        (WebCore::PopupMenuWin::hide):
     216        (WebCore::PopupMenuWin::calculatePositionAndSize):
     217        (WebCore::PopupMenuWin::setFocusedIndex):
     218        (WebCore::PopupMenuWin::visibleItems):
     219        (WebCore::PopupMenuWin::listIndexAtPoint):
     220        (WebCore::PopupMenuWin::focusedIndex):
     221        (WebCore::PopupMenuWin::focusFirst):
     222        (WebCore::PopupMenuWin::focusLast):
     223        (WebCore::PopupMenuWin::down):
     224        (WebCore::PopupMenuWin::up):
     225        (WebCore::PopupMenuWin::invalidateItem):
     226        (WebCore::PopupMenuWin::clientRect):
     227        (WebCore::PopupMenuWin::incrementWheelDelta):
     228        (WebCore::PopupMenuWin::reduceWheelDelta):
     229        (WebCore::PopupMenuWin::scrollToRevealSelection):
     230        (WebCore::PopupMenuWin::updateFromElement):
     231        (WebCore::PopupMenuWin::paint):
     232        (WebCore::PopupMenuWin::valueChanged):
     233        (WebCore::PopupMenuWin::invalidateScrollbarRect):
     234        (WebCore::PopupMenuWin::registerClass):
     235        (WebCore::PopupMenuWin::PopupMenuWndProc):
     236        (WebCore::PopupMenuWin::wndProc):
     237        * platform/win/PopupMenuWin.h: Added.
     238        (WebCore::PopupMenuWin::client):
     239        (WebCore::PopupMenuWin::scrollbar):
     240        (WebCore::PopupMenuWin::itemHeight):
     241        (WebCore::PopupMenuWin::windowRect):
     242        (WebCore::PopupMenuWin::popupHandle):
     243        (WebCore::PopupMenuWin::setWasClicked):
     244        (WebCore::PopupMenuWin::wasClicked):
     245        (WebCore::PopupMenuWin::setScrollOffset):
     246        (WebCore::PopupMenuWin::scrollOffset):
     247        (WebCore::PopupMenuWin::wheelDelta):
     248        (WebCore::PopupMenuWin::scrollbarCapturingMouse):
     249        (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
     250        * platform/win/SearchPopupMenuWin.cpp:
     251        (WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
     252        (WebCore::SearchPopupMenuWin::popupMenu):
     253        (WebCore::SearchPopupMenuWin::enabled):
     254        (WebCore::SearchPopupMenuWin::saveRecentSearches):
     255        (WebCore::SearchPopupMenuWin::loadRecentSearches):
     256        * platform/win/SearchPopupMenuWin.h: Added.
     257
     258        wx:
     259
     260        * platform/wx/PopupMenuWx.cpp:
     261        (WebCore::PopupMenuWx::PopupMenuWx):
     262        (WebCore::PopupMenuWx::~PopupMenuWx):
     263        (WebCore::PopupMenuWx::disconnectClient):
     264        (WebCore::PopupMenuWx::show):
     265        (WebCore::PopupMenuWx::OnMenuItemSelected):
     266        (WebCore::PopupMenuWx::hide):
     267        (WebCore::PopupMenuWx::updateFromElement):
     268        * platform/wx/PopupMenuWx.h: Added.
     269        (WebCore::PopupMenuWx::client):
     270        * platform/wx/SearchPopupMenuWx.cpp:
     271        (WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
     272        (WebCore::SearchPopupMenuWx::saveRecentSearches):
     273        (WebCore::SearchPopupMenuWx::loadRecentSearches):
     274        (WebCore::SearchPopupMenuWx::enabled):
     275        (WebCore::SearchPopupMenuWx::popupMenu):
     276        * platform/wx/SearchPopupMenuWx.h: Added.
     277
     278
     279
    12802010-07-31  David Kilzer  <ddkilzer@apple.com>
    2281
  • trunk/WebCore/GNUmakefile.am

    r64358 r64422  
    24662466        WebCore/platform/gtk/PlatformScreenGtk.cpp \
    24672467        WebCore/platform/gtk/PopupMenuGtk.cpp \
     2468        WebCore/platform/gtk/PopupMenuGtk.h \
    24682469        WebCore/platform/gtk/RenderThemeGtk.cpp \
    24692470        WebCore/platform/gtk/RenderThemeGtk.h \
     
    24742475        WebCore/platform/gtk/ScrollViewGtk.cpp \
    24752476        WebCore/platform/gtk/SearchPopupMenuGtk.cpp \
     2477        WebCore/platform/gtk/SearchPopupMenuGtk.h \
    24762478        WebCore/platform/gtk/SharedBufferGtk.cpp \
    24772479        WebCore/platform/gtk/SharedTimerGtk.cpp \
  • trunk/WebCore/WebCore.exp.in

    r64409 r64422  
    251251__ZN7WebCore12IconDatabase5closeEv
    252252__ZN7WebCore12IconDatabase9setClientEPNS_18IconDatabaseClientE
     253__ZN7WebCore12PopupMenuMacC1EPNS_15PopupMenuClientE
    253254__ZN7WebCore12PrintContext12pagePropertyEPNS_5FrameEPKci
    254255__ZN7WebCore12PrintContext13numberOfPagesEPNS_5FrameERKNS_9FloatSizeE
     
    412413__ZN7WebCore18isStartOfParagraphERKNS_15VisiblePositionE
    413414__ZN7WebCore18pluginScriptObjectEPN3JSC9ExecStateEPNS_13JSHTMLElementE
     415__ZN7WebCore18SearchPopupMenuMacC1EPNS_15PopupMenuClientE
    414416__ZN7WebCore19AnimationController16resumeAnimationsEPNS_8DocumentE
    415417__ZN7WebCore19AnimationController17suspendAnimationsEPNS_8DocumentE
  • trunk/WebCore/WebCore.gypi

    r64414 r64422  
    21312131            'platform/chromium/ScrollbarThemeChromiumWin.cpp',
    21322132            'platform/chromium/SearchPopupMenuChromium.cpp',
     2133            'platform/chromium/SearchPopupMenuChromium.h',
    21332134            'platform/chromium/SharedTimerChromium.cpp',
    21342135            'platform/chromium/SoundChromiumPosix.cpp',
     
    26232624            'platform/mac/PlatformMouseEventMac.mm',
    26242625            'platform/mac/PlatformScreenMac.mm',
     2626            'platform/mac/PopupMenuMac.h',
    26252627            'platform/mac/PopupMenuMac.mm',
    26262628            'platform/mac/PurgeableBufferMac.cpp',
     
    26302632            'platform/mac/ScrollbarThemeMac.h',
    26312633            'platform/mac/ScrollbarThemeMac.mm',
     2634            'platform/mac/SearchPopupMenuMac.h',
    26322635            'platform/mac/SearchPopupMenuMac.mm',
    26332636            'platform/mac/SharedBufferMac.mm',
     
    27802783            'platform/qt/PlatformScreenQt.cpp',
    27812784            'platform/qt/PopupMenuQt.cpp',
     2785            'platform/qt/PopupMenuQt.h',
    27822786            'platform/qt/QWebPopup.cpp',
    27832787            'platform/qt/QWebPopup.h',
     
    27902794            'platform/qt/ScrollbarThemeQt.h',
    27912795            'platform/qt/SearchPopupMenuQt.cpp',
     2796            'platform/qt/SearchPopupMenuQt.h',
    27922797            'platform/qt/SharedBufferQt.cpp',
    27932798            'platform/qt/SharedTimerQt.cpp',
  • trunk/WebCore/WebCore.pro

    r64358 r64422  
    17101710    platform/PlatformTouchEvent.h \
    17111711    platform/PlatformTouchPoint.h \
     1712    platform/PopupMenu.h \
    17121713    platform/qt/ClipboardQt.h \
    17131714    platform/qt/QWebPageClient.h \
     
    17191720    platform/ScrollbarThemeComposite.h \
    17201721    platform/ScrollView.h \
     1722    platform/SearchPopupMenu.h \
    17211723    platform/SharedBuffer.h \
    17221724    platform/sql/SQLiteDatabase.h \
     
    32983300    ../WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h \
    32993301    ../WebKit2/WebProcess/WebCoreSupport/WebInspectorClient.h \
     3302    ../WebKit2/WebProcess/WebCoreSupport/WebPopupMenu.h \
     3303    ../WebKit2/WebProcess/WebCoreSupport/WebSearchPopupMenu.h \
    33003304    ../WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.h \
    33013305    ../WebKit2/WebProcess/WebPage/DrawingArea.h \
     
    33703374    ../WebKit2/WebProcess/WebCoreSupport/WebInspectorClient.cpp \
    33713375    ../WebKit2/WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp \
     3376    ../WebKit2/WebProcess/WebCoreSupport/WebPopupMenu.cpp \
     3377    ../WebKit2/WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp \
    33723378    ../WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp \
    33733379    ../WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r64358 r64422  
    2372123721                                </File>
    2372223722                                <File
     23723                                        RelativePath="..\platform\win\PopupMenuWin.h"
     23724                                        >
     23725                                </File>
     23726                                <File
    2372323727                                        RelativePath="..\platform\win\ScrollbarThemeSafari.cpp"
    2372423728                                        >
     
    2373823742                                <File
    2373923743                                        RelativePath="..\platform\win\SearchPopupMenuWin.cpp"
     23744                                        >
     23745                                </File>
     23746                                <File
     23747                                        RelativePath="..\platform\win\SearchPopupMenuWin.h"
    2374023748                                        >
    2374123749                                </File>
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r64414 r64422  
    4343                065AD4F60B0C2EDA005A2B1D /* ContextMenuController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 065AD4F30B0C2EDA005A2B1D /* ContextMenuController.cpp */; };
    4444                065AD4F70B0C2EDA005A2B1D /* ContextMenuController.h in Headers */ = {isa = PBXBuildFile; fileRef = 065AD4F40B0C2EDA005A2B1D /* ContextMenuController.h */; settings = {ATTRIBUTES = (Private, ); }; };
    45                 0668E18B0ADD9624004128E0 /* PopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 0668E1890ADD9624004128E0 /* PopupMenu.h */; };
     45                0668E18B0ADD9624004128E0 /* PopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 0668E1890ADD9624004128E0 /* PopupMenu.h */; settings = {ATTRIBUTES = (Private, ); }; };
    4646                0668E1900ADD9640004128E0 /* PopupMenuMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0668E18E0ADD9640004128E0 /* PopupMenuMac.mm */; };
    4747                066C772B0AB603B700238CC4 /* FileChooser.h in Headers */ = {isa = PBXBuildFile; fileRef = 066C772A0AB603B700238CC4 /* FileChooser.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    36203620                AB67D1A8097F3AE300F9392E /* RenderTextControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB67D1A6097F3AE300F9392E /* RenderTextControl.cpp */; };
    36213621                AB67D1A9097F3AE300F9392E /* RenderTextControl.h in Headers */ = {isa = PBXBuildFile; fileRef = AB67D1A7097F3AE300F9392E /* RenderTextControl.h */; };
    3622                 AB7170890B3118080017123E /* SearchPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = AB7170880B3118080017123E /* SearchPopupMenu.h */; };
     3622                AB7170890B3118080017123E /* SearchPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = AB7170880B3118080017123E /* SearchPopupMenu.h */; settings = {ATTRIBUTES = (Private, ); }; };
    36233623                AB7170A00B31193B0017123E /* SearchPopupMenuMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB71709F0B31193B0017123E /* SearchPopupMenuMac.mm */; };
    36243624                ABAF22080C03B1C700B0BCF0 /* ChromeMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABAF22070C03B1C700B0BCF0 /* ChromeMac.mm */; };
    36253625                ABB5419E0ACDDFE4002820EB /* RenderListBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABB5419C0ACDDFE4002820EB /* RenderListBox.cpp */; };
    36263626                ABB5419F0ACDDFE4002820EB /* RenderListBox.h in Headers */ = {isa = PBXBuildFile; fileRef = ABB5419D0ACDDFE4002820EB /* RenderListBox.h */; };
    3627                 ABC128770B33AA6D00C693D5 /* PopupMenuClient.h in Headers */ = {isa = PBXBuildFile; fileRef = ABC128760B33AA6D00C693D5 /* PopupMenuClient.h */; };
     3627                ABC128770B33AA6D00C693D5 /* PopupMenuClient.h in Headers */ = {isa = PBXBuildFile; fileRef = ABC128760B33AA6D00C693D5 /* PopupMenuClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
    36283628                ABDDFE790A5C6E7000A3E11D /* RenderMenuList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABDDFE730A5C6E6F00A3E11D /* RenderMenuList.cpp */; };
    36293629                ABDDFE7A0A5C6E7000A3E11D /* RenderMenuList.h in Headers */ = {isa = PBXBuildFile; fileRef = ABDDFE740A5C6E7000A3E11D /* RenderMenuList.h */; };
     
    50465046                D23CA55F0AB0EAB6005108A5 /* JSRangeException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D23CA55E0AB0EAB6005108A5 /* JSRangeException.cpp */; };
    50475047                D23CA56C0AB0EB8D005108A5 /* RangeException.h in Headers */ = {isa = PBXBuildFile; fileRef = D23CA56B0AB0EB8D005108A5 /* RangeException.h */; };
     5048                D39D006D11F8E308006041F2 /* PopupMenuMac.h in Headers */ = {isa = PBXBuildFile; fileRef = D39D006C11F8E308006041F2 /* PopupMenuMac.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5049                D39D009D11F907E6006041F2 /* SearchPopupMenuMac.h in Headers */ = {isa = PBXBuildFile; fileRef = D39D009C11F907E6006041F2 /* SearchPopupMenuMac.h */; settings = {ATTRIBUTES = (Private, ); }; };
    50485050                D8B6152F1032495100C8554A /* Cookie.h in Headers */ = {isa = PBXBuildFile; fileRef = D8B6152E1032495100C8554A /* Cookie.h */; settings = {ATTRIBUTES = (Private, ); }; };
    50495051                DB23C2CB0A508D29002489EB /* IndentOutdentCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DB23C2C90A508D29002489EB /* IndentOutdentCommand.cpp */; };
     
    1075910761                D23CA55E0AB0EAB6005108A5 /* JSRangeException.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSRangeException.cpp; sourceTree = "<group>"; };
    1076010762                D23CA56B0AB0EB8D005108A5 /* RangeException.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RangeException.h; sourceTree = "<group>"; };
     10763                D39D006C11F8E308006041F2 /* PopupMenuMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PopupMenuMac.h; sourceTree = "<group>"; };
     10764                D39D009C11F907E6006041F2 /* SearchPopupMenuMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchPopupMenuMac.h; sourceTree = "<group>"; };
    1076110765                D8B6152E1032495100C8554A /* Cookie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cookie.h; sourceTree = "<group>"; };
    1076210766                DB23C2C90A508D29002489EB /* IndentOutdentCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = IndentOutdentCommand.cpp; sourceTree = "<group>"; };
     
    1232712331                                935C476F09AC4D7300A6AAB4 /* PlatformMouseEventMac.mm */,
    1232812332                                BC94D1070C274F88006BC617 /* PlatformScreenMac.mm */,
     12333                                D39D006C11F8E308006041F2 /* PopupMenuMac.h */,
    1232912334                                0668E18E0ADD9640004128E0 /* PopupMenuMac.mm */,
    1233012335                                E4D687760ED7AE3D006EA978 /* PurgeableBufferMac.cpp */,
    1233112336                                447D69010FA626810015CCB1 /* RuntimeApplicationChecks.h */,
    1233212337                                447D69020FA626810015CCB1 /* RuntimeApplicationChecks.mm */,
     12338                                D39D009C11F907E6006041F2 /* SearchPopupMenuMac.h */,
    1233312339                                1CE24F960D7CAF0E007E04C2 /* SchedulePairMac.mm */,
    1233412340                                BCAA90C20A7EBA60008B1229 /* Scrollbar.cpp */,
     
    1997619982                                C572EE0F1201C736007D8F82 /* IDBIndexBackendInterface.h in Headers */,
    1997719983                                C572EE1F1201C9BC007D8F82 /* JSIDBIndex.h in Headers */,
     19984                                D39D006D11F8E308006041F2 /* PopupMenuMac.h in Headers */,
     19985                                D39D009D11F907E6006041F2 /* SearchPopupMenuMac.h in Headers */,
    1997819986                        );
    1997919987                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/loader/EmptyClients.h

    r64400 r64422  
    22 * Copyright (C) 2006 Eric Seidel (eric@webkit.org)
    33 * Copyright (C) 2008, 2009, 2010 Apple Inc. All rights reserved.
     4 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    45 *
    56 * Redistribution and use in source and binary forms, with or without
     
    4041#include "InspectorClient.h"
    4142#include "PluginHalterClient.h"
     43#include "PopupMenu.h"
    4244#include "ResourceError.h"
     45#include "SearchPopupMenu.h"
    4346
    4447#if USE(GLES2_RENDERING)
     
    6164namespace WebCore {
    6265
     66class EmptyPopupMenu : public PopupMenu {
     67public:
     68    virtual void show(const IntRect&, FrameView*, int) {}
     69    virtual void hide() {}
     70    virtual void updateFromElement() {}
     71    virtual void disconnectClient() {}
     72};
     73
     74class EmptySearchPopupMenu : public SearchPopupMenu {
     75public:
     76    virtual PopupMenu* popupMenu() { return &m_popup; }
     77    virtual void saveRecentSearches(const AtomicString&, const Vector<String>&) {}
     78    virtual void loadRecentSearches(const AtomicString&, Vector<String>&) {}
     79    virtual bool enabled() { return false; }
     80
     81private:
     82    EmptyPopupMenu m_popup;
     83};
     84
    6385class EmptyChromeClient : public ChromeClient {
    6486public:
     
    112134    virtual bool runJavaScriptPrompt(Frame*, const String&, const String&, String&) { return false; }
    113135    virtual bool shouldInterruptJavaScript() { return false; }
     136
     137    virtual bool selectItemWritingDirectionIsNatural() { return false; }
     138    virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const { return adoptRef(new EmptyPopupMenu()); }
     139    virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const { return adoptRef(new EmptySearchPopupMenu()); }
    114140
    115141    virtual void setStatusbarText(const String&) { }
  • trunk/WebCore/page/Chrome.cpp

    r63339 r64422  
    11/*
    22 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.
    3  * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
     3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies)
    44 *
    55 * This library is free software; you can redistribute it and/or
     
    483483}
    484484
     485bool Chrome::selectItemWritingDirectionIsNatural()
     486{
     487    return m_client->selectItemWritingDirectionIsNatural();
     488}
     489
     490PassRefPtr<PopupMenu> Chrome::createPopupMenu(PopupMenuClient* client) const
     491{
     492    return m_client->createPopupMenu(client);
     493}
     494
     495PassRefPtr<SearchPopupMenu> Chrome::createSearchPopupMenu(PopupMenuClient* client) const
     496{
     497    return m_client->createSearchPopupMenu(client);
     498}
    485499
    486500} // namespace WebCore
  • trunk/WebCore/page/Chrome.h

    r63339 r64422  
    11/*
    22 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * This library is free software; you can redistribute it and/or
     
    2526#include "FocusDirection.h"
    2627#include "HostWindow.h"
     28#include "PopupMenu.h"
     29#include "SearchPopupMenu.h"
    2730#include <wtf/Forward.h>
    2831#include <wtf/RefPtr.h>
     
    4548    class Node;
    4649    class Page;
     50    class PopupMenuClient;
    4751    class String;
    4852#if ENABLE(NOTIFICATIONS)
     
    145149#endif
    146150
     151        bool selectItemWritingDirectionIsNatural();
     152        PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const;
     153        PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const;
     154
    147155    private:
    148156        Page* m_page;
  • trunk/WebCore/page/ChromeClient.h

    r64401 r64422  
    11/*
    22 * Copyright (C) 2006, 2007, 2008, 2009 Apple, Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * This library is free software; you can redistribute it and/or
     
    2728#include "HTMLParserQuirks.h"
    2829#include "HostWindow.h"
     30#include "PopupMenu.h"
     31#include "PopupMenuClient.h"
    2932#include "ScrollTypes.h"
     33#include "SearchPopupMenu.h"
    3034#include <wtf/Forward.h>
    3135#include <wtf/PassOwnPtr.h>
     
    5559    class Page;
    5660    class SecurityOrigin;
     61    class PopupMenuClient;
    5762    class String;
    5863    class Widget;
     
    263268#endif
    264269
     270        virtual bool selectItemWritingDirectionIsNatural() = 0;
     271        virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const = 0;
     272        virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const = 0;
     273
    265274    protected:
    266275        virtual ~ChromeClient() { }
  • trunk/WebCore/platform/PopupMenu.h

    r61722 r64422  
    11/*
    2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    2222#define PopupMenu_h
    2323
    24 #include "IntRect.h"
    25 #include "PopupMenuClient.h"
    26 #include <wtf/PassRefPtr.h>
    2724#include <wtf/RefCounted.h>
    28 
    29 #if PLATFORM(MAC)
    30 #include <wtf/RetainPtr.h>
    31 #ifdef __OBJC__
    32 @class NSPopUpButtonCell;
    33 #else
    34 class NSPopUpButtonCell;
    35 #endif
    36 #elif PLATFORM(WIN)
    37 #include "Scrollbar.h"
    38 #include "ScrollbarClient.h"
    39 #include <wtf/RefPtr.h>
    40 typedef struct HWND__* HWND;
    41 typedef struct HDC__* HDC;
    42 typedef struct HBITMAP__* HBITMAP;
    43 #elif PLATFORM(QT)
    44 namespace WebCore {
    45 class QtAbstractWebPopup;
    46 }
    47 #elif PLATFORM(GTK)
    48 typedef struct _GtkMenu GtkMenu;
    49 typedef struct _GtkMenuItem GtkMenuItem;
    50 typedef struct _GtkWidget GtkWidget;
    51 #include "GRefPtrGtk.h"
    52 #include <wtf/HashMap.h>
    53 #include <glib.h>
    54 #elif PLATFORM(WX)
    55 #ifdef __WXMSW__
    56 #include <wx/msw/winundef.h>
    57 #endif
    58 class wxMenu;
    59 #include <wx/defs.h>
    60 #include <wx/event.h>
    61 #elif PLATFORM(CHROMIUM)
    62 #include "PopupMenuPrivate.h"
    63 #elif PLATFORM(HAIKU)
    64 namespace WebCore {
    65 class PopupMenuHaiku;
    66 }
    67 #endif
    6825
    6926namespace WebCore {
    7027
    7128class FrameView;
    72 class Scrollbar;
     29class IntRect;
    7330
    74 class PopupMenu : public RefCounted<PopupMenu>
    75 #if PLATFORM(WIN)
    76                 , private ScrollbarClient
    77 #endif
    78 #if PLATFORM(WX)
    79                 , public wxEvtHandler
    80 #endif
    81 {
     31class PopupMenu : public RefCounted<PopupMenu> {
    8232public:
    83     static PassRefPtr<PopupMenu> create(PopupMenuClient* client) { return adoptRef(new PopupMenu(client)); }
    84     ~PopupMenu();
    85    
    86     void disconnectClient() { m_popupClient = 0; }
    87 
    88     void show(const IntRect&, FrameView*, int index);
    89     void hide();
    90 
    91     void updateFromElement();
    92    
    93     PopupMenuClient* client() const { return m_popupClient; }
    94 
    95     static bool itemWritingDirectionIsNatural();
    96 
    97 #if PLATFORM(WIN)
    98     Scrollbar* scrollbar() const { return m_scrollbar.get(); }
    99 
    100     static LPCTSTR popupClassName();
    101 
    102     bool up(unsigned lines = 1);
    103     bool down(unsigned lines = 1);
    104 
    105     int itemHeight() const { return m_itemHeight; }
    106     const IntRect& windowRect() const { return m_windowRect; }
    107     IntRect clientRect() const;
    108 
    109     int visibleItems() const;
    110 
    111     int listIndexAtPoint(const IntPoint&) const;
    112 
    113     bool setFocusedIndex(int index, bool hotTracking = false);
    114     int focusedIndex() const;
    115     void focusFirst();
    116     void focusLast();
    117 
    118     void paint(const IntRect& damageRect, HDC = 0);
    119 
    120     HWND popupHandle() const { return m_popup; }
    121 
    122     void setWasClicked(bool b = true) { m_wasClicked = b; }
    123     bool wasClicked() const { return m_wasClicked; }
    124 
    125     void setScrollOffset(int offset) { m_scrollOffset = offset; }
    126     int scrollOffset() const { return m_scrollOffset; }
    127 
    128     bool scrollToRevealSelection();
    129 
    130     void incrementWheelDelta(int delta);
    131     void reduceWheelDelta(int delta);
    132     int wheelDelta() const { return m_wheelDelta; }
    133 
    134     bool scrollbarCapturingMouse() const { return m_scrollbarCapturingMouse; }
    135     void setScrollbarCapturingMouse(bool b) { m_scrollbarCapturingMouse = b; }
    136 #endif
    137 
    138 protected:
    139     PopupMenu(PopupMenuClient*);
    140    
    141 private:
    142     PopupMenuClient* m_popupClient;
    143    
    144 #if PLATFORM(MAC)
    145     void clear();
    146     void populate();
    147 
    148     RetainPtr<NSPopUpButtonCell> m_popup;
    149 #elif PLATFORM(QT)
    150     QtAbstractWebPopup* m_popup;
    151 #elif PLATFORM(WIN)
    152     // ScrollBarClient
    153     virtual void valueChanged(Scrollbar*);
    154     virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&);
    155     virtual bool isActive() const { return true; }
    156     virtual bool scrollbarCornerPresent() const { return false; }
    157 
    158     void calculatePositionAndSize(const IntRect&, FrameView*);
    159     void invalidateItem(int index);
    160 
    161     static LRESULT CALLBACK PopupMenuWndProc(HWND, UINT, WPARAM, LPARAM);
    162     LRESULT wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
    163     static void registerClass();
    164 
    165     RefPtr<Scrollbar> m_scrollbar;
    166     HWND m_popup;
    167     HDC m_DC;
    168     HBITMAP m_bmp;
    169     bool m_wasClicked;
    170     IntRect m_windowRect;
    171     int m_itemHeight;
    172     int m_scrollOffset;
    173     int m_wheelDelta;
    174     int m_focusedIndex;
    175     bool m_scrollbarCapturingMouse;
    176     bool m_showPopup;
    177 #elif PLATFORM(GTK)
    178     IntPoint m_menuPosition;
    179     GRefPtr<GtkMenu> m_popup;
    180     HashMap<GtkWidget*, int> m_indexMap;
    181     static void menuItemActivated(GtkMenuItem* item, PopupMenu*);
    182     static void menuUnmapped(GtkWidget*, PopupMenu*);
    183     static void menuPositionFunction(GtkMenu*, gint*, gint*, gboolean*, PopupMenu*);
    184     static void menuRemoveItem(GtkWidget*, PopupMenu*);
    185 #elif PLATFORM(EFL) || PLATFORM(BREWMP)
    186     FrameView* m_view;
    187 #elif PLATFORM(WX)
    188     wxMenu* m_menu;
    189     void OnMenuItemSelected(wxCommandEvent&);
    190 #elif PLATFORM(CHROMIUM)
    191     PopupMenuPrivate p;
    192 #elif PLATFORM(HAIKU)
    193     PopupMenuHaiku* m_menu;
    194 #endif
    195 
     33    virtual ~PopupMenu() {}
     34    virtual void show(const IntRect&, FrameView*, int index) = 0;
     35    virtual void hide() = 0;
     36    virtual void updateFromElement() = 0;
     37    virtual void disconnectClient() = 0;
    19638};
    19739
    19840}
    19941
    200 #endif
     42#endif // PopupMenu_h
  • trunk/WebCore/platform/SearchPopupMenu.h

    r34544 r64422  
    11/*
    2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    2424#include "PopupMenu.h"
    2525#include <wtf/Vector.h>
     26#include <wtf/text/WTFString.h>
    2627
    2728namespace WebCore {
     
    2930class AtomicString;
    3031
    31 class SearchPopupMenu : public PopupMenu {
     32class SearchPopupMenu : public RefCounted<SearchPopupMenu> {
    3233public:
    33     static PassRefPtr<SearchPopupMenu> create(PopupMenuClient* client) { return adoptRef(new SearchPopupMenu(client)); }
    34 
    35     void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
    36     void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
    37 
    38     bool enabled();
    39    
    40 private:
    41     SearchPopupMenu(PopupMenuClient*);
     34    virtual ~SearchPopupMenu() {}
     35    virtual PopupMenu* popupMenu() = 0;
     36    virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems) = 0;
     37    virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems) = 0;
     38    virtual bool enabled() = 0;
    4239};
    4340
    4441}
    4542
    46 #endif
     43#endif // SearchPopupMenu_h
  • trunk/WebCore/platform/brew/PopupMenuBrew.cpp

    r63316 r64422  
    55 * Copyright (C) 2009-2010 Samsung Electronics
    66 * Copyright (C) 2010 Company 100, Inc.
     7 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    78 *
    89 * This library is free software; you can redistribute it and/or
     
    2425
    2526#include "config.h"
    26 #include "PopupMenu.h"
     27#include "PopupMenuBrew.h"
    2728
    2829#include "Chrome.h"
     
    3334namespace WebCore {
    3435
    35 PopupMenu::PopupMenu(PopupMenuClient* menuList)
     36PopupMenuBrew::PopupMenuBrew(PopupMenuClient* menuList)
    3637    : m_popupClient(menuList)
    3738    , m_view(0)
     
    3940}
    4041
    41 PopupMenu::~PopupMenu()
     42PopupMenuBrew::~PopupMenuBrew()
    4243{
    4344    // Tell client to destroy data related to this popup since this object is
     
    4647}
    4748
    48 void PopupMenu::show(const IntRect& rect, FrameView* view, int index)
     49void PopupMenuBrew::disconnectClient()
     50{
     51    m_popupClient = 0;
     52}
     53
     54void PopupMenuBrew::show(const IntRect& rect, FrameView* view, int index)
    4955{
    5056    ASSERT(m_popupClient);
     
    5662}
    5763
    58 void PopupMenu::hide()
     64void PopupMenuBrew::hide()
    5965{
    6066    ASSERT(m_view);
     
    6571}
    6672
    67 void PopupMenu::updateFromElement()
     73void PopupMenuBrew::updateFromElement()
    6874{
    6975    client()->setTextFromItem(client()->selectedIndex());
    7076}
    7177
    72 bool PopupMenu::itemWritingDirectionIsNatural()
    73 {
    74     return true;
    75 }
     78// This code must be moved to the concrete brew ChromeClient that is not in repository.
     79// I kept this code commented out here to prevent loosing the information of what
     80// must be the return value for brew.
     81
     82// bool PopupMenuBrew::itemWritingDirectionIsNatural()
     83// {
     84//     return true;
     85// }
    7686
    7787} // namespace WebCore
  • trunk/WebCore/platform/brew/PopupMenuBrew.h

    r64421 r64422  
    11/*
    2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
    18  *
    1918 */
    2019
    21 #ifndef SearchPopupMenu_h
    22 #define SearchPopupMenu_h
     20#ifndef PopupMenuBrew_h
     21#define PopupMenuBrew_h
    2322
     23#include "IntRect.h"
    2424#include "PopupMenu.h"
    25 #include <wtf/Vector.h>
     25#include "PopupMenuClient.h"
     26#include <wtf/PassRefPtr.h>
     27#include <wtf/RefCounted.h>
    2628
    2729namespace WebCore {
    2830
    29 class AtomicString;
     31class FrameView;
     32class Scrollbar;
    3033
    31 class SearchPopupMenu : public PopupMenu {
     34class PopupMenuBrew : public PopupMenu {
    3235public:
    33     static PassRefPtr<SearchPopupMenu> create(PopupMenuClient* client) { return adoptRef(new SearchPopupMenu(client)); }
     36    PopupMenuBrew(PopupMenuClient*);
     37    ~PopupMenuBrew();
    3438
    35     void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
    36     void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     39    virtual void show(const IntRect&, FrameView*, int index);
     40    virtual void hide();
     41    virtual void updateFromElement();
     42    virtual void disconnectClient();
    3743
    38     bool enabled();
    39    
    4044private:
    41     SearchPopupMenu(PopupMenuClient*);
     45    PopupMenuClient* client() const { return m_popupClient; }
     46
     47    PopupMenuClient* m_popupClient;
     48    FrameView* m_view;
    4249};
    4350
    4451}
    4552
    46 #endif
     53#endif // PopupMenuBrew_h
  • trunk/WebCore/platform/brew/SearchPopupMenuBrew.cpp

    r60788 r64422  
    11/*
    22 * Copyright (C) 2010 Company 100, Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    2526
    2627#include "config.h"
    27 #include "SearchPopupMenu.h"
     28#include "SearchPopupMenuBrew.h"
    2829
    2930namespace WebCore {
    3031
    3132// Save the past searches stored in 'searchItems' to a database associated with 'name'
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
     33void SearchPopupMenuBrew::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
    3334{
    3435}
    3536
    3637// Load past searches associated with 'name' from the database to 'searchItems'
    37 void SearchPopupMenu::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
     38void SearchPopupMenuBrew::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
    3839{
    3940}
    4041
    4142// Create a search popup menu - not sure what else we have to do here
    42 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    43     : PopupMenu(client)
     43SearchPopupMenuBrew::SearchPopupMenuBrew(PopupMenuClient* client)
     44    : m_popup(client)
    4445{
    4546}
    4647
    47 bool SearchPopupMenu::enabled()
     48bool SearchPopupMenuBrew::enabled()
    4849{
    4950    return false;
    5051}
    5152
     53PopupMenu* SearchPopupMenuBrew::popupMenu()
     54{
     55    return &m_popup;
     56}
     57
    5258} // namespace WebCore
  • trunk/WebCore/platform/brew/SearchPopupMenuBrew.h

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
    20 #include "config.h"
     21#ifndef SearchPopupMenuBrew_h
     22#define SearchPopupMenuBrew_h
     23
     24#include "PopupMenuBrew.h"
    2125#include "SearchPopupMenu.h"
    22 
    23 #include "AtomicString.h"
    2426
    2527namespace WebCore {
    2628
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
    29 {
     29class SearchPopupMenuBrew : public SearchPopupMenu {
     30public:
     31    SearchPopupMenuBrew(PopupMenuClient*);
     32
     33    virtual PopupMenu* popupMenu();
     34    virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
     35    virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     36    virtual bool enabled();
     37
     38private:
     39    PopupMenuBrew m_popup;
     40};
     41
    3042}
    3143
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
    33 {
    34 }
    35 
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
    37 {
    38 }
    39 
    40 bool SearchPopupMenu::enabled()
    41 {
    42     return true;
    43 }
    44 
    45 }
     44#endif // SearchPopupMenuBrew_h
  • trunk/WebCore/platform/chromium/PopupMenuChromium.cpp

    r64205 r64422  
    11/*
    22 * Copyright (c) 2008, 2009, Google Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    4950#include "PlatformScreen.h"
    5051#include "PlatformWheelEvent.h"
    51 #include "PopupMenu.h"
    5252#include "RenderTheme.h"
    5353#include "ScrollbarTheme.h"
     
    13411341
    13421342///////////////////////////////////////////////////////////////////////////////
    1343 // PopupMenu implementation
     1343// PopupMenuChromium implementation
    13441344//
    13451345// Note: you cannot add methods to this class, since it is defined above the
     
    13471347//       popup widgets, use |popupWindow| above.
    13481348
    1349 PopupMenu::PopupMenu(PopupMenuClient* client)
     1349PopupMenuChromium::PopupMenuChromium(PopupMenuClient* client)
    13501350    : m_popupClient(client)
    13511351{
    13521352}
    13531353
    1354 PopupMenu::~PopupMenu()
    1355 {
    1356     // When the PopupMenu is destroyed, the client could already have been
     1354PopupMenuChromium::~PopupMenuChromium()
     1355{
     1356    // When the PopupMenuChromium is destroyed, the client could already have been
    13571357    // deleted.
    13581358    if (p.popup)
     
    13651365// Windows and Linux Chromium let our WebKit port handle the display, while
    13661366// another process manages the popup window and input handling.
    1367 void PopupMenu::show(const IntRect& r, FrameView* v, int index)
     1367void PopupMenuChromium::show(const IntRect& r, FrameView* v, int index)
    13681368{
    13691369    if (!p.popup)
     
    13761376}
    13771377
    1378 void PopupMenu::hide()
     1378void PopupMenuChromium::hide()
    13791379{
    13801380    if (p.popup)
     
    13821382}
    13831383
    1384 void PopupMenu::updateFromElement()
     1384void PopupMenuChromium::updateFromElement()
    13851385{
    13861386    p.popup->listBox()->updateFromElement();
    13871387}
    13881388
    1389 bool PopupMenu::itemWritingDirectionIsNatural()
    1390 {
    1391     return false;
     1389
     1390void PopupMenuChromium::disconnectClient()
     1391{
     1392    m_popupClient = 0;
    13921393}
    13931394
  • trunk/WebCore/platform/chromium/PopupMenuChromium.h

    r59179 r64422  
    3737#include "FramelessScrollView.h"
    3838#include "IntRect.h"
     39#include "PopupMenu.h"
     40#include "PopupMenuPrivate.h"
    3941
    4042namespace WebCore {
     
    202204};
    203205
     206class PopupMenuChromium : public PopupMenu {
     207public:
     208    PopupMenuChromium(PopupMenuClient*);
     209    ~PopupMenuChromium();
     210
     211    virtual void show(const IntRect&, FrameView*, int index);
     212    virtual void hide();
     213    virtual void updateFromElement();
     214    virtual void disconnectClient();
     215
     216private:
     217    PopupMenuClient* client() const { return m_popupClient; }
     218
     219    PopupMenuClient* m_popupClient;
     220    PopupMenuPrivate p;
     221};
     222
    204223} // namespace WebCore
    205224
  • trunk/WebCore/platform/chromium/SearchPopupMenuChromium.cpp

    r39903 r64422  
    11/*
    22 * Copyright (c) 2008, 2009, Google Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    3031
    3132#include "config.h"
    32 #include "SearchPopupMenu.h"
     33#include "SearchPopupMenuChromium.h"
    3334
    3435#include "AtomicString.h"
     
    3738namespace WebCore {
    3839
    39 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    40     : PopupMenu(client)
     40SearchPopupMenuChromium::SearchPopupMenuChromium(PopupMenuClient* client)
     41    : m_popup(client)
    4142{
    4243}
    4344
    44 bool SearchPopupMenu::enabled()
     45PopupMenu* SearchPopupMenuChromium::popupMenu()
     46{
     47    return &m_popup;
     48}
     49
     50bool SearchPopupMenuChromium::enabled()
    4551{
    4652    return false;
    4753}
    4854
    49 void SearchPopupMenu::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
     55void SearchPopupMenuChromium::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
    5056{
    5157    notImplemented();
    5258}
    5359
    54 void SearchPopupMenu::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
     60void SearchPopupMenuChromium::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
    5561{
    5662    notImplemented();
  • trunk/WebCore/platform/chromium/SearchPopupMenuChromium.h

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
    20 #include "config.h"
     21#ifndef SearchPopupMenuChromium_h
     22#define SearchPopupMenuChromium_h
     23
     24#include "PopupMenuChromium.h"
    2125#include "SearchPopupMenu.h"
    22 
    23 #include "AtomicString.h"
    2426
    2527namespace WebCore {
    2628
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
    29 {
     29class SearchPopupMenuChromium : public SearchPopupMenu {
     30public:
     31    SearchPopupMenuChromium(PopupMenuClient*);
     32
     33    virtual PopupMenu* popupMenu();
     34    virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
     35    virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     36    virtual bool enabled();
     37
     38private:
     39    PopupMenuChromium m_popup;
     40};
     41
    3042}
    3143
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
    33 {
    34 }
    35 
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
    37 {
    38 }
    39 
    40 bool SearchPopupMenu::enabled()
    41 {
    42     return true;
    43 }
    44 
    45 }
     44#endif // SearchPopupMenuChromium_h
  • trunk/WebCore/platform/efl/PopupMenuEfl.cpp

    r63316 r64422  
    44 * Copyright (C) 2009-2010 ProFUSION embedded systems
    55 * Copyright (C) 2009-2010 Samsung Electronics
     6 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    67 *
    78 * This library is free software; you can redistribute it and/or
     
    2324
    2425#include "config.h"
    25 #include "PopupMenu.h"
     26#include "PopupMenuEfl.h"
    2627
    2728#include "Chrome.h"
     
    2930#include "FrameView.h"
    3031#include "NotImplemented.h"
     32#include "PopupMenuClient.h"
    3133
    3234namespace WebCore {
    3335
    34 PopupMenu::PopupMenu(PopupMenuClient* client)
     36PopupMenuEfl::PopupMenuEfl(PopupMenuClient* client)
    3537    : m_popupClient(client)
    3638    , m_view(0)
     
    3840}
    3941
    40 PopupMenu::~PopupMenu()
     42PopupMenuEfl::~PopupMenuEfl()
    4143{
    4244    // Tell client to destroy data related to this popup since this object is
     
    4547}
    4648
    47 void PopupMenu::show(const IntRect& rect, FrameView* view, int index)
     49void PopupMenuEfl::show(const IntRect& rect, FrameView* view, int index)
    4850{
    4951    ASSERT(m_popupClient);
     
    5557}
    5658
    57 void PopupMenu::hide()
     59void PopupMenuEfl::hide()
    5860{
    5961    ASSERT(m_view);
     
    6466}
    6567
    66 void PopupMenu::updateFromElement()
     68void PopupMenuEfl::updateFromElement()
    6769{
    6870    client()->setTextFromItem(client()->selectedIndex());
    6971}
    7072
    71 bool PopupMenu::itemWritingDirectionIsNatural()
     73void PopupMenuEfl::disconnectClient()
    7274{
    73     return true;
     75    m_popupClient = 0;
    7476}
    7577
  • trunk/WebCore/platform/efl/PopupMenuEfl.h

    r64421 r64422  
    11/*
    2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
    18  *
    1918 */
    2019
    21 #ifndef SearchPopupMenu_h
    22 #define SearchPopupMenu_h
     20#ifndef PopupMenuEfl_h
     21#define PopupMenuEfl_h
    2322
     23#include "IntRect.h"
    2424#include "PopupMenu.h"
    25 #include <wtf/Vector.h>
     25#include <wtf/PassRefPtr.h>
     26#include <wtf/RefCounted.h>
    2627
    2728namespace WebCore {
    2829
    29 class AtomicString;
     30class FrameView;
     31class Scrollbar;
     32class PopupMenuClient;
    3033
    31 class SearchPopupMenu : public PopupMenu {
     34class PopupMenuEfl : public PopupMenu {
    3235public:
    33     static PassRefPtr<SearchPopupMenu> create(PopupMenuClient* client) { return adoptRef(new SearchPopupMenu(client)); }
     36    PopupMenuEfl(PopupMenuClient*);
     37    ~PopupMenuEfl();
    3438
    35     void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
    36     void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     39    virtual void show(const IntRect&, FrameView*, int index);
     40    virtual void hide();
     41    virtual void updateFromElement();
     42    virtual void disconnectClient();
    3743
    38     bool enabled();
    39    
    4044private:
    41     SearchPopupMenu(PopupMenuClient*);
     45    PopupMenuClient* client() const { return m_popupClient; }
     46
     47    PopupMenuClient* m_popupClient;
     48    FrameView* m_view;
    4249};
    4350
    4451}
    4552
    46 #endif
     53#endif // PopupMenuEfl_h
  • trunk/WebCore/platform/efl/SearchPopupMenuEfl.cpp

    r55344 r64422  
    33 *  Copyright (C) 2009-2010 ProFUSION embedded systems
    44 *  Copyright (C) 2009-2010 Samsung Electronics
     5 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    56 *
    67 *  This library is free software; you can redistribute it and/or
     
    2021
    2122#include "config.h"
    22 #include "SearchPopupMenu.h"
     23#include "SearchPopupMenuEfl.h"
    2324
    2425#include "NotImplemented.h"
     
    2627namespace WebCore {
    2728
    28 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    29     : PopupMenu(client)
     29SearchPopupMenuEfl::SearchPopupMenuEfl(PopupMenuClient* client)
     30    : m_popup(client)
    3031{
    3132    notImplemented();
    3233}
    3334
    34 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
     35PopupMenu* SearchPopupMenuEfl::popupMenu()
     36{
     37    return &m_popup;
     38}
     39
     40void SearchPopupMenuEfl::saveRecentSearches(const AtomicString&, const Vector<String>&)
    3541{
    3642    notImplemented();
    3743}
    3844
    39 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
     45void SearchPopupMenuEfl::loadRecentSearches(const AtomicString&, Vector<String>&)
    4046{
    4147    notImplemented();
    4248}
    4349
    44 bool SearchPopupMenu::enabled()
     50bool SearchPopupMenuEfl::enabled()
    4551{
    4652    notImplemented();
  • trunk/WebCore/platform/efl/SearchPopupMenuEfl.h

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
    20 #include "config.h"
     21#ifndef SearchPopupMenuEfl_h
     22#define SearchPopupMenuEfl_h
     23
     24#include "PopupMenuEfl.h"
    2125#include "SearchPopupMenu.h"
    22 
    23 #include "AtomicString.h"
    2426
    2527namespace WebCore {
    2628
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
    29 {
     29class SearchPopupMenuEfl : public SearchPopupMenu {
     30public:
     31    SearchPopupMenuEfl(PopupMenuClient*);
     32
     33    virtual PopupMenu* popupMenu();
     34    virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
     35    virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     36    virtual bool enabled();
     37
     38private:
     39    PopupMenuEfl m_popup;
     40};
     41
    3042}
    3143
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
    33 {
    34 }
    35 
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
    37 {
    38 }
    39 
    40 bool SearchPopupMenu::enabled()
    41 {
    42     return true;
    43 }
    44 
    45 }
     44#endif // SearchPopupMenuEfl_h
  • trunk/WebCore/platform/gtk/PopupMenuGtk.cpp

    r61206 r64422  
    55 * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com
    66 * Copyright (C) 2008 Collabora Ltd.
     7 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    78 *
    89 * This library is free software; you can redistribute it and/or
     
    2425
    2526#include "config.h"
    26 #include "PopupMenu.h"
     27#include "PopupMenuGtk.h"
    2728
    2829#include "FrameView.h"
     
    3536namespace WebCore {
    3637
    37 PopupMenu::PopupMenu(PopupMenuClient* client)
     38PopupMenuGtk::PopupMenuGtk(PopupMenuClient* client)
    3839    : m_popupClient(client)
    3940{
    4041}
    4142
    42 PopupMenu::~PopupMenu()
     43PopupMenuGtk::~PopupMenuGtk()
    4344{
    4445    if (m_popup) {
     
    4849}
    4950
    50 void PopupMenu::show(const IntRect& rect, FrameView* view, int index)
     51void PopupMenuGtk::show(const IntRect& rect, FrameView* view, int index)
    5152{
    5253    ASSERT(client());
     
    111112}
    112113
    113 void PopupMenu::hide()
     114void PopupMenuGtk::hide()
    114115{
    115116    ASSERT(m_popup);
     
    117118}
    118119
    119 void PopupMenu::updateFromElement()
     120void PopupMenuGtk::updateFromElement()
    120121{
    121122    client()->setTextFromItem(client()->selectedIndex());
    122123}
    123124
    124 bool PopupMenu::itemWritingDirectionIsNatural()
     125void PopupMenuGtk::disconnectClient()
    125126{
    126     return true;
     127    m_popupClient = 0;
    127128}
    128129
    129 void PopupMenu::menuItemActivated(GtkMenuItem* item, PopupMenu* that)
     130void PopupMenuGtk::menuItemActivated(GtkMenuItem* item, PopupMenuGtk* that)
    130131{
    131132    ASSERT(that->client());
     
    134135}
    135136
    136 void PopupMenu::menuUnmapped(GtkWidget*, PopupMenu* that)
     137void PopupMenuGtk::menuUnmapped(GtkWidget*, PopupMenuGtk* that)
    137138{
    138139    ASSERT(that->client());
     
    140141}
    141142
    142 void PopupMenu::menuPositionFunction(GtkMenu*, gint* x, gint* y, gboolean* pushIn, PopupMenu* that)
     143void PopupMenuGtk::menuPositionFunction(GtkMenu*, gint* x, gint* y, gboolean* pushIn, PopupMenuGtk* that)
    143144{
    144145    *x = that->m_menuPosition.x();
     
    147148}
    148149
    149 void PopupMenu::menuRemoveItem(GtkWidget* widget, PopupMenu* that)
     150void PopupMenuGtk::menuRemoveItem(GtkWidget* widget, PopupMenuGtk* that)
    150151{
    151152    ASSERT(that->m_popup);
  • trunk/WebCore/platform/gtk/SearchPopupMenuGtk.cpp

    r35961 r64422  
    11/*
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3 *
    24 *  This library is free software; you can redistribute it and/or
    35 *  modify it under the terms of the GNU Lesser General Public
     
    1618
    1719#include "config.h"
    18 #include "SearchPopupMenu.h"
     20#include "SearchPopupMenuGtk.h"
    1921
    2022#include "NotImplemented.h"
     
    2224namespace WebCore {
    2325
    24 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    25     : PopupMenu(client)
     26SearchPopupMenuGtk::SearchPopupMenuGtk(PopupMenuClient* client)
     27    : m_popup(client)
    2628{
    2729    notImplemented();
    2830}
    2931
    30 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
     32PopupMenu* SearchPopupMenuGtk::popupMenu()
     33{
     34    return &m_popup;
     35}
     36
     37void SearchPopupMenuGtk::saveRecentSearches(const AtomicString&, const Vector<String>&)
    3138{
    3239    notImplemented();
    3340}
    3441
    35 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
     42void SearchPopupMenuGtk::loadRecentSearches(const AtomicString&, Vector<String>&)
    3643{
    3744    notImplemented();
    3845}
    3946
    40 bool SearchPopupMenu::enabled()
     47bool SearchPopupMenuGtk::enabled()
    4148{
    4249    notImplemented();
  • trunk/WebCore/platform/gtk/SearchPopupMenuGtk.h

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
    20 #include "config.h"
     21#ifndef SearchPopupMenuGtk_h
     22#define SearchPopupMenuGtk_h
     23
     24#include "PopupMenuGtk.h"
    2125#include "SearchPopupMenu.h"
    22 
    23 #include "AtomicString.h"
    2426
    2527namespace WebCore {
    2628
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
    29 {
     29class SearchPopupMenuGtk : public SearchPopupMenu {
     30public:
     31    SearchPopupMenuGtk(PopupMenuClient*);
     32
     33    virtual PopupMenu* popupMenu();
     34    virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
     35    virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     36    virtual bool enabled();
     37
     38private:
     39    PopupMenuGtk m_popup;
     40};
     41
    3042}
    3143
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
    33 {
    34 }
    35 
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
    37 {
    38 }
    39 
    40 bool SearchPopupMenu::enabled()
    41 {
    42     return true;
    43 }
    44 
    45 }
     44#endif // SearchPopupMenuGtk_h
  • trunk/WebCore/platform/haiku/PopupMenuHaiku.cpp

    r55122 r64422  
    33 *
    44 * Copyright (C) 2010 Stephan Aßmus <superstippi@gmx.de>
     5 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    56 *
    67 * This library is free software; you can redistribute it and/or
     
    2223
    2324#include "config.h"
    24 #include "PopupMenu.h"
     25#include "PopupMenuHaiku.h"
    2526
    2627#include "FrameView.h"
     
    7374};
    7475
    75 class PopupMenuHaiku : public BPopUpMenu {
     76class HaikuPopup : public BPopUpMenu {
    7677public:
    77     PopupMenuHaiku(PopupMenuClient* popupClient)
     78    HaikuPopup(PopupMenuClient* popupClient)
    7879        : BPopUpMenu("WebCore Popup", true, false)
    7980        , m_popupClient(popupClient)
     
    8788    }
    8889
    89     virtual ~PopupMenuHaiku()
     90    virtual ~HaikuPopup()
    9091    {
    9192        if (be_app->Lock()) {
     
    154155};
    155156
    156 PopupMenu::PopupMenu(PopupMenuClient* client)
     157PopupMenuHaiku::PopupMenuHaiku(PopupMenuClient* client)
    157158    : m_popupClient(client)
    158     , m_menu(new PopupMenuHaiku(client))
     159    , m_menu(new HaikuPopup(client))
    159160{
    160161    // We don't need additional references to the client, since we completely
     
    162163}
    163164
    164 PopupMenu::~PopupMenu()
     165PopupMenuHaiku::~PopupMenuHaiku()
    165166{
    166167    delete m_menu;
    167168}
    168169
    169 void PopupMenu::show(const IntRect& rect, FrameView* view, int index)
     170void PopupMenuHaiku::disconnectClient()
     171{
     172    m_popupClient = 0;
     173}
     174
     175void PopupMenuHaiku::show(const IntRect& rect, FrameView* view, int index)
    170176{
    171177    // The menu will update itself from the PopupMenuClient before showing.
     
    173179}
    174180
    175 void PopupMenu::hide()
     181void PopupMenuHaiku::hide()
    176182{
    177183    m_menu->hide();
    178184}
    179185
    180 void PopupMenu::updateFromElement()
     186void PopupMenuHaiku::updateFromElement()
    181187{
    182188    client()->setTextFromItem(m_popupClient->selectedIndex());
    183189}
    184190
    185 bool PopupMenu::itemWritingDirectionIsNatural()
    186 {
    187     return false;
    188 }
    189 
    190191} // namespace WebCore
    191192
  • trunk/WebCore/platform/haiku/PopupMenuHaiku.h

    r64421 r64422  
    11/*
    2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1919 */
    2020
    21 #ifndef SearchPopupMenu_h
    22 #define SearchPopupMenu_h
     21#ifndef PopupMenuHaiku_h
     22#define PopupMenuHaiku_h
    2323
     24#include "IntRect.h"
    2425#include "PopupMenu.h"
    25 #include <wtf/Vector.h>
     26#include "PopupMenuClient.h"
     27#include <wtf/PassRefPtr.h>
     28#include <wtf/RefCounted.h>
    2629
    2730namespace WebCore {
    2831
    29 class AtomicString;
     32class FrameView;
     33class HaikuPopup;
     34class Scrollbar;
    3035
    31 class SearchPopupMenu : public PopupMenu {
     36class PopupMenuHaiku : public PopupMenu {
    3237public:
    33     static PassRefPtr<SearchPopupMenu> create(PopupMenuClient* client) { return adoptRef(new SearchPopupMenu(client)); }
     38    PopupMenuHaiku(PopupMenuClient*);
     39    ~PopupMenuHaiku();
    3440
    35     void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
    36     void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     41    virtual void show(const IntRect&, FrameView*, int index);
     42    virtual void hide();
     43    virtual void updateFromElement();
     44    virtual void disconnectClient();
    3745
    38     bool enabled();
    39    
    4046private:
    41     SearchPopupMenu(PopupMenuClient*);
     47    PopupMenuClient* client() const { return m_popupClient; }
     48
     49    PopupMenuClient* m_popupClient;
     50    HaikuPopup* m_menu;
    4251};
    4352
    4453}
    4554
    46 #endif
     55#endif // PopupMenuHaiku_h
  • trunk/WebCore/platform/haiku/SearchPopupMenuHaiku.cpp

    r46924 r64422  
    11/*
    22 * Copyright (C) 2007 Ryan Leavengood <leavengood@gmail.com>
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * This library is free software; you can redistribute it and/or
     
    1920
    2021#include "config.h"
    21 #include "SearchPopupMenu.h"
     22#include "SearchPopupMenuHaiku.h"
    2223
    2324#include "AtomicString.h"
     
    2728namespace WebCore {
    2829
    29 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    30     : PopupMenu(client)
     30SearchPopupMenuHaiku::SearchPopupMenuHaiku(PopupMenuClient* client)
     31    : m_popup(client)
    3132{
    3233}
    3334
    34 void SearchPopupMenu::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
     35void SearchPopupMenuHaiku::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
    3536{
    3637    notImplemented();
    3738}
    3839
    39 void SearchPopupMenu::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
     40void SearchPopupMenuHaiku::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
    4041{
    4142    notImplemented();
    4243}
    4344
    44 bool SearchPopupMenu::enabled()
     45bool SearchPopupMenuHaiku::enabled()
    4546{
    4647    notImplemented();
     
    4849}
    4950
     51PopupMenu* SearchPopupMenuHaiku::popupMenu()
     52{
     53    return m_popup;
     54}
     55
    5056} // namespace WebCore
    5157
  • trunk/WebCore/platform/haiku/SearchPopupMenuHaiku.h

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
    20 #include "config.h"
     21#ifndef SearchPopupMenuHaiku_h
     22#define SearchPopupMenuHaiku_h
     23
     24#include "PopupMenuHaiku.h"
    2125#include "SearchPopupMenu.h"
    22 
    23 #include "AtomicString.h"
    2426
    2527namespace WebCore {
    2628
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
    29 {
     29class SearchPopupMenuHaiku : public SearchPopupMenu {
     30public:
     31    SearchPopupMenuHaiku(PopupMenuClient*);
     32
     33    virtual PopupMenu* popupMenu();
     34    virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
     35    virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     36    virtual bool enabled();
     37
     38private:
     39    PopupMenuHaiku m_popup;
     40};
     41
    3042}
    3143
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
    33 {
    34 }
    35 
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
    37 {
    38 }
    39 
    40 bool SearchPopupMenu::enabled()
    41 {
    42     return true;
    43 }
    44 
    45 }
     44#endif // SearchPopupMenuHaiku_h
  • trunk/WebCore/platform/mac/PopupMenuMac.h

    r64421 r64422  
    11/*
    2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
    18  *
    1918 */
    2019
    21 #ifndef SearchPopupMenu_h
    22 #define SearchPopupMenu_h
     20#ifndef PopupMenuMac_h
     21#define PopupMenuMac_h
    2322
     23#include "IntRect.h"
    2424#include "PopupMenu.h"
    25 #include <wtf/Vector.h>
     25#include <wtf/PassRefPtr.h>
     26#include <wtf/RefCounted.h>
     27#include <wtf/RetainPtr.h>
     28
     29class NSPopUpButtonCell;
    2630
    2731namespace WebCore {
    2832
    29 class AtomicString;
     33class PopupMenuClient;
     34class FrameView;
     35class Scrollbar;
    3036
    31 class SearchPopupMenu : public PopupMenu {
     37class PopupMenuMac : public PopupMenu {
    3238public:
    33     static PassRefPtr<SearchPopupMenu> create(PopupMenuClient* client) { return adoptRef(new SearchPopupMenu(client)); }
     39    PopupMenuMac(PopupMenuClient*);
     40    ~PopupMenuMac();
    3441
    35     void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
    36     void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     42    void disconnectClient() { m_popupClient = 0; }
    3743
    38     bool enabled();
    39    
     44    void show(const IntRect&, FrameView*, int index);
     45    void hide();
     46
     47    void updateFromElement();
     48
     49    static bool itemWritingDirectionIsNatural();
     50
    4051private:
    41     SearchPopupMenu(PopupMenuClient*);
     52    void clear();
     53    void populate();
     54    PopupMenuClient* client() const { return m_popupClient; }
     55
     56    PopupMenuClient* m_popupClient;
     57    RetainPtr<NSPopUpButtonCell> m_popup;
    4258};
    4359
    4460}
    4561
    46 #endif
     62#endif // PopupMenuMac_h
  • trunk/WebCore/platform/mac/PopupMenuMac.mm

    r58324 r64422  
    11/*
    22 * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * This library is free software; you can redistribute it and/or
     
    1920
    2021#import "config.h"
    21 #import "PopupMenu.h"
     22#import "PopupMenuMac.h"
    2223
    2324#import "AXObjectCache.h"
     
    3233#import "HTMLSelectElement.h"
    3334#import "Page.h"
     35#import "PopupMenuClient.h"
    3436#import "SimpleFontData.h"
    3537#import "WebCoreSystemInterface.h"
     
    3941using namespace HTMLNames;
    4042
    41 PopupMenu::PopupMenu(PopupMenuClient* client)
     43PopupMenuMac::PopupMenuMac(PopupMenuClient* client)
    4244    : m_popupClient(client)
    4345{
    4446}
    4547
    46 PopupMenu::~PopupMenu()
     48PopupMenuMac::~PopupMenuMac()
    4749{
    4850    if (m_popup)
     
    5052}
    5153
    52 void PopupMenu::clear()
     54void PopupMenuMac::clear()
    5355{
    5456    if (m_popup)
     
    5658}
    5759
    58 void PopupMenu::populate()
     60void PopupMenuMac::populate()
    5961{
    6062    if (m_popup)
     
    115117}
    116118
    117 void PopupMenu::show(const IntRect& r, FrameView* v, int index)
     119void PopupMenuMac::show(const IntRect& r, FrameView* v, int index)
    118120{
    119121    populate();
     
    163165    NSEvent* event = [frame->eventHandler()->currentNSEvent() retain];
    164166   
    165     RefPtr<PopupMenu> protector(this);
     167    RefPtr<PopupMenuMac> protector(this);
    166168
    167169    RetainPtr<NSView> dummyView(AdoptNS, [[NSView alloc] initWithFrame:r]);
     
    195197}
    196198
    197 void PopupMenu::hide()
     199void PopupMenuMac::hide()
    198200{
    199201    [m_popup.get() dismissPopUp];
    200202}
    201203   
    202 void PopupMenu::updateFromElement()
    203 {
    204 }
    205 
    206 bool PopupMenu::itemWritingDirectionIsNatural()
     204void PopupMenuMac::updateFromElement()
     205{
     206}
     207
     208bool PopupMenuMac::itemWritingDirectionIsNatural()
    207209{
    208210    return true;
  • trunk/WebCore/platform/mac/SearchPopupMenuMac.h

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
    20 #include "config.h"
     21#ifndef SearchPopupMenuMac_h
     22#define SearchPopupMenuMac_h
     23
     24#include "PopupMenuMac.h"
    2125#include "SearchPopupMenu.h"
    22 
    23 #include "AtomicString.h"
    2426
    2527namespace WebCore {
    2628
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
    29 {
     29class SearchPopupMenuMac : public SearchPopupMenu {
     30public:
     31    SearchPopupMenuMac(PopupMenuClient*);
     32
     33    virtual PopupMenu* popupMenu();
     34    virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
     35    virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     36    virtual bool enabled();
     37
     38private:
     39    PopupMenuMac m_popup;
     40};
     41
    3042}
    3143
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
    33 {
    34 }
    35 
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
    37 {
    38 }
    39 
    40 bool SearchPopupMenu::enabled()
    41 {
    42     return true;
    43 }
    44 
    45 }
     44#endif // SearchPopupMenuMac_h
  • trunk/WebCore/platform/mac/SearchPopupMenuMac.mm

    r29663 r64422  
    11/*
    22 * Copyright (C) 2006 Apple Computer, Inc.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * This library is free software; you can redistribute it and/or
     
    1920
    2021#import "config.h"
    21 #import "SearchPopupMenu.h"
     22#import "SearchPopupMenuMac.h"
    2223
    2324#import "AtomicString.h"
     
    2526namespace WebCore {
    2627
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
     28SearchPopupMenuMac::SearchPopupMenuMac(PopupMenuClient* client)
     29    : m_popup(client)
    2930{
    3031}
     
    3536}
    3637
    37 bool SearchPopupMenu::enabled()
     38PopupMenu* SearchPopupMenuMac::popupMenu()
     39{
     40    return &m_popup;
     41}
     42
     43bool SearchPopupMenuMac::enabled()
    3844{
    3945    return true;
    4046}
    4147
    42 void SearchPopupMenu::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
     48void SearchPopupMenuMac::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
    4349{
    4450    if (name.isEmpty())
     
    5763}
    5864
    59 void SearchPopupMenu::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
     65void SearchPopupMenuMac::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
    6066{
    6167    if (name.isEmpty())
  • trunk/WebCore/platform/qt/PopupMenuQt.cpp

    r53703 r64422  
    2525
    2626#include "config.h"
    27 #include "PopupMenu.h"
     27#include "PopupMenuQt.h"
    2828
    2929#include "Chrome.h"
     
    3636namespace WebCore {
    3737
    38 PopupMenu::PopupMenu(PopupMenuClient* client)
     38PopupMenuQt::PopupMenuQt(PopupMenuClient* client)
    3939    : m_popupClient(client)
    4040    , m_popup(0)
     
    4242}
    4343
    44 PopupMenu::~PopupMenu()
     44PopupMenuQt::~PopupMenuQt()
    4545{
    4646    delete m_popup;
    4747}
    4848
    49 void PopupMenu::show(const IntRect& rect, FrameView* view, int index)
     49
     50void PopupMenuQt::disconnectClient()
     51{
     52    m_popupClient = 0;
     53}
     54
     55void PopupMenuQt::show(const IntRect& rect, FrameView* view, int index)
    5056{
    5157    ChromeClientQt* chromeClient = static_cast<ChromeClientQt*>(
     
    6874}
    6975
    70 void PopupMenu::hide()
     76void PopupMenuQt::hide()
    7177{
    7278    m_popup->hide();
    7379}
    7480
    75 void PopupMenu::updateFromElement()
     81void PopupMenuQt::updateFromElement()
    7682{
    77     client()->setTextFromItem(m_popupClient->selectedIndex());
    78 }
    79 
    80 bool PopupMenu::itemWritingDirectionIsNatural()
    81 {
    82     return false;
     83    m_popupClient->setTextFromItem(m_popupClient->selectedIndex());
    8384}
    8485
  • trunk/WebCore/platform/qt/PopupMenuQt.h

    r64421 r64422  
    11/*
    2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
    18  *
    1918 */
    2019
    21 #ifndef SearchPopupMenu_h
    22 #define SearchPopupMenu_h
     20#ifndef PopupMenuQt_h
     21#define PopupMenuQt_h
    2322
    2423#include "PopupMenu.h"
    25 #include <wtf/Vector.h>
    2624
    2725namespace WebCore {
    2826
    29 class AtomicString;
     27class FrameView;
     28class QtAbstractWebPopup;
     29class Scrollbar;
     30class PopupMenuClient;
    3031
    31 class SearchPopupMenu : public PopupMenu {
     32class PopupMenuQt : public PopupMenu {
    3233public:
    33     static PassRefPtr<SearchPopupMenu> create(PopupMenuClient* client) { return adoptRef(new SearchPopupMenu(client)); }
     34    PopupMenuQt(PopupMenuClient*);
     35    ~PopupMenuQt();
    3436
    35     void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
    36     void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     37    virtual void show(const IntRect&, FrameView*, int index);
     38    virtual void hide();
     39    virtual void updateFromElement();
     40    virtual void disconnectClient();
    3741
    38     bool enabled();
    39    
    4042private:
    41     SearchPopupMenu(PopupMenuClient*);
     43    PopupMenuClient* m_popupClient;
     44    QtAbstractWebPopup* m_popup;
    4245};
    4346
    4447}
    4548
    46 #endif
     49#endif // PopupMenuQt_h
  • trunk/WebCore/platform/qt/QtAbstractWebPopup.h

    r56752 r64422  
    6464
    6565private:
    66     friend class PopupMenu;
     66    friend class PopupMenuQt;
    6767    PopupMenuClient* m_popupClient;
    6868    QWebPageClient* m_pageClient;
  • trunk/WebCore/platform/qt/SearchPopupMenuQt.cpp

    r49020 r64422  
    11/*
    22 * Copyright C 2006 Zack Rusin <zack@kde.org>
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * This library is free software; you can redistribute it and/or
     
    1920
    2021#include "config.h"
    21 #include "SearchPopupMenu.h"
    22 
    23 #include "AtomicString.h"
     22#include "SearchPopupMenuQt.h"
    2423
    2524namespace WebCore {
    2625
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
     26SearchPopupMenuQt::SearchPopupMenuQt(PopupMenuClient* client)
     27    : m_popup(client)
    2928{
    3029}
    3130
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
     31PopupMenu* SearchPopupMenuQt::popupMenu()
     32{
     33    return &m_popup;
     34}
     35
     36void SearchPopupMenuQt::saveRecentSearches(const AtomicString&, const Vector<String>&)
    3337{
    3438}
    3539
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
     40void SearchPopupMenuQt::loadRecentSearches(const AtomicString&, Vector<String>&)
    3741{
    3842}
    3943
    40 bool SearchPopupMenu::enabled()
     44bool SearchPopupMenuQt::enabled()
    4145{
    4246    return true;
  • trunk/WebCore/platform/qt/SearchPopupMenuQt.h

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
    20 #include "config.h"
     21#ifndef SearchPopupMenuQt_h
     22#define SearchPopupMenuQt_h
     23
     24#include "PopupMenuQt.h"
    2125#include "SearchPopupMenu.h"
    22 
    23 #include "AtomicString.h"
    2426
    2527namespace WebCore {
    2628
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
    29 {
     29class SearchPopupMenuQt : public SearchPopupMenu {
     30public:
     31    SearchPopupMenuQt(PopupMenuClient*);
     32
     33    virtual PopupMenu* popupMenu();
     34    virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
     35    virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     36    virtual bool enabled();
     37
     38private:
     39    PopupMenuQt m_popup;
     40};
     41
    3042}
    3143
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
    33 {
    34 }
    35 
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
    37 {
    38 }
    39 
    40 bool SearchPopupMenu::enabled()
    41 {
    42     return true;
    43 }
    44 
    45 }
     44#endif // SearchPopupMenuQt_h
  • trunk/WebCore/platform/win/PopupMenuWin.cpp

    r64025 r64422  
    22 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
    33 * Copyright (C) 2007-2009 Torch Mobile Inc.
     4 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    45 *
    56 * This library is free software; you can redistribute it and/or
     
    2122
    2223#include "config.h"
    23 #include "PopupMenu.h"
     24#include "PopupMenuWin.h"
    2425
    2526#include "BitmapInfo.h"
     
    8788}
    8889
    89 PopupMenu::PopupMenu(PopupMenuClient* client)
     90PopupMenuWin::PopupMenuWin(PopupMenuClient* client)
    9091    : m_popupClient(client)
    9192    , m_scrollbar(0)
     
    103104}
    104105
    105 PopupMenu::~PopupMenu()
     106PopupMenuWin::~PopupMenuWin()
    106107{
    107108    if (m_bmp)
     
    115116}
    116117
    117 LPCTSTR PopupMenu::popupClassName()
     118void PopupMenuWin::disconnectClient()
     119{
     120    m_popupClient = 0;
     121}
     122
     123LPCTSTR PopupMenuWin::popupClassName()
    118124{
    119125    return kPopupWindowClassName;
    120126}
    121127
    122 void PopupMenu::show(const IntRect& r, FrameView* view, int index)
     128void PopupMenuWin::show(const IntRect& r, FrameView* view, int index)
    123129{
    124130    calculatePositionAndSize(r, view);
     
    268274}
    269275
    270 void PopupMenu::hide()
     276void PopupMenuWin::hide()
    271277{
    272278    if (!m_showPopup)
     
    284290}
    285291
    286 void PopupMenu::calculatePositionAndSize(const IntRect& r, FrameView* v)
     292void PopupMenuWin::calculatePositionAndSize(const IntRect& r, FrameView* v)
    287293{
    288294    // r is in absolute document coordinates, but we want to be in screen coordinates
     
    374380}
    375381
    376 bool PopupMenu::setFocusedIndex(int i, bool hotTracking)
     382bool PopupMenuWin::setFocusedIndex(int i, bool hotTracking)
    377383{
    378384    if (i < 0 || i >= client()->listSize() || i == focusedIndex())
     
    396402}
    397403
    398 int PopupMenu::visibleItems() const
     404int PopupMenuWin::visibleItems() const
    399405{
    400406    return clientRect().height() / m_itemHeight;
    401407}
    402408
    403 int PopupMenu::listIndexAtPoint(const IntPoint& point) const
     409int PopupMenuWin::listIndexAtPoint(const IntPoint& point) const
    404410{
    405411    return m_scrollOffset + point.y() / m_itemHeight;
    406412}
    407413
    408 int PopupMenu::focusedIndex() const
     414int PopupMenuWin::focusedIndex() const
    409415{
    410416    return m_focusedIndex;
    411417}
    412418
    413 void PopupMenu::focusFirst()
     419void PopupMenuWin::focusFirst()
    414420{
    415421    if (!client())
     
    425431}
    426432
    427 void PopupMenu::focusLast()
     433void PopupMenuWin::focusLast()
    428434{
    429435    if (!client())
     
    439445}
    440446
    441 bool PopupMenu::down(unsigned lines)
     447bool PopupMenuWin::down(unsigned lines)
    442448{
    443449    if (!client())
     
    458464}
    459465
    460 bool PopupMenu::up(unsigned lines)
     466bool PopupMenuWin::up(unsigned lines)
    461467{
    462468    if (!client())
     
    477483}
    478484
    479 void PopupMenu::invalidateItem(int index)
     485void PopupMenuWin::invalidateItem(int index)
    480486{
    481487    if (!m_popup)
     
    492498}
    493499
    494 IntRect PopupMenu::clientRect() const
     500IntRect PopupMenuWin::clientRect() const
    495501{
    496502    IntRect clientRect = m_windowRect;
     
    500506}
    501507
    502 void PopupMenu::incrementWheelDelta(int delta)
     508void PopupMenuWin::incrementWheelDelta(int delta)
    503509{
    504510    m_wheelDelta += delta;
    505511}
    506512
    507 void PopupMenu::reduceWheelDelta(int delta)
     513void PopupMenuWin::reduceWheelDelta(int delta)
    508514{
    509515    ASSERT(delta >= 0);
     
    518524}
    519525
    520 bool PopupMenu::scrollToRevealSelection()
     526bool PopupMenuWin::scrollToRevealSelection()
    521527{
    522528    if (!m_scrollbar)
     
    538544}
    539545
    540 void PopupMenu::updateFromElement()
     546void PopupMenuWin::updateFromElement()
    541547{
    542548    if (!m_popup)
     
    550556}
    551557
    552 bool PopupMenu::itemWritingDirectionIsNatural()
    553 {
    554     return true;
    555 }
    556 
    557558const int separatorPadding = 4;
    558559const int separatorHeight = 1;
    559 void PopupMenu::paint(const IntRect& damageRect, HDC hdc)
     560void PopupMenuWin::paint(const IntRect& damageRect, HDC hdc)
    560561{
    561562    if (!m_popup)
     
    664665}
    665666
    666 void PopupMenu::valueChanged(Scrollbar* scrollBar)
     667void PopupMenuWin::valueChanged(Scrollbar* scrollBar)
    667668{
    668669    ASSERT(m_scrollbar);
     
    700701}
    701702
    702 void PopupMenu::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rect)
     703void PopupMenuWin::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rect)
    703704{
    704705    IntRect scrollRect = rect;
     
    708709}
    709710
    710 void PopupMenu::registerClass()
     711void PopupMenuWin::registerClass()
    711712{
    712713    static bool haveRegisteredWindowClass = false;
     
    744745
    745746
    746 LRESULT CALLBACK PopupMenu::PopupMenuWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
     747LRESULT CALLBACK PopupMenuWin::PopupMenuWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    747748{
    748749#if OS(WINCE)
     
    772773const int smoothScrollAnimationDuration = 5000;
    773774
    774 LRESULT PopupMenu::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
     775LRESULT PopupMenuWin::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    775776{
    776777    LRESULT lResult = 0;
  • trunk/WebCore/platform/win/SearchPopupMenuWin.cpp

    r29663 r64422  
    11/*
    22 * Copyright (C) 2006, 2007 Apple Inc.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * This library is free software; you can redistribute it and/or
     
    1920
    2021#include "config.h"
    21 #include "SearchPopupMenu.h"
     22#include "SearchPopupMenuWin.h"
    2223
    2324#include "AtomicString.h"
     
    2627namespace WebCore {
    2728
    28 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    29     : PopupMenu(client)
     29SearchPopupMenuWin::SearchPopupMenuWin(PopupMenuClient* client)
     30    : m_popup(client)
    3031{
    3132}
    3233
    33 bool SearchPopupMenu::enabled()
     34PopupMenu* SearchPopupMenuWin::popupMenu()
     35{
     36    return &m_popup;
     37}
     38
     39bool SearchPopupMenuWin::enabled()
    3440{
    3541    return true;
     
    4248}
    4349
    44 void SearchPopupMenu::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
     50void SearchPopupMenuWin::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
    4551{
    4652    if (name.isEmpty())
     
    6268}
    6369
    64 void SearchPopupMenu::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
     70void SearchPopupMenuWin::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
    6571{
    6672    if (name.isEmpty())
  • trunk/WebCore/platform/win/SearchPopupMenuWin.h

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
    20 #include "config.h"
     21#ifndef SearchPopupMenuWin_h
     22#define SearchPopupMenuWin_h
     23
     24#include "PopupMenuWin.h"
    2125#include "SearchPopupMenu.h"
    22 
    23 #include "AtomicString.h"
    2426
    2527namespace WebCore {
    2628
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
    29 {
     29class SearchPopupMenuWin : public SearchPopupMenu {
     30public:
     31    SearchPopupMenuWin(PopupMenuClient*);
     32
     33    virtual PopupMenu* popupMenu();
     34    virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
     35    virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     36    virtual bool enabled();
     37
     38private:
     39    PopupMenuWin m_popup;
     40};
     41
    3042}
    3143
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
    33 {
    34 }
    35 
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
    37 {
    38 }
    39 
    40 bool SearchPopupMenu::enabled()
    41 {
    42     return true;
    43 }
    44 
    45 }
     44#endif // SearchPopupMenuWin_h
  • trunk/WebCore/platform/wx/PopupMenuWx.cpp

    r53716 r64422  
    33 *
    44 * Copyright (C) 2008 Apple Computer, Inc.
     5 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    56 *
    67 * This library is free software; you can redistribute it and/or
     
    2223
    2324#include "config.h"
    24 #include "PopupMenu.h"
     25#include "PopupMenuWx.h"
    2526
    2627#include "Frame.h"
     
    4243namespace WebCore {
    4344
    44 PopupMenu::PopupMenu(PopupMenuClient* client)
     45PopupMenuWx::PopupMenuWx(PopupMenuClient* client)
    4546    : m_popupClient(client)
    4647    , m_menu(NULL)
     
    4849}
    4950
    50 PopupMenu::~PopupMenu()
     51PopupMenuWx::~PopupMenuWx()
    5152{
    5253    delete m_menu;
    5354}
    5455
    55 void PopupMenu::show(const IntRect& r, FrameView* v, int index)
     56void PopupMenuWx::disconnectClient()
     57{
     58    m_popupClient = 0;
     59}
     60
     61void PopupMenuWx::show(const IntRect& r, FrameView* v, int index)
    5662{
    5763    // just delete and recreate
     
    7985            }
    8086        }
    81         nativeWin->Connect(s_menuStartId, s_menuStartId + (size-1), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(PopupMenu::OnMenuItemSelected), NULL, this);
     87        nativeWin->Connect(s_menuStartId, s_menuStartId + (size-1), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(PopupMenuWx::OnMenuItemSelected), 0, this);
    8288        nativeWin->PopupMenu(m_menu, r.x() - v->scrollX(), r.y() - v->scrollY());
    83         nativeWin->Disconnect(s_menuStartId, s_menuStartId + (size-1), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(PopupMenu::OnMenuItemSelected), NULL, this);
     89        nativeWin->Disconnect(s_menuStartId, s_menuStartId + (size-1), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(PopupMenuWx::OnMenuItemSelected), 0, this);
    8490    }
    8591}
    8692
    87 void PopupMenu::OnMenuItemSelected(wxCommandEvent& event)
     93void PopupMenuWx::OnMenuItemSelected(wxCommandEvent& event)
    8894{
    8995    if (client()) {
     
    94100}
    95101
    96 void PopupMenu::hide()
     102void PopupMenuWx::hide()
    97103{
    98104    // we don't need to do anything here, the native control only exists during the time
     
    100106}
    101107
    102 void PopupMenu::updateFromElement()
     108void PopupMenuWx::updateFromElement()
    103109{
    104110    client()->setTextFromItem(m_popupClient->selectedIndex());
    105111}
    106112
    107 bool PopupMenu::itemWritingDirectionIsNatural()
    108 {
    109     return false;
    110113}
    111 
    112 }
  • trunk/WebCore/platform/wx/PopupMenuWx.h

    r64421 r64422  
    11/*
    2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1919 */
    2020
    21 #ifndef SearchPopupMenu_h
    22 #define SearchPopupMenu_h
     21#ifndef PopupMenuWx_h
     22#define PopupMenuWx_h
    2323
     24#include "IntRect.h"
    2425#include "PopupMenu.h"
    25 #include <wtf/Vector.h>
     26#include "PopupMenuClient.h"
     27#include <wtf/PassRefPtr.h>
     28#include <wtf/RefCounted.h>
     29
     30#ifdef __WXMSW__
     31#include <wx/msw/winundef.h>
     32#endif
     33class wxMenu;
     34#include <wx/defs.h>
     35#include <wx/event.h>
    2636
    2737namespace WebCore {
    2838
    29 class AtomicString;
     39class FrameView;
     40class Scrollbar;
    3041
    31 class SearchPopupMenu : public PopupMenu {
     42class PopupMenuWx : public PopupMenu, public wxEvtHandler {
    3243public:
    33     static PassRefPtr<SearchPopupMenu> create(PopupMenuClient* client) { return adoptRef(new SearchPopupMenu(client)); }
     44    PopupMenuWx(PopupMenuClient*);
     45    ~PopupMenuWx();
    3446
    35     void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
    36     void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     47    virtual void show(const IntRect&, FrameView*, int index);
     48    virtual void hide();
     49    virtual void updateFromElement();
     50    virtual void disconnectClient();
    3751
    38     bool enabled();
    39    
    4052private:
    41     SearchPopupMenu(PopupMenuClient*);
     53    void OnMenuItemSelected(wxCommandEvent&);
     54    PopupMenuClient* client() const { return m_popupClient; }
     55
     56    PopupMenuClient* m_popupClient;
     57    wxMenu* m_menu;
    4258};
    4359
    4460}
    4561
    46 #endif
     62#endif // PopupMenuWx_h
  • trunk/WebCore/platform/wx/SearchPopupMenuWx.cpp

    r48213 r64422  
    11/*
    22 * Copyright (C) 2009 Apple Inc. All Rights Reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    2526
    2627#include "config.h"
    27 #include "SearchPopupMenu.h"
     28#include "SearchPopupMenuWx.h"
    2829
    2930#include "NotImplemented.h"
     
    3132namespace WebCore {
    3233
    33 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    34     : PopupMenu(client)
     34SearchPopupMenuWx::SearchPopupMenuWx(PopupMenuClient* client)
     35    : m_popup(client)
    3536{
    3637    notImplemented();
    3738}
    3839
    39 void SearchPopupMenu::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
     40void SearchPopupMenuWx::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
    4041{
    4142    notImplemented();
    4243}
    4344
    44 void SearchPopupMenu::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
     45void SearchPopupMenuWx::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
    4546{
    4647    notImplemented();
    4748}
    4849
    49 bool SearchPopupMenu::enabled()
     50bool SearchPopupMenuWx::enabled()
    5051{
    5152    return true;
    5253}
    5354
     55PopupMenu* SearchPopupMenuWx::popupMenu()
     56{
     57    return &m_popup;
    5458}
    5559
     60}
     61
  • trunk/WebCore/platform/wx/SearchPopupMenuWx.h

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
    20 #include "config.h"
     21#ifndef SearchPopupMenuWx_h
     22#define SearchPopupMenuWx_h
     23
     24#include "PopupMenuWx.h"
    2125#include "SearchPopupMenu.h"
    22 
    23 #include "AtomicString.h"
    2426
    2527namespace WebCore {
    2628
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
    29 {
     29class SearchPopupMenuWx : public SearchPopupMenu {
     30public:
     31    SearchPopupMenuWx(PopupMenuClient*);
     32
     33    virtual PopupMenu* popupMenu();
     34    virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
     35    virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     36    virtual bool enabled();
     37
     38private:
     39    PopupMenuWx m_popup;
     40};
     41
    3042}
    3143
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
    33 {
    34 }
    35 
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
    37 {
    38 }
    39 
    40 bool SearchPopupMenu::enabled()
    41 {
    42     return true;
    43 }
    44 
    45 }
     44#endif // SearchPopupMenuWx_h
  • trunk/WebCore/rendering/RenderMenuList.cpp

    r64173 r64422  
    2727
    2828#include "AXObjectCache.h"
     29#include "Chrome.h"
    2930#include "CSSStyleSelector.h"
    3031#include "Frame.h"
     
    8990    m_innerBlock->style()->setPaddingTop(Length(theme()->popupInternalPaddingTop(style()), Fixed));
    9091    m_innerBlock->style()->setPaddingBottom(Length(theme()->popupInternalPaddingBottom(style()), Fixed));
    91        
    92     if (PopupMenu::itemWritingDirectionIsNatural()) {
     92
     93    if (document()->page()->chrome()->selectItemWritingDirectionIsNatural()) {
    9394        // Items in the popup will not respect the CSS text-align and direction properties,
    9495        // so we must adjust our own style to match.
     
    279280    createInnerBlock();
    280281    if (!m_popup)
    281         m_popup = PopupMenu::create(this);
     282        m_popup = document()->page()->chrome()->createPopupMenu(this);
    282283    SelectElement* select = toSelectElement(static_cast<Element*>(node()));
    283284    m_popupIsVisible = true;
  • trunk/WebCore/rendering/RenderMenuList.h

    r64173 r64422  
    2525#define RenderMenuList_h
    2626
     27#include "PopupMenu.h"
    2728#include "PopupMenuClient.h"
    2829#include "RenderFlexibleBox.h"
     
    3637namespace WebCore {
    3738
    38 class PopupMenu;
    3939class RenderText;
    4040
  • trunk/WebCore/rendering/RenderTextControlSingleLine.cpp

    r64173 r64422  
    33 *           (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
    44 * Copyright (C) 2010 Google Inc. All rights reserved.
     5 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    56 *
    67 * This library is free software; you can redistribute it and/or
     
    2425#include "RenderTextControlSingleLine.h"
    2526
     27#include "Chrome.h"
    2628#include "CSSStyleSelector.h"
    2729#include "Event.h"
     
    3941#include "RenderScrollbar.h"
    4042#include "RenderTheme.h"
    41 #include "SearchPopupMenu.h"
    4243#include "SelectionController.h"
    4344#include "Settings.h"
     
    6364{
    6465    if (m_searchPopup) {
    65         m_searchPopup->disconnectClient();
     66        m_searchPopup->popupMenu()->disconnectClient();
    6667        m_searchPopup = 0;
    6768    }
     
    108109    const AtomicString& name = autosaveName();
    109110    if (!m_searchPopup)
    110         m_searchPopup = SearchPopupMenu::create(this);
     111        m_searchPopup = document()->page()->chrome()->createSearchPopupMenu(this);
    111112
    112113    m_searchPopup->saveRecentSearches(name, m_recentSearches);
     
    126127
    127128    if (!m_searchPopup)
    128         m_searchPopup = SearchPopupMenu::create(this);
     129        m_searchPopup = document()->page()->chrome()->createSearchPopupMenu(this);
    129130
    130131    if (!m_searchPopup->enabled())
     
    146147    }
    147148
    148     m_searchPopup->show(absoluteBoundingBoxRect(true), document()->view(), -1);
     149    m_searchPopup->popupMenu()->show(absoluteBoundingBoxRect(true), document()->view(), -1);
    149150}
    150151
     
    153154    ASSERT(node()->isHTMLElement());
    154155    if (m_searchPopup)
    155         m_searchPopup->hide();
     156        m_searchPopup->popupMenu()->hide();
    156157}
    157158
     
    686687
    687688    if (m_searchPopupIsVisible)
    688         m_searchPopup->updateFromElement();
     689        m_searchPopup->popupMenu()->updateFromElement();
    689690}
    690691
     
    884885            if (!name.isEmpty()) {
    885886                if (!m_searchPopup)
    886                     m_searchPopup = SearchPopupMenu::create(this);
     887                    m_searchPopup = document()->page()->chrome()->createSearchPopupMenu(this);
    887888                m_searchPopup->saveRecentSearches(name, m_recentSearches);
    888889            }
  • trunk/WebCore/rendering/RenderTextControlSingleLine.h

    r64173 r64422  
    22 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.
    33 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
     4 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    45 *
    56 * This library is free software; you can redistribute it and/or
     
    2526#include "PopupMenuClient.h"
    2627#include "RenderTextControl.h"
     28#include "SearchPopupMenu.h"
    2729#include "Timer.h"
    2830
     
    3335class SearchFieldCancelButtonElement;
    3436class SearchFieldResultsButtonElement;
    35 class SearchPopupMenu;
    3637class SpinButtonElement;
    3738class TextControlInnerElement;
  • trunk/WebKit/chromium/ChangeLog

    r64400 r64422  
     12010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        PopupMenu refactoring in preparation to WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=42592
     7
     8        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
     9        instances, concrete classes that inherit from ChromeClient needed to be changed to
     10        implement the new methods.
     11
     12        * src/ChromeClientImpl.cpp:
     13        (WebKit::ChromeClientImpl::selectItemWritingDirectionIsNatural):
     14        (WebKit::ChromeClientImpl::createPopupMenu):
     15        (WebKit::ChromeClientImpl::createSearchPopupMenu):
     16        * src/ChromeClientImpl.h:
     17
    1182010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
    219
  • trunk/WebKit/chromium/src/ChromeClientImpl.cpp

    r64400 r64422  
    11/*
    22 * Copyright (C) 2009 Google Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    5657#include "Page.h"
    5758#include "PopupMenuChromium.h"
     59#include "SearchPopupMenuChromium.h"
    5860#include "ScriptController.h"
    5961#include "SecurityOrigin.h"
     
    774776}
    775777
     778bool ChromeClientImpl::selectItemWritingDirectionIsNatural()
     779{
     780    return false;
     781}
     782
     783PassRefPtr<PopupMenu> ChromeClientImpl::createPopupMenu(PopupMenuClient* client) const
     784{
     785    return adoptRef(new PopupMenuChromium(client));
     786}
     787
     788PassRefPtr<SearchPopupMenu> ChromeClientImpl::createSearchPopupMenu(PopupMenuClient* client) const
     789{
     790    return adoptRef(new SearchPopupMenuChromium(client));
     791}
     792
    776793} // namespace WebKit
  • trunk/WebKit/chromium/src/ChromeClientImpl.h

    r64400 r64422  
    11/*
    22 * Copyright (C) 2009 Google Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    3334
    3435#include "ChromeClientChromium.h"
     36#include "PopupMenu.h"
     37#include "SearchPopupMenu.h"
    3538
    3639namespace WebCore {
     
    3942class HTMLParserQuirks;
    4043class PopupContainer;
     44class PopupMenuClient;
    4145class SecurityOrigin;
    4246struct WindowFeatures;
     
    169173    void setCursorForPlugin(const WebCursorInfo& cursor);
    170174
     175    virtual bool selectItemWritingDirectionIsNatural();
     176    virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const;
     177    virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const;
     178
    171179private:
    172180    void getPopupMenuInfo(WebCore::PopupContainer*, WebPopupMenuInfo*);
  • trunk/WebKit/efl/ChangeLog

    r64208 r64422  
     12010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        PopupMenu refactoring in preparation to WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=42592
     7
     8        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
     9        instances, concrete classes that inherit from ChromeClient needed to be changed to
     10        implement the new methods.
     11
     12        * WebCoreSupport/ChromeClientEfl.cpp:
     13        (WebCore::ChromeClientEfl::selectItemWritingDirectionIsNatural):
     14        (WebCore::ChromeClientEfl::createPopupMenu):
     15        (WebCore::ChromeClientEfl::createSearchPopupMenu):
     16        * WebCoreSupport/ChromeClientEfl.h:
     17
    1182010-07-26  Steve Block  <steveblock@google.com>
    219
  • trunk/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp

    r64400 r64422  
    66 * Copyright (C) 2009-2010 ProFUSION embedded systems
    77 * Copyright (C) 2009-2010 Samsung Electronics
     8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    89 *
    910 * All rights reserved.
     
    4950#include "PlatformString.h"
    5051#include "SecurityOrigin.h"
     52#include "PopupMenuEfl.h"
     53#include "SearchPopupMenuEfl.h"
    5154#include "ViewportArguments.h"
    5255#include "WindowFeatures.h"
     
    520523}
    521524
    522 }
     525bool ChromeClientEfl::selectItemWritingDirectionIsNatural()
     526{
     527    return true;
     528}
     529
     530PassRefPtr<PopupMenu> ChromeClientEfl::createPopupMenu(PopupMenuClient* client) const
     531{
     532    return adoptRef(new PopupMenuEfl(client));
     533}
     534
     535PassRefPtr<SearchPopupMenu> ChromeClientEfl::createSearchPopupMenu(PopupMenuClient* client) const
     536{
     537    return adoptRef(new SearchPopupMenuEfl(client));
     538}
     539
     540}
  • trunk/WebKit/efl/WebCoreSupport/ChromeClientEfl.h

    r64400 r64422  
    44 * Copyright (C) 2009-2010 ProFUSION embedded systems
    55 * Copyright (C) 2009-2010 Samsung Electronics
     6 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    67 *
    78 * This library is free software; you can redistribute it and/or
     
    139140    virtual void didReceiveViewportArguments(Frame* frame, const ViewportArguments& arguments) const;
    140141
     142    virtual bool selectItemWritingDirectionIsNatural();
     143    virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const;
     144    virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const;
     145
    141146    Evas_Object* m_view;
    142147    KURL m_hoveredLinkURL;
  • trunk/WebKit/gtk/ChangeLog

    r64400 r64422  
     12010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        PopupMenu refactoring in preparation to WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=42592
     7
     8        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
     9        instances, concrete classes that inherit from ChromeClient needed to be changed to
     10        implement the new methods.
     11
     12        * WebCoreSupport/ChromeClientGtk.cpp:
     13        (WebKit::ChromeClient::selectItemWritingDirectionIsNatural):
     14        (WebKit::ChromeClient::createPopupMenu):
     15        (WebKit::ChromeClient::createSearchPopupMenu):
     16        * WebCoreSupport/ChromeClientGtk.h:
     17
    1182010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
    219
  • trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

    r64400 r64422  
    55 * Copyright (C) 2008 Alp Toker <alp@atoker.com>
    66 * Copyright (C) 2008 Gustavo Noronha Silva <gns@gnome.org>
     7 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    78 *
    89 *  This library is free software; you can redistribute it and/or
     
    3536#include "KURL.h"
    3637#include "PlatformString.h"
     38#include "PopupMenuClient.h"
     39#include "PopupMenuGtk.h"
     40#include "SearchPopupMenuGtk.h"
    3741#include "SecurityOrigin.h"
    3842#include "webkitgeolocationpolicydecision.h"
     
    623627}
    624628
    625 }
     629bool ChromeClient::selectItemWritingDirectionIsNatural()
     630{
     631    return true;
     632}
     633
     634PassRefPtr<WebCore::PopupMenu> ChromeClient::createPopupMenu(WebCore::PopupMenuClient* client) const
     635{
     636    return adoptRef(new PopupMenuGtk(client));
     637}
     638
     639PassRefPtr<WebCore::SearchPopupMenu> ChromeClient::createSearchPopupMenu(WebCore::PopupMenuClient* client) const
     640{
     641    return adoptRef(new SearchPopupMenuGtk(client));
     642}
     643
     644}
  • trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h

    r64400 r64422  
    11/*
    22 * Copyright (C) 2007 Holger Hans Peter Freyther
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * This library is free software; you can redistribute it and/or
     
    2324#include "ChromeClient.h"
    2425#include "KURL.h"
     26#include "PopupMenu.h"
     27#include "SearchPopupMenu.h"
    2528
    2629typedef struct _WebKitWebView WebKitWebView;
     30
     31namespace WebCore {
     32class PopupMenuClient;
     33}
    2734
    2835namespace WebKit {
     
    124131        virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*);
    125132
     133        virtual bool selectItemWritingDirectionIsNatural();
     134        virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const;
     135        virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const;
     136
    126137    private:
    127138        WebKitWebView* m_webView;
  • trunk/WebKit/haiku/ChangeLog

    r64400 r64422  
     12010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        PopupMenu refactoring in preparation to WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=42592
     7
     8        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
     9        instances, concrete classes that inherit from ChromeClient needed to be changed to
     10        implement the new methods.
     11
     12        * WebCoreSupport/ChromeClientHaiku.cpp:
     13        (WebCore::ChromeClientHaiku::selectItemWritingDirectionIsNatural):
     14        (WebCore::ChromeClientHaiku::createPopupMenu):
     15        (WebCore::ChromeClientHaiku::createSearchPopupMenu):
     16        * WebCoreSupport/ChromeClientHaiku.h:
     17
    1182010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
    219
  • trunk/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp

    r64400 r64422  
    33 * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
    44 * Copyright (C) 2007 Ryan Leavengood <leavengood@gmail.com> All rights reserved.
     5 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    56 *
    67 *
     
    3738#include "PlatformString.h"
    3839#include "SecurityOrigin.h"
     40#include "PopupMenuHaiku.h"
     41#include "SearchPopupMenuHaiku.h"
    3942
    4043#include <Alert.h>
     
    387390}
    388391
     392bool ChromeClientHaiku::selectItemWritingDirectionIsNatural()
     393{
     394    return false;
     395}
     396
     397PassRefPtr<PopupMenu> ChromeClientHaiku::createPopupMenu(PopupMenuClient* client) const
     398{
     399    return adoptRef(new PopupMenuHaiku(client));
     400}
     401
     402PassRefPtr<SearchPopupMenu> ChromeClientHaiku::createSearchPopupMenu(PopupMenuClient* client) const
     403{
     404    return adoptRef(new SearchPopupMenuHaiku(client));
     405}
     406
    389407} // namespace WebCore
    390408
  • trunk/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h

    r64400 r64422  
    22 * Copyright (C) 2006 Zack Rusin <zack@kde.org>
    33 * Copyright (C) 2007 Ryan Leavengood <leavengood@gmail.com> All rights reserved.
     4 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    45 *
    56 *
     
    129130        void exceededDatabaseQuota(Frame*, const String& databaseName);
    130131
     132        virtual bool selectItemWritingDirectionIsNatural();
     133        virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const;
     134        virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const;
     135
    131136#if ENABLE(OFFLINE_WEB_APPLICATIONS)
    132137        virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
  • trunk/WebKit/mac/ChangeLog

    r64421 r64422  
     12010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        PopupMenu refactoring in preparation to WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=42592
     7
     8        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
     9        instances, concrete classes that inherit from ChromeClient needed to be changed to
     10        implement the new methods.
     11
     12        * WebCoreSupport/WebChromeClient.h:
     13        * WebCoreSupport/WebChromeClient.mm:
     14        (WebChromeClient::selectItemWritingDirectionIsNatural):
     15        (WebChromeClient::createPopupMenu):
     16        (WebChromeClient::createSearchPopupMenu):
     17
    1182010-07-31  David Kilzer  <ddkilzer@apple.com>
    219
  • trunk/WebKit/mac/WebCoreSupport/WebChromeClient.h

    r64400 r64422  
    11/*
    22 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
    3  * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
     3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies)
    44 *
    55 * Redistribution and use in source and binary forms, with or without
     
    169169    virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*) { }
    170170
     171    virtual bool selectItemWritingDirectionIsNatural();
     172    virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const;
     173    virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const;
     174
    171175private:
    172176    WebView *m_webView;
  • trunk/WebKit/mac/WebCoreSupport/WebChromeClient.mm

    r64400 r64422  
    11/*
    22 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
    3  * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
     3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies)
    44 *
    55 * Redistribution and use in source and binary forms, with or without
     
    6565#import <WebCore/PlatformScreen.h>
    6666#import <WebCore/PlatformString.h>
     67#import <WebCore/PopupMenuMac.h>
    6768#import <WebCore/ResourceRequest.h>
     69#import <WebCore/SearchPopupMenuMac.h>
    6870#import <WebCore/Widget.h>
    6971#import <WebCore/WindowFeatures.h>
    7072#import <wtf/PassRefPtr.h>
    7173#import <wtf/Vector.h>
     74
     75
    7276
    7377#if USE(ACCELERATED_COMPOSITING)
     
    738742}
    739743
     744bool WebChromeClient::selectItemWritingDirectionIsNatural()
     745{
     746    return false;
     747}
     748
     749PassRefPtr<WebCore::PopupMenu> WebChromeClient::createPopupMenu(WebCore::PopupMenuClient* client) const
     750{
     751    return adoptRef(new PopupMenuMac(client));
     752}
     753
     754PassRefPtr<WebCore::SearchPopupMenu> WebChromeClient::createSearchPopupMenu(WebCore::PopupMenuClient* client) const
     755{
     756    return adoptRef(new SearchPopupMenuMac(client));
     757}
     758
    740759#if USE(ACCELERATED_COMPOSITING)
    741760
  • trunk/WebKit/qt/ChangeLog

    r64401 r64422  
     12010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        PopupMenu refactoring in preparation to WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=42592
     7
     8        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
     9        instances, concrete classes that inherit from ChromeClient needed to be changed to
     10        implement the new methods.
     11
     12        * WebCoreSupport/ChromeClientQt.cpp:
     13        (WebCore::ChromeClientQt::selectItemWritingDirectionIsNatural):
     14        (WebCore::ChromeClientQt::createPopupMenu):
     15        (WebCore::ChromeClientQt::createSearchPopupMenu):
     16        * WebCoreSupport/ChromeClientQt.h:
     17
    1182010-07-30  Luiz Agostini  <luiz.agostini@openbossa.org>
    219
  • trunk/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp

    r64401 r64422  
    22 * Copyright (C) 2006 Zack Rusin <zack@kde.org>
    33 * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
     4 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    45 *
    56 * All rights reserved.
     
    4647#include "NotificationPresenterClientQt.h"
    4748#include "PageClientQt.h"
     49#include "PopupMenuQt.h"
    4850#if defined(Q_WS_MAEMO_5)
    4951#include "QtMaemoWebPopup.h"
     
    5355#include "QWebPageClient.h"
    5456#include "ScrollbarTheme.h"
     57#include "SearchPopupMenuQt.h"
    5558#include "SecurityOrigin.h"
    5659#include "ViewportArguments.h"
     
    623626}
    624627
     628bool ChromeClientQt::selectItemWritingDirectionIsNatural()
     629{
     630    return false;
     631}
     632
     633PassRefPtr<PopupMenu> ChromeClientQt::createPopupMenu(PopupMenuClient* client) const
     634{
     635    return adoptRef(new PopupMenuQt(client));
     636}
     637
     638PassRefPtr<SearchPopupMenu> ChromeClientQt::createSearchPopupMenu(PopupMenuClient* client) const
     639{
     640    return adoptRef(new SearchPopupMenuQt(client));
     641}
     642
    625643} // namespace WebCore
  • trunk/WebKit/qt/WebCoreSupport/ChromeClientQt.h

    r64401 r64422  
    11/*
    22 * Copyright (C) 2006 Zack Rusin <zack@kde.org>
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * All rights reserved.
     
    170171        virtual void cancelGeolocationPermissionRequestForFrame(Frame*, Geolocation*) { }
    171172
     173        virtual bool selectItemWritingDirectionIsNatural();
     174        virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const;
     175        virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const;
     176
    172177        QtAbstractWebPopup* createSelectPopup();
    173178
  • trunk/WebKit/win/ChangeLog

    r64412 r64422  
     12010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        PopupMenu refactoring in preparation to WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=42592
     7
     8        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
     9        instances, concrete classes that inherit from ChromeClient needed to be changed to
     10        implement the new methods.
     11
     12        * WebCoreSupport/WebChromeClient.cpp:
     13        (WebChromeClient::selectItemWritingDirectionIsNatural):
     14        (WebChromeClient::createPopupMenu):
     15        (WebChromeClient::createSearchPopupMenu):
     16        * WebCoreSupport/WebChromeClient.h:
     17
    1182010-07-31  Daniel Bates  <dbates@rim.com>
    219
  • trunk/WebKit/win/WebCoreSupport/WebChromeClient.cpp

    r64400 r64422  
    11/*
    22 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    5758#include <WebCore/Page.h>
    5859#include <WebCore/SecurityOrigin.h>
     60#include <WebCore/PopupMenuWin.h>
     61#include <WebCore/SearchPopupMenuWin.h>
    5962#include <WebCore/WindowFeatures.h>
    6063#pragma warning(pop)
     
    875878#endif
    876879
     880bool WebChromeClient::selectItemWritingDirectionIsNatural()
     881{
     882    return true;
     883}
     884
     885PassRefPtr<PopupMenu> WebChromeClient::createPopupMenu(PopupMenuClient* client) const
     886{
     887    return adoptRef(new PopupMenuWin(client));
     888}
     889
     890PassRefPtr<SearchPopupMenu> WebChromeClient::createSearchPopupMenu(PopupMenuClient* client) const
     891{
     892    return adoptRef(new SearchPopupMenuWin(client));
     893}
     894
  • trunk/WebKit/win/WebCoreSupport/WebChromeClient.h

    r64400 r64422  
    11/*
    22 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    167168#endif
    168169
     170    virtual bool selectItemWritingDirectionIsNatural();
     171    virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const;
     172    virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const;
     173
    169174private:
    170175    COMPtr<IWebUIDelegate> uiDelegate();
  • trunk/WebKit/wx/ChangeLog

    r64400 r64422  
     12010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        PopupMenu refactoring in preparation to WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=42592
     7
     8        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
     9        instances, concrete classes that inherit from ChromeClient needed to be changed to
     10        implement the new methods.
     11
     12        * WebKitSupport/ChromeClientWx.cpp:
     13        (WebCore::ChromeClientWx::selectItemWritingDirectionIsNatural):
     14        (WebCore::ChromeClientWx::createPopupMenu):
     15        (WebCore::ChromeClientWx::createSearchPopupMenu):
     16        * WebKitSupport/ChromeClientWx.h:
     17
    1182010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
    219
  • trunk/WebKit/wx/WebKitSupport/ChromeClientWx.cpp

    r64400 r64422  
    11/*
    22 * Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * All rights reserved.
     
    4041#include "PlatformString.h"
    4142#include "SecurityOrigin.h"
     43#include "PopupMenuWx.h"
     44#include "SearchPopupMenuWx.h"
    4245#include "WindowFeatures.h"
    4346
     
    465468}
    466469
    467 }
     470bool ChromeClientWx::selectItemWritingDirectionIsNatural()
     471{
     472    return false;
     473}
     474
     475PassRefPtr<PopupMenu> ChromeClientWx::createPopupMenu(PopupMenuClient* client) const
     476{
     477    return adoptRef(new PopupMenuWx(client));
     478}
     479
     480PassRefPtr<SearchPopupMenu> ChromeClientWx::createSearchPopupMenu(PopupMenuClient* client) const
     481{
     482    return adoptRef(new SearchPopupMenuWx(client));
     483}
     484
     485}
  • trunk/WebKit/wx/WebKitSupport/ChromeClientWx.h

    r64400 r64422  
    11/*
    22 * Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * All rights reserved.
     
    143144    virtual void cancelGeolocationPermissionRequestForFrame(Frame*, Geolocation*) { }
    144145
     146    virtual bool selectItemWritingDirectionIsNatural();
     147    virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const;
     148    virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const;
     149
    145150private:
    146151    wxWebView* m_webView;
  • trunk/WebKit2/ChangeLog

    r64402 r64422  
     12010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        PopupMenu refactoring in preparation to WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=42592
     7
     8        Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
     9        SearchPopupMenu respectively. At this point they are just empty implementations.
     10
     11        * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
     12        (WebKit::WebPopupMenu::WebPopupMenu):
     13        (WebKit::WebPopupMenu::~WebPopupMenu):
     14        (WebKit::WebPopupMenu::disconnectClient):
     15        (WebKit::WebPopupMenu::show):
     16        (WebKit::WebPopupMenu::hide):
     17        (WebKit::WebPopupMenu::updateFromElement):
     18        * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
     19        * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
     20        (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
     21        (WebKit::WebSearchPopupMenu::popupMenu):
     22        (WebKit::WebSearchPopupMenu::saveRecentSearches):
     23        (WebKit::WebSearchPopupMenu::loadRecentSearches):
     24        (WebKit::WebSearchPopupMenu::enabled):
     25        * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
     26
     27        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
     28        instances, concrete classes that inherit from ChromeClient needed to be changed to
     29        implement the new methods.
     30
     31        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
     32        (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
     33        (WebKit::WebChromeClient::createPopupMenu):
     34        (WebKit::WebChromeClient::createSearchPopupMenu):
     35        * WebProcess/WebCoreSupport/WebChromeClient.h:
     36
     37        build issues:
     38
     39        * WebKit2.xcodeproj/project.pbxproj:
     40        * win/WebKit2.vcproj:
     41
    1422010-07-30  Darin Fisher  <darin@chromium.org>
    243
  • trunk/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r64396 r64422  
    267267                BCF69FA91176D1CB00471A52 /* WKNavigationData.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF69FA71176D1CB00471A52 /* WKNavigationData.h */; settings = {ATTRIBUTES = (Public, ); }; };
    268268                BCF69FAA1176D1CB00471A52 /* WKNavigationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF69FA81176D1CB00471A52 /* WKNavigationData.cpp */; };
     269                D3B9484611FF4B6500032B39 /* WebPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3B9484211FF4B6500032B39 /* WebPopupMenu.cpp */; };
     270                D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = D3B9484311FF4B6500032B39 /* WebPopupMenu.h */; };
     271                D3B9484811FF4B6500032B39 /* WebSearchPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3B9484411FF4B6500032B39 /* WebSearchPopupMenu.cpp */; };
     272                D3B9484911FF4B6500032B39 /* WebSearchPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = D3B9484511FF4B6500032B39 /* WebSearchPopupMenu.h */; };
    269273                E1EE53E311F8CFC000CCBEE4 /* InjectedBundlePageEditorClient.h in Headers */ = {isa = PBXBuildFile; fileRef = E1EE53DC11F8CF9F00CCBEE4 /* InjectedBundlePageEditorClient.h */; };
    270274                E1EE53E711F8CFFB00CCBEE4 /* InjectedBundlePageEditorClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1EE53E611F8CFFB00CCBEE4 /* InjectedBundlePageEditorClient.cpp */; };
     
    567571                BCF69FA71176D1CB00471A52 /* WKNavigationData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNavigationData.h; sourceTree = "<group>"; };
    568572                BCF69FA81176D1CB00471A52 /* WKNavigationData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKNavigationData.cpp; sourceTree = "<group>"; };
     573                D3B9484211FF4B6500032B39 /* WebPopupMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPopupMenu.cpp; sourceTree = "<group>"; };
     574                D3B9484311FF4B6500032B39 /* WebPopupMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPopupMenu.h; sourceTree = "<group>"; };
     575                D3B9484411FF4B6500032B39 /* WebSearchPopupMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebSearchPopupMenu.cpp; sourceTree = "<group>"; };
     576                D3B9484511FF4B6500032B39 /* WebSearchPopupMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSearchPopupMenu.h; sourceTree = "<group>"; };
    569577                E1EE53DC11F8CF9F00CCBEE4 /* InjectedBundlePageEditorClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundlePageEditorClient.h; sourceTree = "<group>"; };
    570578                E1EE53E611F8CFFB00CCBEE4 /* InjectedBundlePageEditorClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundlePageEditorClient.cpp; sourceTree = "<group>"; };
     
    861869                                1A3E736011CC2659007BD539 /* WebPlatformStrategies.cpp */,
    862870                                1A3E735F11CC2659007BD539 /* WebPlatformStrategies.h */,
     871                                D3B9484211FF4B6500032B39 /* WebPopupMenu.cpp */,
     872                                D3B9484311FF4B6500032B39 /* WebPopupMenu.h */,
     873                                D3B9484411FF4B6500032B39 /* WebSearchPopupMenu.cpp */,
     874                                D3B9484511FF4B6500032B39 /* WebSearchPopupMenu.h */,
    863875                        );
    864876                        path = WebCoreSupport;
     
    13261338                                BCB28CC0120233D9007D99BC /* InjectedBundleMessageKinds.h in Headers */,
    13271339                                BCCB75C61203A1CE00222D1B /* WebContextMessageKinds.h in Headers */,
     1340                                D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */,
     1341                                D3B9484911FF4B6500032B39 /* WebSearchPopupMenu.h in Headers */,
    13281342                        );
    13291343                        runOnlyForDeploymentPostprocessing = 0;
     
    15271541                                1AE49A4A11FFA8CE0048B464 /* JSNPMethod.cpp in Sources */,
    15281542                                BCDB85831200EC57007254BE /* WKType.cpp in Sources */,
     1543                                D3B9484611FF4B6500032B39 /* WebPopupMenu.cpp in Sources */,
     1544                                D3B9484811FF4B6500032B39 /* WebSearchPopupMenu.cpp in Sources */,
    15291545                        );
    15301546                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp

    r64400 r64422  
    11/*
    22 * Copyright (C) 2010 Apple Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    3536#include "WebPage.h"
    3637#include "WebPageProxyMessageKinds.h"
     38#include "WebPopupMenu.h"
    3739#include "WebPreferencesStore.h"
    3840#include "WebProcess.h"
    3941#include "WebProcessProxyMessageKinds.h"
     42#include "WebSearchPopupMenu.h"
    4043#include <WebCore/FileChooser.h>
    4144#include <WebCore/Frame.h>
     
    476479}
    477480
     481bool WebChromeClient::selectItemWritingDirectionIsNatural()
     482{
     483    return true;
     484}
     485
     486PassRefPtr<WebCore::PopupMenu> WebChromeClient::createPopupMenu(WebCore::PopupMenuClient* client) const
     487{
     488    return adoptRef(new WebPopupMenu(client));
     489}
     490
     491PassRefPtr<WebCore::SearchPopupMenu> WebChromeClient::createSearchPopupMenu(WebCore::PopupMenuClient* client) const
     492{
     493    return adoptRef(new WebSearchPopupMenu(client));
     494}
     495
    478496PassOwnPtr<HTMLParserQuirks> WebChromeClient::createHTMLParserQuirks()
    479497{
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h

    r64400 r64422  
    11/*
    22 * Copyright (C) 2010 Apple Inc. All rights reserved.
     3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    164165    virtual PassOwnPtr<WebCore::HTMLParserQuirks> createHTMLParserQuirks();
    165166
     167    virtual bool selectItemWritingDirectionIsNatural();
     168    virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const;
     169    virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const;
     170
    166171#if USE(ACCELERATED_COMPOSITING)
    167172    virtual void attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*);
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebPopupMenu.cpp

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
     20#include "config.h"
     21#include "WebPopupMenu.h"
    1922
    20 #include "config.h"
    21 #include "SearchPopupMenu.h"
     23#include "FrameView.h"
     24#include "PopupMenuClient.h"
    2225
    23 #include "AtomicString.h"
     26namespace WebKit {
    2427
    25 namespace WebCore {
    26 
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
     28WebPopupMenu::WebPopupMenu(WebCore::PopupMenuClient* client)
     29    : m_popupClient(client)
    2930{
    3031}
    3132
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
     33WebPopupMenu::~WebPopupMenu()
    3334{
    3435}
    3536
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
     37
     38void WebPopupMenu::disconnectClient()
     39{
     40    m_popupClient = 0;
     41}
     42
     43void WebPopupMenu::show(const WebCore::IntRect& rect, WebCore::FrameView* view, int index)
     44{
     45
     46}
     47
     48void WebPopupMenu::hide()
    3749{
    3850}
    3951
    40 bool SearchPopupMenu::enabled()
     52void WebPopupMenu::updateFromElement()
    4153{
    42     return true;
    4354}
    4455
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebPopupMenu.h

    r64421 r64422  
    11/*
    2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1919 */
    2020
    21 #ifndef SearchPopupMenu_h
    22 #define SearchPopupMenu_h
     21#ifndef WebPopupMenu_h
     22#define WebPopupMenu_h
    2323
    2424#include "PopupMenu.h"
    25 #include <wtf/Vector.h>
    2625
    2726namespace WebCore {
     27class PopupMenuClient;
     28}
    2829
    29 class AtomicString;
     30namespace WebKit {
    3031
    31 class SearchPopupMenu : public PopupMenu {
     32class WebPopupMenu : public WebCore::PopupMenu {
    3233public:
    33     static PassRefPtr<SearchPopupMenu> create(PopupMenuClient* client) { return adoptRef(new SearchPopupMenu(client)); }
     34    WebPopupMenu(WebCore::PopupMenuClient*);
     35    ~WebPopupMenu();
    3436
    35     void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
    36     void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
     37    virtual void show(const WebCore::IntRect&, WebCore::FrameView*, int index);
     38    virtual void hide();
     39    virtual void updateFromElement();
     40    virtual void disconnectClient();
    3741
    38     bool enabled();
    39    
    4042private:
    41     SearchPopupMenu(PopupMenuClient*);
     43    WebCore::PopupMenuClient* m_popupClient;
    4244};
    4345
    4446}
    4547
    46 #endif
     48#endif // WebPopupMenu_h
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
     21
    2022#include "config.h"
    21 #include "SearchPopupMenu.h"
     23#include "WebSearchPopupMenu.h"
    2224
    23 #include "AtomicString.h"
     25namespace WebKit {
    2426
    25 namespace WebCore {
    26 
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
     27WebSearchPopupMenu::WebSearchPopupMenu(WebCore::PopupMenuClient* client)
     28    : m_popup(client)
    2929{
    3030}
    3131
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
     32WebCore::PopupMenu* WebSearchPopupMenu::popupMenu()
     33{
     34    return &m_popup;
     35}
     36
     37void WebSearchPopupMenu::saveRecentSearches(const WebCore::AtomicString&, const Vector<WebCore::String>&)
    3338{
    3439}
    3540
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
     41void WebSearchPopupMenu::loadRecentSearches(const WebCore::AtomicString&, Vector<WebCore::String>&)
    3742{
    3843}
    3944
    40 bool SearchPopupMenu::enabled()
     45bool WebSearchPopupMenu::enabled()
    4146{
    42     return true;
     47    return false;
    4348}
    4449
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebSearchPopupMenu.h

    r64421 r64422  
    11/*
    2  * Copyright C 2006 Zack Rusin <zack@kde.org>
     2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    1616 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    1717 * Boston, MA 02110-1301, USA.
     18 *
    1819 */
    1920
    20 #include "config.h"
     21#ifndef WebSearchPopupMenu_h
     22#define WebSearchPopupMenu_h
     23
    2124#include "SearchPopupMenu.h"
     25#include "WebPopupMenu.h"
    2226
    23 #include "AtomicString.h"
     27namespace WebKit {
    2428
    25 namespace WebCore {
     29class WebSearchPopupMenu : public WebCore::SearchPopupMenu {
     30public:
     31    WebSearchPopupMenu(WebCore::PopupMenuClient*);
    2632
    27 SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client)
    28     : PopupMenu(client)
    29 {
     33    virtual WebCore::PopupMenu* popupMenu();
     34    virtual void saveRecentSearches(const WebCore::AtomicString& name, const Vector<WebCore::String>& searchItems);
     35    virtual void loadRecentSearches(const WebCore::AtomicString& name, Vector<WebCore::String>& searchItems);
     36    virtual bool enabled();
     37
     38private:
     39    WebPopupMenu m_popup;
     40};
     41
    3042}
    3143
    32 void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&)
    33 {
    34 }
    35 
    36 void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&)
    37 {
    38 }
    39 
    40 bool SearchPopupMenu::enabled()
    41 {
    42     return true;
    43 }
    44 
    45 }
     44#endif // WebSearchPopupMenu_h
  • trunk/WebKit2/win/WebKit2.vcproj

    r64380 r64422  
    584584                                        >
    585585                                </File>
     586                                <File
     587                                        RelativePath="..\WebProcess\WebCoreSupport\WebPopupMenu.cpp"
     588                                        >
     589                                </File>
     590                                <File
     591                                        RelativePath="..\WebProcess\WebCoreSupport\WebPopupMenu.h"
     592                                        >
     593                                </File>
     594                                <File
     595                                        RelativePath="..\WebProcess\WebCoreSupport\WebSearchPopupMenu.cpp"
     596                                        >
     597                                </File>
     598                                <File
     599                                        RelativePath="..\WebProcess\WebCoreSupport\WebSearchPopupMenu.h"
     600                                        >
     601                                </File>
    586602                                <Filter
    587603                                        Name="win"
Note: See TracChangeset for help on using the changeset viewer.