Closed Bug 1721229 Opened 3 years ago Closed 3 years ago

Remove the WebPayments UI code from the tree

Categories

(Firefox :: WebPayments UI, task, P2)

task

Tracking

()

RESOLVED FIXED
99 Branch
Tracking Status
firefox99 --- fixed

People

(Reporter: sfoster, Assigned: sfoster)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

There's are no plans to support the PaymentRequest and BasicCard APIs that this front-end/Firefox feature was written for. It should be removed from the tree to avoid continuing confusion, test noise etc. If we ever need to re-consider, the code can be retrieved from repo history.

In addition to removing most of the contents of the browser/components/payments directory, we'll also need to:

  • Remove payments entry from browser/docs/index.rst
  • Remove Polymer license note from toolkit/content/license.html

The integration with the DOM is via the PaymentUIService (nsIPaymentUIService.idl). To keep this removal patch manageable and focused on the front-end code, I suggest leaving browser/components/payments/PaymentUIService.jsm, but as a minimal stub to implement the interface but otherwise noop. That will hopefully allow a staged removal of the DOM code.

The patches implement the plan from comment #0.
I ran a mach try auto and the browser static tests and didn't see any problems. Next step, a reviewer.

Assignee: nobody → sfoster
Severity: -- → N/A
Status: NEW → ASSIGNED
Priority: -- → P2

