// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef WEBKIT_PLUGINS_NPAPI_GTK_PLUGIN_CONTAINER_H_ #define WEBKIT_PLUGINS_NPAPI_GTK_PLUGIN_CONTAINER_H_ // Windowed plugins are embedded via XEmbed, which is implemented by // GtkPlug/GtkSocket. But we want to control sizing and positioning // directly, so we need a subclass of GtkSocket that sidesteps the // size_request handler. // // The custom size_request handler just reports the size set by // gtk_plugin_container_set_size. typedef struct _GtkWidget GtkWidget; namespace webkit { namespace npapi { // Return a new GtkPluginContainer. // Intentionally GTK-style here since we're creating a custom GTK widget. // This is a GtkSocket subclass; see its documentation for available methods. GtkWidget* gtk_plugin_container_new(); // Sets the size of the GtkPluginContainer. void gtk_plugin_container_set_size(GtkWidget *widget, int width, int height); } // namespace npapi } // namespace webkit #endif // WEBKIT_PLUGINS_NPAPI_GTK_PLUGIN_CONTAINER_H_