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