10bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch/* 20bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2006 Zack Rusin <zack@kde.org> 30bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. 40bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2007 Ryan Leavengood <leavengood@gmail.com> All rights reserved. 5db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 60bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 70bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 80bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Redistribution and use in source and binary forms, with or without 90bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * modification, are permitted provided that the following conditions 100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * are met: 110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 1. Redistributions of source code must retain the above copyright 120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * notice, this list of conditions and the following disclaimer. 130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 2. Redistributions in binary form must reproduce the above copyright 140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * notice, this list of conditions and the following disclaimer in the 150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * documentation and/or other materials provided with the distribution. 160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch */ 290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "config.h" 300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "ChromeClientHaiku.h" 310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "Frame.h" 330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "FrameLoadRequest.h" 340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "FrameView.h" 350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "HitTestResult.h" 36dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include "Icon.h" 37e14391e94c850b8bd03680c23b38978db68687a8John Reck#include "NavigationAction.h" 380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "NotImplemented.h" 390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "PlatformString.h" 40db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#include "SecurityOrigin.h" 41db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#include "PopupMenuHaiku.h" 42db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#include "SearchPopupMenuHaiku.h" 430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include <Alert.h> 450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include <String.h> 460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochnamespace WebCore { 490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochChromeClientHaiku::ChromeClientHaiku() 510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochChromeClientHaiku::~ChromeClientHaiku() 550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::chromeDestroyed() 590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::setWindowRect(const FloatRect&) 640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochFloatRect ChromeClientHaiku::windowRect() 690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return FloatRect(0, 0, 200, 200); 720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochFloatRect ChromeClientHaiku::pageRect() 750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 770bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return FloatRect(0, 0, 200, 200); 780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochfloat ChromeClientHaiku::scaleFactor() 810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return 1.0; 840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::focus() 870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::unfocus() 920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::canTakeFocus(FocusDirection) 970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return true; 1000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::takeFocus(FocusDirection) 1030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 107643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockvoid ChromeClientHaiku::focusedNodeChanged(Node*) 108643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{ 109643ca7872b450ea4efacab6188849e5aac2ba161Steve Block} 110643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 11128040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhuvoid ChromeClientHaiku::focusedFrameChanged(Frame*) 11228040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu{ 11328040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu} 11428040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu 115e14391e94c850b8bd03680c23b38978db68687a8John ReckPage* ChromeClientHaiku::createWindow(Frame*, const FrameLoadRequest&, const WebCore::WindowFeatures&, const WebCore::NavigationAction&) 1160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return 0; 1190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochPage* ChromeClientHaiku::createModalDialog(Frame*, const FrameLoadRequest&) 1220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return 0; 1250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::show() 1280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::canRunModal() 1330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return false; 1360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::runModal() 1390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::setToolbarsVisible(bool) 1440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::toolbarsVisible() 1490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return false; 1520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::setStatusbarVisible(bool) 1550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::statusbarVisible() 1600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return false; 1630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::setScrollbarsVisible(bool) 1660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::scrollbarsVisible() 1710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return true; 1740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::setMenubarVisible(bool) 1770bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::menubarVisible() 1820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return false; 1850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::setResizable(bool) 1880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 1900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::addMessageToConsole(const String& message, unsigned int lineNumber, 1930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const String& sourceID) 1940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 1950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch printf("MESSAGE %s:%i %s\n", BString(sourceID).String(), lineNumber, BString(message).String()); 1960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 1970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::addMessageToConsole(MessageSource, MessageLevel, const String& message, 1990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch unsigned int lineNumber, const String& sourceID) 2000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch printf("MESSAGE %s:%i %s\n", BString(sourceID).String(), lineNumber, BString(message).String()); 2020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message, 2050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch unsigned int lineNumber, const String& sourceID) 2060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch printf("MESSAGE %s:%i %s\n", BString(sourceID).String(), lineNumber, BString(message).String()); 2080bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2090bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::canRunBeforeUnloadConfirmPanel() 2110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 2130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return false; 2140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::runBeforeUnloadConfirmPanel(const String& message, Frame* frame) 2170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 2190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return false; 2200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::closeWindowSoon() 2230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 2250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::runJavaScriptAlert(Frame*, const String& msg) 2280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch BAlert* alert = new BAlert("JavaScript", BString(msg).String(), "OK"); 2300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch alert->Go(); 2310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::runJavaScriptConfirm(Frame*, const String& msg) 2340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch BAlert* alert = new BAlert("JavaScript", BString(msg).String(), "Yes", "No"); 2360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return !alert->Go(); 2370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result) 2400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 2420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return false; 2430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::setStatusbarText(const String&) 2460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 2480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool ChromeClientHaiku::shouldInterruptJavaScript() 2510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 2530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return false; 2540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 25681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochKeyboardUIMode ChromeClientHaiku::keyboardUIMode() 2570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 25881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch return KeyboardAccessDefault; 2590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochIntRect ChromeClientHaiku::windowResizerRect() const 2620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return IntRect(); 2640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 266dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockvoid ChromeClientHaiku::invalidateWindow(const IntRect&, bool) 267dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{ 268dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block notImplemented(); 269dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block} 270dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 271dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockvoid ChromeClientHaiku::invalidateContentsAndWindow(const IntRect&, bool) 272dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{ 273dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block notImplemented(); 274dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block} 275dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 276dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockvoid ChromeClientHaiku::invalidateContentsForSlowScroll(const IntRect&, bool) 2770bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 2790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect) 2820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 2840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochIntPoint ChromeClientHaiku::screenToWindow(const IntPoint&) const 2870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 2890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return IntPoint(); 2900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochIntRect ChromeClientHaiku::windowToScreen(const IntRect&) const 2930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 2940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 2950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return IntRect(); 2960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 2970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 298231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockPlatformPageClient ChromeClientHaiku::platformPageClient() const 2990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return PlatformWidget(); 3020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::contentsSizeChanged(Frame*, const IntSize&) const 3050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3080bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3090bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::scrollRectIntoView(const IntRect&, const ScrollView*) const 3100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::addToDirtyRegion(const IntRect&) 3150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::scrollBackingStore(int, int, const IntRect&, const IntRect&) 3190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::updateBackingStore() 3230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::mouseDidMoveOverElement(const HitTestResult& hit, unsigned /*modifierFlags*/) 3270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch // Some extra info 3290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::setToolTip(const String& tip) 3330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::setToolTip(const String& tip, TextDirection) 3380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::print(Frame*) 3430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::exceededDatabaseQuota(Frame*, const String& databaseName) 3480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#if ENABLE(OFFLINE_WEB_APPLICATIONS) 3530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientWx::reachedMaxAppCacheSize(int64_t spaceNeeded) 3540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 357db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block 358db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Blockvoid ChromeClientWx::reachedApplicationCacheOriginQuota(SecurityOrigin*) 359db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block{ 360db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block notImplemented(); 361db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block} 3620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#endif 3630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::requestGeolocationPermissionForFrame(Frame*, Geolocation*) 3650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::runOpenPanel(Frame*, PassRefPtr<FileChooser>) 3700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 374dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockvoid ChromeClientHaiku::chooseIconForFiles(const Vector<String>& filenames, FileChooser* chooser) 375692e5dbf12901edacf14812a6fae25462920af42Steve Block{ 376dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block chooser->iconLoaded(Icon::createIconForFiles(filenames)); 377692e5dbf12901edacf14812a6fae25462920af42Steve Block} 378692e5dbf12901edacf14812a6fae25462920af42Steve Block 379967717af5423377c967781471ee106e2bb4e11c8Ben Murdochvoid ChromeClientHaiku::setCursor(const Cursor&) 3800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch// Notification that the given form element has changed. This function 3850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch// will be called frequently, so handling should be very fast. 3860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientHaiku::formStateDidChange(const Node*) 3870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch notImplemented(); 3890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3912fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockbool ChromeClientHaiku::selectItemWritingDirectionIsNatural() 3920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{ 3932fc2651226baac27029e38c9d6ef883fa32084dbSteve Block return false; 3940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} 3950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 3962fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockbool ChromeClientHaiku::selectItemAlignmentFollowsMenuWritingDirection() 397db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block{ 398db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block return false; 399db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block} 400db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block 401db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve BlockPassRefPtr<PopupMenu> ChromeClientHaiku::createPopupMenu(PopupMenuClient* client) const 402db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block{ 403db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block return adoptRef(new PopupMenuHaiku(client)); 404db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block} 405db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block 406db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve BlockPassRefPtr<SearchPopupMenu> ChromeClientHaiku::createSearchPopupMenu(PopupMenuClient* client) const 407db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block{ 408db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block return adoptRef(new SearchPopupMenuHaiku(client)); 409db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block} 410db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block 4110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} // namespace WebCore 4120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 413