Commit f140d1fd authored by Liquan (Max) Gu's avatar Liquan (Max) Gu Committed by Commit Bot

[WebLayer] Handle CRPService closing

This CL removes the following assumptions from CPRService:
* PRService has to be alive when calling CPRService.close().
* PRService.disconnectFromClientWithDebugMessage() calls
  CPRService.close().

Reducing this kind of coupling would make it easier to maintain
CPRService, PRService.

Bug: 1025619

Change-Id: I17b278ae20a5cce305d9d1f9330fac2c13ce762f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2543837
Commit-Queue: Liquan (Max) Gu <maxlg@chromium.org>
Reviewed-by: default avatarRouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#828521}
parent 2c7cd05e
......@@ -531,15 +531,11 @@ public class ChromePaymentRequestService
}
private void disconnectFromClientWithDebugMessage(String debugMessage) {
disconnectFromClientWithDebugMessage(debugMessage, PaymentErrorReason.USER_CANCEL);
}
private void disconnectFromClientWithDebugMessage(String debugMessage, int reason) {
if (mPaymentRequestService != null) {
mPaymentRequestService.disconnectFromClientWithDebugMessage(debugMessage, reason);
mPaymentRequestService.disconnectFromClientWithDebugMessage(
debugMessage, PaymentErrorReason.USER_CANCEL);
}
// Either closed before this method or closed by mPaymentRequestService.
assert mHasClosed;
close();
}
// Implements BrowserPaymentRequest:
......@@ -566,9 +562,10 @@ public class ChromePaymentRequestService
if (mHasClosed) return;
mHasClosed = true;
assert mPaymentRequestService != null;
mPaymentRequestService.close();
mPaymentRequestService = null;
if (mPaymentRequestService != null) {
mPaymentRequestService.close();
mPaymentRequestService = null;
}
mPaymentUiService.close();
SettingsAutofillAndPaymentsObserver.getInstance().unregisterObserver(mPaymentUiService);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment