Dimi Lee d6530bf9ad Bug 1166995 - P1. Notify DOMDocFetchSuccess when a fetch or XHR request completes successfully r=smaug,sfoster
The goal of this series of patches is to address the cases where sites
don't use standard form submission events.

The basic idea is inferring a form is submitted when the form is removed
from the DOM tree, but with one premise:
There must be a successful fetch or XHR request sent in the document before the
form is removed.

This is because websites usually send the credentials with a fetch or an
XHR. After the request succeeds, the website removes the form.

In summary, this patch does the following:
1. Add NotifyFetchOrXHRSuccess API in Document. The API sends a
   "DOMDocFetchSuccess" event to who registers the event listener.

2. When a fetch request or a XMLHttpReuqest completes and succeeds,
   call NotifyFetchOrXHRSuccess().

3. LoginMangerChild listen to `DOMDocFetchSuccess` event only when there
   is an user interaction on the password field.

Differential Revision: https://phabricator.services.mozilla.com/D106024
2021-03-16 09:15:19 +00:00
..