playwright/src/server/chromium
Dmitry Gozman de30ee0aa8
fix(oopifs): account for various races between processes (#5320)
Consider the following situation (one among many possible).
- FrameA has an oopif child FrameB;
- FrameA navigates to same-process origin (e.g. about:blank);
- at the same time, FrameC is attached to the FrameB in the
  FrameB's process.

In this case, we get `frameNavigated` event for FrameA, immediately
followed by `frameAttached` event for FrameC. Since we detach all
FrameA's child frames on navigation, including the oopif FrameB,
there is no parent frame for FrameC to attach to.

In general, multiple processes coming from oopif may send their
events in wildly different order, and their view about the frame
tree may not always correspond to the "up to date" frame tree as
seen from the main frame's process. We try to keep our frame tree
aligned with what main process thinks, and ignore events that
reference frames absent in this tree.

Drive-by: handle filechooser exceptions because of async processing.
2021-02-05 11:30:44 -08:00
..
chromium.ts devops: downloading ffmpeg during install step (#5249) 2021-02-03 09:19:11 -08:00
crAccessibility.ts chore: move src files to server (#3593) 2020-08-24 06:51:51 -07:00
crBrowser.ts devops: downloading ffmpeg during install step (#5249) 2021-02-03 09:19:11 -08:00
crConnection.ts fix(server): use setMaxListeners(0) on all internal event emitters (#5283) 2021-02-03 13:53:09 -08:00
crCoverage.ts fix(debug): do not generate source urls for anonymous scripts (#3691) 2020-11-13 14:47:55 -08:00
crDevTools.ts chore: move chromium to src/server/chromium, enfore installer deps (#3582) 2020-08-22 15:46:42 -07:00
crExecutionContext.ts chore: remove source maps in pwdebug mode (#5148) 2021-01-25 16:36:57 -08:00
crInput.ts feat: tap (#4097) 2020-10-19 10:07:33 -07:00
crNetworkManager.ts fix(chromium): make interception work with dedicated workers (#4658) 2020-12-10 15:04:57 -08:00
crPage.ts fix(oopifs): account for various races between processes (#5320) 2021-02-05 11:30:44 -08:00
crPdf.ts chore: move src files to server (#3593) 2020-08-24 06:51:51 -07:00
crProtocolHelper.ts chore: move src files to server (#3593) 2020-08-24 06:51:51 -07:00
protocol.ts docs: document electron api (#5229) 2021-02-01 11:43:26 -08:00
videoRecorder.ts devops: downloading ffmpeg during install step (#5249) 2021-02-03 09:19:11 -08:00