(In reply to Sam Foster [:sfoster] (he/him) from comment #0)

The integration with the DOM is via the PaymentUIService (nsIPaymentUIService.idl). To keep this removal patch manageable and focused on the front-end code, I suggest leaving browser/components/payments/PaymentUIService.jsm, but as a minimal stub to implement the interface but otherwise noop. That will hopefully allow a staged removal of the DOM code.

I didn't think that removing the browser/ implementation of that interface would cause a problem at this point since IIRC the dom/ tests already registered their own nsIPaymentUIService implementations. Did you see a problem with removing the browser/ implementation?

Flags: needinfo?(sfoster)

(In reply to Matthew N. [:MattN] from comment #4)

(In reply to Sam Foster [:sfoster] (he/him) from comment #0)
I didn't think that removing the browser/ implementation of that interface would cause a problem at this point since IIRC the dom/ tests already registered their own nsIPaymentUIService implementations. Did you see a problem with removing the browser/ implementation?

Last time I tried to do this, I did run into problems. But that was a while ago, I'll try again to verify.

Flags: needinfo?(sfoster)
Attachment #9244026 - Attachment description: WIP: Bug 1721229 - Remove the WebPayments UI code from the tree → Bug 1721229 - Remove the WebPayments UI code from the tree. r?mattn!
Attachment #9244027 - Attachment description: WIP: Bug 1721229 - Remove the Polymer license as the WebPayments code that used it is being removed → Bug 1721229 - Remove the Polymer license as the WebPayments code that used it is being removed. r?mhoye
Pushed by sfoster@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/42b194ca04c4 Remove the WebPayments UI code from the tree. r=MattN https://hg.mozilla.org/integration/autoland/rev/964d52daa110 Remove the Polymer license as the WebPayments code that used it is being removed. r=mhoye

Backed out for causing multiple crashes on payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html.

Push with failures

Failure log for wpt6
Failure log for wpt2
Failure log for wpt20
Failure log for wpt14

Backout link

[task 2022-01-19T01:42:53.873Z] 01:42:53     INFO - TEST-START | /feature-policy/payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html
[task 2022-01-19T01:42:53.875Z] 01:42:53     INFO - Closing window 5441ead8-298f-429e-89a2-a90813ee7f33
[task 2022-01-19T01:42:53.914Z] 01:42:53     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '52'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '53'}]}
[task 2022-01-19T01:42:53.972Z] 01:42:53     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '54'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '55'}]}
[task 2022-01-19T01:42:54.064Z] 01:42:54     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '56'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '57'}]}
[task 2022-01-19T01:42:54.131Z] 01:42:54     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '58'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '59'}]}
[task 2022-01-19T01:42:54.252Z] 01:42:54     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '60'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '61'}]}
[task 2022-01-19T01:42:54.384Z] 01:42:54     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '62'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '63'}]}
[task 2022-01-19T01:42:54.435Z] 01:42:54     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '64'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '65'}]}
[task 2022-01-19T01:42:54.459Z] 01:42:54     INFO - PID 1781 | IPDL protocol error: Handler returned error code!
[task 2022-01-19T01:42:54.459Z] 01:42:54     INFO - PID 1781 | ###!!! [Parent][DispatchAsyncMessage] Error: PPaymentRequest::Msg_RequestPayment Processing error: message was deserialized, but the handler returned false (indicating failure)
[task 2022-01-19T01:42:54.465Z] 01:42:54     INFO - mozcrash ..
[task 2022-01-19T01:42:54.465Z] 01:42:54     INFO - mozcrash Downloading symbols from: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/AvOwS37LSyaLyyb-DDgxhw/artifacts/public/build/target.crashreporter-symbols.zip
[task 2022-01-19T01:42:54.479Z] 01:42:54     INFO - PID 1781 | ###!!! [Parent][PContentParent] Error: Send(msgname=PContent::Reply_DiscardBrowsingContext) Channel error: cannot send/recv
[task 2022-01-19T01:42:54.479Z] 01:42:54     INFO - PID 1781 | ###!!! [Parent][PContentParent] Error: Send(msgname=PContent::Reply_DiscardBrowsingContext) Channel error: cannot send/recv
[task 2022-01-19T01:42:54.483Z] 01:42:54     INFO - PID 1781 | A content process crashed and MOZ_CRASHREPORTER_SHUTDOWN is set, shutting down
[task 2022-01-19T01:42:54.512Z] 01:42:54     INFO - PID 1781 | 1642556574512	Marionette	INFO	Stopped listening on port 52468
[task 2022-01-19T01:42:54.517Z] 01:42:54     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '66'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '67'}]}
[task 2022-01-19T01:42:54.541Z] 01:42:54     INFO - PID 1781 | JavaScript error: chrome://remote/content/marionette/cert.js, line 55: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsICertOverrideService.setDisableAllSecurityChecksAndLetAttackersInterceptMyData]
[task 2022-01-19T01:42:54.618Z] 01:42:54     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '68'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '69'}]}
[task 2022-01-19T01:42:54.738Z] 01:42:54     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '70'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '71'}]}
[task 2022-01-19T01:42:54.791Z] 01:42:54     INFO - PID 1781 | ###!!! [Parent][PImageBridgeParent] Error: RunMessage(msgname=PImageBridge::Msg_WillClose) Channel closing: too late to send/recv, messages will be lost
[task 2022-01-19T01:42:54.871Z] 01:42:54     INFO - PID 1781 | [2022-01-19T01:42:54Z ERROR xulstore::persist] removeDocument error: unavailable
[task 2022-01-19T01:42:54.910Z] 01:42:54     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '72'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue003'}, {'type': 'keyUp', 'value': '\ue003'}], 'id': '73'}]}
[task 2022-01-19T01:42:55.104Z] 01:42:55     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '74'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '75'}]}
[task 2022-01-19T01:42:55.356Z] 01:42:55     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '76'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '77'}]}
[task 2022-01-19T01:42:55.474Z] 01:42:55     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '78'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '79'}]}
[task 2022-01-19T01:42:55.758Z] 01:42:55     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '80'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '81'}]}
[task 2022-01-19T01:42:56.026Z] 01:42:56     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '82'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue017'}, {'type': 'keyUp', 'value': '\ue017'}], 'id': '83'}]}
[task 2022-01-19T01:42:56.158Z] 01:42:56     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '84'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '85'}]}
[task 2022-01-19T01:42:56.334Z] 01:42:56     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '86'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '87'}]}
[task 2022-01-19T01:42:56.434Z] 01:42:56     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '88'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '89'}]}
[task 2022-01-19T01:42:56.485Z] 01:42:56     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '90'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '91'}]}
[task 2022-01-19T01:42:56.650Z] 01:42:56     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '92'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue003'}, {'type': 'keyUp', 'value': '\ue003'}], 'id': '93'}]}
[task 2022-01-19T01:42:56.683Z] 01:42:56     INFO - mozcrash Copy/paste: /opt/worker/tasks/task_164255600545460/fetches/minidump_stackwalk/minidump_stackwalk --symbols-url=https://symbols.mozilla.org/ --human /var/folders/vt/_9k8c5ys2n994wzpkn_p5msh000014/T/tmpxcqoth3f/minidumps/BC0C17C6-EDBD-49D5-9B40-2CDD8871474E.dmp /var/folders/vt/_9k8c5ys2n994wzpkn_p5msh000014/T/tmpsdtqx2zc
[task 2022-01-19T01:42:56.942Z] 01:42:56     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '94'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '95'}]}
[task 2022-01-19T01:42:57.116Z] 01:42:57     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '96'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '97'}]}
[task 2022-01-19T01:42:57.272Z] 01:42:57     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '98'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '99'}]}
[task 2022-01-19T01:42:57.447Z] 01:42:57     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '100'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '101'}]}
[task 2022-01-19T01:42:57.684Z] 01:42:57     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '102'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue017'}, {'type': 'keyUp', 'value': '\ue017'}], 'id': '103'}]}
[task 2022-01-19T01:42:57.898Z] 01:42:57     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '104'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '105'}]}
[task 2022-01-19T01:42:58.067Z] 01:42:58     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '106'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '107'}]}
[task 2022-01-19T01:42:58.250Z] 01:42:58     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '108'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'X'}, {'type': 'keyUp', 'value': 'X'}], 'id': '109'}]}
[task 2022-01-19T01:42:58.357Z] 01:42:58     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '110'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': 'Y'}, {'type': 'keyUp', 'value': 'Y'}], 'id': '111'}]}
[task 2022-01-19T01:42:58.630Z] 01:42:58     INFO - {'actions': [{'type': 'none', 'actions': [{'type': 'pause', 'duration': 16}, {'type': 'pause', 'duration': 16}], 'id': '112'}, {'type': 'key', 'actions': [{'type': 'keyDown', 'value': '\ue003'}, {'type': 'keyUp', 'value': '\ue003'}], 'id': '113'}]}
[task 2022-01-19T01:42:58.866Z] 01:42:58     INFO - mozcrash Saved minidump as /opt/worker/tasks/task_164255600545460/build/blobber_upload_dir/BC0C17C6-EDBD-49D5-9B40-2CDD8871474E.dmp
[task 2022-01-19T01:42:58.866Z] 01:42:58     INFO - mozcrash Saved app info as /opt/worker/tasks/task_164255600545460/build/blobber_upload_dir/BC0C17C6-EDBD-49D5-9B40-2CDD8871474E.extra
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - PROCESS-CRASH | /feature-policy/payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html | application crashed [@ xpc::JSXrayTraits::resolveOwnProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<mozilla::Maybe<JS::PropertyDescriptor> >)]
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - Crash dump filename: /var/folders/vt/_9k8c5ys2n994wzpkn_p5msh000014/T/tmpxcqoth3f/minidumps/BC0C17C6-EDBD-49D5-9B40-2CDD8871474E.dmp
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - Operating system: Mac OS X
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO -                   10.15.7 19H524
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - CPU: amd64
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO -      family 6 model 158 stepping 10
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO -      12 CPUs
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - 
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - Crash reason:  EXC_BREAKPOINT / EXC_I386_BPT
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - Crash address: 0x10f2a55bd
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - Mac Crash Info:
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - 
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - Process uptime: 6 seconds
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - 
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO - Thread 0 MainThread (crashed)
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO -  0  XUL!xpc::JSXrayTraits::resolveOwnProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<mozilla::Maybe<JS::PropertyDescriptor> >) [XrayWrapper.cpp:964d52daa110016583b27c0aa9ca703a7761d9af : 511 + 0xd]
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO -     rax = 0x00007ffee243e800   rdx = 0x00007ffee243e980
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO -     rcx = 0x00007ffee243e778   rbx = 0x000000010e024018
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO -     rsi = 0x000000010e024000   rdi = 0x0000000116315fc0
[task 2022-01-19T01:42:59.009Z] 01:42:59     INFO -     rbp = 0x00007ffee243e740   rsp = 0x00007ffee243e718
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -      r8 = 0x00007ffee243e798    r9 = 0x00007ffee243e988
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     r10 = 0x00007ffee243e980   r11 = 0xfff9800000000000
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     r12 = 0x00007ffee243e788   r13 = 0x000000010e024000
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     r14 = 0xfffe000000000000   r15 = 0x00007ffee243e980
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     rip = 0x000000010f2a55bd
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     Found by: given as instruction pointer in context
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -  1  XUL!xpc::XrayWrapper<js::CrossCompartmentWrapper, xpc::JSXrayTraits>::getOwnPropertyDescriptor(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<mozilla::Maybe<JS::PropertyDescriptor> >) const [XrayWrapper.cpp:964d52daa110016583b27c0aa9ca703a7761d9af : 1869 + 0x19]
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     rbx = 0x000000010e024018   rbp = 0x00007ffee243e7d0
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     rsp = 0x00007ffee243e750   r12 = 0x00007ffee243e788
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     r13 = 0x000000010e024000   r14 = 0xfffe000000000000
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     r15 = 0x00007ffee243e980   rip = 0x000000010f2a5568
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     Found by: call frame info
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -  2  XUL!js::BaseProxyHandler::hasOwn(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::PropertyKey>, bool*) const [BaseProxyHandler.cpp:964d52daa110016583b27c0aa9ca703a7761d9af : 70 + 0x5]
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     rbx = 0x00007ffee243e7f0   rbp = 0x00007ffee243e840
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     rsp = 0x00007ffee243e7e0   r12 = 0x00007ffee243e980
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     r13 = 0x0000000115ec69f0   r14 = 0x00007ffee243e887
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     r15 = 0x00007ffee243e988   rip = 0x0000000112ae3d5c
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     Found by: call frame info
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -  3  XUL!js::ProxyGetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) [Proxy.cpp:964d52daa110016583b27c0aa9ca703a7761d9af : 493 + 0x1b6]
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     rbx = 0x000000010e024000   rbp = 0x00007ffee243e940
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     rsp = 0x00007ffee243e850   r12 = 0x00007ffee243e980
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     r13 = 0x0000000115ec69f0   r14 = 0xfffe000000000000
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     r15 = 0x00007ffee243e988   rip = 0x0000000112afd275
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     Found by: call frame info
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -  4  0x3aebe04b2faf
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO - 
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     rbx = 0xfffe22b5962a1b50   rbp = 0xfffe22b5962a1b50
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     rsp = 0x00007ffee243e950   r12 = 0x0000000000000000
[task 2022-01-19T01:42:59.010Z] 01:42:59     INFO -     r13 = 0x00007ffee243f220   r14 = 0x0000000121343980
[task 2022-01-19T01:42:59.011Z] 01:42:59     INFO -     r15 = 0x000000010e024000   rip = 0x00003aebe04b2fb0
[task 2022-01-19T01:42:59.011Z] 01:42:59     INFO -     Found by: call frame info
[task 2022-01-19T01:42:59.011Z] 01:42:59     INFO - 
Flags: needinfo?(sfoster)

