WebCore:
[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 #include "AbstractShared.h"
25
26 namespace WebCore {
27
28     class FloatRect;
29     class Page;
30     struct FrameLoadRequest;
31     
32     class ChromeClient : public AbstractShared {
33     public:
34         virtual void setWindowRect(const FloatRect&) = 0;
35         virtual FloatRect windowRect() = 0;
36         
37         virtual FloatRect pageRect() = 0;
38         
39         virtual float scaleFactor() = 0;
40     
41         virtual void focus() = 0;
42         virtual void unfocus() = 0;
43
44         virtual Page* createWindow(const FrameLoadRequest&) = 0;
45         virtual Page* createModalDialog(const FrameLoadRequest&) = 0;
46         virtual void show() = 0;
47
48         virtual bool canRunModal() = 0;
49         virtual void runModal() = 0;
50
51         virtual void setToolbarsVisible(bool) = 0;
52         virtual bool toolbarsVisible() = 0;
53         
54         virtual void setStatusbarVisible(bool) = 0;
55         virtual bool statusbarVisible() = 0;
56         
57         virtual void setScrollbarsVisible(bool) = 0;
58         virtual bool scrollbarsVisible() = 0;
59         
60         virtual void setMenubarVisible(bool) = 0;
61         virtual bool menubarVisible() = 0;
62
63         virtual void setResizable(bool) = 0;
64 };
65
66 }
67
68 #endif // ChromeClient_h