See this topic on the CEF C++ forum for more details: http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=10641 Do the following changes in the CEF C++ sources: 1. In `chromium/src/cef/libcef/browser_impl_gtk.cc`: At the end of the CefBrowserImpl::UIT_CreateBrowser() function, before the return statement add the following code: gtk_widget_show_all(GTK_WIDGET(window_info_.m_Widget)); 2. In `chromium/src/cef/libcef/webwidget_host_gtk.cc`: In WebWidgetHostGtkWidget::CreateNewWidget() function replace this line: gtk_box_pack_start(GTK_BOX(parent_view), widget, TRUE, TRUE, 0); With the following code: if (GTK_IS_BOX(parent_view)) { gtk_box_pack_start(GTK_BOX(parent_view), widget, TRUE, TRUE, 0); } else { // Parent view shouldn't contain any children, but in wxWidgets library // there will be GtkPizza widget for Panel or any other control. GList *children, *iter; children = gtk_container_get_children(GTK_CONTAINER(parent_view)); GtkWidget* child = NULL; GtkWidget* vbox = gtk_vbox_new(FALSE, 0); for (iter = children; iter != NULL; iter = g_list_next(iter)) { child = GTK_WIDGET(iter->data); // We will have to keep a reference to that child that we remove, // otherwise we will get lots of warnings like "invalid unclassed // pointer in cast to `GtkPizza'". First we increase a reference, // we need to do this for a moment before we add this child to the // vbox, then we will decrease that reference. g_object_ref(G_OBJECT(child)); gtk_container_remove(GTK_CONTAINER(parent_view), child); } g_list_free(children); gtk_box_pack_start(GTK_BOX(vbox), widget, TRUE, TRUE, 0); if (child != NULL) { // This child is packed to the box only so that its reference lives, // as it might be referenced from other code thus resulting in errors. gtk_box_pack_end(GTK_BOX(vbox), child, FALSE, FALSE, 0); gtk_widget_hide(GTK_WIDGET(child)); g_object_unref(G_OBJECT(child)); } gtk_widget_show(GTK_WIDGET(vbox)); if (GTK_IS_SCROLLED_WINDOW(parent_view)) gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(parent_view), vbox); else gtk_container_add(GTK_CONTAINER(parent_view), vbox); }