Skip to content

Update "Network features reference" including "Filter requests" #3405

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 23 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
38bea2a
date
mikehoffms Mar 13, 2025
b2911b5
detailed toc > notes
mikehoffms Mar 13, 2025
218a00e
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms Mar 19, 2025
bb36992
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms Mar 24, 2025
fe2a72e
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms Mar 26, 2025
e846ef6
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms Apr 3, 2025
9510004
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms Apr 8, 2025
3b63362
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms Apr 24, 2025
50b36a3
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms Apr 29, 2025
50fed72
update structure
mikehoffms May 5, 2025
441871e
throttling article add
mikehoffms May 6, 2025
3d5d23b
panel tool
mikehoffms May 7, 2025
1fddf2d
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms May 14, 2025
5ac6e97
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms May 21, 2025
fcbb2b7
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms May 27, 2025
e8b35be
Merge branch 'main' into user/mikehoffms/network-filter
mikehoffms May 28, 2025
53b08de
some "clean up"
mikehoffms Jun 3, 2025
a03ffeb
update throttle menu
mikehoffms Jun 9, 2025
19a9223
mark todo's for Filter Request sections
mikehoffms Jun 10, 2025
218740a
revert Throttling
mikehoffms Jun 11, 2025
d03e4d3
8 pngs
mikehoffms Jun 14, 2025
3da7740
the More filters dropdown
mikehoffms Jun 14, 2025
00b5919
add two in Detailed Contents
mikehoffms Jun 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 65 additions & 3 deletions microsoft-edge/devtools-guide-chromium/device-mode/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,38 @@ ms.date: 01/30/2025
See the License for the specific language governing permissions and
limitations under the License. -->
# Emulate mobile devices (Device Emulation)
<!-- https://developer.chrome.com/docs/devtools/device-mode/ -->


<!-- ====================================================================== -->
<!-- ## Overview -->
<!-- https://developer.chrome.com/docs/devtools/device-mode/#overview -->
<!-- different content -->

Use the **Device Emulation** tool, sometimes called _Device Mode_, to approximate how your page looks and behaves on a mobile device.

**Device Emulation** is a [first-order approximation](https://wikipedia.org/wiki/Order_of_approximation#First-order) of the look and feel of your page on a mobile device. **Device Emulation** doesn't actually run your code on a mobile device. Instead, you simulate the mobile user experience from your laptop or desktop.


<!-- ====================================================================== -->
<!-- ## Limitations -->
<!-- https://developer.chrome.com/docs/devtools/device-mode/#limitations -->

Some aspects of mobile devices aren't emulated in DevTools. For example, the architecture of mobile CPUs is different than the architecture of laptop or desktop CPUs. For the most robust testing, run your page on a mobile device.

Use [Remote Debugging](../remote-debugging/index.md) to interact with the code of a page from your machine while your page actually runs on a mobile device. You can view, change, debug, profile, or all four while you interact with the code. Your machine can be a notebook or desktop computer.


**Detailed contents:**<!--Jan. 30, 2025. compare page toc at https://developer.chrome.com/docs/devtools/device-mode/-->
**Detailed contents:**
* [Simulate a mobile viewport](#simulate-a-mobile-viewport)
* [Responsive Viewport Mode](#responsive-viewport-mode)
* [Show media queries](#show-media-queries)
* [Set device pixel ratio](#set-device-pixel-ratio)
* [Set the device type](#set-the-device-type)
* [Mobile Device Viewport Mode](#mobile-device-viewport-mode)
* [Rotate the viewport to landscape orientation](#rotate-the-viewport-to-landscape-orientation)
* [Toggle dual-screen mode](#toggle-dual-screen-mode)
* [Set device posture](#set-device-posture)
* [Show device frame](#show-device-frame)
* [Add a custom mobile device](#add-a-custom-mobile-device)
* [Show rulers](#show-rulers)
Expand All @@ -56,8 +70,15 @@ Use [Remote Debugging](../remote-debugging/index.md) to interact with the code o
* [Set user-agent client hints](#set-user-agent-client-hints)


<!-- ====================================================================== -->
<!-- ## Open the device toolbar -->
<!-- https://developer.chrome.com/docs/devtools/device-mode/#open_the_device_toolbar -->
<!-- omitted -->


<!-- ====================================================================== -->
## Simulate a mobile viewport
<!-- https://developer.chrome.com/docs/devtools/device-mode/#viewport -->

To open the UI that enables you to simulate a mobile viewport:

Expand All @@ -72,6 +93,7 @@ To open the UI that enables you to simulate a mobile viewport:

<!-- ------------------------------ -->
#### Responsive Viewport Mode
<!-- https://developer.chrome.com/docs/devtools/device-mode/#responsive -->

To quickly test the look and feel of your page across multiple screen sizes, drag the handles to resize the viewport to your required dimensions. You can enter any numeric values in the width and height boxes. If you select a size larger than available in the browser window, the viewport will be automatically scaled to accommodate for the larger viewport.

Expand All @@ -84,6 +106,7 @@ If you need more space on your screen, you can change where DevTools is docked i

<!-- ------------------------------ -->
#### Show media queries
<!-- https://developer.chrome.com/docs/devtools/device-mode/#queries -->

If you have defined media queries on your page, jump to the viewport dimensions where those media queries take effect by showing media query breakpoints above your viewport. Select **More options** (![More Options icon](./index-images/more-options-icon.png)) > **Show media queries**.

Expand Down Expand Up @@ -115,6 +138,7 @@ See also:

<!-- ------------------------------ -->
#### Set device pixel ratio
<!-- https://developer.chrome.com/docs/devtools/device-mode/#dpr -->

[Device pixel ratio (DPR)](https://developer.mozilla.org/docs/Web/API/Window/devicePixelRatio) is the ratio between physical pixels on the hardware screen and logical (CSS) pixels. In other words, DPR tells the browser how many screen pixels to use to draw a CSS pixel. Microsoft Edge uses the DPR value when drawing on HiDPI (High Dots Per Inch) displays.

Expand All @@ -135,6 +159,7 @@ To remove the device pixel ratio:

<!-- ------------------------------ -->
#### Set the device type
<!-- https://developer.chrome.com/docs/devtools/device-mode/#type -->

To simulate a mobile device or desktop device, use the **Device Type** list:

Expand Down Expand Up @@ -162,6 +187,7 @@ Key for columns in the above table:

<!-- ------------------------------ -->
#### Mobile Device Viewport Mode
<!-- Device-specific mode https://developer.chrome.com/docs/devtools/device-mode/#device -->

To simulate the dimensions of a specific mobile device, select the device from the **Device** list:

Expand All @@ -170,6 +196,7 @@ To simulate the dimensions of a specific mobile device, select the device from t

<!-- ------------------------------ -->
#### Rotate the viewport to landscape orientation
<!-- https://developer.chrome.com/docs/devtools/device-mode/#landscape -->

Test your webpage in landscape orientation.

Expand All @@ -182,8 +209,31 @@ Test your webpage in landscape orientation.
See also [Set orientation](#set-orientation), below.


<!-- ------------------------------ -->
#### Toggle dual-screen mode
<!-- https://developer.chrome.com/docs/devtools/device-mode/#dual-screen -->

Some devices, for example, Surface Duo,<!-- todo: omit? --> have two screens and two ways to use them: with one or both screens active.

To toggle between dual and single screen, click the **Toggle dual-screen mode** button in the toolbar.

<!-- ![](todo: toggle-dual-screen.png) -->


<!-- ------------------------------ -->
#### Set device posture
<!-- https://developer.chrome.com/docs/devtools/device-mode/#posture -->

Some devices, such as Asus Zenbook Fold, have a foldable screen. Foldable screens have a posture: continuous or folded. The continuous posture refers to a "flat" position and folded forms an angle between sections of the display.

To set the device posture, select **Continuous** or **Folded** from the corresponding dropdown menu in the toolbar.

<!-- ![](todo: posture.png) -->


<!-- ------------------------------ -->
#### Show device frame
<!-- https://developer.chrome.com/docs/devtools/device-mode/#frame -->

To simulate the dimensions of a specific mobile device, click **More options** (![The More Options button.](./index-images/more-options-icon.png)), and then select **Show device frame** to show the physical device frame around the viewport:

Expand All @@ -198,6 +248,7 @@ The device frame for the iPhone 6/7/8:

<!-- ------------------------------ -->
#### Add a custom mobile device
<!-- https://developer.chrome.com/docs/devtools/device-mode/#custom -->

If the mobile device option that you need isn't included on the default list, you can add a custom device.

Expand Down Expand Up @@ -239,6 +290,7 @@ To remove a custom device:

<!-- ------------------------------ -->
#### Show rulers
<!-- https://developer.chrome.com/docs/devtools/device-mode/#rulers -->

If you need to measure screen dimensions, you can use rulers to measure the screen size in pixels.

Expand All @@ -255,6 +307,7 @@ To display rulers above and to the left of your viewport:

<!-- ------------------------------ -->
#### Zoom the viewport
<!-- https://developer.chrome.com/docs/devtools/device-mode/#zoom -->

To test the look and feel of your page at multiple zoom levels, use the **Zoom** list to zoom in or out.

Expand All @@ -263,6 +316,7 @@ To test the look and feel of your page at multiple zoom levels, use the **Zoom**

<!-- ------------------------------ -->
#### Capture a screenshot
<!-- https://developer.chrome.com/docs/devtools/device-mode/#screenshot -->

To capture a screenshot of what you currently see in the viewport, click **More options** (![The More Options icon](./index-images/more-options-icon.png)) > **Capture screenshot**:

Expand All @@ -273,6 +327,7 @@ To capture a screenshot of the whole page including the content that isn't curre

<!-- ====================================================================== -->
## Throttle the network and CPU
<!-- https://developer.chrome.com/docs/devtools/device-mode/#throttle -->

Mobile devices often have network and CPU constraints.

Expand All @@ -293,6 +348,7 @@ All of the throttling is based upon the normal capability of your laptop or desk

<!-- ------------------------------ -->
#### Network and Performance tabs have warning icon when throttled
<!-- not upstream -->

When throttling is enabled in **Device Emulation**, a warning icon is displayed in the **Network** and **Performance** tool tabs on the **Activity Bar**, to help you know that performance is impacted by throttling:

Expand All @@ -301,6 +357,7 @@ When throttling is enabled in **Device Emulation**, a warning icon is displayed

<!-- ------------------------------ -->
#### Throttle the CPU only
<!-- https://developer.chrome.com/docs/devtools/device-mode/#cpu -->

To throttle the CPU only, and not the network:

Expand All @@ -315,6 +372,7 @@ To throttle the CPU only, and not the network:

<!-- ------------------------------ -->
#### Throttle the network only
<!-- https://developer.chrome.com/docs/devtools/device-mode/#network -->

To throttle the network only and not the CPU:

Expand All @@ -335,15 +393,16 @@ You can also set network throttling from within the **Performance** tool:

<!-- ====================================================================== -->
## Emulate sensors
<!-- https://developer.chrome.com/docs/devtools/device-mode/#emulate-sensors -->

Use the **Sensors** tab to override geolocation, simulate device orientation, force touch, and emulate idle state.

The sections below provide a quick look on how to override geolocation and set device orientation.
<!-- For a complete list of features, see [Emulate device sensors](). -->
The sections below provide a quick look on how to override geolocation and set device orientation. For a complete list of features, see [Emulate device sensors](../sensors/index.md).


<!-- ------------------------------ -->
#### Override geolocation
<!-- https://learn.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/sensors/ -->

Use the **Sensors** tool to override geolocation and simulate device orientation.

Expand Down Expand Up @@ -371,6 +430,7 @@ See also:

<!-- ------------------------------ -->
#### Set orientation
<!-- https://developer.chrome.com/docs/devtools/device-mode/#orientation -->

If your page depends on orientation information from a mobile device to render properly, open the orientation UI.

Expand All @@ -396,6 +456,7 @@ See also:

<!-- ====================================================================== -->
## Set the user agent string
<!-- not upstream -->

If your page depends on the user agent string from a mobile device to render properly, use the **Network conditions** tool to specify a different user agent string.

Expand Down Expand Up @@ -424,6 +485,7 @@ See also:

<!-- ====================================================================== -->
## Set user-agent client hints
<!-- not upstream -->

If your site employs [user-agent client hints](../../web-platform/user-agent-guidance.md), use the **Emulated Devices** tool to add devices and set user-agent client hints:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ ms.date: 09/25/2023
---
# Override webpage resources with local copies (Overrides tab)
<!-- equiv https://developer.chrome.com/docs/devtools/overrides -->
<!-- todo: add upstream section "Override HTTP response headers" https://developer.chrome.com/docs/devtools/overrides#override-headers -->
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add upstream section "Override HTTP response headers"
https://developer.chrome.com/docs/devtools/overrides#override-headers

Copy link
Collaborator Author

@mikehoffms mikehoffms Jun 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this article (Override webpage resources with local copies (Overrides tab)) is not based on the equiv upstream article.
In this PR, should we copy this h2 "Override HTTP response headers" & its h4 section from upstream article?
https://developer.chrome.com/docs/devtools/overrides#override-headers
@captainbrosset

Outline of present article:
image

Outline of upstream article "Override web content and HTTP response headers locally":
image

Copy link
Collaborator Author

@mikehoffms mikehoffms Jun 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

context; how found that the section is missing: in Network Ref's h4 section "Override HTTP response headers" (upstream/downstream), it links to a missing section in the present equivalent article (Override webpage resources with local copies (Overrides tab)), line 340; no dest anchor heading to link to:
image


Sometimes you need to try out some possible fixes for a webpage, but you don't have access to the source files, or changing the page requires a slow and complex build process. You can debug and fix all kind of problems in DevTools. But the changes don't persist; after you refresh the local file, all your work is gone. The Overrides feature in the [Sources](../sources/index.md) tool helps you solve this problem.

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading