summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp63
1 files changed, 18 insertions, 45 deletions
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp
index a40e6db4d..5e225db78 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp
@@ -20,12 +20,13 @@
#include "config.h"
#include "WebKitWindowProperties.h"
+#include "APIDictionary.h"
#include "APINumber.h"
#include "APIURLRequest.h"
-#include "ImmutableDictionary.h"
#include "WebKitPrivate.h"
#include "WebKitWindowPropertiesPrivate.h"
#include <WebCore/IntRect.h>
+#include <WebCore/WindowFeatures.h>
#include <glib/gi18n-lib.h>
using namespace WebKit;
@@ -374,54 +375,26 @@ void webkitWindowPropertiesSetFullscreen(WebKitWindowProperties* windowPropertie
g_object_notify(G_OBJECT(windowProperties), "fullscreen");
}
-void webkitWindowPropertiesUpdateFromWebWindowFeatures(WebKitWindowProperties* windowProperties, ImmutableDictionary* features)
+void webkitWindowPropertiesUpdateFromWebWindowFeatures(WebKitWindowProperties* windowProperties, const WindowFeatures& windowFeatures)
{
GdkRectangle geometry = windowProperties->priv->geometry;
-
- API::Double* doubleValue = static_cast<API::Double*>(features->get("x"));
- if (doubleValue)
- geometry.x = doubleValue->value();
-
- doubleValue = static_cast<API::Double*>(features->get("y"));
- if (doubleValue)
- geometry.y = doubleValue->value();
-
- doubleValue = static_cast<API::Double*>(features->get("width"));
- if (doubleValue)
- geometry.width = doubleValue->value();
-
- doubleValue = static_cast<API::Double*>(features->get("height"));
- if (doubleValue)
- geometry.height = doubleValue->value();
+ if (windowFeatures.x)
+ geometry.x = *windowFeatures.x;
+ if (windowFeatures.y)
+ geometry.y = *windowFeatures.y;
+ if (windowFeatures.width)
+ geometry.width = *windowFeatures.width;
+ if (windowFeatures.height)
+ geometry.height = *windowFeatures.height;
webkitWindowPropertiesSetGeometry(windowProperties, &geometry);
- API::Boolean* booleanValue = static_cast<API::Boolean*>(features->get("menuBarVisible"));
- if (booleanValue)
- webkitWindowPropertiesSetMenubarVisible(windowProperties, booleanValue->value());
-
- booleanValue = static_cast<API::Boolean*>(features->get("statusBarVisible"));
- if (booleanValue)
- webkitWindowPropertiesSetStatusbarVisible(windowProperties, booleanValue->value());
-
- booleanValue = static_cast<API::Boolean*>(features->get("toolBarVisible"));
- if (booleanValue)
- webkitWindowPropertiesSetToolbarVisible(windowProperties, booleanValue->value());
-
- booleanValue = static_cast<API::Boolean*>(features->get("locationBarVisible"));
- if (booleanValue)
- webkitWindowPropertiesSetLocationbarVisible(windowProperties, booleanValue->value());
-
- booleanValue = static_cast<API::Boolean*>(features->get("scrollbarsVisible"));
- if (booleanValue)
- webkitWindowPropertiesSetScrollbarsVisible(windowProperties, booleanValue->value());
-
- booleanValue = static_cast<API::Boolean*>(features->get("resizable"));
- if (booleanValue)
- webkitWindowPropertiesSetResizable(windowProperties, booleanValue->value());
-
- booleanValue = static_cast<API::Boolean*>(features->get("fullscreen"));
- if (booleanValue)
- webkitWindowPropertiesSetFullscreen(windowProperties, booleanValue->value());
+ webkitWindowPropertiesSetMenubarVisible(windowProperties, windowFeatures.menuBarVisible);
+ webkitWindowPropertiesSetStatusbarVisible(windowProperties, windowFeatures.statusBarVisible);
+ webkitWindowPropertiesSetToolbarVisible(windowProperties, windowFeatures.toolBarVisible);
+ webkitWindowPropertiesSetLocationbarVisible(windowProperties, windowFeatures.locationBarVisible);
+ webkitWindowPropertiesSetScrollbarsVisible(windowProperties, windowFeatures.scrollbarsVisible);
+ webkitWindowPropertiesSetResizable(windowProperties, windowFeatures.resizable);
+ webkitWindowPropertiesSetFullscreen(windowProperties, windowFeatures.fullscreen);
}
/**