Bug 150435 - [GTK] Try to fix the build after r191402.
Summary: [GTK] Try to fix the build after r191402.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Hunseop Jeong
URL:
Keywords:
Depends on:
Blocks: 150415
  Show dependency treegraph
 
Reported: 2015-10-21 21:38 PDT by Hunseop Jeong
Modified: 2015-10-22 02:33 PDT (History)
9 users (show)

See Also:


Attachments
Patch (6.68 KB, patch)
2015-10-21 21:41 PDT, Hunseop Jeong
no flags Details | Formatted Diff | Diff
Patch (6.82 KB, patch)
2015-10-22 00:18 PDT, Hunseop Jeong
no flags Details | Formatted Diff | Diff
Patch (7.01 KB, patch)
2015-10-22 00:40 PDT, Hunseop Jeong
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Hunseop Jeong 2015-10-21 21:38:41 PDT
https://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release/builds/56507/steps/compile-webkit/logs/stdio

../../Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h:86:41: error: invalid covariant return type for ‘virtual WTF::RefPtr<WebKit::WebContextMenuProxy> WebKit::PageClientImpl::createContextMenuProxy(WebKit::WebPageProxy&, const WebKit::ContextMenuContextData&, const WebKit::UserData&)’
     virtual RefPtr<WebContextMenuProxy> createContextMenuProxy(WebPageProxy&, const ContextMenuContextData&, const UserData&) override;
                                         ^
In file included from ../../Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h:33:0,
                 from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:39:
../../Source/WebKit2/UIProcess/PageClient.h:227:50: error:   overriding ‘virtual std::unique_ptr<WebKit::WebContextMenuProxy> WebKit::PageClient::createContextMenuProxy(WebKit::WebPageProxy&, const WebKit::ContextMenuContextData&, const WebKit::UserData&)’
     virtual std::unique_ptr<WebContextMenuProxy> createContextMenuProxy(WebPageProxy&, const ContextMenuContextData&, const UserData&) = 0;
                                                  ^
In file included from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h:34:0,
                 from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:48:
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:50:18: error: ‘virtual void WebKit::WebContextMenuProxyGtk::showContextMenu()’ marked override, but does not override
     virtual void showContextMenu() override;
                  ^
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:51:18: error: ‘virtual void WebKit::WebContextMenuProxyGtk::hideContextMenu()’ marked override, but does not override
     virtual void hideContextMenu() override;
                  ^
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:52:18: error: ‘virtual void WebKit::WebContextMenuProxyGtk::cancelTracking()’ marked override, but does not override
     virtual void cancelTracking() override;
                  ^
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h: In static member function ‘static WTF::Ref<WebKit::WebContextMenuProxyGtk> WebKit::WebContextMenuProxyGtk::create(GtkWidget*, WebKit::WebPageProxy&, const WebKit::ContextMenuContextData&, const WebKit::UserData&)’:
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:46:85: error: invalid new-expression of abstract class type ‘WebKit::WebContextMenuProxyGtk’
         return adoptRef(*new WebContextMenuProxyGtk(webView, page, context, userData));
                                                                                     ^
