New issue
Advanced search Search tips

Issue 803254 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 3
Type: Bug



Sign in to add a comment

Client info not set after Payment Handler window is opened

Project Member Reported by anthonyvd@chromium.org, Jan 17 2018

Issue description

On desktop, Payment Handler responds to openWindow calls by navigating to the specified URL inside a views::WebView object embeded in the Payment Request dialog. Currently, the client info in the ServiceWorker isn't set so the Service Worker might not be able to find the window once the openWindow promise resolves.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562

commit 98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562
Author: Anthony Vallee-Dubois <anthonyvd@chromium.org>
Date: Thu Jan 18 16:31:32 2018

[Web Payments] Set client info when Payment Handler window opens

Prior to this patch, the service worker was notified when the Payment
Handler window was opened but it was unable to properly set the client
info associated with the new window. Because of this, Payment Handler
that used the |window_client| param of the openWindow promise would
see a null client event though a window existed.

This patch makes it so that the code propagates the render process and
render frame IDs back to the service worker so that it can properly fill
a ServiceWorkerClientInfo struct after the window is opened and
navigation to the target URL is performed.

BUG:  803254 
Change-Id: I3359454369cfb93f606da921c91d12b6892645cc
Reviewed-on: https://chromium-review.googlesource.com/871985
Commit-Queue: anthonyvd <anthonyvd@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530163}
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/chrome/browser/chrome_content_browser_client.h
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/chrome/browser/payments/chrome_payment_request_delegate.cc
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/chrome/browser/ui/views/payments/payment_handler_web_flow_view_controller.cc
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/components/payments/content/payment_request_display_manager.cc
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/components/payments/content/payment_request_display_manager.h
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/content/browser/service_worker/service_worker_client_utils.cc
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/content/browser/service_worker/service_worker_client_utils.h
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/98befeaa4b51e0e3f9b62ffbd9517fbedf4e6562/content/public/browser/content_browser_client.h

Status: Fixed (was: Assigned)

Sign in to add a comment