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