In file included from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h:34:0,
                 from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:48:
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:42:7: note:   because the following virtual functions are pure within ‘WebKit::WebContextMenuProxyGtk’:
 class WebContextMenuProxyGtk : public WebContextMenuProxy {
       ^
In file included from ../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:31:0,
                 from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h:34,
                 from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:48:
../../Source/WebKit2/UIProcess/WebContextMenuProxy.h:43:18: note: 	virtual void WebKit::WebContextMenuProxy::show()
     virtual void show() = 0;
                  ^
FAILED: /usr/lib/ccache/c++   -DBUILDING_GTK__=1 -DBUILDING_WEBKIT -DBUILDING_WITH_CMAKE=1 -DDATADIR=\"/usr/local/share\" -DDATA_DIR=\"share\" -DENABLE_DATABASE_PROCESS=1 -DENABLE_PLUGIN_PROCESS=1 -DGETTEXT_PACKAGE=\"WebKit2GTK-4.0\" -DHAVE_CONFIG_H=1 -DLIBDIR=\"/usr/local/lib\" -DLIBEXECDIR=\"/usr/local/libexec\" -DLOCALEDIR=\"/usr/local/share/locale\" -DPKGLIBEXECDIR=\"/usr/local/libexec/webkit2gtk-4.0\" -DUSER_AGENT_GTK_MAJOR_VERSION=602 -DUSER_AGENT_GTK_MINOR_VERSION=1 -DWEBKIT2_COMPILATION -DWEBKITGTK_API_VERSION_STRING=\"4.0\" -DWebKit2_EXPORTS -march=pentium4 -msse2 -mfpmath=sse   -std=c++11 -O3 -DNDEBUG -fno-exceptions -fno-strict-aliasing -fno-rtti -fPIC -I../../Source/WebKit2/Platform -I../../Source/WebKit2/Shared -I../../Source/WebKit2/Shared/API/c -I../../Source/WebKit2/UIProcess/API/C -I../../Source/WebKit2/WebProcess/InjectedBundle -I../../Source/WebKit2/WebProcess/InjectedBundle/API/c -IDerivedSources -IDerivedSources/InjectedBundle -IDerivedSources/webkitdom -IDerivedSources/ForwardingHeaders -IDerivedSources/ForwardingHeaders/webkit2gtk -IDerivedSources/ForwardingHeaders/webkit2gtk-webextension -IDerivedSources/webkit2gtk/webkit2 -IDerivedSources/webkit2gtk -I../../Source/JavaScriptCore/llint -I../../Source/WebKit2 -I../../Source/WebKit2/DatabaseProcess -I../../Source/WebKit2/DatabaseProcess/IndexedDB -I../../Source/WebKit2/DatabaseProcess/IndexedDB/sqlite -I../../Source/WebKit2/NetworkProcess -I../../Source/WebKit2/NetworkProcess/FileAPI -I../../Source/WebKit2/NetworkProcess/cache -I../../Source/WebKit2/Platform/IPC -I../../Source/WebKit2/PluginProcess -I../../Source/WebKit2/Shared/API -I../../Source/WebKit2/Shared/Authentication -I../../Source/WebKit2/Shared/CoreIPCSupport -I../../Source/WebKit2/Shared/Databases -I../../Source/WebKit2/Shared/Databases/IndexedDB -I../../Source/WebKit2/Shared/Downloads -I../../Source/WebKit2/Shared/FileAPI -I../../Source/WebKit2/Shared/Network -I../../Source/WebKit2/Shared/Network/CustomProtocols -I../../Source/WebKit2/Shared/Plugins -I../../Source/WebKit2/Shared/Plugins/Netscape -I../../Source/WebKit2/Shared/Plugins/Netscape/x11 -I../../Source/WebKit2/Shared/WebsiteData -I../../Source/WebKit2/UIProcess -I../../Source/WebKit2/UIProcess/API -I../../Source/WebKit2/UIProcess/API/cpp -I../../Source/WebKit2/UIProcess/Authentication -I../../Source/WebKit2/UIProcess/Databases -I../../Source/WebKit2/UIProcess/Downloads -I../../Source/WebKit2/UIProcess/InspectorServer -I../../Source/WebKit2/UIProcess/Launcher -I../../Source/WebKit2/UIProcess/Network -I../../Source/WebKit2/UIProcess/Network/CustomProtocols -I../../Source/WebKit2/UIProcess/Notifications -I../../Source/WebKit2/UIProcess/Plugins -I../../Source/WebKit2/UIProcess/Storage -I../../Source/WebKit2/UIProcess/UserContent -I../../Source/WebKit2/UIProcess/WebsiteData -I../../Source/WebKit2/WebProcess -I../../Source/WebKit2/WebProcess/ApplicationCache -I../../Source/WebKit2/WebProcess/Battery -I../../Source/WebKit2/WebProcess/Cookies -I../../Source/WebKit2/WebProcess/Databases -I../../Source/WebKit2/WebProcess/Databases/IndexedDB -I../../Source/WebKit2/WebProcess/FileAPI -I../../Source/WebKit2/WebProcess/FullScreen -I../../Source/WebKit2/WebProcess/Geolocation -I../../Source/WebKit2/WebProcess/IconDatabase -I../../Source/WebKit2/WebProcess/InjectedBundle/API -I../../Source/WebKit2/WebProcess/InjectedBundle/DOM -I../../Source/WebKit2/WebProcess/Launching -I../../Source/WebKit2/WebProcess/MediaCache -I../../Source/WebKit2/WebProcess/MediaStream -I../../Source/WebKit2/WebProcess/Network -I../../Source/WebKit2/WebProcess/Notifications -I../../Source/WebKit2/WebProcess/OriginData -I../../Source/WebKit2/WebProcess/Plugins -I../../Source/WebKit2/WebProcess/Plugins/Netscape -I../../Source/WebKit2/WebProcess/ResourceCache -I../../Source/WebKit2/WebProcess/Storage -I../../Source/WebKit2/WebProcess/UserContent -I../../Source/WebKit2/WebProcess/WebCoreSupport -I../../Source/WebKit2/WebProcess/WebPage -I../../Source/WebCore -I../../Source/WebCore/Modules/battery -I../../Source/WebCore/Modules/indexeddb -I../../Source/WebCore/Modules/indexeddb/legacy -I../../Source/WebCore/Modules/mediastream -I../../Source/WebCore/Modules/networkinfo -I../../Source/WebCore/Modules/notifications -I../../Source/WebCore/Modules/streams -I../../Source/WebCore/Modules/vibration -I../../Source/WebCore/Modules/webdatabase -I../../Source/WebCore/accessibility -I../../Source/WebCore/bindings/js -I../../Source/WebCore/bindings -I../../Source/WebCore/bridge -I../../Source/WebCore/bridge/jsc -I../../Source/WebCore/contentextensions -I../../Source/WebCore/css -I../../Source/WebCore/dom -I../../Source/WebCore/dom/default -I../../Source/WebCore/editing -I../../Source/WebCore/fileapi -I../../Source/WebCore/history -I../../Source/WebCore/html -I../../Source/WebCore/html/shadow -I../../Source/WebCore/html/track -I../../Source/WebCore/inspector -I../../Source/WebCore/loader -I../../Source/WebCore/loader/archive -I../../Source/WebCore/loader/icon -I../../Source/WebCore/loader/cache -I../../Source/WebCore/page -I../../Source/WebCore/page/animation -I../../Source/WebCore/page/scrolling -I../../Source/WebCore/platform -I../../Source/WebCore/platform/animation -I../../Source/WebCore/platform/audio -I../../Source/WebCore/platform/graphics -I../../Source/WebCore/platform/graphics/filters -I../../Source/WebCore/platform/graphics/harfbuzz -I../../Source/WebCore/platform/graphics/harfbuzz/ng -I../../Source/WebCore/platform/graphics/surfaces -I../../Source/WebCore/platform/graphics/texmap -I../../Source/WebCore/platform/graphics/transforms -I../../Source/WebCore/platform/mediastream -I../../Source/WebCore/platform/network -I../../Source/WebCore/platform/sql -I../../Source/WebCore/platform/text -I../../Source/WebCore/plugins -I../../Source/WebCore/rendering -I../../Source/WebCore/rendering/line -I../../Source/WebCore/rendering/shapes -I../../Source/WebCore/rendering/style -I../../Source/WebCore/storage -I../../Source/WebCore/style -I../../Source/WebCore/svg -I../../Source/WebCore/svg/graphics -I../../Source/WebCore/svg/properties -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/ForwardingHeaders -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/collector/handles -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/WTF -IDerivedSources/JavaScriptCore -IDerivedSources/WebCore -IDerivedSources/WebKit2 -IDerivedSources/WebKit2/include -I. -I../../Source -I../../Source/ThirdParty/ANGLE -I../../Source/ThirdParty/ANGLE/include/KHR -I../../Source/WebKit2/PluginProcess/unix -I../../Source/WebCore/platform/cairo -I../../Source/WebCore/platform/gtk -I../../Source/WebCore/platform/graphics/cairo -I../../Source/WebCore/platform/graphics/opentype -I../../Source/WebCore/platform/graphics/x11 -I../../Source/WebCore/platform/network/soup -I../../Source/WebCore/platform/text/enchant -I../../Source/WebKit2/DatabaseProcess/unix -I../../Source/WebKit2/NetworkProcess/gtk -I../../Source/WebKit2/NetworkProcess/unix -I../../Source/WebKit2/Shared/API/c/gtk -I../../Source/WebKit2/Shared/Network/CustomProtocols/soup -I../../Source/WebKit2/Shared/Downloads/soup -I../../Source/WebKit2/Shared/Plugins/unix -I../../Source/WebKit2/Shared/glib -I../../Source/WebKit2/Shared/gtk -I../../Source/WebKit2/Shared/linux -I../../Source/WebKit2/Shared/linux/SeccompFilters -I../../Source/WebKit2/Shared/soup -I../../Source/WebKit2/Shared/unix -I../../Source/WebKit2/UIProcess/API/C/cairo -I../../Source/WebKit2/UIProcess/API/C/gtk -I../../Source/WebKit2/UIProcess/API/C/soup -I../../Source/WebKit2/UIProcess/API/cpp/gtk -I../../Source/WebKit2/UIProcess/API/gtk -I../../Source/WebKit2/UIProcess/Network/CustomProtocols/soup -I../../Source/WebKit2/UIProcess/Plugins/gtk -I../../Source/WebKit2/UIProcess/gstreamer -I../../Source/WebKit2/UIProcess/gtk -I../../Source/WebKit2/UIProcess/soup -I../../Source/WebKit2/WebProcess/InjectedBundle/API/gtk -I../../Source/WebKit2/WebProcess/gtk -I../../Source/WebKit2/WebProcess/soup -I../../Source/WebKit2/WebProcess/unix -I../../Source/WebKit2/WebProcess/WebCoreSupport/gtk -I../../Source/WebKit2/WebProcess/WebCoreSupport/soup -I../../Source/WebKit2/WebProcess/WebPage/atk -I../../Source/WebKit2/WebProcess/WebPage/gtk -I../../Source/WTF/wtf/gtk -I../../Source/WTF/wtf/glib -isystem ../DependenciesGTK/Root/include/cairo -isystem /usr/include/enchant -isystem ../DependenciesGTK/Root/include/glib-2.0 -isystem ../DependenciesGTK/Root/lib/glib-2.0/include -isystem ../DependenciesGTK/Root/include/libxml2 -isystem /usr/include/dbus-1.0 -isystem /usr/lib/i386-linux-gnu/dbus-1.0/include -isystem ../DependenciesGTK/Root/include/gstreamer-1.0 -isystem ../DependenciesGTK/Root/include/harfbuzz -isystem ../DependenciesGTK/Root/include/libsoup-2.4 -isystem ../DependenciesGTK/Root/include/gdk-pixbuf-2.0 -isystem /usr/include/libpng12 -isystem ../DependenciesGTK/Root/include/gtk-3.0 -isystem ../DependenciesGTK/Root/include/at-spi2-atk/2.0 -isystem ../DependenciesGTK/Root/include/gio-unix-2.0 -isystem ../DependenciesGTK/Root/include/pango-1.0 -isystem ../DependenciesGTK/Root/include/atk-1.0 -isystem ../DependenciesGTK/Root/include/pixman-1 -isystem ../DependenciesGTK/Root/include/freetype2 -isystem /usr/include/libdrm -isystem ../DependenciesGTK/Root/include/gtk-3.0/unix-print    -Wall -Wextra -Wcast-align -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wundef -Wwrite-strings  -include /var/lib/buildbot/webkit32/gtk-linux-32-release/build/Source/WebKit2/WebKit2Prefix.h -Wno-unused-parameter -MMD -MT Source/WebKit2/CMakeFiles/WebKit2.dir/UIProcess/API/gtk/WebKitWebContext.cpp.o -MF Source/WebKit2/CMakeFiles/WebKit2.dir/UIProcess/API/gtk/WebKitWebContext.cpp.o.d -o Source/WebKit2/CMakeFiles/WebKit2.dir/UIProcess/API/gtk/WebKitWebContext.cpp.o -c ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp
In file included from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h:34:0,
                 from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp:49:
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:50:18: error: ‘virtual void WebKit::WebContextMenuProxyGtk::showContextMenu()’ marked override, but does not override
     virtual void showContextMenu() override;
                  ^
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:51:18: error: ‘virtual void WebKit::WebContextMenuProxyGtk::hideContextMenu()’ marked override, but does not override
     virtual void hideContextMenu() override;
                  ^
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:52:18: error: ‘virtual void WebKit::WebContextMenuProxyGtk::cancelTracking()’ marked override, but does not override
     virtual void cancelTracking() override;
                  ^
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h: In static member function ‘static WTF::Ref<WebKit::WebContextMenuProxyGtk> WebKit::WebContextMenuProxyGtk::create(GtkWidget*, WebKit::WebPageProxy&, const WebKit::ContextMenuContextData&, const WebKit::UserData&)’:
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:46:85: error: invalid new-expression of abstract class type ‘WebKit::WebContextMenuProxyGtk’
         return adoptRef(*new WebContextMenuProxyGtk(webView, page, context, userData));
                                                                                     ^
In file included from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h:34:0,
                 from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp:49:
../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:42:7: note:   because the following virtual functions are pure within ‘WebKit::WebContextMenuProxyGtk’:
 class WebContextMenuProxyGtk : public WebContextMenuProxy {
       ^
In file included from ../../Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h:31:0,
                 from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h:34,
                 from ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp:49:
../../Source/WebKit2/UIProcess/WebContextMenuProxy.h:43:18: note: 	virtual void WebKit::WebContextMenuProxy::show()
     virtual void show() = 0;
Comment 1 Hunseop Jeong 2015-10-21 21:41:06 PDT
Created attachment 263791 [details]
Patch
Comment 2 WebKit Commit Bot 2015-10-21 21:44:05 PDT
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
Comment 3 Carlos Garcia Campos 2015-10-22 00:11:19 PDT
Comment on attachment 263791 [details]
Patch

Thanks for the patch. I don't think this is enough, though. Now, the destructor should do the dismiss and cancel tracking, so instead of removing the code, it should be moved to the destructor I think. Maybe we don't need to track the signal handlers anymore, but I think we should at least we need to popdown the menu and call webkitWebViewBaseSetActiveContextMenuProxy with nullptr.
Comment 4 Hunseop Jeong 2015-10-22 00:18:13 PDT
Created attachment 263799 [details]
Patch
Comment 5 Hunseop Jeong 2015-10-22 00:19:50 PDT
(In reply to comment #3)
> Comment on attachment 263791 [details]
> Patch
> 
> Thanks for the patch. I don't think this is enough, though. Now, the
> destructor should do the dismiss and cancel tracking, so instead of removing
> the code, it should be moved to the destructor I think. Maybe we don't need
> to track the signal handlers anymore, but I think we should at least we need
> to popdown the menu and call webkitWebViewBaseSetActiveContextMenuProxy with
> nullptr.

Oh I see. I add the codes to call the popdown and webkitWebViewBaseSetActiveContextMenuProxy at destructor.
Comment 6 Carlos Garcia Campos 2015-10-22 00:29:04 PDT
Comment on attachment 263799 [details]
Patch

Thanks! I think we should also disconnect the signals, because the user can have a reference to the actions.
Comment 7 Hunseop Jeong 2015-10-22 00:40:38 PDT
Created attachment 263804 [details]
Patch
Comment 8 Hunseop Jeong 2015-10-22 00:44:42 PDT
(In reply to comment #6)
> Comment on attachment 263799 [details]
> Patch
> 
> Thanks! I think we should also disconnect the signals, because the user can
> have a reference to the actions.

I moved the cancelTrakcing()s' functions to destructor.
But I got another problem after applying this patch.

I got a segment fault with this patch when reopen the contextMenu in MiniBrowser.

If I removed the webkitWebViewBaseSetActiveContextMenuProxy in destructor, then it works correctly.
Comment 9 Carlos Garcia Campos 2015-10-22 00:58:48 PDT
(In reply to comment #8)
> (In reply to comment #6)
> > Comment on attachment 263799 [details]
> > Patch
> > 
> > Thanks! I think we should also disconnect the signals, because the user can
> > have a reference to the actions.
> 
> I moved the cancelTrakcing()s' functions to destructor.
> But I got another problem after applying this patch.
> 
> I got a segment fault with this patch when reopen the contextMenu in
> MiniBrowser.
> 
> If I removed the webkitWebViewBaseSetActiveContextMenuProxy in destructor,
> then it works correctly.

hmm, I think this is because the web page proxy doesn't destroy the active context menu, so the previous one is reused. I think we need to rework this to create/destroy the GtkMenu in show(). Feel free to land the build fix, so that bots can work again, and I'll fix the remaining issues if you want
Comment 10 Hunseop Jeong 2015-10-22 01:02:13 PDT
(In reply to comment #9)
> (In reply to comment #8)
> > (In reply to comment #6)
> > > Comment on attachment 263799 [details]
> > > Patch
> > > 
> > > Thanks! I think we should also disconnect the signals, because the user can
> > > have a reference to the actions.
> > 
> > I moved the cancelTrakcing()s' functions to destructor.
> > But I got another problem after applying this patch.
> > 
> > I got a segment fault with this patch when reopen the contextMenu in
> > MiniBrowser.
> > 
> > If I removed the webkitWebViewBaseSetActiveContextMenuProxy in destructor,
> > then it works correctly.
> 
> hmm, I think this is because the web page proxy doesn't destroy the active
> context menu, so the previous one is reused. I think we need to rework this
> to create/destroy the GtkMenu in show(). Feel free to land the build fix, so
> that bots can work again, and I'll fix the remaining issues if you want

Okay, Thanks.
Comment 11 Hunseop Jeong 2015-10-22 01:04:58 PDT
(In reply to comment #10)
> (In reply to comment #9)
> > (In reply to comment #8)
> > > (In reply to comment #6)
> > > > Comment on attachment 263799 [details]
> > > > Patch
> > > > 
> > > > Thanks! I think we should also disconnect the signals, because the user can
> > > > have a reference to the actions.
> > > 
> > > I moved the cancelTrakcing()s' functions to destructor.
> > > But I got another problem after applying this patch.
> > > 
> > > I got a segment fault with this patch when reopen the contextMenu in
> > > MiniBrowser.
> > > 
> > > If I removed the webkitWebViewBaseSetActiveContextMenuProxy in destructor,
> > > then it works correctly.
> > 
> > hmm, I think this is because the web page proxy doesn't destroy the active
> > context menu, so the previous one is reused. I think we need to rework this
> > to create/destroy the GtkMenu in show(). Feel free to land the build fix, so
> > that bots can work again, and I'll fix the remaining issues if you want
> 
> Okay, Thanks.

Could you give me the r+ again?
Comment 12 Carlos Garcia Campos 2015-10-22 01:06:31 PDT
Comment on attachment 263804 [details]
Patch

I'll land this asap
Comment 13 Carlos Garcia Campos 2015-10-22 01:09:14 PDT
Committed r191447: <http://trac.webkit.org/changeset/191447>