GNOME Bugzilla – Bug 628459
attaching inspector breaks EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW
Last modified: 2010-12-06 16:12:27 UTC
A couple of extensions and likely other code relayed on this: #define EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW(view) (EPHY_EMBED (gtk_widget_get_parent (gtk_widget_get_parent (GTK_WIDGET (view))))) This should give the EphyEmbed, but when the inspector is attached it gives the GtkVPaned. Perhaps -not sure GtkPaned allows- we should just have the GtkVPaned all the time and base EphyEmbed on that instead of GtkVBox (we have an internal vbox AFAICT anyway)?
Created attachment 173973 [details] [review] ephy-embed: clean up embed widget skeleton The inspector embedding breaks some assumptions about the internal embed widgetry, mainly breaking EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW macro. The embed now has the main EphyWebView in a GtkPaned permanently. Bug #628459
This patch fixes the internal skeleton but seems to expose a crash. It seems some object is dying too early, maybe we should create the inspector everytime it's requested (btw there are continuity problems with our current code anyway)? (epiphany:8690): Gtk-CRITICAL **: gtk_scrolled_window_add: assertion `child_widget == NULL' failed Program received signal SIGSEGV, Segmentation fault. 0xb6fd53af in WebCore::InspectorFrontendHost::sendMessageToBackend(WTF::String const&) () from /home/diego/gnome/build/lib/libwebkitgtk-3.0.so.0 (gdb) bt
+ Trace 224534
Fixed the crash, it was a wrong assumption when creating the inspector web view. Still behaves funky when the inspector is closed and reopened.
Created attachment 174025 [details] [review] ephy-embed: clean up embed widget skeleton The inspector embedding breaks some assumptions about the internal embed widgetry, mainly breaking EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW macro. The embed now has the main EphyWebView in a GtkPaned permanently. Bug #628459
Created attachment 174026 [details] [review] ephy-embed: fix inspect-web-view handler It assumes that the scrolled window is always clean of children. Bug #628459
It seems the funky behaviour on open/close comes from webkitgtk. On our side, this two patches are correct and fix actual epiphany bugs.
Created attachment 174038 [details] [review] ephy-embed: respect inspector last attach status Not sure if this should be in WebKitGTK or it's ok here... Bug #628459
Review of attachment 174025 [details] [review]: I like the idea, and it looks right to me!
Created attachment 175928 [details] [review] ephy-embed: clean up embed widget skeleton The inspector embedding breaks some assumptions about the internal embed widgetry, mainly breaking EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW macro. The embed now has the main EphyWebView in a GtkPaned permanently. Bug #628459
Attachment 175928 [details] pushed as a775451 - ephy-embed: clean up embed widget skeleton I'm marking this as FIXED because the embed status is a different issue and requires hacking WebKitGTK+.