From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: xwidget-webkit-browse-url run error (newest xwidget code). Date: Sun, 07 Nov 2021 19:53:59 +0800 Message-ID: <8735o8uqp4.fsf@yahoo.com> References: <5ec5a376.969.17cf8d7d303.Coremail.tumashu@163.com> <87pmrcleca.fsf@gnus.org> <7f643b78.a19.17cf8ed4974.Coremail.tumashu@163.com> <87zgqgwm0r.fsf@yahoo.com> <1a429002.1501.17cf9e9f326.Coremail.tumashu@163.com> <87pmrcutoy.fsf@yahoo.com> <685d6c7f.15e6.17cfa1a3b25.Coremail.tumashu@163.com> <877ddkurfv.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1108"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: "Lars Ingebrigtsen" , "emacs-devel@gnu.org" To: tumashu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Nov 07 12:55:24 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mjglf-00007q-Oc for ged-emacs-devel@m.gmane-mx.org; Sun, 07 Nov 2021 12:55:23 +0100 Original-Received: from localhost ([::1]:54686 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mjgle-0005l7-1o for ged-emacs-devel@m.gmane-mx.org; Sun, 07 Nov 2021 06:55:22 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60256) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mjgkZ-00053J-3w for emacs-devel@gnu.org; Sun, 07 Nov 2021 06:54:15 -0500 Original-Received: from sonic301-31.consmr.mail.ne1.yahoo.com ([66.163.184.200]:36295) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mjgkW-00085g-IF for emacs-devel@gnu.org; Sun, 07 Nov 2021 06:54:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1636286049; bh=SJPQrO1ZIl4VW1uJomq76FSBud+SG8eNlZiiasY4e5Q=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=jZ7p9PIcrhXz5T21U8yaj+/rX8qNd1mYL8hzQwKSQu+I+JfBVd8fEfal7fiomfg5jbrr3s04vENDdwmklow1YNEhbL5QuqK2x+vlkR5kGtHRVGlai5t7MC4+vY839XoX2GxiCPY86sIFI2AoTp9uyO3bmn7zqdhuCje7tOmaLuOb97FpLF+ezfJ/zsd30f5T4OHYKjAVDV9Lr9s/EE8dF0qRmZR77b8AKiiOe3bGXve/d28gTgsCOX1VEAvBjnfZxXQ3Fmmc+7uHc3cj1PnZiEJUo4DGXfVBZt89R/9QLnj/RbrT4w578eXL151hJbbZ8D2rr3EXltMHTEKZL/Vo4g== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1636286049; bh=SfivDUJh49WyTvUsBS/9aXFJVU8fZomYb9/7+Vy2s+U=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=uQJW3OhZsl02Bp+yEpQZBje/RSyRDf9y+GPnzgTyGfHrRxMG+8rx0m9zwFy5jyCiXsea1ybnDARIa7vsxK+LFc2YHsZNdAgcqs83IG/OKgh81/SETs5ZBEaQWJySadeTepqcZV/idw5BAr7zPCtp2iRPgO5BWOoMPQtPG1YDTp4MyzQNA7cy7YVnjbBP7BH9eMFuSWcXuUE9WEYMLY8kTBBklNXoC3QB1hB0uOzA5gy0RZd/5fosNUZVbJ/BTuoB08ZlsTLUctWYqtmbwekSqLgDYCOEoPPviyEDHO2cf5focxmFfTuZDyXUezTJaaqDC4SG9EMCFSUyaXpkzSzW9A== X-YMail-OSG: q.20ekYVM1njvwOReYdFNs7Ps13FK3NxLZfmQGblbwcdIVzTeolXO35hxzeeBzC 6E8G_4UOIIRLw2k7.pSujejCBZD5dsNZ3KuNKTtp9Rj6D3kCmCGfWk2czitGknbnCq8vp0YhpFoP dpTa7At_y3HGhwRyHrcQ7MXmJbfL1H9V4pVQl_4DF0KV5D4rSb7t5l0P1hsD0eGVfRzH0HQz6.pR rt_GW79KbNEvUXPxXxRzLNCXH7dLeWMQ0RjS4pQ2UlNHz797mNvnotWcauLjTCy0SAkosvqPkXnW 1Z4ysFcuerh7US6.NBmhjo2SeDFy.MZUujd0qCew42zqUn1fFa4vOjwO32gpjU_gth0aMH83TmU0 kbb0JpIz63islZzf.4JkuoliK0S_UgM2q1z.4TCgC3mGvPd8GxFtrcWCy5kcqiF4gC2tjll9cKd. YR7QyODR2IEZ_0thnsjXhRL3CWnoTg9ax2etthdeuPTD1GInPkviUF6_lW1dnzuC21tVlUlgr_2d EDpYjYJd2sLqwpJho4Zid2h66yvl8GXINEM4U31Njf7hj3l0vN48vBkfbs2KPbcVEJ5YTvo4cJrW yIMQGgw.wUx9TyKvC1v6NVwjRd09AjpZXfjSpqSa5txBjCuCWqMDSqKJofayu6G8cVPznu1izrJd MRuXta0pIqWYQE9lGXkDTTvkt9csZNFGx8TIRJo4HOeFM.639B_1sDi_coOU70Pq20c.pQEDVIGd 131OPN7634UonwzizveG2H4pRXzdiEM63RCvXqztFrzDhw6NgqVz507bx_SquqGpiD4kGmvhatAe MjZc.q9Z2b70KVPNmV5DPQ_Av0T1YHK_ORDm008dOW X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.ne1.yahoo.com with HTTP; Sun, 7 Nov 2021 11:54:09 +0000 Original-Received: by kubenode512.mail-prod1.omega.sg3.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID de0fd869025d96ee1c0351e3a1e36907; Sun, 07 Nov 2021 11:54:03 +0000 (UTC) In-Reply-To: <877ddkurfv.fsf@yahoo.com> (Po Lu's message of "Sun, 07 Nov 2021 19:37:56 +0800") X-Mailer: WebService/1.1.19266 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.184.200; envelope-from=luangruo@yahoo.com; helo=sonic301-31.consmr.mail.ne1.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:278934 Archived-At: --=-=-= Content-Type: text/plain Po Lu writes: > Can you tell me if these links open on your system with another > WebKitGTK based browser such as Epiphany? (In Epiphany, also verify > that Settings -> General -> Block Popup Windows is enabled before > performing this test, as this is the default setting of a > WebKitWebView.) Alternatively, could you try this patch and see if it resolves your problem? --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Handle-WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION.patch >From 2e045963c82606b90530e319e6cc4c6993de3fbf Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sun, 7 Nov 2021 19:51:39 +0800 Subject: [PATCH] Handle WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION appropriately * src/xwidget.c (webkit_decide_policy_cb): Send an xwidget display event when a webpage asks to create a new window. --- src/xwidget.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/xwidget.c b/src/xwidget.c index 0692d0022c..f95f5f1d7f 100644 --- a/src/xwidget.c +++ b/src/xwidget.c @@ -1196,6 +1196,33 @@ webkit_decide_policy_cb (WebKitWebView *webView, break; } case WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION: + { + WebKitNavigationPolicyDecision *navigation_decision = + WEBKIT_NAVIGATION_POLICY_DECISION (decision); + WebKitNavigationAction *navigation_action = + webkit_navigation_policy_decision_get_navigation_action (navigation_decision); + WebKitURIRequest *request = + webkit_navigation_action_get_request (navigation_action); + WebKitWebView *newview; + struct xwidget *xw = g_object_get_data (G_OBJECT (webView), XG_XWIDGET); + Lisp_Object val, new_xwidget; + + XSETXWIDGET (val, xw); + + new_xwidget = Fmake_xwidget (Qwebkit, Qnil, make_fixnum (0), + make_fixnum (0), Qnil, + build_string (" *detached xwidget buffer*"), + val); + + if (NILP (new_xwidget)) + return FALSE; + + newview = WEBKIT_WEB_VIEW (XXWIDGET (new_xwidget)->widget_osr); + webkit_web_view_load_request (newview, request); + + store_xwidget_display_event (XXWIDGET (new_xwidget)); + return TRUE; + } case WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION: { WebKitNavigationPolicyDecision *navigation_decision = -- 2.31.1 --=-=-= Content-Type: text/plain Thanks. --=-=-=--