blob: aee11c27974df36b4eab9c2c2ffb96d86c64449f [file] [log] [blame]
// 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_