// 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 CONTENT_BROWSER_RENDERER_HOST_GTK_PLUGIN_CONTAINER_H_ #define CONTENT_BROWSER_RENDERER_HOST_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 content { // 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 content #endif // CONTENT_BROWSER_RENDERER_HOST_GTK_PLUGIN_CONTAINER_H_