1635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project/*
2635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Copyright (C) 2008 Gustavo Noronha Silva <gns@gnome.org>
3635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Copyright (C) 2008 Holger Hans Peter Freyther
4635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
5635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * This library is free software; you can redistribute it and/or
6635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * modify it under the terms of the GNU Library General Public
7635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * License as published by the Free Software Foundation; either
8635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * version 2 of the License, or (at your option) any later version.
9635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
10635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * This library is distributed in the hope that it will be useful,
11635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of
12635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Library General Public License for more details.
14635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
15635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * You should have received a copy of the GNU Library General Public License
16635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * along with this library; see the file COPYING.LIB.  If not, write to
17635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Boston, MA 02110-1301, USA.
19635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project */
20635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
21635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#include "config.h"
22cad810f21b803229eb11403f9209855525a25d57Steve Block#include "webkitwebwindowfeatures.h"
23635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
24635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#include "WindowFeatures.h"
25cad810f21b803229eb11403f9209855525a25d57Steve Block#include "webkitglobalsprivate.h"
26cad810f21b803229eb11403f9209855525a25d57Steve Block#include "webkitwebwindowfeaturesprivate.h"
27635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
28635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project/**
29635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * SECTION:webkitwebwindowfeatures
30635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * @short_description: Window properties of a #WebKitWebView
31635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * @see_also: #WebKitWebView::web-view-ready
32635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
33635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * The content of a #WebKitWebView can request to change certain
34635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * properties of a #WebKitWebView. This can include the x, y position
35635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * of the window, the width and height but also if a toolbar,
36635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * scrollbar, statusbar, locationbar should be visible to the user,
37635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * the request to show the #WebKitWebView fullscreen.
38635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
39635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * In the normal case one will use #webkit_web_view_get_window_features
40635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * to get the #WebKitWebWindowFeatures and then monitor the property
41635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * changes. Be aware that the #WebKitWebWindowFeatures might change
42a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch * before #WebKitWebView::web-view-ready signal is emitted.
43635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * To be safe listen to the notify::window-features signal of the #WebKitWebView
44635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * and reconnect the signals whenever the #WebKitWebWindowFeatures of
45635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * a #WebKitWebView changes.
46635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
47635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * <informalexample><programlisting>
48635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * /<!-- -->* Get the current WebKitWebWindowFeatures *<!-- -->/
49635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * WebKitWebWindowFeatures *features = webkit_web_view_get_window_features (my_webview);
50635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
51635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * /<!-- -->* Connect to the property changes *<!-- -->/
52635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * g_signal_connect (G_OBJECT(features), "notify::menubar-visible", G_CALLBACK(make_menu_bar_visible), NULL);
53635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * g_signal_connect (G_OBJECT(features), "notify::statusbar-visible", G_CALLBACK(make_status_bar_visible), NULL);
54635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
55635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * </programlisting></informalexample>
56635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project */
57635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
58635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectenum {
59635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_0,
60635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
61635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_X,
62635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_Y,
63635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_WIDTH,
64635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_HEIGHT,
65635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_TOOLBAR_VISIBLE,
66635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_STATUSBAR_VISIBLE,
67635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_SCROLLBAR_VISIBLE,
68635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_MENUBAR_VISIBLE,
69635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_LOCATIONBAR_VISIBLE,
70635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    PROP_FULLSCREEN,
71635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project};
72635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
73635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source ProjectG_DEFINE_TYPE(WebKitWebWindowFeatures, webkit_web_window_features, G_TYPE_OBJECT)
74635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
75635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectstruct _WebKitWebWindowFeaturesPrivate {
76635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gint x;
77635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gint y;
78635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gint width;
79635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gint height;
80635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
81635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gboolean toolbar_visible;
82635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gboolean statusbar_visible;
83635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gboolean scrollbar_visible;
84635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gboolean menubar_visible;
85635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gboolean locationbar_visible;
86635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
87635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gboolean fullscreen;
88635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project};
89635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
90635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#define WEBKIT_WEB_WINDOW_FEATURES_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_WINDOW_FEATURES, WebKitWebWindowFeaturesPrivate))
91635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
92635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectstatic void webkit_web_window_features_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
93635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
94635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectstatic void webkit_web_window_features_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec);
95635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
96635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectstatic void webkit_web_window_features_class_init(WebKitWebWindowFeaturesClass* klass)
97635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{
98635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    GObjectClass* gobject_class = G_OBJECT_CLASS(klass);
99635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gobject_class->set_property = webkit_web_window_features_set_property;
100635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    gobject_class->get_property = webkit_web_window_features_get_property;
101635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
102635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    GParamFlags flags = (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT);
103635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
104cad810f21b803229eb11403f9209855525a25d57Steve Block    webkitInit();
1050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
106635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    /**
107635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * WebKitWebWindowFeatures:x:
108635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
109635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * The starting x position of the window on the screen.
110635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
111635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Since: 1.0.3
112635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     */
113635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_object_class_install_property(gobject_class,
114635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    PROP_X,
115635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    g_param_spec_int(
116635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "x",
117635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "x",
118635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "The starting x position of the window on the screen.",
119635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    -1,
120635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    G_MAXINT,
121635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    -1,
122635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    flags));
123635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
124635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    /**
125635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * WebKitWebWindowFeatures:y:
126635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
127635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * The starting y position of the window on the screen.
128635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
129635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Since: 1.0.3
130635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     */
131635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_object_class_install_property(gobject_class,
132635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    PROP_Y,
133635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    g_param_spec_int(
134635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "y",
135635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "y",
136635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "The starting y position of the window on the screen.",
137635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    -1,
138635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    G_MAXINT,
139635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    -1,
140635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    flags));
141635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
142635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    /**
143635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * WebKitWebWindowFeatures:width:
144635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
145635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * The width of the window on the screen.
146635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
147635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Since: 1.0.3
148635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     */
149635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_object_class_install_property(gobject_class,
150635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    PROP_WIDTH,
151635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    g_param_spec_int(
152635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "width",
153635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Width",
154635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "The width of the window on the screen.",
155635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    -1,
156635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    G_MAXINT,
157635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    -1,
158635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    flags));
159635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
160635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    /**
161635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * WebKitWebWindowFeatures:height:
162635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
163635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * The height of the window on the screen.
164635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
165635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Since: 1.0.3
166635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     */
167635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_object_class_install_property(gobject_class,
168635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    PROP_HEIGHT,
169635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    g_param_spec_int(
170635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "height",
171635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Height",
172635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "The height of the window on the screen.",
173635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    -1,
174635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    G_MAXINT,
175635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    -1,
176635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    flags));
177635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
178635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    /**
179635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * WebKitWebWindowFeatures:toolbar-visible:
180635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
181635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Controls whether the toolbar should be visible for the window.
182635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
183635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Since: 1.0.3
184635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     */
185635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_object_class_install_property(gobject_class,
186635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    PROP_TOOLBAR_VISIBLE,
187635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    g_param_spec_boolean(
188635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "toolbar-visible",
189635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Toolbar Visible",
190635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Controls whether the toolbar should be visible for the window.",
191635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    TRUE,
192635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    flags));
193635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
194635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    /**
195635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * WebKitWebWindowFeatures:statusbar-visible:
196635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
197635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Controls whether the statusbar should be visible for the window.
198635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
199635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Since: 1.0.3
200635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     */
201635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_object_class_install_property(gobject_class,
202635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    PROP_STATUSBAR_VISIBLE,
203635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    g_param_spec_boolean(
204635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "statusbar-visible",
205635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Statusbar Visible",
206635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Controls whether the statusbar should be visible for the window.",
207635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    TRUE,
208635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    flags));
209635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
210635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    /**
211635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * WebKitWebWindowFeatures:scrollbar-visible:
212635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
213635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Controls whether the scrollbars should be visible for the window.
214635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
215635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Since: 1.0.3
216635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     */
217635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_object_class_install_property(gobject_class,
218635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    PROP_SCROLLBAR_VISIBLE,
219635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    g_param_spec_boolean(
220635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "scrollbar-visible",
221635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Scrollbar Visible",
222635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Controls whether the scrollbars should be visible for the window.",
223635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    TRUE,
224635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    flags));
225635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
226635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    /**
227635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * WebKitWebWindowFeatures:menubar-visible:
228635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
229635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Controls whether the menubar should be visible for the window.
230635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
231635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Since: 1.0.3
232635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     */
233635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_object_class_install_property(gobject_class,
234635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    PROP_MENUBAR_VISIBLE,
235635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    g_param_spec_boolean(
236635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "menubar-visible",
237635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Menubar Visible",
238635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Controls whether the menubar should be visible for the window.",
239635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    TRUE,
240635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    flags));
241635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
242635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    /**
243635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * WebKitWebWindowFeatures:locationbar-visible:
244635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
245635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Controls whether the locationbar should be visible for the window.
246635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
247635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Since: 1.0.3
248635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     */
249635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_object_class_install_property(gobject_class,
250635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    PROP_LOCATIONBAR_VISIBLE,
251635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    g_param_spec_boolean(
252635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "locationbar-visible",
253635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Locationbar Visible",
254635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Controls whether the locationbar should be visible for the window.",
255635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    TRUE,
256635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    flags));
257635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
258635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    /**
259635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * WebKitWebWindowFeatures:fullscreen:
260635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
261635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Controls whether window will be displayed fullscreen.
262635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     *
263635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     * Since: 1.0.3
264635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project     */
265635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_object_class_install_property(gobject_class,
266635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    PROP_FULLSCREEN,
267635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    g_param_spec_boolean(
268635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "fullscreen",
269635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Fullscreen",
270635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    "Controls whether window will be displayed fullscreen.",
271635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    FALSE,
272635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project                                    flags));
273635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
274635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
275635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    g_type_class_add_private(klass, sizeof(WebKitWebWindowFeaturesPrivate));
276635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project}
277635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
278635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectstatic void webkit_web_window_features_init(WebKitWebWindowFeatures* web_window_features)
279635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{
280f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch    web_window_features->priv = G_TYPE_INSTANCE_GET_PRIVATE(web_window_features, WEBKIT_TYPE_WEB_WINDOW_FEATURES, WebKitWebWindowFeaturesPrivate);
281635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project}
282635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
283635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectstatic void webkit_web_window_features_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec)
284635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{
285635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    WebKitWebWindowFeatures* web_window_features = WEBKIT_WEB_WINDOW_FEATURES(object);
286635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    WebKitWebWindowFeaturesPrivate* priv = web_window_features->priv;
287635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
288635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    switch(prop_id) {
289635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_X:
290635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        priv->x = g_value_get_int(value);
291635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
292635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_Y:
293635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        priv->y = g_value_get_int(value);
294635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
295635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_WIDTH:
296635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        priv->width = g_value_get_int(value);
297635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
298635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_HEIGHT:
299635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        priv->height = g_value_get_int(value);
300635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
301635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_TOOLBAR_VISIBLE:
302635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        priv->toolbar_visible = g_value_get_boolean(value);
303635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
304635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_STATUSBAR_VISIBLE:
305635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        priv->statusbar_visible = g_value_get_boolean(value);
306635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
307635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_SCROLLBAR_VISIBLE:
308635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        priv->scrollbar_visible = g_value_get_boolean(value);
309635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
310635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_MENUBAR_VISIBLE:
311635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        priv->menubar_visible = g_value_get_boolean(value);
312635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
313635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_LOCATIONBAR_VISIBLE:
314635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        priv->locationbar_visible = g_value_get_boolean(value);
315635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
316635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_FULLSCREEN:
317635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        priv->fullscreen = g_value_get_boolean(value);
318635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
319635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    default:
320635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
321635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
322635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    }
323635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project}
324635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
325635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectstatic void webkit_web_window_features_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
326635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{
327635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    WebKitWebWindowFeatures* web_window_features = WEBKIT_WEB_WINDOW_FEATURES(object);
328635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    WebKitWebWindowFeaturesPrivate* priv = web_window_features->priv;
329635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
330635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    switch (prop_id) {
331635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_X:
332635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        g_value_set_int(value, priv->x);
333635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
334635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_Y:
335635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        g_value_set_int(value, priv->y);
336635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
337635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_WIDTH:
338635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        g_value_set_int(value, priv->width);
339635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
340635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_HEIGHT:
341635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        g_value_set_int(value, priv->height);
342635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
343635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_TOOLBAR_VISIBLE:
344635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        g_value_set_boolean(value, priv->toolbar_visible);
345635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
346635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_STATUSBAR_VISIBLE:
347635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        g_value_set_boolean(value, priv->statusbar_visible);
348635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
349635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_SCROLLBAR_VISIBLE:
350635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        g_value_set_boolean(value, priv->scrollbar_visible);
351635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
352635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_MENUBAR_VISIBLE:
353635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        g_value_set_boolean(value, priv->menubar_visible);
354635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
355635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_LOCATIONBAR_VISIBLE:
356635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        g_value_set_boolean(value, priv->locationbar_visible);
357635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
358635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    case PROP_FULLSCREEN:
359635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        g_value_set_boolean(value, priv->fullscreen);
360635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
361635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    default:
362635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
363635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        break;
364635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    }
365635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project}
366635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
367635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project/**
368635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * webkit_web_window_features_new:
369635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
370635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Creates a new #WebKitWebWindowFeatures instance with default values. It must
371635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * be manually attached to a WebView.
372635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
373635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Returns: a new #WebKitWebWindowFeatures instance
374635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
375231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * Since: 1.0.3
376635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project */
377635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source ProjectWebKitWebWindowFeatures* webkit_web_window_features_new()
378635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{
379635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    return WEBKIT_WEB_WINDOW_FEATURES(g_object_new(WEBKIT_TYPE_WEB_WINDOW_FEATURES, NULL));
380635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project}
381635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
382635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project/**
383635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * webkit_web_window_features_equal:
384635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * @features1: a #WebKitWebWindowFeatures instance
385635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * @features2: another #WebKitWebWindowFeatures instance
386635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
387635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Decides if a #WebKitWebWindowFeatures instance equals another, as
388635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * in has the same values.
389635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
390635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Returns: %TRUE if the instances have the same values, %FALSE
391635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * otherwise
392635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
393231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * Since: 1.0.3
394635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project */
395635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectgboolean webkit_web_window_features_equal(WebKitWebWindowFeatures* features1, WebKitWebWindowFeatures* features2)
396635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{
397dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    if (features1 == features2)
398dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        return TRUE;
399dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    if (!features1 || !features2)
400dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        return FALSE;
401dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
402635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    WebKitWebWindowFeaturesPrivate* priv1 = features1->priv;
403635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    WebKitWebWindowFeaturesPrivate* priv2 = features2->priv;
404635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
405dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    if ((priv1->x == priv2->x)
406dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        && (priv1->y == priv2->y)
407dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        && (priv1->width == priv2->width)
408dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        && (priv1->height == priv2->height)
409dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        && (priv1->toolbar_visible == priv2->toolbar_visible)
410dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        && (priv1->statusbar_visible == priv2->statusbar_visible)
411dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        && (priv1->scrollbar_visible == priv2->scrollbar_visible)
412dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        && (priv1->menubar_visible == priv2->menubar_visible)
413dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        && (priv1->locationbar_visible == priv2->locationbar_visible)
414dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        && (priv1->fullscreen == priv2->fullscreen))
415635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        return TRUE;
416635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    return FALSE;
417635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project}
418cad810f21b803229eb11403f9209855525a25d57Steve Block
419cad810f21b803229eb11403f9209855525a25d57Steve Blocknamespace WebKit {
420cad810f21b803229eb11403f9209855525a25d57Steve Block
421cad810f21b803229eb11403f9209855525a25d57Steve BlockWebKitWebWindowFeatures* kitNew(const WebCore::WindowFeatures& features)
422cad810f21b803229eb11403f9209855525a25d57Steve Block{
423cad810f21b803229eb11403f9209855525a25d57Steve Block    WebKitWebWindowFeatures *webWindowFeatures = webkit_web_window_features_new();
424cad810f21b803229eb11403f9209855525a25d57Steve Block
425cad810f21b803229eb11403f9209855525a25d57Steve Block    if(features.xSet)
426cad810f21b803229eb11403f9209855525a25d57Steve Block        g_object_set(webWindowFeatures, "x", static_cast<int>(features.x), NULL);
427cad810f21b803229eb11403f9209855525a25d57Steve Block
428cad810f21b803229eb11403f9209855525a25d57Steve Block    if(features.ySet)
429cad810f21b803229eb11403f9209855525a25d57Steve Block        g_object_set(webWindowFeatures, "y", static_cast<int>(features.y), NULL);
430cad810f21b803229eb11403f9209855525a25d57Steve Block
431cad810f21b803229eb11403f9209855525a25d57Steve Block    if(features.widthSet)
432cad810f21b803229eb11403f9209855525a25d57Steve Block        g_object_set(webWindowFeatures, "width", static_cast<int>(features.width), NULL);
433cad810f21b803229eb11403f9209855525a25d57Steve Block
434cad810f21b803229eb11403f9209855525a25d57Steve Block    if(features.heightSet)
435cad810f21b803229eb11403f9209855525a25d57Steve Block        g_object_set(webWindowFeatures, "height", static_cast<int>(features.height), NULL);
436cad810f21b803229eb11403f9209855525a25d57Steve Block
437cad810f21b803229eb11403f9209855525a25d57Steve Block    g_object_set(webWindowFeatures,
438cad810f21b803229eb11403f9209855525a25d57Steve Block                 "toolbar-visible", features.toolBarVisible,
439cad810f21b803229eb11403f9209855525a25d57Steve Block                 "statusbar-visible", features.statusBarVisible,
440cad810f21b803229eb11403f9209855525a25d57Steve Block                 "scrollbar-visible", features.scrollbarsVisible,
441cad810f21b803229eb11403f9209855525a25d57Steve Block                 "menubar-visible", features.menuBarVisible,
442cad810f21b803229eb11403f9209855525a25d57Steve Block                 "locationbar-visible", features.locationBarVisible,
443cad810f21b803229eb11403f9209855525a25d57Steve Block                 "fullscreen", features.fullscreen,
444cad810f21b803229eb11403f9209855525a25d57Steve Block                 NULL);
445cad810f21b803229eb11403f9209855525a25d57Steve Block
446cad810f21b803229eb11403f9209855525a25d57Steve Block    return webWindowFeatures;
447cad810f21b803229eb11403f9209855525a25d57Steve Block}
448cad810f21b803229eb11403f9209855525a25d57Steve Block
449cad810f21b803229eb11403f9209855525a25d57Steve Block}
450