WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
Bug 116311
[EFL][WK2] Make Ewk_Context_Menu_Item Ewk_Object
https://bugs.webkit.org/show_bug.cgi?id=116311
Summary
[EFL][WK2] Make Ewk_Context_Menu_Item Ewk_Object
Michal Pakula vel Rutka
Reported
2013-05-17 06:34:05 PDT
SSIA
Attachments
proposed patch
(17.30 KB, patch)
2013-05-21 02:45 PDT
,
Michal Pakula vel Rutka
cdumez
: review-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Michal Pakula vel Rutka
Comment 1
2013-05-21 02:45:10 PDT
Created
attachment 202400
[details]
proposed patch
Chris Dumez
Comment 2
2013-05-21 03:14:47 PDT
I applied your patch, lunched Google and did a right click to show the context menu and experienced the following crash: chris@cdumez-samsung:~/devel/WebKit$ WebKitBuild/Debug/bin/MiniBrowser HTML5 local storage is enabled for this view. ASSERTION FAILED: !m_adoptionIsRequired /home/chris/devel/WebKit/Source/WTF/wtf/RefCounted.h(59) : void WTF::RefCountedBase::ref() 1 0x7fb0b7d1f3f7 WTFCrash 2 0x7fb0b79fd153 WTF::RefCountedBase::ref() 3 0x7fb0b7c8f0d2 void WTF::refIfNotNull<EwkContextMenu>(EwkContextMenu*) 4 0x7fb0b7c8efe7 WTF::PassRefPtr<EwkContextMenu>::PassRefPtr(EwkContextMenu*) 5 0x7fb0b7c8e05e EwkContextMenu::EwkContextMenu(EwkView*, OpaqueWKArray const*) 6 0x7fb0b7c81389 EwkContextMenu::create(EwkView*, OpaqueWKArray const*) 7 0x7fb0b7c7eee8 EwkView::showContextMenu(WKPoint, OpaqueWKArray const*) 8 0x7fb0b7ca76c9 9 0x7fb0b7ada688 WebKit::WebPageContextMenuClient::showContextMenu(WebKit::WebPageProxy*, WebCore::IntPoint const&, WTF::Vector<WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow> const&) 10 0x7fb0b7aee224 WebKit::WebPageProxy::internalShowContextMenu(WebCore::IntPoint const&, WebKit::WebHitTestResult::Data const&, WTF::Vector<WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow> const&, CoreIPC::MessageDecoder&) 11 0x7fb0b7aedfe4 WebKit::WebPageProxy::showContextMenu(WebCore::IntPoint const&, WebKit::WebHitTestResult::Data const&, WTF::Vector<WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow> const&, CoreIPC::MessageDecoder&) 12 0x7fb0b7cf9558 void CoreIPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebCore::IntPoint const&, WebKit::WebHitTestResult::Data const&, WTF::Vector<WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow> const&, CoreIPC::MessageDecoder&), WebCore::IntPoint, WebKit::WebHitTestResult::Data, WTF::Vector<WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow> >(CoreIPC::Arguments3<WebCore::IntPoint, WebKit::WebHitTestResult::Data, WTF::Vector<WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow> > const&, CoreIPC::MessageDecoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::IntPoint const&, WebKit::WebHitTestResult::Data const&, WTF::Vector<WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow> const&, CoreIPC::MessageDecoder&)) 13 0x7fb0b7cf54ad void CoreIPC::handleMessageVariadic<Messages::WebPageProxy::ShowContextMenu, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebCore::IntPoint const&, WebKit::WebHitTestResult::Data const&, WTF::Vector<WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow> const&, CoreIPC::MessageDecoder&)>(CoreIPC::MessageDecoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::IntPoint const&, WebKit::WebHitTestResult::Data const&, WTF::Vector<WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow> const&, CoreIPC::MessageDecoder&)) 14 0x7fb0b7cf00a3 WebKit::WebPageProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) 15 0x7fb0b7a1525a CoreIPC::MessageReceiverMap::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) 16 0x7fb0b7a2a079 WebKit::ChildProcessProxy::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) 17 0x7fb0b7b29ef1 WebKit::WebProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) 18 0x7fb0b7a03468 CoreIPC::Connection::dispatchMessage(CoreIPC::MessageDecoder&) 19 0x7fb0b7a03548 CoreIPC::Connection::dispatchMessage(WTF::PassOwnPtr<CoreIPC::MessageDecoder>) 20 0x7fb0b7a03759 CoreIPC::Connection::dispatchOneMessage() 21 0x7fb0b7a14639 WTF::FunctionWrapper<void (CoreIPC::Connection::*)()>::operator()(CoreIPC::Connection*) 22 0x7fb0b7a141be WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (CoreIPC::Connection::*)()>, void (CoreIPC::Connection*)>::operator()() 23 0x7fb0b7c2a63d WTF::Function<void ()>::operator()() const 24 0x7fb0b32f5eeb WebCore::RunLoop::performWork() 25 0x7fb0b3e5eb3c WebCore::RunLoop::wakeUpEvent(void*, void*, unsigned int) 26 0x7fb0b83a6a07 27 0x7fb0b83a5a21 28 0x7fb0b83a5e97 ecore_main_loop_begin 29 0x409b56 elm_main 30 0x409b98 main 31 0x7fb0b6cfeea5 __libc_start_main Segmentation fault (core dumped) chris@cdumez-samsung:~/devel/WebKit$ LEAK: 1 XMLHttpRequest
Chris Dumez
Comment 3
2013-05-21 03:16:59 PDT
Comment on
attachment 202400
[details]
proposed patch r- due to blocker crash.
Michal Pakula vel Rutka
Comment 4
2013-05-21 10:48:37 PDT
(In reply to
comment #3
)
> (From update of
attachment 202400
[details]
) > r- due to blocker crash.
I prepared a fix for that in patch 116549
Chris Dumez
Comment 5
2013-05-22 02:42:08 PDT
This patch is probably not a good idea since an item is owned by its parent and it keeps a raw pointer to its parent. It the parent menu is destroyed and someone else keeps a ref to the item, then the parent_menu pointer will be invalid.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug