From 32b3aed456b3fcef165918233c43a3cba8b18202 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Wed, 13 Jul 2022 17:54:32 +0200 Subject: [PATCH] chore: delete docs/development folder (#15606) --- docs/development/click.md | 237 ---------------------------------- docs/development/releasing.md | 36 ------ docs/development/webkit.md | 164 ----------------------- 3 files changed, 437 deletions(-) delete mode 100644 docs/development/click.md delete mode 100644 docs/development/releasing.md delete mode 100644 docs/development/webkit.md diff --git a/docs/development/click.md b/docs/development/click.md deleted file mode 100644 index ef97e4ef0b..0000000000 --- a/docs/development/click.md +++ /dev/null @@ -1,237 +0,0 @@ -## Supported click scenarios - -These are some of the corner cases that Playwright aims to support. - -### Positioning - - - Element is outside of the viewport. - ```html -
Some content
- - ``` - - Playwright scrolls the element into the viewport if at all possible. - - - Empty element with non-empty pseudo. - - ```html - - - ``` - - Playwright retrieves the actual visible regions of the target element and clicks at the pseudo. - - - Some part of the element is always outside of the viewport. - - ```html - - onetwo - ``` - - Playwright retrieves the actual visible regions of the target element and clicks at the visible part. - - - Inline element is wrapped to the next line. - - Playwright retrieves the actual visible regions of the target element and clicks at one of the inline boxes. - - - Element is rotated with transform. - - ```html - - ``` - - Playwright retrieve the actual visible regions of the target element and clicks at the transformed visible point. - - - Element is deep inside the iframes and/or shadow dom. - - Playwright just clicks it. - -### Dynamic changes - - - Element appears dynamically using display or visibility. - ```html - - - ``` - - Playwright waits for the element to be visible before clicking. - - - Element is animating in. - - ```html - - - ``` - - Playwright waits for the element to stop moving before clicking. - - - Another element is temporary obscuring the target element. - - ```html - -
- -
-
- - ``` - - For example, the dialog is dismissed and is slowly fading out. Playwright waits for the obscuring element to disappear. - More precisely, it waits for the target element to actually receive pointer events. - - - Element is replaced with another one after animation. - - ```html - - - - ``` - - Playwright waits for the element to be at a stable position, detects that it has been removed from the DOM and retries. - -### Targeting - - - Element has `pointer-events: none`. - - ```html - - ``` - - Playwright will wait until `pointer-events: none` goes away or times out. However, if the element is inside of a ` - ``` - - -## Unsupported click scenarios - -Some scenarios here are marked as a bug in the web page - we believe that the page should be fixed because the real user will suffer the same issue. Playwright tries to throw when it's possible to detect the issue or timeout otherwise. - -Other scenarios are perfectly fine, but Playwright cannot support them, and we usually suggest another way to handle. If Playwright logic does not work on your page, passing `{force: true}` option to the click will force the click without any checks. Use it when you know that's what you need. - -### Positioning - - - Element moves outside of the viewport in onscroll. - - ```html -
Some content
- - - ``` - - Playwright throws, considering this a bug in the page. - -### Dynamic changes - - - Element is constantly animating. - - ```html - - - ``` - - Playwright waits for the element to be at a stable position and times out. A real user would be able to click in some cases. - - - Element is animating in, but temporarily pauses in the middle. - - ```html - - - ``` - - Playwright clicks in the middle of the animation and could actually click at the wrong element. Playwright does not detect this case and does not throw. A real user would probably retry and click again. - - - Element is removed or hidden after `fetch` / `xhr` / `setTimeout`. - - ```html - - - ``` - - Playwright clicks the element, and might be able to misclick because it is already hidden. Playwright does not detect this case and does not throw. - - This is a typical flaky failure, because the network fetch is racing against the input driven by Playwright. We suggest to wait for the response to arrive, and click after that. For example, consider a filtered list with an "Apply filters" button that fetches new data, removes all items from the list and inserts new ones. - - ```js - await Promise.all([ - // This click triggers network fetch racing with next click. - page.click('text=Apply filters'), - // This waits for the network response to arrive. - page.waitForResponse('**/filtered?*'), - ]); - // Safe to click now, because network response has been processed - // and items in the list have been updated. - await page.click('.list-item'); - ``` - - -### Targeting - - - A transparent overlay handles the input targeted at the content behind it. - - ```html -
- Click me -
-
- ``` - - Playwright considers the overlay temporary and times out while waiting for the overlay to disappear. - When the overlay element is actually handling the input instead of the target element, use `{force: true}` option to skip the checks and click anyway. - - - Hover handler creates an overlay. - - ```html - -
- -
-
- ``` - - We consider this a bug in the page, because in most circumstances users will not be able to click the element. - When the overlay element is actually handling the input instead of the target element, use `{force: true}` option to skip the checks and click anyway. diff --git a/docs/development/releasing.md b/docs/development/releasing.md deleted file mode 100644 index 945d0dcbd3..0000000000 --- a/docs/development/releasing.md +++ /dev/null @@ -1,36 +0,0 @@ -Releasing is a 3-step process. - -# 1. Create a release branch - -1. On your local machine, create a new branch `release-X.Y` based off the "cutting" commit and land a `chore: mark vX.Y.Z` in the local branch: - - `git checkout main` - - `git checkout -b release-X.Y` - - `./utils/update_version.js vX.Y` - - `npm run doc` - - `git commit -am 'chore: mark vX.Y.Z'` -1. Push branch to the upstream - - `git push upstream release-X.Y` - -Once release branch is pushed, it's last commit will be picked up by our CI/CD: -- make sure commit passes all the bots. If there are any failures, carefully inspect failures to see if these are flakes. -- the [`publish_canary`](../../.github/workflows/publish_canary_npm.yml) workflow will publish a `@next` version for the commit - this will be our **release candidate**. Go manually to it's page on NPM to see what it looks like. Try installing locally. - -# 2. Prepare release notes - -1. Use ["draft new release tag"](https://github.com/microsoft/playwright/releases/new). -1. Version starts with "v", e.g. "vX.Y.Z". -1. Run `./utils/draft_release_notes.sh` and fill in the "TODO" in generated text. -1. When making links to the API, copy actual links from [GitHub](https://github.com/microsoft/playwright/blob/master/docs/api.md), and not from `api.md` source - these might be incorrect. - - Before publishing, replace `blob/master/docs` with `blob/vX.Y.Z/docs` in all the links. -1. Use "Save Draft", not "Publish". - -# 3. Publish Release - -1. Hit "publish release" - -Once release is published, the [`publish_release`](../../.github/workflows/publish_release.yml) will kick in and publish package version on NPM. - -# 4. Bump version on trunk to next - -1. Bump a version to the new `-next` version and land a `chore: cut vX.Y.Z-post version` commit on trunk - - `./utils/update_version.js vX.Y.Z-next` diff --git a/docs/development/webkit.md b/docs/development/webkit.md deleted file mode 100644 index b2895aa8e3..0000000000 --- a/docs/development/webkit.md +++ /dev/null @@ -1,164 +0,0 @@ -# WebKit build flags - -- :elephant: - bundled, but we don't necessarily need it -- :warning: - missing, we'd like it to be there - -| |Target|Mac|Linux|Cloud|Win| -|---|:---------:|:---:|:---:|:---:|:---:| -|3D_TRANSFORMS| + | + | + | + | + | -|ACCELERATED_2D_CANVAS| | | | | | -|ACCESSIBILITY| + | + | + | + | + | -|ACCESSIBILITY_STATIC_TREE| | | | | | -|API_TESTS| | |:elephant:|:elephant:|:elephant:| -|APPLE_PAY| |:elephant:| | | | -|APPLE_PAY_SESSION_V3| |:elephant:| | | | -|APPLE_PAY_SESSION_V4| |:elephant:| | | | -|APPLICATION_MANIFEST| + | + | + | + | + | -|ASYNC_SCROLLING| + | + | + | + |:warning:| -|ATTACHMENT_ELEMENT| |:elephant:| | |:elephant:| -|AUTOCAPITALIZE| | |:elephant:|:elephant:| | -|AVF_CAPTIONS| |:elephant:| | | | -|BUBBLEWRAP_SANDBOX| | | | | | -|CACHE_PARTITIONING| |:elephant:| | | | -|CHANNEL_MESSAGING| + | + | + | + | + | -|CONTENT_EXTENSIONS| + | + | + | + |:warning:| -|CONTENT_FILTERING| |:elephant:| | | | -|CONTEXT_MENUS| + | + | + | + | + | -|CSS3_TEXT| | | | | | -|CSS_BOX_DECORATION_BREAK| + | + | + | + | + | -|CSS_COMPOSITING| + | + | + | + | + | -|CSS_CONIC_GRADIENTS| + | + | + | + | + | -|CSS_DEVICE_ADAPTATION| | | | | | -|CSS_IMAGE_ORIENTATION| | | | | | -|CSS_IMAGE_RESOLUTION| | | | | | -|CSS_PAINTING_API| + | + | + | + | + | -|CSS_SCROLL_SNAP| |:elephant:| | | | -|CSS_SELECTORS_LEVEL4| + | + | + | + | + | -|CSS_TRAILING_WORD| + | + | + | + | + | -|CSS_TYPED_OM| + | + | + | + | + | -|CURSOR_VISIBILITY| + | + | + | + | + | -|CUSTOM_SCHEME_HANDLER| | | | | | -|C_LOOP_DEFAULT| | | | | | -|DARK_MODE_CSS| + | + | + | + | + | -|DATACUE_VALUE| |:elephant:| | | | -|DATALIST_ELEMENT| + | + | + |:warning:|:warning:| -|DATA_INTERACTION| | | | | | -|DEVICE_ORIENTATION| | | | | | -|DFG_JIT| + | + | + | + | + | -|DOWNLOAD_ATTRIBUTE| + | + | + | + | + | -|DRAG_SUPPORT| |:elephant:|:elephant:| |:elephant:| -|ENCRYPTED_MEDIA| + | + | + | + |:warning:| -|EXPERIMENTAL_FEATURES| + | + | + | + | + | -|EXPERIMENTAL_FEATURES| + | + | + | + | + | -|FAST_JIT_PERMISSIONS| | | | | | -|FILTERS_LEVEL_2| |:elephant:| | |:elephant:| -|FTL_DEFAULT| | | | | | -|FTL_JIT| |:elephant:|:elephant:|:elephant:| | -|FTPDIR| |:elephant:| |:elephant:|:elephant:| -|FULLSCREEN_API| + | + | + | + | + | -|GAMEPAD| |:elephant:| | | | -|GEOLOCATION| + | + | + | + | + | -|GLES2_DEFAULT| | | | | | -|GTKDOC| | | | | | -|INDEXED_DATABASE| + | + | + | + | + | -|INDEXED_DATABASE_IN_WORKERS| + | + | + | + | + | -|INPUT_TYPE_COLOR| + | + | + |:warning:|:warning:| -|INPUT_TYPE_DATE| | | | | | -|INPUT_TYPE_DATETIMELOCAL| | | | | | -|INPUT_TYPE_DATETIME_ INCOMPLETE| | | | | | -|INPUT_TYPE_MONTH| | | | | | -|INPUT_TYPE_TIME| | | | | | -|INPUT_TYPE_WEEK| | | | | | -|INSPECTOR_ALTERNATE_ DISPATCHERS| |:elephant:| | | | -|INSPECTOR_TELEMETRY| |:elephant:| | | | -|INTERSECTION_OBSERVER| + | + | + | + | + | -|INTL| + | + | + | + | + | -|INTROSPECTION| | |:elephant:| | | -|IOS_GESTURE_EVENTS| | | | | | -|IOS_TOUCH_EVENTS| | | | | | -|JIT| + | + | + | + | + | -|JIT_DEFAULT| | | | | | -|LAYOUT_FORMATTING_CONTEXT| |:elephant:| | |:elephant:| -|LEGACY_CSS_VENDOR_PREFIXES| + | + | + | + | + | -|LEGACY_CUSTOM_ PROTOCOL_MANAGER| |:elephant:| | | | -|LEGACY_ENCRYPTED_MEDIA| |:elephant:| | | | -|LETTERPRESS| | | | | | -|MAC_GESTURE_EVENTS| | | | | | -|MAC_VIDEO_TOOLBOX| | | | | | -|MATHML| + | + | + | + | + | -|MEDIA_CAPTURE| | | | | | -|MEDIA_CONTROLS_SCRIPT| + | + | + | + | + | -|MEDIA_SESSION| | | | | | -|MEDIA_SOURCE| + | + | + | + |:warning:| -|MEDIA_STATISTICS| | | | |:elephant:| -|MEDIA_STREAM| + | + | + | + |:warning:| -|MEMORY_SAMPLER| |:elephant:|:elephant:|:elephant:| | -|METER_ELEMENT| + | + | + | + | + | -|MHTML| | |:elephant:|:elephant:| | -|MINIBROWSER| | |:elephant:|:elephant:| | -|MOUSE_CURSOR_SCALE| |:elephant:|:elephant:| |:elephant:| -|NETSCAPE_PLUGIN_API| |:elephant:|:elephant:| | | -|NETWORK_CACHE_ SPECULATIVE_REVALIDATION| |:elephant:|:elephant:| | | -|NETWORK_CACHE_ STALE_WHILE_REVALIDATE| |:elephant:| | | | -|NOTIFICATIONS| |:elephant:|:elephant:| | | -|OFFSCREEN_CANVAS| | |:elephant:|:elephant:| | -|OPENGL| | |:elephant:| | | -|ORIENTATION_EVENTS| | | | | | -|OVERFLOW_SCROLLING_TOUCH| | | | | | -|PAYMENT_REQUEST| |:elephant:| | | | -|PDFKIT_PLUGIN| |:elephant:| | | | -|PICTURE_IN_PICTURE_API| |:elephant:| | | | -|POINTER_EVENTS| + | + | + | + | + | -|POINTER_LOCK| |:elephant:|:elephant:| | | -|PUBLIC_SUFFIX_LIST| + | + | + | + | + | -|QUARTZ_TARGET| | | | | | -|QUOTA| | | | | | -|REMOTE_INSPECTOR| + | + | + | + | + | -|RESIZE_OBSERVER| + | + | + | + | + | -|RESOLUTION_MEDIA_QUERY| | | | | | -|RESOURCE_LOAD_ STATISTICS| |:elephant:| | |:elephant:| -|RESOURCE_USAGE| + | + | + | + | + | -|RUBBER_BANDING| |:elephant:| | | | -|SAMPLING_PROFILER| + | + | + | + | + | -|SAMPLING_PROFILER_DEFAULT| | | | | | -|SANDBOX_EXTENSIONS| |:elephant:| | | | -|SERVER_PRECONNECT| |:elephant:| | | | -|SERVICE_CONTROLS| |:elephant:| | | | -|SERVICE_WORKER| + | + | + | + | + | -|SHAREABLE_RESOURCE| + | + | + | + |:warning:| -|SMOOTH_SCROLLING| |:elephant:|:elephant:| | | -|SPEECH_SYNTHESIS| |:elephant:| | | | -|SPELLCHECK| | |:elephant:| | | -|STATIC_JSC| | | | | | -|STREAMS_API| + | + | + | + | + | -|SVG_FONTS| + | + | + | + | + | -|TELEPHONE_NUMBER _DETECTION| |:elephant:| | | | -|TEXT_AUTOSIZING| |:elephant:| | | | -|TOUCH_EVENTS| + | + | + | + | + | -|TOUCH_SLIDER| | | | | | -|UNIFIED_BUILDS| | |:elephant:|:elephant:|:elephant:| -|USERSELECT_ALL| + | + | + | + |:warning:| -|USER_MESSAGE_HANDLERS| + | + | + | + | + | -|VARIATION_FONTS| + | + | + | + | + | -|VIDEO| + | + | + | + | + | -|VIDEO_PRESENTATION_MODE| |:elephant:| | | | -|VIDEO_TRACK| + | + | + | + | + | -|VIDEO_USES_ELEMENT_FULLSCREEN| + | + | + | + | + | -|WAYLAND_TARGET| | |:elephant:| | | -|WEBASSEMBLY| + | + | + | + |:warning:| -|WEBASSEMBLY_STREAMING_API| | | | | | -|WEBDRIVER| | |:elephant:|:elephant:|:elephant:| -|WEBDRIVER_KEYBOARD _INTERACTIONS| |:elephant:|:elephant:|:elephant:| | -|WEBDRIVER_MOUSE _INTERACTIONS| |:elephant:|:elephant:|:elephant:| | -|WEBGL| + | + | + | + | + | -|WEBGL2| |:elephant:| |:elephant:| | -|WEBGPU| |:elephant:| | | | -|WEB_AUDIO| + | + | + | + |:warning:| -|WEB_AUTHN| |:elephant:| | | | -|WEB_CRYPTO| + | + | + | + | + | -|WEB_PROCESS_SANDBOX| | | | | | -|WEB_RTC| + | + | + | + |:warning:| -|WIRELESS_PLAYBACK_TARGET| |:elephant:| | | | -|WPE_QT_API| | | | | | -|XYESYES_TARGET| | |:elephant:| | | -|XSLT| + | + | + | + | + |