18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 29e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block * Copyright 2010, The Android Open Source Project 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * * Redistributions of source code must retain the above copyright 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * * Redistributions in binary form must reproduce the above copyright 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 169e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 269e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block#ifndef SearchPopupMenuAndroid_h 279e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block#define SearchPopupMenuAndroid_h 289e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "SearchPopupMenu.h" 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore { 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 331caed8e3c0af63e20009e74642e2574e1185c38eLeon Scrogginsclass IntRect; 341caed8e3c0af63e20009e74642e2574e1185c38eLeon Scrogginsclass PopupMenu; 359e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Blockclass FrameView; 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 371caed8e3c0af63e20009e74642e2574e1185c38eLeon Scrogginsclass DummyPopup : public PopupMenu { 381caed8e3c0af63e20009e74642e2574e1185c38eLeon Scroggins public: 391caed8e3c0af63e20009e74642e2574e1185c38eLeon Scroggins virtual ~DummyPopup() {} 401caed8e3c0af63e20009e74642e2574e1185c38eLeon Scroggins virtual void show(const IntRect&, FrameView*, int index) { } 411caed8e3c0af63e20009e74642e2574e1185c38eLeon Scroggins virtual void hide() { } 421caed8e3c0af63e20009e74642e2574e1185c38eLeon Scroggins virtual void updateFromElement() { } 431caed8e3c0af63e20009e74642e2574e1185c38eLeon Scroggins virtual void disconnectClient() { } 441caed8e3c0af63e20009e74642e2574e1185c38eLeon Scroggins}; 451caed8e3c0af63e20009e74642e2574e1185c38eLeon Scroggins 469e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Blockclass SearchPopupMenuAndroid : public SearchPopupMenu { 479e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Blockpublic: 481caed8e3c0af63e20009e74642e2574e1185c38eLeon Scroggins SearchPopupMenuAndroid() : m_popup(adoptRef(new DummyPopup)) { } 499e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block virtual PopupMenu* popupMenu() { return m_popup.get(); } 509e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block virtual void saveRecentSearches(const AtomicString&, const Vector<String>&) { } 519e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block virtual void loadRecentSearches(const AtomicString&, Vector<String>&) { } 529e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block virtual bool enabled() { return false; } 539e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block 549e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Blockprivate: 551caed8e3c0af63e20009e74642e2574e1185c38eLeon Scroggins RefPtr<PopupMenu> m_popup; 569e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block}; 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 609e4593fcc93d1bf0b5d5aa00b17ed2177c8eed06Steve Block#endif // SearchPopupMenuAndroid_h 61