Thanks for the backout, I can reproduce here.

Flags: needinfo?(sfoster)

Yeah so if I put back the no-op nsIPaymentUIService in PaymentUIService.jsm and its registration in component.conf, these feature-policy/payment-* tests pass again. This was the issue I was referring to in comment #5. I guess the dom code and tests cover PaymentRequest etc. but not the UI service.

:baku, you are listed as suggested reviewer for the feature-policy web-platform tests. How would you prefer I handle this? In this patch I'm removing the front-end code (only, not the DOM PaymentRequest etc. code) for Web Payments. We have an implementation of nsIPaymentUIService in PaymentUIService.jsm, which lives alongside the front-end code in browser/components/payments. If I remove it, feature-policy/payment-* tests fail as they rely on this component being present.

I can either:

  1. Leave a no-op nsIPaymentUIService implementation in PaymentUIService.jsm so the tests continue to pass
  2. Disable or expect failure from the affected feature-policy tests (I'm not sure how to do that but I can presumably find out)
  3. Remove the affected feature-policy tests as to my mind, #1 and #2 indicates they aren't valuable?

Or maybe someone on the DOM team would be able to update these tests to reuse the nsIPaymentUIService implementation the DOM tests use?

Flags: needinfo?(amarchesini)

:smaug can you redirect this? as both :mcaceres and :echuang are inactive. I'm trying to remove the browser/components/payments directory and these web platform tests apparently depend on the nsIPaymentUIService implementation in there.

Flags: needinfo?(amarchesini) → needinfo?(bugs)

Eden would be better person for this.

Flags: needinfo?(bugs) → needinfo?(echuang)

Ah, not inactive. Apologies echuang I should have come straight to you.

Are these feature-policy tests web-platform tests?
If they are, I would like to disable or expect failure on them, since web-platform tests are shared tests for all web-platforms (browsers). Even Firefox doesn't support PaymentRequest anymore, other platforms(chrome, safari, edge) should still pass these feature-policy tests.
If they are not and only test with Firefox, we probably can remove these tests.

Flags: needinfo?(echuang) → needinfo?(sfoster)

(In reply to Eden Chuang[:edenchuang] from comment #14)

Are these feature-policy tests web-platform tests?

I think so? I'm talking about these tests which fail via a crash when I remove browser/components/payments/PaymentUIService.jsm

If they are, I would like to disable or expect failure on them, since web-platform tests are shared tests for all web-platforms (browsers). Even Firefox doesn't support PaymentRequest anymore, other platforms(chrome, safari, edge) should still pass these feature-policy tests.
If they are not and only test with Firefox, we probably can remove these tests.

I looks like each has its own .ini file. Should I just disable them unconditionally in there? (they are currently skip-if nightly or android)

Flags: needinfo?(sfoster) → needinfo?(echuang)

Yes, I think you can just disable them unconditionally in .ini files.

Flags: needinfo?(echuang)

Here's a mach try auto from this patch, with browser/components/payments removed and those web-platform feature-policy payments tests disabled: https://treeherder.mozilla.org/jobs?repo=try&revision=273fb61e68b7ef724f34af7fce5366c09755654f

:edenchuang, I'm just waiting on your r+ for the web-platform test changes to land this.

Flags: needinfo?(echuang)

r+, sorry, did not notice the review request.

Flags: needinfo?(echuang)
Pushed by sfoster@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a5740a37fe5e Remove the WebPayments UI code from the tree. r=MattN,desktop-theme-reviewers,edenchuang,dao https://hg.mozilla.org/integration/autoland/rev/54580169e70b Remove the Polymer license as the WebPayments code that used it is being removed. r=mhoye
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 99 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: