2006-12-18 Ada Chan <adachan@apple.com>
[WebKit-https.git] / WebCore / page / ChromeClient.h
1 // -*- mode: c++; c-basic-offset: 4 -*-
2 /*
3  * Copyright (C) 2006 Apple Computer, Inc.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public License
16  * along with this library; see the file COPYING.LIB.  If not, write to
17  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20
21 #ifndef ChromeClient_h
22 #define ChromeClient_h
23
24 namespace WebCore {
25
26     class FloatRect;
27     class Frame;
28     class Page;
29     class String;
30     
31     struct FrameLoadRequest;
32     
33     class ChromeClient {
34     public:
35         virtual ~ChromeClient() {  }
36         virtual void chromeDestroyed() = 0;
37         
38         virtual void setWindowRect(const FloatRect&) = 0;
39         virtual FloatRect windowRect() = 0;
40         
41         virtual FloatRect pageRect() = 0;
42         
43         virtual float scaleFactor() = 0;
44     
45         virtual void focus() = 0;
46         virtual void unfocus() = 0;
47
48         virtual Page* createWindow(const FrameLoadRequest&) = 0;
49         virtual Page* createModalDialog(const FrameLoadRequest&) = 0;
50         virtual void show() = 0;
51
52         virtual bool canRunModal() = 0;
53         virtual void runModal() = 0;
54
55         virtual void setToolbarsVisible(bool) = 0;
56         virtual bool toolbarsVisible() = 0;
57         
58         virtual void setStatusbarVisible(bool) = 0;
59         virtual bool statusbarVisible() = 0;
60         
61         virtual void setScrollbarsVisible(bool) = 0;
62         virtual bool scrollbarsVisible() = 0;
63         
64         virtual void setMenubarVisible(bool) = 0;
65         virtual bool menubarVisible() = 0;
66
67         virtual void setResizable(bool) = 0;
68         
69         virtual void addMessageToConsole(const String& message, unsigned int lineNumber, const String& sourceID) = 0;
70
71         virtual bool canRunBeforeUnloadConfirmPanel() = 0;
72         virtual bool runBeforeUnloadConfirmPanel(const String& message, Frame* frame) = 0;
73
74         virtual void closeWindowSoon() = 0;
75 };
76
77 }
78
79 #endif // ChromeClient_h