如何解决WebKitWebPage 上下文菜单项在单击时不调用“激活”回调
我正在尝试从 WebKitGTK 中的 webextension 编辑右键单击上下文菜单。问题最好通过代码来描述:
sync:
defaults:
ignore:
vcs: true
permissions:
defaultFileMode: 644
defaultDirectoryMode: 755
codebase:
alpha: "./app" # dir of your app
beta: "docker://project_container_1/var/www" # targets an absolute path in the container named project_container_1
mode: "two-way-resolved"
上下文菜单已更新,但是当我单击“设置”项时什么也没有发生。但是,如果我通过 let arr = new Array(3)
console.log(Object.keys(arr)) // []
console.log([...arr.keys()]) // [0,1,2]
手动激活操作,“打开的设置”消息将按原样打印。 static void open_adblock_settings(GSimpleAction *action,GVariant *parameter,gpointer user_data)
{
g_print("Opened settings\n");
}
static gboolean context_menu_opened_callback(WebKitWebPage *web_page,WebKitContextMenu *context_menu,WebKitWebHitTestResult *hit_test_result,gpointer user_data)
{
g_print("Context menu opened\n");
webkit_context_menu_append(context_menu,webkit_context_menu_item_new_separator());
GSimpleAction *action = g_simple_action_new("open-settings",NULL);
g_signal_connect(action,"activate",G_CALLBACK(open_adblock_settings),NULL);
WebKitContextMenuItem *item = webkit_context_menu_item_new_from_gaction(G_ACTION(action),"Settings",NULL);
webkit_context_menu_append(context_menu,item);
return TRUE;
}
也能用,所以我想知道这可能是 g_action_activate
的错误,还是我犯了一个愚蠢的错误。我阅读了文档,搜索了一些代码示例,看起来我的代码应该是正确的。这是完整图片的其余代码: https://github.com/dudik/blockit/blob/ec1f1e94b57389f53525c07f4893a7bc8fa64655/blockit.c#L75 它很小,但如果不够清楚,我也可以根据需要编写一个最小的工作示例。提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。