1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_GTK_PLUGIN_CONTAINER_H_ 6 #define CONTENT_BROWSER_RENDERER_HOST_GTK_PLUGIN_CONTAINER_H_ 7 8 // Windowed plugins are embedded via XEmbed, which is implemented by 9 // GtkPlug/GtkSocket. But we want to control sizing and positioning 10 // directly, so we need a subclass of GtkSocket that sidesteps the 11 // size_request handler. 12 // 13 // The custom size_request handler just reports the size set by 14 // gtk_plugin_container_set_size. 15 16 typedef struct _GtkWidget GtkWidget; 17 18 namespace content { 19 20 // Return a new GtkPluginContainer. 21 // Intentionally GTK-style here since we're creating a custom GTK widget. 22 // This is a GtkSocket subclass; see its documentation for available methods. 23 GtkWidget* gtk_plugin_container_new(); 24 25 // Sets the size of the GtkPluginContainer. 26 void gtk_plugin_container_set_size(GtkWidget *widget, int width, int height); 27 28 } // namespace content 29 30 #endif // CONTENT_BROWSER_RENDERER_HOST_GTK_PLUGIN_CONTAINER_H_ 31