`:
| Track size | Authored size | Computed size |
-|:--- |:--- |:--- |
+|---|---|---|
| **1fr** • **96.66px** | 1fr | 96.66px |
| **2fr** • **193.34px** | 2fr | 193.34px |
@@ -283,7 +283,7 @@ The line label on each grid column displays the `authored size` in addition to t
The following track-size line labels are displayed on the grid rows, for the demo's element `
`:
| Track size | Authored size | Computed size |
-|:--- |:--- |:--- |
+|---|---|---|
| **80px** | n/a | 80px |
| **80px** | n/a | 80px |
diff --git a/microsoft-edge/devtools/css/index.md b/microsoft-edge/devtools/css/index.md
index de9ea8e3f1..e191e32b4c 100644
--- a/microsoft-edge/devtools/css/index.md
+++ b/microsoft-edge/devtools/css/index.md
@@ -172,7 +172,7 @@ To debug or test the media queries that you defined in your CSS:

The colored bars above the webpage represent the different media queries.
-
+
1. Hover over the boundaries in the bars to display the values of the different media queries. Click each media query value to resize the webpage to match.

diff --git a/microsoft-edge/devtools/css/print-preview.md b/microsoft-edge/devtools/css/print-preview.md
index ca649ba630..4a2c163c60 100644
--- a/microsoft-edge/devtools/css/print-preview.md
+++ b/microsoft-edge/devtools/css/print-preview.md
@@ -41,9 +41,9 @@ To force a page into print preview mode:
-
+
The **Rendering** tool opens in the **Quick View** panel:
-
+

1. Scroll down to the **Emulate CSS media type** section, and then in the dropdown list, select **print** rather than **No emulation**:
diff --git a/microsoft-edge/devtools/css/reference.md b/microsoft-edge/devtools/css/reference.md
index bc2b5cdab9..f1ed05bac5 100644
--- a/microsoft-edge/devtools/css/reference.md
+++ b/microsoft-edge/devtools/css/reference.md
@@ -1264,7 +1264,7 @@ To adjust timings by a simple mouse-click, use the presets in the **Easing Edito
| ease-out | Out, Cubic | `cubic-bezier(0.22, 0.61, 0.36, 1)` |
| ease-out | Linear Out, Slow In | `cubic-bezier(0, 0, 0.2, 1)` |
| ease-out | Out, Back | `cubic-bezier(0.18, 0.89, 0.32, 1.28)` |
-
+
See also:
* [Bézier curve](https://developer.mozilla.org/docs/Glossary/Bezier_curve) at MDN.
diff --git a/microsoft-edge/devtools/device-mode/index.md b/microsoft-edge/devtools/device-mode/index.md
index 3041bb0cb0..c72ce9122d 100644
--- a/microsoft-edge/devtools/device-mode/index.md
+++ b/microsoft-edge/devtools/device-mode/index.md
@@ -170,7 +170,7 @@ If the **Device Type** list isn't displayed, select **More options** > **Add dev
The **Device Type** list contains the following device types:
| Device type | Rendering method | Cursor icon | Events triggered |
-|:--- |:--- |:--- |:--- |
+|---|---|---|---|
| **Mobile** | Mobile | Circle | `touch` |
| **Mobile (no touch)** | Mobile | Normal | `click` |
| **Desktop** | Desktop | Normal | `click` |
@@ -250,7 +250,7 @@ The device frame for the iPhone 6/7/8:
#### Add a custom mobile device
-If the mobile device option that you need isn't included on the default list, you can add a custom device.
+If the mobile device option that you need isn't included on the default list, you can add a custom device.
To add a custom device:
diff --git a/microsoft-edge/devtools/device-mode/override-user-agent.md b/microsoft-edge/devtools/device-mode/override-user-agent.md
index d7e25a2944..51decc8e54 100644
--- a/microsoft-edge/devtools/device-mode/override-user-agent.md
+++ b/microsoft-edge/devtools/device-mode/override-user-agent.md
@@ -28,7 +28,7 @@ To override the [user agent](https://developer.mozilla.org/docs/Glossary/User_ag
1. Press **Ctrl+Shift+P** (Windows, Linux) or **Command+Shift+P** (macOS) to open the **Command Menu**.

-
+
1. Type `network conditions`, select **Show Network conditions**, and then press **Enter** to open the **Network conditions** tool.

diff --git a/microsoft-edge/devtools/dom/index.md b/microsoft-edge/devtools/dom/index.md
index ebe2279e7a..5f9dc6c38e 100644
--- a/microsoft-edge/devtools/dom/index.md
+++ b/microsoft-edge/devtools/dom/index.md
@@ -34,6 +34,7 @@ To understand the difference between the DOM and HTML, see [Appendix: HTML versu
The DOM Tree of the **Elements** tool is where you do all DOM-related activities in DevTools.
+
#### Inspect a node
When you are interested in a particular DOM node, **Inspect** is a fast way to open DevTools and investigate that node.
@@ -59,6 +60,7 @@ When you are interested in a particular DOM node, **Inspect** is a fast way to o
Inspecting a node is also the first step towards viewing and changing the styles of a node. See [Get started viewing and changing CSS](../css/index.md).
+
#### Navigate the DOM Tree with a keyboard
Once you have selected a node in the DOM Tree, you can navigate the DOM Tree with your keyboard.
@@ -84,6 +86,7 @@ Once you have selected a node in the DOM Tree, you can navigate the DOM Tree wit
1. Press the **Right Arrow** key. The list expands.
+
#### Scroll into view
When viewing the DOM Tree, you may find yourself interested in a DOM node that isn't currently visible in the rendered webpage. For example, suppose that you scrolled to the bottom of the page, and you're interested in the `
` node at the top of the page. **Scroll into view** lets you quickly reposition the viewport so that you can see the node.
@@ -99,10 +102,11 @@ When viewing the DOM Tree, you may find yourself interested in a DOM node that i
1. Right-click the ` Magritte
` node, and then select **Scroll into view**:

-
+
Your viewport scrolls back up to display the **Magritte** node. See [Appendix: Missing options](#appendix-missing-options) if the **Scroll into view** option isn't displayed.
+
#### Search for nodes
You can search the DOM Tree by string, CSS selector, or XPath selector.
@@ -123,6 +127,8 @@ The Search bar also supports CSS and XPath selectors.
You can edit the DOM in DevTools and view how the changes affect the page in real time.
+
+
#### Edit text content
To edit the text content of a node, double-click the content in the DOM Tree, as follows:
@@ -137,6 +143,8 @@ To edit the text content of a node, double-click the content in the DOM Tree, as
1. Delete `Michelle`, type `Leela`, then press **Enter** to confirm the change. The text in the DOM changes from **Michelle** to **Leela**.
+
+
#### Edit or add attributes
To edit an existing attribute, double-click the attribute name or value.
@@ -155,6 +163,8 @@ To add a new attribute, double-click the element for which to add an attribute,

+
+
#### Edit node tag name
To edit the tag name of a node, double-click the tag name and then type in the new tag name.
@@ -169,7 +179,9 @@ To edit the tag name of a node, double-click the tag name and then type in the n

-#### Edit multiple nodes, text, and attributes
+
+
+#### Edit multiple nodes, text, and attributes
To change the tag name, text content, or attributes of multiple nodes at once, you can edit part of the DOM by using the DOM tree's HTML text editor, as follows:
@@ -193,6 +205,8 @@ To change the tag name, text content, or attributes of multiple nodes at once, y

+
+
#### Reorder DOM nodes
To reorder nodes in the DOM tree, drag the nodes, as follows:
@@ -205,6 +219,8 @@ To reorder nodes in the DOM tree, drag the nodes, as follows:

+
+
#### Force state
You can force nodes to remain in states including `:active`, `:hover`, `:focus`, `:visited`, and `:focus-within`, as follows:
@@ -217,6 +233,8 @@ You can force nodes to remain in states including `:active`, `:hover`, `:focus`,
1. Right-click `
The Lord of the Flies
`, and then select **Force State** > **:hover**. If that option isn't displayed, see [Appendix: Missing options](#appendix-missing-options), below. The background color remains orange, even though you aren't actually hovering over the node.
+
+
#### Hide a node
Press `H` to hide a node, as follows:
@@ -231,6 +249,8 @@ Press `H` to hide a node, as follows:
1. Press the **H** key again. The node is shown again.
+
+
#### Delete a node
Press **Delete** to delete a node, as follows:
@@ -249,6 +269,8 @@ Press **Delete** to delete a node, as follows:
DevTools provides a few shortcuts for accessing DOM nodes from the **Console** tool, or getting JavaScript references to each one.
+
+
#### Reference the currently-selected node with $0
When you inspect a node, the `== $0` text next to the node means that you can reference this node in the Console with the variable `$0`.
@@ -269,6 +291,8 @@ When you inspect a node, the `== $0` text next to the node means that you can re

+
+
#### Store as global variable
If you need to refer back to a node many times, store it as a global variable.
@@ -283,6 +307,8 @@ If you need to refer back to a node many times, store it as a global variable.

+
+
#### Copy JS path
Copy the JavaScript path to a node when you need to reference it in an automated test.
@@ -305,6 +331,8 @@ Copy the JavaScript path to a node when you need to reference it in an automated
DevTools enables you to pause the JavaScript of a page when the JavaScript modifies the DOM.
+
+
#### Break on attribute modifications
Use attribute modification breakpoints when you want to pause the JavaScript that causes any attribute of a node to change.
@@ -325,6 +353,8 @@ Use attribute modification breakpoints when you want to pause the JavaScript tha
1. Click **Resume Script** () to resume the JavaScript execution.
+
+
#### Break on node removal
If you want to pause when a particular node is removed, use node removal breakpoints.
@@ -339,6 +369,8 @@ If you want to pause when a particular node is removed, use node removal breakpo
1. Select **Resume Script** ().
+
+
#### Break on subtree modifications
After you put a subtree modification breakpoint on a node, DevTools pauses the page when any of the descendants of the node are added or removed.
diff --git a/microsoft-edge/devtools/elements-tool/elements-tool.md b/microsoft-edge/devtools/elements-tool/elements-tool.md
index fffdd7110b..02862da9c9 100644
--- a/microsoft-edge/devtools/elements-tool/elements-tool.md
+++ b/microsoft-edge/devtools/elements-tool/elements-tool.md
@@ -10,7 +10,7 @@ ms.date: 02/15/2022
---
# Inspect, edit, and debug HTML and CSS with the Elements tool
-Use the **Elements** tool to inspect, edit, and debug your HTML and CSS. You can edit in the tool while displaying the changes live in the browser.
+Use the **Elements** tool to inspect, edit, and debug your HTML and CSS. You can edit in the tool while displaying the changes live in the browser.
Debug your HTML using the DOM tree, and inspect and work on the CSS for your webpage.
diff --git a/microsoft-edge/devtools/experimental-features/index.md b/microsoft-edge/devtools/experimental-features/index.md
index c1fd77b2a5..d2e184713a 100644
--- a/microsoft-edge/devtools/experimental-features/index.md
+++ b/microsoft-edge/devtools/experimental-features/index.md
@@ -10,13 +10,13 @@ ms.date: 08/03/2026
# Experimental features in Microsoft Edge DevTools
-
-If this checkbox is selected, the [Edge DevTools Symbol Server Extension Test](https://microsoftedge.microsoft.com/addons/detail/edgedevtoolssymbolservere/cjfmbiajhehnmfdjnlmdmceolcdcblcp) extension is supported, giving the new experience for **Symbol Server** in an extension. This extension is still in beta/test.
+If this checkbox is selected, the [Edge DevTools Symbol Server Extension Test](https://microsoftedge.microsoft.com/addons/detail/edgedevtoolssymbolservere/cjfmbiajhehnmfdjnlmdmceolcdcblcp) extension is supported, giving the new experience for **Symbol Server** in an extension. This extension is still in beta/test.
-If this checkbox is cleared, use DevTools > **Settings** > **Symbol Server** page.
+If this checkbox is cleared, use DevTools > **Settings** > **Symbol Server** page.
See also:
* [Securely debug original code by publishing source maps to the Azure Artifacts symbol server](../javascript/publish-source-maps-to-azure.md)
@@ -270,7 +270,7 @@ To select this checkbox and then open the **Protocol monitor** tool:
1. In **Quick View** at the bottom of DevTools, click the **More tools** (+) button, and then select **Protocol monitor**.
- Or, open the **Command Menu**, such as by pressing **Ctrl+Shift+P** (Windows/Linux) or **Command+Shift+P** (macOS), and then type **protocol** in the text box. Then select **Show Protocol monitor**.
+ Or, open the **Command Menu**, such as by pressing **Ctrl+Shift+P** (Windows/Linux) or **Command+Shift+P** (macOS), and then type **protocol** in the text box. Then select **Show Protocol monitor**.
The **Protocol monitor** tool is displayed in the **Quick View** panel at the bottom of DevTools.
diff --git a/microsoft-edge/devtools/experimental-features/share-memory-traces.md b/microsoft-edge/devtools/experimental-features/share-memory-traces.md
index d54b5b9d1b..62ac1cdc45 100644
--- a/microsoft-edge/devtools/experimental-features/share-memory-traces.md
+++ b/microsoft-edge/devtools/experimental-features/share-memory-traces.md
@@ -118,10 +118,10 @@ To export memory information from the **Memory** tool:
diff --git a/microsoft-edge/devtools/inspect-styles/animations.md b/microsoft-edge/devtools/inspect-styles/animations.md
index fffc1d6a43..a7757c7010 100644
--- a/microsoft-edge/devtools/inspect-styles/animations.md
+++ b/microsoft-edge/devtools/inspect-styles/animations.md
@@ -75,7 +75,7 @@ By default, the **Animations** tool opens in the **Quick View** panel at the bot
The Animation Inspector is grouped into four main sections (or panes). This guide refers to each pane as follows:
| Index | Pane | Description |
-|:--- |:--- |:--- |
+|---|---|---|
| 1 | **Controls** | From here you can clear all currently captured Animation Groups, or change the speed of the currently selected Animation Group. |
| 2 | **Overview** | Select an Animation Group here to inspect and modify it in the **Details** pane. |
| 3 | **Timeline** | Pause and start an animation from here, or jump to a specific point in the animation. |
diff --git a/microsoft-edge/devtools/issues/index.md b/microsoft-edge/devtools/issues/index.md
index f0120183b4..aadeb2298e 100644
--- a/microsoft-edge/devtools/issues/index.md
+++ b/microsoft-edge/devtools/issues/index.md
@@ -74,7 +74,7 @@ Feedback in the **Issues** tool is provided by several sources, including the Ch
#### Placement of Issues tool: Quick View or Activity Bar
-By default, such as from the **Command Menu**, the **Issues** tool opens in the **Quick View** panel. You can instead open it in the **Activity Bar**, or move it to the **Activity Bar**:
+By default, such as from the **Command Menu**, the **Issues** tool opens in the **Quick View** panel. You can instead open it in the **Activity Bar**, or move it to the **Activity Bar**:
* In the **Quick View** toolbar, right-click the **Inspect** tab and then select **Move to top Activity Bar**.
diff --git a/microsoft-edge/devtools/javascript/breakpoints.md b/microsoft-edge/devtools/javascript/breakpoints.md
index ad694d86a6..0316ef9dff 100644
--- a/microsoft-edge/devtools/javascript/breakpoints.md
+++ b/microsoft-edge/devtools/javascript/breakpoints.md
@@ -34,7 +34,7 @@ For an introductory tutorial using an existing webpage, see [Get started debuggi
The most well-known type of breakpoint is line-of-code. But line-of-code breakpoints may be inefficient to set, especially if you don't know exactly where to look, or if you are working with a large codebase. You can save yourself time when debugging by knowing how and when to use the other types of breakpoints.
| Breakpoint type | Use this when you want to pause... |
-|:--- |:--- |
+|---|---|
| [Line-of-code](#line-of-code-breakpoints) | On an exact region of code. |
| [Conditional line-of-code](#conditional-line-of-code-breakpoints) | On an exact region of code, but only when some other condition is true. |
| [DOM](#dom-change-breakpoints) | On the code that changes or removes a specific DOM node, or the children. |
@@ -248,7 +248,7 @@ When you're calling `debug()` from the **Console** tool, here's a technique to e
## Logpoints
-A Logpoint is a breakpoint variant that doesn't "break" in the debugger, but instead logs a message directly to the console. You insert a logpoint via DevTools the same way you would any other breakpoint.
+A Logpoint is a breakpoint variant that doesn't "break" in the debugger, but instead logs a message directly to the console. You insert a logpoint via DevTools the same way you would any other breakpoint.
To set a logpoint:
diff --git a/microsoft-edge/devtools/javascript/consume-source-maps-from-azure.md b/microsoft-edge/devtools/javascript/consume-source-maps-from-azure.md
index 471390057d..f36498af8a 100644
--- a/microsoft-edge/devtools/javascript/consume-source-maps-from-azure.md
+++ b/microsoft-edge/devtools/javascript/consume-source-maps-from-azure.md
@@ -81,7 +81,7 @@ To connect to the symbol server by using a Personal Access Token (PAT), first ge
1. Sign in to your Azure DevOps organization by going to `https://dev.azure.com/{yourorganization}`.
1. In Azure DevOps, go to **User settings** > **Personal access tokens**:
-
+

The **Personal Access Tokens** page appears:
diff --git a/microsoft-edge/devtools/javascript/guides/mark-content-scripts-library-code.md b/microsoft-edge/devtools/javascript/guides/mark-content-scripts-library-code.md
index 62fcb50077..f4b3d27bd0 100644
--- a/microsoft-edge/devtools/javascript/guides/mark-content-scripts-library-code.md
+++ b/microsoft-edge/devtools/javascript/guides/mark-content-scripts-library-code.md
@@ -46,7 +46,7 @@ To avoid pausing on extension code:
* [Step 4: Step through the code](../index.md#step-4-step-through-the-code) in _Get started debugging JavaScript_
* [Content scripts](https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) at MDN.
-
diff --git a/microsoft-edge/devtools/javascript/index.md b/microsoft-edge/devtools/javascript/index.md
index 53e5de068e..a6951ff5ea 100644
--- a/microsoft-edge/devtools/javascript/index.md
+++ b/microsoft-edge/devtools/javascript/index.md
@@ -236,7 +236,7 @@ We've identified a possible fix for the bug. Next, edit the JavaScript code dir
1. Try out the demo with different values. The demo now calculates correctly.
-1. When debugging your own project, after you identify the fix, you then fix your actual source code on the server, such as by editing your local source code and then re-deploying your fixed code to the server. The previous steps only apply a fix to a temporary local copy of the code that's sent from the server.
+1. When debugging your own project, after you identify the fix, you then fix your actual source code on the server, such as by editing your local source code and then re-deploying your fixed code to the server. The previous steps only apply a fix to a temporary local copy of the code that's sent from the server.
diff --git a/microsoft-edge/devtools/javascript/overrides.md b/microsoft-edge/devtools/javascript/overrides.md
index 2e741692a3..a98138e2a5 100644
--- a/microsoft-edge/devtools/javascript/overrides.md
+++ b/microsoft-edge/devtools/javascript/overrides.md
@@ -79,7 +79,7 @@ Next, add files to your Overrides folder, as follows. This example will add a C
In this example, the file is listed as: `microsoftedge.github.io/Demos/demo-to-do/styles > to-do-styles.css`
The file is stored in a new directory that's in your overrides folder (such as in `C:\Users\myusername\overrides`).
-
+
1. In File Explorer or Finder, verify that DevTools created a subfolder that is named using the URL of the file (such as **microsoftedge.github.io**) and contains the correct directory structure, such as `C:\Users\myusername\overrides\microsoftedge.github.io\Demos\demo-to-do\styles`. The overriding file is stored in this directory.
In the editor pane of the **Sources** tool, a page icon with a purple dot is added to the file's tab. The purple dot indicates that the file is a local file that overrides the file that's returned from the web server:
diff --git a/microsoft-edge/devtools/javascript/publish-source-maps-to-azure.md b/microsoft-edge/devtools/javascript/publish-source-maps-to-azure.md
index 4b7465a453..14fc6adad2 100644
--- a/microsoft-edge/devtools/javascript/publish-source-maps-to-azure.md
+++ b/microsoft-edge/devtools/javascript/publish-source-maps-to-azure.md
@@ -37,7 +37,7 @@ To generate a PAT in Azure DevOps:
1. Sign in to your Azure DevOps organization by going to `https://dev.azure.com/{yourorganization}`.
1. In Azure DevOps, go to **User settings** > **Personal access tokens**:
-
+

The **Personal Access Tokens** page appears:
diff --git a/microsoft-edge/devtools/javascript/reference.md b/microsoft-edge/devtools/javascript/reference.md
index 4595204617..f264db7d7b 100644
--- a/microsoft-edge/devtools/javascript/reference.md
+++ b/microsoft-edge/devtools/javascript/reference.md
@@ -409,7 +409,7 @@ Use the `# sourceURL` pragma to give a virtual file name to code blocks that are
}
console.log(sum(1, 2));
-
+
//# sourceURL=math-utilities.js
```
@@ -420,7 +420,7 @@ Use the `# sourceURL` pragma to give a virtual file name to code blocks that are
padding: 1rem;
border-radius: 0.5rem;
}
-
+
/*# sourceURL=card-styles.css*/
```
diff --git a/microsoft-edge/devtools/memory-inspector/memory-inspector-tool.md b/microsoft-edge/devtools/memory-inspector/memory-inspector-tool.md
index 6b0b8747a7..8637963cd4 100644
--- a/microsoft-edge/devtools/memory-inspector/memory-inspector-tool.md
+++ b/microsoft-edge/devtools/memory-inspector/memory-inspector-tool.md
@@ -66,7 +66,7 @@ For example:
1. From the `buffer` line you can open Memory inspector using one of the following methods:
* Click on the **Reveal in Memory inspector panel** icon () at the end of the `buffer` property line, or
-
+
* From the context menu. Right click the `buffer` property and select **Reveal in Memory inspector panel**.

@@ -102,7 +102,7 @@ The Memory inspector panel includes three types of content:
#### Navigation bar

-
+
The **Enter address** text box shows the current byte address in hex format. You can change the value to jump to a new location in the memory buffer. Click in the text box and change the value to `0x00000008`. The Memory buffer immediately jumps to that byte address.
Memory buffers may be longer than one page. Use the left and right arrow buttons to navigate **Previous page** (**<**) and **Next page** (**>**), respectively. If there is only one page of memory buffer data, the arrows take you to the beginning and ending of the page.
@@ -116,7 +116,7 @@ If the Memory buffer does not automatically update when stepping through values,
#### Memory buffer

-
+
Reading from the left side of the panel, the **address** is displayed in hex format. The currently selected address is bold.
The **memory** is also shown in hex format, each byte separated by a space. The currently selected byte is highlighted. You can click on any byte or navigate using the arrow keys (left, right, up, and down).
@@ -128,7 +128,7 @@ The **ASCII representation** of the memory is shown on the right side of the pan
#### Value inspector

-
+
Click the current Endian type to switch between **Big endian** and **Little endian**.
The main area shows each value and interpretation based on the settings. By default, all values are shown.
@@ -154,21 +154,21 @@ Complete the following steps to debug a webpage in Memory inspector.
1. Click **Resume script execution** () or press **F8** or **Ctrl +\\** to step through the code.
The ASCII representation and the value interpretations are updated.
-
+

1. Click the **Jump to address** button () for **Pointer 32-bit** or **Pointer 64-bit** as needed to jump to the next active memory address. If next memory address is not available, the button is turned off () with the tooltip **Address out of memory range**.
1. Customize the **Value inspector** to show only floating point values. Click **Toggle value type settings** () and clear all checkboxes except the two **Floating point** values.
-
+

1. Click **Toggle value type settings** () to close the value type settings.
1. Use the dropdown lists to change the encoding from `dec` to `sci`. The value representations are updated.
-
+

-
+
1. Explore the memory buffer using the keyboard or navigation bar.
1. Repeat steps **3** and **4** to observe value changes.
@@ -195,10 +195,10 @@ For example:

-1. Click on the **Reveal in Memory inspector panel** icon () at the end of the `$imports.memory` property line.
+1. Click on the **Reveal in Memory inspector panel** icon () at the end of the `$imports.memory` property line.
The Wasm ArrayBuffer opens in **Memory inspector**.
-
+

diff --git a/microsoft-edge/devtools/memory-problems/heap-snapshot-schema.md b/microsoft-edge/devtools/memory-problems/heap-snapshot-schema.md
index 9b6137109e..cd0bf74e81 100644
--- a/microsoft-edge/devtools/memory-problems/heap-snapshot-schema.md
+++ b/microsoft-edge/devtools/memory-problems/heap-snapshot-schema.md
@@ -101,7 +101,7 @@ The `.heapsnapshot` JSON data contains a root object that has the following prop
```json
{
- "snapshot": {
+ "snapshot": {
"meta": {},
"node_count": 123,
"edge_count": 456,
@@ -276,7 +276,7 @@ Similar to the `nodes` array, the `edges` top-level array contains all of the el
Also similar to nodes, the total number of edges can be calculated by multiplying `snapshot.edge_count` by `snapshot.meta.edge_fields.length`. Edges are also stored as a sequence of numbers, which you will need to iterate on by groups of size `snapshot.meta.edge_fields.length`.
-However, to read the `edges` array correctly, you first need to read the `nodes` array, because each node knows how many edges it has.
+However, to read the `edges` array correctly, you first need to read the `nodes` array, because each node knows how many edges it has.
To re-create an edge, you need three pieces of information:
diff --git a/microsoft-edge/devtools/memory-problems/heap-snapshots.md b/microsoft-edge/devtools/memory-problems/heap-snapshots.md
index e3ae814bcb..ab8299b8ab 100644
--- a/microsoft-edge/devtools/memory-problems/heap-snapshots.md
+++ b/microsoft-edge/devtools/memory-problems/heap-snapshots.md
@@ -127,7 +127,7 @@ Each constructor in the list can be expanded to show the objects that were insta
For each constructor in the list, the **Summary** view also shows a number such as **×123**, indicating the total number of objects created with the constructor. The **Summary** view also shows the following columns:
| Column name | Description |
-|:--- |:--- |
+|---|---|
| **Distance** | Displays the distance to the root using the shortest simple path of nodes. See [Distance](./memory-101.md#distance) in _Memory terminology_. |
| **Shallow size** | Displays the sum of shallow sizes of all objects created by a certain constructor function. The _shallow size_ is the size of the JavaScript heap that's _directly_ held by an object. The shallow size of an object is usually small, because a JavaScript object often only stores its description of the object, not the values, in the object's directly held memory. Most JavaScript objects store their values in a _backing store_ that's elsewhere in the JavaScript heap, and only expose a small wrapper object on the portion of the JavaScript heap that's directly owned by the object. See [Shallow size](./memory-101.md#shallow-size) in _Memory terminology_. |
| **Retained size** | Displays the maximum retained size among the same set of objects. The size of memory that you can free after an object is deleted (and the dependents are made no longer reachable) is called the retained size. See [Retained size](./memory-101.md#retained-size) in _Memory terminology_. |
@@ -155,7 +155,7 @@ To reveal the list of objects that were instantiated by a given constructor, exp
The **Summary** view in the **Memory** tool includes the following special category names, which aren't based on constructors. Most of these category names are displayed in parentheses.
| Category name | Description |
-|:--- |:--- |
+|---|---|
| **(array)** | Various internal array-like objects that don't directly correspond to objects visible from JavaScript, such as the contents of JavaScript arrays, or the named properties of JavaScript objects. |
| **(compiled code)** | Internal data that V8 (Microsoft Edge's JavaScript engine) needs to run functions defined by JavaScript or WebAssembly. V8 automatically manages memory usage in this category: if a function runs many times, V8 uses more memory for that function so that the function runs faster. If a function hasn't run in a while, V8 might delete the internal data for that function. |
| **(concatenated string)** | When two strings are concatenated together, such as when using the JavaScript `+` operator, V8 might choose to represent the result internally as a _concatenated string_. Rather than copying all of the characters of the two strings into a new string, V8 creates a small object which points to the two strings. |
@@ -203,7 +203,7 @@ The **Containment** view allows you to peek inside function closures, to observe
The **Containment** view shows the following types of objects:
| Containment view entry points | Description |
-|:--- |:--- |
+|---|---|
| **DOMWindow objects** | Global objects for JavaScript code. |
| **GC roots** | The GC roots used by the garbage collector of the JavaScript virtual machine. GC roots are comprised of built-in object maps, symbol tables, VM thread stacks, compilation caches, handle scopes, and global handles. |
| **Native objects** | Objects created by the browser such as DOM nodes and CSS rules, which are shown in the JavaScript virtual machine to allow automation. |
diff --git a/microsoft-edge/devtools/memory-problems/memory-101.md b/microsoft-edge/devtools/memory-problems/memory-101.md
index 2468f1d017..2b0bb22e1d 100644
--- a/microsoft-edge/devtools/memory-problems/memory-101.md
+++ b/microsoft-edge/devtools/memory-problems/memory-101.md
@@ -184,7 +184,7 @@ Memory for new JavaScript objects is allocated from a dedicated JavaScript heap
* **Arrays**: An _array_ is an object that has numeric keys. Arrays are used extensively in the V8 VM for storing large amounts of data. Sets of key-value pairs that are used like dictionaries are implemented as arrays.
A typical JavaScript object is stored as only one of two array types:
-
+
* An array for storing named properties.
* An array for storing numeric elements.
diff --git a/microsoft-edge/devtools/network-request-blocking/network-request-blocking-tool.md b/microsoft-edge/devtools/network-request-blocking/network-request-blocking-tool.md
index cab872051f..7fa7c7b56e 100644
--- a/microsoft-edge/devtools/network-request-blocking/network-request-blocking-tool.md
+++ b/microsoft-edge/devtools/network-request-blocking/network-request-blocking-tool.md
@@ -36,15 +36,13 @@ To block a network request:
* Type the full URL.
* Type only the domain name, to block all requests from this domain.
* Replace parts of the URL with `*`, for wildcard pattern matching.
-
- For example, `contoso.com` matches URLs like:
+ For example, `contoso.com` matches URLs like:
* `https://contoso.com`
* `https://subdomain.contoso.com`
* `https://subdomain.contoso.com/path/to/resource`
And `*.jpg` matches URLs like:
-
* `https://www.contoso.com/resource.jpg`
* `http://third-party.com/6469272/163348534-b90ea1a3-c33cbeb1aed8.jpg`
diff --git a/microsoft-edge/devtools/network/reference.md b/microsoft-edge/devtools/network/reference.md
index c7808cf4a3..0b2f9a0a07 100644
--- a/microsoft-edge/devtools/network/reference.md
+++ b/microsoft-edge/devtools/network/reference.md
@@ -110,7 +110,7 @@ For a step-by-step walkthrough and introduction to the **Network** tool, see [In
By default, DevTools records all network requests in the **Network** tool, so long as DevTools is open.
-For example:
+For example:
1. Go to a webpage, such as the [Inspect Network Activity](https://microsoftedge.github.io/Demos/network-tutorial/) demo page, in a new window or tab.
@@ -202,7 +202,7 @@ To capture a screenshot:
1. Click the thumbnail of a screenshot to filter out any requests that occurred after the screenshot was captured.
1. Double-click a screenshot thumbnail to zoom-in and view the screenshot.
-
+
1. Press **Esc** to close the screenshot viewer.
@@ -404,7 +404,7 @@ To observe WebSocket throttling:
1. Go to a page that uses WebSockets, such as [Online WebSocket Tester](https://www.piesocket.com/websocket-tester), in a new window or tab.
1. On the page, establish the WebSocket connection.
-
+
If you use the **Online WebSocket Tester** webpage, click the **Connect** button.
If you don't create a PieSocket account to get an API Token, the webpage displays "Connection Established - {"error":"Unknown api key"}".
@@ -426,7 +426,7 @@ To observe WebSocket throttling:
The console within the **Online WebSocket Tester** webpage displays **DevTools with throttling**.
1. At the top of the **Network** tool, select the **Socket** filter button (shown below).
-
+
1. In the table, click your connection name, such as **channel_123?api_key=...**.
Tabs appear.
@@ -598,7 +598,7 @@ You can use multiple properties simultaneously by separating each property with
The complete list of supported properties:
| Property | Details |
-|:--- | :--- |
+|---|---|
| `cookie-domain` | Show the resources that set a specific cookie domain. |
| `cookie-name` | Show the resources that set a specific cookie name. |
| `cookie-path` | Show the resources that set a specific cookie path. |
@@ -815,15 +815,15 @@ To change how the **Waterfall** column sorts requests:
* Right-click the header of the **Requests** table, click **Waterfall**, and then select one of the following options:
* **Start Time** - The first request that was initiated is placed at the top.
-
+
* **Response Time** - The first request that started downloading is placed at the top.
-
+
* **End Time** - The first request that finished is placed at the top.
-
+
* **Total Duration** - The request with the shortest connection settings and request or response is placed at the top.
-
+
* **Latency** - The request that waited the shortest time for a response is placed at the top.
-
+
These descriptions assume that each respective option is ranked from shortest to longest. Click the header of the **Waterfall** column to reverse the order.
The following shows sorting the Waterfall by total duration. The lighter portion of each bar is time spent waiting and the darker portion is time spent downloading bytes:
@@ -867,7 +867,7 @@ The **Waterfall** column is off by default. To turn on the **Waterfall** column
###### Add or remove columns
-Right-click the header of the **Requests** table and select a column name to hide or show it. The currently displayed columns have checkmarks next to them.
+Right-click the header of the **Requests** table and select a column name to hide or show it. The currently displayed columns have checkmarks next to them:

@@ -880,12 +880,12 @@ To add a custom column to the **Requests** table:
1. Right-click the header of the **Requests** table and then select **Response Headers** > **Manage Header Columns**.
- The **Manage Header Columns** popup window opens.
-
-1. Click the **Add custom header** button, enter the custom header name, and then click **Add**.
+ The **Manage Header Columns** popup window opens:

+1. Click the **Add custom header** button, enter the custom header name, and then click the **Add** button.
+
#### Group requests by inline frames
@@ -1015,7 +1015,7 @@ To refresh the **Requests** table, in the **Name** pane, click the name of the W
The **Requests** table contains the following three columns:
-* **Data**. The message payload. If the message is plain text, it is displayed here. For binary opcodes, this column displays the name and code of the opcode. The following opcodes are supported:
+* **Data**. The message payload. If the message is plain text, it is displayed here. For binary opcodes, this column displays the name and code of the opcode. The following opcodes are supported:
* Continuation Frame
* Binary Frame
* Connection Close Frame
@@ -1685,7 +1685,7 @@ To copy the formatted JSON data of a JSON response:
1. In the sidebar, select the **Preview** tab.
-1. Right-click the first line of the formatted JSON response preview and then select **Copy value**.
+1. Right-click the first line of the formatted JSON response preview, and then select **Copy value**:

diff --git a/microsoft-edge/devtools/overview.md b/microsoft-edge/devtools/overview.md
index 0399f42c43..5375033a71 100644
--- a/microsoft-edge/devtools/overview.md
+++ b/microsoft-edge/devtools/overview.md
@@ -164,25 +164,25 @@ To have DevTools automatically open whenever you open a new tab in the browser:
1. At the command line, open Microsoft Edge, passing in the `--auto-open-devtools-for-tabs` flag, as follows:
Windows command prompt:
-
+
```cmd
start msedge --auto-open-devtools-for-tabs
```
-
+
Windows PowerShell:
-
+
```powershell
Start-Process -FilePath "msedge" -ArgumentList "--auto-open-devtools-for-tabs"
```
-
+
macOS Terminal:
-
+
```bash
/Applications/Microsoft\ Edge.app/Contents/MacOS/Microsoft\ Edge --auto-open-devtools-for-tabs
```
-
+
bash shell on Linux:
-
+
```bash
microsoft-edge --auto-open-devtools-for-tabs
```
diff --git a/microsoft-edge/devtools/performance/extension.md b/microsoft-edge/devtools/performance/extension.md
index 2b8ac7d2f9..c3448e5bb3 100644
--- a/microsoft-edge/devtools/performance/extension.md
+++ b/microsoft-edge/devtools/performance/extension.md
@@ -49,7 +49,7 @@ The **Performance** tool can display your own performance data, in addition to t
* Building a framework and you need to visualize internal processes.
* Developing a library and you want to track the impact of your code.
* Building a complex web application with a lot of client-side processing.
-
+
The performance extensibility APIs make it possible to understand what's happening in your code.
By injecting custom measurements and events, you can create tailored visualizations within the **Performance** tool.
@@ -126,11 +126,11 @@ The `console.timeStamp()` API is extended to allow for the creation of custom ti
Syntax:
```javascript
-console.timeStamp(label: string,
- start?: string|number,
- end?: string|number,
- trackName?: string,
- trackGroup?: string,
+console.timeStamp(label: string,
+ start?: string|number,
+ end?: string|number,
+ trackName?: string,
+ trackGroup?: string,
color?: DevToolsColor);
```
@@ -327,7 +327,7 @@ function loadPhoto(fileName) {
}
```
-To view the resulting profile:
+To view the resulting profile:
1. Do the steps in [View your custom data in the performance profile](#view-your-custom-data-in-the-performance-profile), above.
@@ -407,7 +407,7 @@ function populateGallery(images) {
}
```
-To view the resulting profile:
+To view the resulting profile:
1. Do the steps in [View your custom data in the performance profile](#view-your-custom-data-in-the-performance-profile), above.
@@ -517,7 +517,7 @@ addEventListener('click', e => {
});
```
-To view the resulting profile:
+To view the resulting profile:
1. Do the steps in [View your custom data in the performance profile](#view-your-custom-data-in-the-performance-profile), above.
@@ -555,7 +555,7 @@ Demos:
> [!NOTE]
-> Portions of this page are modifications based on work created and [shared by Google](https://developers.google.com/terms/site-policies) and used according to terms described in the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0).
+> Portions of this page are modifications based on work created and [shared by Google](https://developers.google.com/terms/site-policies) and used according to terms described in the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0).
> The original page is found [here](https://developer.chrome.com/docs/devtools/performance/extension) and is authored by Andrés Olivares and Sofia Emelianova.
[](https://creativecommons.org/licenses/by/4.0)
diff --git a/microsoft-edge/devtools/performance/index.md b/microsoft-edge/devtools/performance/index.md
index 4b8a5eff55..475b531d41 100644
--- a/microsoft-edge/devtools/performance/index.md
+++ b/microsoft-edge/devtools/performance/index.md
@@ -267,7 +267,7 @@ After you verified that the animation isn't performing well, the next step is to
Or, press **W**.
You can now see the events that occur when a single frame of the animation is rendered. The **update** function is called, which, in turn, calls the **updateSlow** function, which triggers many **Recalculate Style** and **Layout** events:
-
+

1. Click one of the purple **Layout** events.
@@ -355,7 +355,7 @@ Finally, we read `element.offsetTop` again, to adjust the direction of the icon.
## Step 11: Analyze the optimized code
-The optimized code uses a different sequence of actions to do less work. Here is the same snippet of JavaScript from the optimized version of the app:
+The optimized code uses a different sequence of actions to do less work. Here is the same snippet of JavaScript from the optimized version of the app:
```javascript
// Read the current position.
@@ -412,7 +412,7 @@ See also:
To get more comfortable with the **Performance** tool, practice profiling your webpages and analyzing the results.
If you have any questions about your results, in the **Activity Bar**, select **Help** () > **Feedback**. Or, press **Alt+Shift+I** (Windows, Linux) or **Option+Shift+I** (macOS).
-
+
Or, [file an issue on the MicrosoftEdge / DevTools repo](https://github.com/MicrosoftEdge/DevTools/issues).
In your feedback, include screenshots or links to reproducible webpages, if possible.
@@ -422,7 +422,7 @@ There are many ways to improve runtime performance. This article focused on one
> [!NOTE]
-> Portions of this page are modifications based on work created and [shared by Google](https://developers.google.com/terms/site-policies) and used according to terms described in the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0).
+> Portions of this page are modifications based on work created and [shared by Google](https://developers.google.com/terms/site-policies) and used according to terms described in the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0).
> The original page is found [here](https://developer.chrome.com/docs/devtools/performance) and is authored by Kayce Basques.
[](https://creativecommons.org/licenses/by/4.0)
diff --git a/microsoft-edge/devtools/performance/overview.md b/microsoft-edge/devtools/performance/overview.md
index a72ed4d42c..50afcc536b 100644
--- a/microsoft-edge/devtools/performance/overview.md
+++ b/microsoft-edge/devtools/performance/overview.md
@@ -64,7 +64,7 @@ The **Performance** tool displays local metrics for page interactions, and lets
#### Open the Performance tool
-To open the **Performance** tool:
+To open the **Performance** tool:
1. Go to a webpage, such as the [Exploring the universe](https://microsoftedge.github.io/Demos/exploring-the-universe/) demo, in a new window or tab.
@@ -120,7 +120,7 @@ When you initially open the **Performance** tool, Core Web Vitals metrics are di
#### Recorded profile timeline
-Also use the **Performance** tool to view a recorded performance trace, including:
+Also use the **Performance** tool to view a recorded performance trace, including:
* Record a performance profile.
* Change capture settings.
* Analyze a performance report. Shows information about the performance of the page over the period of time where the recording occurred, such as:
@@ -129,7 +129,7 @@ Also use the **Performance** tool to view a recorded performance trace, includin
* The styling and layout operations that occurred.
* Other performance metrics over time, such as network requests and layout shifts.
-After you record a performance trace, the performance trace is displayed instead of **Local metrics**.
+After you record a performance trace, the performance trace is displayed instead of **Local metrics**.
@@ -301,7 +301,7 @@ Select the following options from the **Capture settings** menu:
* Select the **Enable CSS selector stats (slow)** checkbox: Captures CSS selector statistics. Significantly hinders performance. See [View CSS selector costs in the Performance tool sidebar](../whats-new/2024/11/devtools-131.md#view-css-selector-costs-in-the-performance-tool-sidebar) in _What's new in DevTools (Microsoft Edge 131)_.
-* CPU throttling: Simulate slower CPU speeds. See [Throttle the CPU while recording](../performance/reference.md#throttle-the-cpu-while-recording) in _Performance features reference_.
+* CPU throttling: Simulate slower CPU speeds. See [Throttle the CPU while recording](../performance/reference.md#throttle-the-cpu-while-recording) in _Performance features reference_.
* Network throttling: Simulate slower network speeds. See [Throttle the network while recording](../performance/reference.md#throttle-the-network-while-recording) in _Performance features reference_.
@@ -371,7 +371,7 @@ Discover other tools that can help you improve your website's performance:
> [!NOTE]
-> Portions of this page are modifications based on work created and [shared by Google](https://developers.google.com/terms/site-policies) and used according to terms described in the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0).
+> Portions of this page are modifications based on work created and [shared by Google](https://developers.google.com/terms/site-policies) and used according to terms described in the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0).
> The original page is found [here](https://developer.chrome.com/docs/devtools/performance/overview) and is authored by Dale St. Marthe and Sofia Emelianova.
[](https://creativecommons.org/licenses/by/4.0)
diff --git a/microsoft-edge/devtools/performance/performance-reference.md b/microsoft-edge/devtools/performance/performance-reference.md
index ae39446a71..83d21c879c 100644
--- a/microsoft-edge/devtools/performance/performance-reference.md
+++ b/microsoft-edge/devtools/performance/performance-reference.md
@@ -36,7 +36,7 @@ In the **Performance** tool, the **Main** section displays all events that are t
The following properties are common to all event types in the **Performance** tool's **Main** section. Additional properties that are specific to certain event types are listed in the subsequent sections below.
| Property | When is it shown |
-|:--- |:--- |
+|---|---|
| Aggregated time | For events with **nested events**, the time taken by each category of events. |
| Call Stack | For events with **child events**, the time taken by each category of events. |
| CPU time | How much CPU time the recorded event took. |
@@ -54,7 +54,7 @@ The following properties are common to all event types in the **Performance** to
The following events are in the **Loading** category.
| Event | Description |
-|:--- |:--- |
+|---|---|
| Parse HTML | Microsoft Edge ran the HTML parsing algorithm. |
| Finish Loading | A network request completed. |
| Receive Data | Data for a request was received. There are one or more Receive Data events. |
@@ -66,7 +66,7 @@ The following events are in the **Loading** category.
#### Additional properties for Loading events
| Property | Description |
-|:--- |:--- |
+|---|---|
| Resource | The URL of the requested resource. |
| Preview | Preview of the requested resource (images only). |
| Request Method | HTTP method used for the request (`GET` or `POST`, for example). |
@@ -83,7 +83,7 @@ See also [Properties common to all events](#properties-common-to-all-events), ab
The following events are in the **Scripting** category.
| Event | Description |
-|:--- |:--- |
+|---|---|
| Animation Frame Fired | A scheduled animation frame fired, and its callback handler invoked. |
| Cancel Animation Frame | A scheduled animation frame was canceled. |
| GC Event | Garbage collection occurred. |
@@ -105,7 +105,7 @@ The following events are in the **Scripting** category.
#### Additional properties for Scripting events
| Property | Description |
-|:--- |:--- |
+|---|---|
| Timer ID | The timer ID. |
| Timeout | The timeout specified by the timer. |
| Repeats | Boolean that specifies if the timer repeats. |
@@ -120,7 +120,7 @@ See also [Properties common to all events](#properties-common-to-all-events), ab
The following events are in the **Rendering** category.
| Event | Description |
-|:--- |:--- |
+|---|---|
| Invalidate layout | The page layout was invalidated by a DOM change. |
| Layout | A page layout was completed. |
| Recalculate style | Microsoft Edge recalculated element styles. |
@@ -131,7 +131,7 @@ The following events are in the **Rendering** category.
#### Additional properties for Rendering events
| Property | Description |
-|:--- |:--- |
+|---|---|
| Layout invalidated | For Layout records, the stack trace of the code that caused the layout to be invalidated. |
| Nodes that need layout | For Layout records, the number of nodes that were marked as needing layout before the relayout started. These are normally those nodes that were invalidated by developer code, plus a path upward to relayout root. |
| Layout tree size | For Layout records, the total number of nodes under the relayout root (the node that Microsoft Edge starts the relayout). |
@@ -148,7 +148,7 @@ See also [Properties common to all events](#properties-common-to-all-events), ab
The following events are in the **Painting** category.
| Event | Description |
-|:--- |:--- |
+|---|---|
| Composite Layers | The composited image layers for the Microsoft Edge rendering engine. |
| Image Decode | An image resource was decoded. |
| Image Resize | An image was resized from its native dimensions. |
@@ -159,7 +159,7 @@ The following events are in the **Painting** category.
#### Additional properties for Painting events
| Property | Description |
-|:--- |:--- |
+|---|---|
| Location | For Paint events, the x and y coordinates of the paint rectangle. |
| Dimensions | For Paint events, the height and width of the painted region. |
diff --git a/microsoft-edge/devtools/performance/reference.md b/microsoft-edge/devtools/performance/reference.md
index cc6a30f1f3..dbbc3a1983 100644
--- a/microsoft-edge/devtools/performance/reference.md
+++ b/microsoft-edge/devtools/performance/reference.md
@@ -1123,7 +1123,7 @@ To view WebSocket messages in the **Performance** tool:
At the bottom of the chat form, a message is displayed, such as "John:v8g... connected."
1. In the **Send a message** text box, enter a message, such as "Hello", and then click the **Send** button.
-
+
In the chat app, the message is displayed, such as "Hello":

diff --git a/microsoft-edge/devtools/performance/selector-stats.md b/microsoft-edge/devtools/performance/selector-stats.md
index 3c754c77d3..7fef1dc335 100644
--- a/microsoft-edge/devtools/performance/selector-stats.md
+++ b/microsoft-edge/devtools/performance/selector-stats.md
@@ -47,7 +47,7 @@ To record a performance trace with selector statistics:
1. Select the **Enable CSS selector stats (slow)** checkbox:

-
+
1. Click the **Record** () button, and then run the scenario that you want to improve for your website or app.
1. Click the **Stop** button.
@@ -81,7 +81,7 @@ The **Selector Stats** tab in the **Performance** tool contains a table of CSS s
| **Match Count** | The number of elements the browser engine matched with this CSS selector. |
| **% of slow-path non-matches** | The ratio of elements that didn't match with this CSS selector, to the elements that the browser engine attempted to match, and which required the browser engine to use less optimized code to match. |
| **Selector** | The CSS selector that was matched. |
-| **Style Sheet** | The CSS style sheet that contains the CSS selector. |
+| **Style Sheet** | The CSS style sheet that contains the CSS selector. |
When finished, in the **Performance** tool, click the **Capture settings** () button, and then clear the **Enable CSS selector stats (slow)** checkbox.
diff --git a/microsoft-edge/devtools/performance/share-performance-traces.md b/microsoft-edge/devtools/performance/share-performance-traces.md
index d37b9bd9c0..892e41390e 100644
--- a/microsoft-edge/devtools/performance/share-performance-traces.md
+++ b/microsoft-edge/devtools/performance/share-performance-traces.md
@@ -150,7 +150,7 @@ See also:
## Compress with gzip
-In the **Save performance trace** dialog within the **Performance** tool, the **Compress with gzip** checkbox is selected by default. This option helps compress large performance traces to save disk space, and makes the importing and processing of trace files faster in DevTools.
+In the **Save performance trace** dialog within the **Performance** tool, the **Compress with gzip** checkbox is selected by default. This option helps compress large performance traces to save disk space, and makes the importing and processing of trace files faster in DevTools.
* If this checkbox is selected, the default file name extension is `.gz`.
* If this checkbox is cleared, the default file name extension is `.json`.
@@ -195,7 +195,7 @@ To open a saved trace file in DevTools:
* **Rendering**
* **Search**
* **Sensors**
-
+
See also:
* [Performance tool: Analyze your website's performance](./overview.md)
* [Sources tool overview](../sources/index.md)
diff --git a/microsoft-edge/devtools/performance/unminify.md b/microsoft-edge/devtools/performance/unminify.md
index 194f1eba49..5eaf377ec8 100644
--- a/microsoft-edge/devtools/performance/unminify.md
+++ b/microsoft-edge/devtools/performance/unminify.md
@@ -11,9 +11,9 @@ ms.date: 03/08/2022
# Display original function names in performance profiles
If your build process compiles and minifies your code and combines it into a single file, the names of the functions displayed in a performance profile might be hard to understand. Source maps map your compiled, minified code to your original source code files. The **Performance** tool can use source maps to map minified function names after a recording has been made, back to their original names found in your original code.
-
+
To learn more about how DevTools uses source maps, see [Map the processed code to your original source code, for debugging](../javascript/source-maps.md).
-
+
To see your original function names in the flame chart in the **Performance** tool, use the **Unminify** () button.
Source mapping is used in DevTools to keep your client-side code readable and debuggable. By clicking the **Unminify** button in the Performance tool, you can use source maps to create an unminified version of the performance profile you recorded.
@@ -26,7 +26,7 @@ An example of a performance profile flame chart, with some more meaningful funct

-When recording a performance profile in the **Performance** tool, the **Main** section of the profile displays detailed flame charts of JavaScript functions that were called during the recording.
+When recording a performance profile in the **Performance** tool, the **Main** section of the profile displays detailed flame charts of JavaScript functions that were called during the recording.
Ideally, in this flame chart view, you want to see the meaningful function names that are shown in your original source code. However, if your production code is compiled, minified, or bundled, the **Performance** tool initially displays the function names that are extracted from your transformed, _production_ code. These production function names might be obscure and might not easily map to function names in your original source code.
diff --git a/microsoft-edge/devtools/progressive-web-apps/protocol-handlers.md b/microsoft-edge/devtools/progressive-web-apps/protocol-handlers.md
index a0ee2d68db..617efa77e8 100644
--- a/microsoft-edge/devtools/progressive-web-apps/protocol-handlers.md
+++ b/microsoft-edge/devtools/progressive-web-apps/protocol-handlers.md
@@ -10,7 +10,7 @@ ms.date: 08/23/2022
---
# Test Progressive Web App (PWA) protocol handling
-This article assumes that you have already defined protocol handlers in your PWA web app manifest and are debugging your app with the DevTools. To learn about how to define and register protocols in your PWA, see [Handle protocols in a PWA](../../progressive-web-apps/how-to/handle-protocols.md).
+This article assumes that you have already defined protocol handlers in your PWA web app manifest and are debugging your app by using DevTools. To learn about how to define and register protocols in your PWA, see [Handle protocols in a PWA](../../progressive-web-apps/how-to/handle-protocols.md).
Use the **Application** tool to verify and test that Microsoft Edge has successfully registered your app as a handler for protocols defined in your web app manifest.
@@ -27,45 +27,59 @@ If you have defined protocols correctly in your web app manifest, the **Applicat
To verify that you have correctly defined protocol handlers:
-1. Navigate to your PWA in Microsoft Edge. You can use [the PWAmp demo application](https://microsoftedge.github.io/Demos/pwamp/).
+1. In Microsoft Edge, go to your PWA. You can use [the PWAmp demo application](https://microsoftedge.github.io/Demos/pwamp/).
+
1. Open DevTools (**F12**).
-1. Open the **Application** tool.
-1. Click **Manifest** to expand the dropdown list.
-1. Click **Protocol Handlers**.
-If protocol handlers haven't been defined in the web app manifest, or have been defined incorrectly, the following message is displayed:
+1. In the **Activity Bar**, select the **Application** tool.
+
+1. In the tree on the left, expand **Manifest**, and then select **Protocol Handlers**.
+
+ The **Manifest** page scrolls down to the **Protocol Handlers** section.
-
+ * If protocol handlers have not been defined in the web app manifest, or have been defined incorrectly, the following message is displayed: "Define protocol handlers in the manifest to register your app as a handler for custom protocols when your app is installed."
-If protocol handlers have been defined successfully in the web app manifest, the following message is displayed:
+ 
-
+ * If protocol handlers have been defined successfully in the web app manifest, the following message is displayed: "Found valid protocol handler registration in the manifest. With the app installed, test the registered protocols."
-The **Protocol Handlers** section also makes it possible to test the protocol handlers you've defined.
+ 
## Test protocols from the Application tool
-To test your protocol handlers from the **Application** tool, you must have already installed your PWA. To learn how to install your PWA, see [Installing a PWA](../../progressive-web-apps/ux.md#installing-a-pwa).
+To test protocol handlers that you've defined, use the **Application** tool > **Manifest** page > **Protocol Handlers** section.
+
+To test your protocol handlers from the **Application** tool, you must first install your PWA; see [Installing a PWA](../../progressive-web-apps/ux.md#installing-a-pwa) in _Use Progressive Web Apps (PWAs) in Microsoft Edge_.
The **Application** tool detects all the protocol handlers from your web app manifest.
-To test a handler:
+To test a protocol handler:
-1. Navigate to your PWA in Microsoft Edge and open DevTools (**F12**). You can use [the PWAmp demo application](https://microsoftedge.github.io/Demos/pwamp/).
+1. Open a PWA in Microsoft Edge. You can use [the PWAmp demo application](https://microsoftedge.github.io/Demos/pwamp/).
-1. Open the **Application** tool and click **Manifest** > **Protocol Handlers**.
+1. Install the PWA; see [Installing a PWA](../../progressive-web-apps/ux.md#installing-a-pwa) in _Use Progressive Web Apps (PWAs) in Microsoft Edge_.
-1. Select the protocol you want to test by choosing from the dropdown list.
+1. Open DevTools (**F12**).
-1. Enter the rest of the URI in the text and click **Test protocol**.
+1. In the **Activity Bar**, select the **Application** tool.
- Your PWA is launched. Depending on your operating system (OS), you might need to allow Microsoft Edge to open your PWA and accept any OS-level permissions for registering your app as a handler for your protocol.
+1. In the tree on the left, expand **Manifest**, and then select **Protocol Handlers**.
-In the following screenshot, the URI `web+amp://files.freemusicarchive.org/storage-freemusicarchive-org/music/no_curator/Kevin_MacLeod/Jazz_Sampler/Kevin_MacLeod_-_AcidJazz.mp3` is being tested:
+ The **Manifest** page scrolls down to the **Protocol Handlers** section.
-
+1. In the dropdown list, select the protocol to test.
+
+1. Enter the rest of the URI in the text box, and then click the **Test protocol** button:
+
+ 
+
+ In the above example, the following URI is being tested:
+
+ `web+amp://files.freemusicarchive.org/storage-freemusicarchive-org/music/no_curator/Kevin_MacLeod/Jazz_Sampler/Kevin_MacLeod_-_AcidJazz.mp3`
+
+ Your PWA is launched. Depending on your operating system (OS), you might need to allow Microsoft Edge to open your PWA and accept any OS-level permissions for registering your app as a handler for your protocol.
diff --git a/microsoft-edge/devtools/progressive-web-apps/simulate-window-controls-overlay.md b/microsoft-edge/devtools/progressive-web-apps/simulate-window-controls-overlay.md
index e46af05364..1ba6e04e25 100644
--- a/microsoft-edge/devtools/progressive-web-apps/simulate-window-controls-overlay.md
+++ b/microsoft-edge/devtools/progressive-web-apps/simulate-window-controls-overlay.md
@@ -40,7 +40,7 @@ To simulate the WCO feature for Windows, Linux, and macOS in your PWA without ha
1. In the **Window Controls Overlay** section on the right, select the checkbox **Emulate the Window Controls Overlay on** \
, and then select a platform, such as Windows, macOS, or Linux.
- The simulated Window Controls Overlay is added to the rendered webpage:
+ The simulated Window Controls Overlay is added to the rendered webpage:

diff --git a/microsoft-edge/devtools/quick-source/quick-source-tool.md b/microsoft-edge/devtools/quick-source/quick-source-tool.md
index 0cee503e02..9cd520ac13 100644
--- a/microsoft-edge/devtools/quick-source/quick-source-tool.md
+++ b/microsoft-edge/devtools/quick-source/quick-source-tool.md
@@ -133,7 +133,7 @@ Continue with the next section.
cd ~/GitHub/demos/demo-to-do
python -m SimpleHTTPServer # Python 2
```
-
+
``` bash
# Python 3 option
cd ~/GitHub/demos/demo-to-do
diff --git a/microsoft-edge/devtools/recorder/index.md b/microsoft-edge/devtools/recorder/index.md
index 2fc3d4e8ed..63d3935c5f 100644
--- a/microsoft-edge/devtools/recorder/index.md
+++ b/microsoft-edge/devtools/recorder/index.md
@@ -64,7 +64,7 @@ To start recording a new user flow:
## Record other user flows
-To record a new user flow, after you've stopped the recording of the previous user flow:
+To record a new user flow, after you've stopped the recording of the previous user flow:
1. Click the **Create a new recording** () button in the top-left corner of the **Recorder** tool:
@@ -205,7 +205,7 @@ To change the type of step when editing the details of a step:
You can use the following types of steps when editing a step in a user flow. Each step type has a list of properties that apply to the step.
| Step type | Description | Properties |
-|:--- |:--- |:--- |
+|---|---|---|
| `change` | Change the value of a form input field. | **selectors**: Ways to find the element that this step applies to. **value**: The value to set the form input field to. |
| `click` | Click an element. | **selectors**: Ways to find the element this step applies to. **offsetX**/**offsetY**: How far from the top left corner of the element to click. |
| `close` | Close the browser window. | None. |
@@ -313,7 +313,7 @@ To generate a test script and run it automatically with a test automation framew

| Export format | Test automation framework |
- |:--- |:--- |
+ |---|---|
| `@puppeteer/replay` | Exports the user flow as a test script for the **Replay** library. See the [puppeteer / replay](https://github.com/puppeteer/replay) repo. |
| Puppeteer | Exports the user flow as a test script for the Puppeteer test automation framework. See [Puppeteer](https://pptr.dev). |
| Puppeteer (including Lighthouse analysis) | Exports the user flow as a test script for the Puppeteer test automation framework, and includes a Lighthouse analysis of the performance of the website. |
diff --git a/microsoft-edge/devtools/remote-debugging/windows.md b/microsoft-edge/devtools/remote-debugging/windows.md
index f86a2393d7..9c4bc6510b 100644
--- a/microsoft-edge/devtools/remote-debugging/windows.md
+++ b/microsoft-edge/devtools/remote-debugging/windows.md
@@ -34,9 +34,9 @@ To set up the host (debuggee) machine, use the following sub-sections, in order.
1. If not already installed, on the Windows 10 or later device that you want to debug, install Microsoft Edge, from [Get to Know Microsoft Edge](https://www.microsoft.com/edge).
-1. If you're using a pre-installed version of Microsoft Edge on the host (debuggee) machine, verify that you have Microsoft Edge (Chromium) and not Microsoft Edge (EdgeHTML). A quick way to check is to load `edge://settings/help` in the browser and confirm that the version number is 75 or higher.
+1. If you're using a pre-installed version of Microsoft Edge on the host (debuggee) machine, verify that you have Microsoft Edge (Chromium) and not Microsoft Edge (EdgeHTML). A quick way to check is to load `edge://settings/help` in the browser and confirm that the version number is 75 or higher.
-1. Go to `edge://flags` in Microsoft Edge.
+1. In Microsoft Edge, go to `edge://flags`.
1. In **Search flags**, type in **Enable remote debugging through Windows Device Portal**. Set that flag to **Enabled**. Then, click the **Restart** button to restart Microsoft Edge.
@@ -80,7 +80,7 @@ To set up the host (debuggee) machine, use the following sub-sections, in order.

- You enter the information on the client (debugger) device in the next section, "Step 2: Set up the client (debugger machine)".
+ You enter the information on the client (debugger) device in the next section, "Step 2: Set up the client (debugger machine)".
1. Open tabs in Microsoft Edge and [Progressive Web Apps (PWAs)](../progressive-web-apps/index.md) on the host (debuggee) machine that you want to debug from the client (debugger) machine.
@@ -132,7 +132,7 @@ To see the default ports that are used by Device Portal, see the table in [Setup
###### Default ports
-The default port for `http` is `50080` and the default port for `https` is `50043`, but this isn't always the case, because Device Portal on desktop claims ports in the ephemeral range (\>50,000) to prevent collisions with existing port claims on the device.
+The default port for `http` is `50080` and the default port for `https` is `50043`, but this isn't always the case, because Device Portal on desktop claims ports in the ephemeral range (\>50,000) to prevent collisions with existing port claims on the device.
To see the default ports that are used by Device Portal, see the table in [Setup](/windows/uwp/debug-test-perf/device-portal#setup) in _Windows Device Portal overview_.
diff --git a/microsoft-edge/devtools/rendering-tools/index.md b/microsoft-edge/devtools/rendering-tools/index.md
index e8318021de..3e371b8377 100644
--- a/microsoft-edge/devtools/rendering-tools/index.md
+++ b/microsoft-edge/devtools/rendering-tools/index.md
@@ -64,7 +64,7 @@ If you notice quite a bit of jank (interruptions of rendering) in your JavaScrip
The following are common JavaScript problems and potential solutions.
| Problem | Example | Solution |
-|:--- |:--- |:--- |
+|---|---|---|
| Expensive input handlers affecting response or animation. | Touch, parallax scrolling. | Let the browser handle touch and scrolls, or bind the listener as late as possible. See [Expensive Input Handlers](https://calendar.perfplanet.com/2013/the-runtime-performance-checklist/#7_expensive_input_handlers) in _The Runtime Performance Checklist_ by Paul Lewis. |
| Badly timed JavaScript affecting response, animation, load. | User scrolls right after page load, setTimeout / setInterval. | Optimize JavaScript runtime: use `requestAnimationFrame`, spread DOM manipulation over frames, use Web Workers; see [Using Web Workers](https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers). |
| Long-running JavaScript affecting response. | The [DOMContentLoaded event](https://developer.mozilla.org/docs/Web/API/Document/DOMContentLoaded_event) stalls, because it's swamped with JavaScript work. | Move pure computational work to Web Workers; see [Using Web Workers](https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers). If you need DOM access, use `requestAnimationFrame`. |
@@ -108,7 +108,7 @@ To reduce the impact of `Recalculate Style` events, minimize use of CSS properti
The following table describes some common style problems and potential solutions.
| Problem | Example | Solution |
-|:--- |:--- |:--- |
+|---|---|---|
| Expensive style calculations affecting response or animation. | Any CSS property that changes the geometry of an element, like the width, height, or position; the browser checks all other elements and recalculates the layout. | Avoid CSS that triggers layouts. |
| Complex selectors affecting response or animation. | Nested selectors force the browser to know everything about all the other elements, including parents and children. | Reference an element in your CSS with just a class. |
@@ -155,7 +155,7 @@ The **Performance** pane identifies when a page causes forced synchronous layout
The following table describes some common layout problems and potential solutions.
| Problem | Example | Solution |
-|:--- |:--- |:--- |
+|---|---|---|
| Forced synchronous layout affecting response or animation. | Forcing the browser to perform layout earlier in the pixel pipeline, resulting in repeating steps in the rendering process. | Batch your style reads first, then do any writes. |
| Layout thrashing affecting response or animation. | A loop that puts the browser into a read-write-read-write cycle, forcing the browser to recalculate layout over and over again. | Automatically batch read-write operations using [FastDom library](https://github.com/wilsonpage/fastdom). |
@@ -200,7 +200,7 @@ The Timeline Tool page is deprecated.
The following table describes some common paint and composite problems and potential solutions.
| Problem | Example | Solution |
-|:--- |:--- |:--- |
+|---|---|---|
| Paint storms affecting response or animation. | Big paint areas or expensive paints affecting response or animation. | Avoid paint, promote elements that are moving to their own layer, use transforms and opacity. |
| Layer explosions affecting animations. | Overpromotion of too many elements with `translateZ(0)` greatly affects animation performance. | Promote to layers sparingly, and only when you know it offers tangible improvements. |
diff --git a/microsoft-edge/devtools/rendering-tools/js-runtime.md b/microsoft-edge/devtools/rendering-tools/js-runtime.md
index cd053f4774..4fd68c0f79 100644
--- a/microsoft-edge/devtools/rendering-tools/js-runtime.md
+++ b/microsoft-edge/devtools/rendering-tools/js-runtime.md
@@ -136,9 +136,9 @@ After you record a memory allocation sampling profile, view the recording as a f
The flame chart is split into two parts:
| index | Part | Description |
-| --- |:--- |:--- |
-| 1 | Overview | A birds-eye view of the entire recording. The height of the bars correspond to the depth of the call stack. So, the higher the bar, the deeper the call stack. |
-| 2 | Call Stacks | This is an in-depth view of the functions that were called during the recording. The horizontal axis is time and vertical axis is the call stack. The stacks are organized top-down. So, the function on top called the one below it, and so on. |
+|---|---|---|
+| 1 | Overview | A bird's-eye view of the entire recording. The height of the bars correspond to the depth of the call stack. So, the higher the bar, the deeper the call stack. |
+| 2 | Call Stacks | This is an in-depth view of the functions that were called during the recording. The horizontal axis is time and vertical axis is the call stack. The stacks are organized top-down. So, the function on top called the one below it, and so on. |
Functions are colored randomly. There is no correlation to the colors used in the other panels. However, functions are always colored the same across invocations, so that you can observe patterns in each runtime.
@@ -163,11 +163,11 @@ Click a function, to view it in the **Sources** tool.
Hover on a function to display the name and timing data:
| Detail | Description |
-|:--- |:--- |
-| **Name** | The name of the function. |
-| **Self size** | The size of the current invocation of the function, including only the statements in the function. |
-| **Total size** | The size of the current invocation of this function and any functions that it called. |
-| **URL** | The location of the function definition in the form of `base.js:261` where `base.js` is the name of the file where the function is defined and `261` is the line number of the definition. |
+|---|---|
+| **Name** | The name of the function. |
+| **Self size** | The size of the current invocation of the function, including only the statements in the function. |
+| **Total size** | The size of the current invocation of this function and any functions that it called. |
+| **URL** | The location of the function definition in the form of `base.js:261` where `base.js` is the name of the file where the function is defined and `261` is the line number of the definition. |
@@ -178,7 +178,7 @@ Hover on a function to display the name and timing data:
## Investigate memory allocation, with reduced garbage ("Include objects" checkboxes)
-By default, the **Allocation sampling** profiling type only reports allocations that are still alive at the end of the recording session. Objects that are created, removed, and then garbage collected (GC'd) aren't displayed in the **Memory** tool when profiling using the **Allocation sampling** or **Allocations on timeline** profiling types.
+By default, the **Allocation sampling** profiling type only reports allocations that are still alive at the end of the recording session. Objects that are created, removed, and then garbage-collected (GC'd) aren't displayed in the **Memory** tool when profiling using the **Allocation sampling** or **Allocations on timeline** profiling types.
You can trust the browser to clean up garbage from your code. However, it is important to consider that GC itself is an expensive operation and multiple GCs can slow down your user's experience of your website or app. When recording in the **Performance** tool with the **Memory** checkbox turned on, you can see the GC operation happen at the steep cliffs (sudden decreases) in the heap chart:
@@ -204,7 +204,7 @@ To track objects that are discarded by garbage collection:
1. Click the **Stop** button when you have finished all of your actions.
-DevTools now tracks all of the objects that were GC'd during the recording. Use these settings to understand how much garbage your website or app is generating. The data reported by **Allocation sampling** will help you identify the functions that are generating the most garbage.
+DevTools now tracks all of the objects that were garbage-collected (GC'd) during the recording. Use these settings to understand how much garbage your website or app is generating. The data reported by **Allocation sampling** will help you identify the functions that are generating the most garbage.
If you are investigating objects that were only GC'd during specific major or minor GC operations, configure the settings appropriately to track the operation you care about. To learn more about the differences between major and minor GC, see [Trash talk: the Orinoco garbage collector | V8 JavaScript engine developer blog](https://v8.dev/blog/trash-talk).
diff --git a/microsoft-edge/devtools/resources/index.md b/microsoft-edge/devtools/resources/index.md
index 3aa69b3b9b..a8686b5389 100644
--- a/microsoft-edge/devtools/resources/index.md
+++ b/microsoft-edge/devtools/resources/index.md
@@ -191,7 +191,7 @@ One way to view webpage resources grouped by file type is by using the **Frames*
1. In DevTools, on the **Activity Bar**, select the **Application** tab. If that tab isn't visible, click the **More Tools** () button.
The **Application** tool opens and by default shows the **Manifest** pane first:
-
+

1. Scroll down to the **Frames** pane and then expand the folder that you're interested in:
diff --git a/microsoft-edge/devtools/samples/index.md b/microsoft-edge/devtools/samples/index.md
index b36588184c..3c11368afb 100644
--- a/microsoft-edge/devtools/samples/index.md
+++ b/microsoft-edge/devtools/samples/index.md
@@ -225,7 +225,7 @@ If you want to just download the Demos repo instead of cloning it:
To download a single directory of the Demos repo:
-1. Go to [https://download-directory.github.io/](https://download-directory.github.io/) and then paste the URL [https://github.com/MicrosoftEdge/Demos/tree/main/demo-to-do](https://github.com/MicrosoftEdge/Demos/tree/main/demo-to-do).
+1. Go to [https://download-directory.github.io/](https://download-directory.github.io/) and then paste the URL [https://github.com/MicrosoftEdge/Demos/tree/main/demo-to-do](https://github.com/MicrosoftEdge/Demos/tree/main/demo-to-do).
The `.zip` file is placed in your download directory. Unzip these webpage source files into a suitable location.
diff --git a/microsoft-edge/devtools/sensors/index.md b/microsoft-edge/devtools/sensors/index.md
index fc2cbbb3ed..b4ef4dee9e 100644
--- a/microsoft-edge/devtools/sensors/index.md
+++ b/microsoft-edge/devtools/sensors/index.md
@@ -98,9 +98,9 @@ To override your geolocation, [open the Sensors tool](#open-the-sensors-tool) an
Mobile devices have sensors which can detect their physical orientation. Websites such as web-based games or mapping applications can make use of the device orientation to provide a better experience. To learn about how to detect the device orientation, see [Device orientation events](https://developer.mozilla.org/docs/Web/API/Device_orientation_events), at MDN.
-
+
If you're building a UI that changes depending on the orientation of the user's device, you need to test your UI under different device orientations.
-
+
To simulate different device orientations, [open the Sensors tool](#open-the-sensors-tool), and then, from the **Orientation** list, select one of the following:
* One of the preset orientations, like **Portrait upside down**:
@@ -242,7 +242,7 @@ To emulate CPU pressure on your website:
The **Sensors** tool opens in the **Quick View** panel at the bottom of DevTools.
-1. In the **Sensors** tool, scroll down to the **CPU pressure** section, and then select one of the [human-readable pressure states](https://developer.mozilla.org/docs/Web/API/Compute_Pressure_API#pressure_states):
+1. In the **Sensors** tool, scroll down to the **CPU pressure** section, and then select one of the [human-readable pressure states](https://developer.mozilla.org/docs/Web/API/Compute_Pressure_API#pressure_states):
* **No override**
* **Nominal**
@@ -272,7 +272,7 @@ MDN:
* [Pressure states](https://developer.mozilla.org/docs/Web/API/Compute_Pressure_API#pressure_states) in _Compute Pressure API_.
Demos:
-* [TODO app](https://microsoftedge.github.io/Demos/demo-to-do/)
+* [TODO app](https://microsoftedge.github.io/Demos/demo-to-do/)
* [Idle detection demo](https://microsoftedge.github.io/Demos/idle-detection/)
Emscripten:
diff --git a/microsoft-edge/devtools/sources/index.md b/microsoft-edge/devtools/sources/index.md
index e14205abd7..cd40432007 100644
--- a/microsoft-edge/devtools/sources/index.md
+++ b/microsoft-edge/devtools/sources/index.md
@@ -170,7 +170,7 @@ To change how resources are grouped:
Use the **Workspace** tab in the **Sources** tool to view and edit local files in DevTools. The **Workspace** tab is useful when used in conjunction with a local web server as you can then load your local website in Edge, and edit its source files in DevTools.
-When you add a folder to the **Workspace** tab, the files and subfolders in that folder are displayed in the tab, and you can open files to view and edit them.
+When you add a folder to the **Workspace** tab, the files and subfolders in that folder are displayed in the tab, and you can open files to view and edit them.
The **Workspace** tab does not show the resources that the browser downloaded to display the webpage; the **Workspace** tab only shows the folders and files that are inside the local folders that you added.
@@ -407,7 +407,7 @@ After submitting the form, `console.log('A')`, which is at global scope, doesn't
Minified files are automatically reformatted when you open them in the Editor pane.
-To revert the file to its original minified state, click the **Pretty print** button (), which is shown as braces, at the bottom of the Editor pane.
+To revert the file to its original minified state, click the **Pretty print** button (), which is shown as braces, at the bottom of the Editor pane.

diff --git a/microsoft-edge/devtools/sources/opening-sources-in-vscode.md b/microsoft-edge/devtools/sources/opening-sources-in-vscode.md
index 7a4d986a01..c5afee544f 100644
--- a/microsoft-edge/devtools/sources/opening-sources-in-vscode.md
+++ b/microsoft-edge/devtools/sources/opening-sources-in-vscode.md
@@ -26,7 +26,7 @@ With this experiment enabled, suppose that in Microsoft Edge, you go to a local

@@ -342,18 +342,18 @@ Use the Intersection Observer API to detect when the map becomes visible to the
const mapElIntersectionObserver = new IntersectionObserver(loadMapOnDemand);
mapElIntersectionObserver.observe(MAP_CONTAINER_EL);
-
+
let map = null;
-
+
function loadMapOnDemand(entries) {
if (map) {
return;
}
-
+
if (!entries.some(entry => entry.isIntersecting)) {
return;
}
-
+
const script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://www.bing.com/api/maps/mapcontrol?callback=GetMap&key=Ap_eazGgpq5468v9MXr7Wu0zh30LQActgaT-tI_QxZQSm-Bd5qJxVKs_2B7NsqR4';
@@ -406,7 +406,7 @@ The first task, then, is to find code that you don't need to run on page load.

- Only red bars are displayed in this source file, which means that the webpage doesn't need this file at all.
+ Only red bars are displayed in this source file, which means that the webpage doesn't need this file at all.
Now, remove the references to these files from the code:
@@ -519,7 +519,7 @@ Your latest report shows high **Time to Interactive** and **Total Blocking Time*
Scroll down to the **Diagnostics** section which says to **Minimize main-thread work** and **Reduce JavaScript execution time**. The main thread is where the browser does most of the work that's needed to display a page, such as:
* Parsing and running HTML.
-* Parsing and applying CSS to DOM elements.
+* Parsing and applying CSS to DOM elements.
* Running JavaScript.
In this case, it looks like the biggest bottleneck is that the page runs too much JavaScript code on page load.
diff --git a/microsoft-edge/devtools/storage/application-tool.md b/microsoft-edge/devtools/storage/application-tool.md
index 5a1ab5b11b..9beeb68cd6 100644
--- a/microsoft-edge/devtools/storage/application-tool.md
+++ b/microsoft-edge/devtools/storage/application-tool.md
@@ -48,7 +48,7 @@ The **Application** tool has the following pages, listed on the left:
* Preloads
* This page
-* Frames
+* Frames
* top
To interpret the **Storage** > **Usage** section in the **Application** tool, see [Storage quotas and eviction criteria](https://developer.mozilla.org/docs/Web/API/Storage_API/Storage_quotas_and_eviction_criteria) at MDN.
diff --git a/microsoft-edge/devtools/storage/cache.md b/microsoft-edge/devtools/storage/cache.md
index 0bc4003810..023dab1232 100644
--- a/microsoft-edge/devtools/storage/cache.md
+++ b/microsoft-edge/devtools/storage/cache.md
@@ -88,7 +88,7 @@ To learn more about cache data storage quota, see [Storage quotas and eviction c
1. Click the resource that you want to delete. DevTools highlights it to indicate that it is selected.
1. Click **Delete Selected** ():
-
+

diff --git a/microsoft-edge/devtools/storage/cookies.md b/microsoft-edge/devtools/storage/cookies.md
index fe34baf4cd..be3ab12202 100644
--- a/microsoft-edge/devtools/storage/cookies.md
+++ b/microsoft-edge/devtools/storage/cookies.md
@@ -86,7 +86,7 @@ The **Cookies** table contains the following fields:
* **Partition Key Site**. The _partition key_ of a cookie only exists when the cookie is set in partitioned storage and corresponds to the top-level site where the cookie was initially created. See [Cookies Having Independent Partitioned State (CHIPS)](https://developer.mozilla.org/docs/Web/Privacy/Guides/Privacy_sandbox/Partitioned_cookies) at MDN.
-* **Cross Site**. This attribute provides web developers a means to annotate cookies that are allowed to be set or sent in same-party, cross-site contexts.
+* **Cross Site**. This attribute provides web developers a means to annotate cookies that are allowed to be set or sent in same-party, cross-site contexts.
* **Priority**. Contains `low`, `medium` (default), or `high` if the cookie is using the deprecated [Cookie Priority](https://bugs.chromium.org/p/chromium/issues/detail?id=232693) attribute.
@@ -208,7 +208,7 @@ To view third-party cookies in the **Application** tool:
A tooltip reads **This attempt to set a cookie via a Set-Cookie header was blocked due to user preferences.**

-
+
**Stop blocking third-party cookies:**
1. In Microsoft Edge, select **Settings and more** () > **Settings** > **Privacy, search, and services**.
@@ -238,7 +238,7 @@ To view blocked third-party cookies in the **Network** tool:
DevTools opens.
-1. Select the **Network** tool.
+1. Select the **Network** tool.
1. Refresh the page.
diff --git a/microsoft-edge/devtools/storage/indexeddb.md b/microsoft-edge/devtools/storage/indexeddb.md
index 436fb1d85b..6c4a3f6137 100644
--- a/microsoft-edge/devtools/storage/indexeddb.md
+++ b/microsoft-edge/devtools/storage/indexeddb.md
@@ -86,7 +86,7 @@ IndexedDB keys and values aren't editable from the **Application** tool. Howeve
1. In DevTools, on the **Activity Bar**, select the **Console** tab.
1. In the **Console** tool, run JavaScript code to edit the IndexedDB data. For example, to add a new value to the `keyval` object store, run the following code:
-
+
```javascript
let connection = indexedDB.open("keyval-store", 1);
diff --git a/microsoft-edge/devtools/webauthn/index.md b/microsoft-edge/devtools/webauthn/index.md
index 13099c9e6d..c0a9ad9829 100644
--- a/microsoft-edge/devtools/webauthn/index.md
+++ b/microsoft-edge/devtools/webauthn/index.md
@@ -47,11 +47,11 @@ You can emulate authenticators and debug the [Web Authentication API](https://w3
1. In the **New authenticator** section, configure the following options:
| Option | Value | Details |
- |:--- |:--- |:--- |
- | `Protocol` | [ctap2](https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html) or [u2f](https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-overview-v1.2-ps-20170411.html) | The protocol the virtual authenticator uses for encoding and decoding |
- | `Transport` | `usb`, `nfc`, `ble`, or `internal` | The virtual authenticator simulates the selected transport for communicating with clients in order to obtain an assertion for a specific credential. See [Authenticator Transport Enumeration](https://w3c.github.io/webauthn#enum-transport) |
+ |---|---|---|
+ | `Protocol` | [ctap2](https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html) or [u2f](https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-overview-v1.2-ps-20170411.html) | The protocol the virtual authenticator uses for encoding and decoding. |
+ | `Transport` | `usb`, `nfc`, `ble`, or `internal` | The virtual authenticator simulates the selected transport for communicating with clients in order to obtain an assertion for a specific credential. See [Authenticator Transport Enumeration](https://w3c.github.io/webauthn#enum-transport). |
| `Supports resident keys` | Turn on (or off) using the checkbox | Turn on if your web app relies on resident keys (also known as client-side discoverable credentials). See [Resident Key Requirement Enumeration](https://w3c.github.io/webauthn#enum-residentKeyRequirement). |
- | `Supports user verification` | Turn on (or off) using the checkbox | Turn on if your web app relies on local authorization using gesture modalities like touch plus pin code, password entry, or biometric recognition. See [User Verification](https://w3c.github.io/webauthn#user-verification) |
+ | `Supports user verification` | Turn on (or off) using the checkbox | Turn on if your web app relies on local authorization using gesture modalities like touch plus pin code, password entry, or biometric recognition. See [User Verification](https://w3c.github.io/webauthn#user-verification). |
1. Click the **Add** button.
diff --git a/microsoft-edge/devtools/whats-new/143.md b/microsoft-edge/devtools/whats-new/143.md
index 12bd642f8a..a7343170a7 100644
--- a/microsoft-edge/devtools/whats-new/143.md
+++ b/microsoft-edge/devtools/whats-new/143.md
@@ -54,7 +54,7 @@ When you export a performance trace, you can choose to include:
* Resource content (HTML, CSS, and JavaScript content).
* Script source maps.
-You can also choose whether the trace file is compressed.
+You can also choose whether the trace file is compressed.
Exporting a trace that includes this additional data is useful when sharing traces with others for debugging.
diff --git a/microsoft-edge/devtools/whats-new/150.md b/microsoft-edge/devtools/whats-new/150.md
index 0660e0507d..b02ead0372 100644
--- a/microsoft-edge/devtools/whats-new/150.md
+++ b/microsoft-edge/devtools/whats-new/150.md
@@ -11,7 +11,7 @@ ms.date: 07/21/2026
# What's new in DevTools (Microsoft Edge 150)
-These are the latest features in the Stable release of Microsoft Edge DevTools.
+These are the latest features in the Stable release of Microsoft Edge DevTools.
diff --git a/microsoft-edge/devtools/whats-new/151.md b/microsoft-edge/devtools/whats-new/151.md
index bd64658363..91dab8ce53 100644
--- a/microsoft-edge/devtools/whats-new/151.md
+++ b/microsoft-edge/devtools/whats-new/151.md
@@ -10,7 +10,7 @@ ms.date: 07/30/2026
---
# What's new in DevTools (Microsoft Edge 151)
-These are the latest features in the Stable release of Microsoft Edge DevTools.
+These are the latest features in the Stable release of Microsoft Edge DevTools.
diff --git a/microsoft-edge/devtools/whats-new/2019/12/devtools.md b/microsoft-edge/devtools/whats-new/2019/12/devtools.md
index a881cf57f8..b7dadb2bf6 100644
--- a/microsoft-edge/devtools/whats-new/2019/12/devtools.md
+++ b/microsoft-edge/devtools/whats-new/2019/12/devtools.md
@@ -55,34 +55,42 @@ See also:
-Many developers use other developer tools, like StackOverflow and Visual Studio Code, in their native language, not just in English. We're excited to announce localization for the DevTools, which you can now use in one of 10 languages besides English:
-
-* Chinese (Simplified) - 中文(简体)
-* Chinese (Traditional) - 中文(繁體)
-* French – français
-* German - deutsch
-* Italian - italiano
-* Japanese - 日本語
-* Korean - 한국어
-* Portuguese - português
-* Russian – русский
-* Spanish - español
+Many developers use other developer tools, such as Visual Studio Code and StackOverflow, in their native language, not just in English. We're excited to announce localization for the DevTools, which you can now use in one of 10 languages besides English:
-
+* Chinese (Simplified) - 中文(简体)
+* Chinese (Traditional) - 中文(繁體)
+* French – français
+* German - deutsch
+* Italian - italiano
+* Japanese - 日本語
+* Korean - 한국어
+* Portuguese - português
+* Russian – русский
+* Spanish - español
+
+To have the DevTools UI automatically match the language that you use for Microsoft Edge:
+
+1. Go to `edge://flags` and set the **Enable localized Developer Tools** flag to **Enabled**.
+
+ Update 2026: These two flags no longer appear.
+
+1. Set the **Developer Tools experiments** flag to **Enabled**.
+
+1. Restart Microsoft Edge.
+
+1. Open DevTools.
+
+1. Go to **Settings** > **Preferences**, and then in the **Language** dropdown list, select **Browser UI language**.
+
+ The DevTools UI automatically matches the language that you use for Microsoft Edge in `edge://settings/languages`, such as German:
+
+ 
-Go to `edge://flags` and set the **Enable localized Developer Tools** flag to **Enabled**. Also set the **Developer Tools experiments** flag to **Enabled**. Restart Microsoft Edge and open the DevTools. The DevTools match the language you use for Microsoft Edge in `edge://settings/languages`.
+If you want Microsoft Edge to be in one language and your DevTools to remain in English, in DevTools > **Settings** (**F1**) > **Preferences**, and then select a language (such as **English - English**), rather than selecting **Browser UI language**.
-
+**Console** messages aren't localized. Only the strings used in the DevTools UI are displayed in the language you use for Microsoft Edge.
-If you want to use the DevTools in a different language than the ones that are available, [tweet](https://aka.ms/tweet/edgedevtools) at us or click the [Send Feedback](../../../contact.md) icon.
+If you want to use DevTools in a different language than the ones that are available, [tweet](https://aka.ms/tweet/edgedevtools) at the Microsoft Edge DevTools team, or click the [Send Feedback](../../../contact.md) icon.
Chromium issue [#941561](https://crbug.com/941561)
diff --git a/microsoft-edge/devtools/whats-new/2020/01/devtools.md b/microsoft-edge/devtools/whats-new/2020/01/devtools.md
index 6bb1642466..9f3d2419ae 100644
--- a/microsoft-edge/devtools/whats-new/2020/01/devtools.md
+++ b/microsoft-edge/devtools/whats-new/2020/01/devtools.md
@@ -55,38 +55,42 @@ See also:
-Many developers use other developer tools, like StackOverflow and Visual Studio Code, in their native language, not just in English. We're excited to announce localization for the DevTools, which you can now use in one of 10 languages besides English:
-
-* Chinese (Simplified) - 中文(简体)
-* Chinese (Traditional) - 中文(繁體)
-* French – français
-* German - deutsch
-* Italian - italiano
-* Japanese - 日本語
-* Korean - 한국어
-* Portuguese - português
-* Russian – русский
-* Spanish - español
-
-
-
-The DevTools automatically match the language you use for Microsoft Edge in `edge://settings/languages`.
-
-If you want Microsoft Edge to be in one language and your DevTools to remain in English, press **F1** in DevTools to open [Settings](../../../customize/index.md#settings) and disable **Match browser language**.
-
-
+Many developers use other developer tools, such as Visual Studio Code and StackOverflow, in their native language, not just in English. We're excited to announce localization for DevTools, which you can now use in one of 10 languages besides English:
+
+* Chinese (Simplified) - 中文(简体)
+* Chinese (Traditional) - 中文(繁體)
+* French – français
+* German - deutsch
+* Italian - italiano
+* Japanese - 日本語
+* Korean - 한국어
+* Portuguese - português
+* Russian – русский
+* Spanish - español
+
+To have the DevTools UI automatically match the language that you use for Microsoft Edge:
+
+1. Go to `edge://flags` and set the **Enable localized Developer Tools** flag to **Enabled**.
+
+ Update 2026: These two flags no longer appear.
+
+1. Set the **Developer Tools experiments** flag to **Enabled**.
+
+1. Restart Microsoft Edge.
+
+1. Open DevTools.
+
+1. Go to **Settings** > **Preferences**, and then in the **Language** dropdown list, select **Browser UI language**.
+
+ The DevTools UI automatically matches the language that you use for Microsoft Edge in `edge://settings/languages`, such as German:
+
+ 
+
+If you want Microsoft Edge to be in one language and your DevTools to remain in English, in DevTools > **Settings** (**F1**) > **Preferences**, and then select a language (such as **English - English**), rather than selecting **Browser UI language**.
**Console** messages aren't localized. Only the strings used in the DevTools UI are displayed in the language you use for Microsoft Edge.
-If you want to use the DevTools in a different language than the ones that are available, [tweet](https://twitter.com/intent/tweet?text=@EdgeDevTools) at us or click the **Send Feedback** icon.
+If you want to use DevTools in a different language than the ones that are available, [tweet](https://aka.ms/tweet/edgedevtools) at the Microsoft Edge DevTools team, or click the [Send Feedback](../../../contact.md) icon.
Chromium issue [#941561](https://crbug.com/941561)
diff --git a/microsoft-edge/devtools/whats-new/2020/05/devtools.md b/microsoft-edge/devtools/whats-new/2020/05/devtools.md
index 918dd83513..ca8e7517ab 100644
--- a/microsoft-edge/devtools/whats-new/2020/05/devtools.md
+++ b/microsoft-edge/devtools/whats-new/2020/05/devtools.md
@@ -64,7 +64,7 @@ To try the experiment:
1. Open **Settings** again, and select the **Shortcuts** section.
-1. Click the **Match shortcuts from preset** dropdown list, select **DevTools (Default)**, and then select **Visual Studio Code**.
+1. Click the **Match shortcuts from preset** dropdown list, select **DevTools (Default)**, and then select **Visual Studio Code**.
The keyboard shortcuts in DevTools now match the shortcuts for equivalent actions in Visual Studio Code.
diff --git a/microsoft-edge/devtools/whats-new/2020/08/devtools.md b/microsoft-edge/devtools/whats-new/2020/08/devtools.md
index 4b3965e9dc..33ea69c3c8 100644
--- a/microsoft-edge/devtools/whats-new/2020/08/devtools.md
+++ b/microsoft-edge/devtools/whats-new/2020/08/devtools.md
@@ -129,7 +129,7 @@ See also:
Chromium issue: [#1094406](https://crbug.com/1094406)
-
#### Frame details view updates
-In the **Application** tool, there's a **Frames** section that provides a detailed view for each frame.
+In the **Application** tool, there's a **Frames** section that provides a detailed view for each frame.
See also:
* [Application tool, to manage storage](../../../storage/application-tool.md)
diff --git a/microsoft-edge/devtools/whats-new/2021/01/devtools.md b/microsoft-edge/devtools/whats-new/2021/01/devtools.md
index 076721893c..554a7ea14b 100644
--- a/microsoft-edge/devtools/whats-new/2021/01/devtools.md
+++ b/microsoft-edge/devtools/whats-new/2021/01/devtools.md
@@ -215,10 +215,13 @@ See also:
The [Microsoft Edge Developer Tools for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-edgedevtools.vscode-edge-devtools) extension version 1.1.2 for Microsoft Visual Studio Code has the following changes since the previous release. Microsoft Visual Studio Code updates extensions automatically. To manually update to version 1.1.2, see [Update an extension manually](https://code.visualstudio.com/docs/editor/extension-gallery#_update-an-extension-manually).
* Added a **Close instance** button to each item on the target list ([#248](https://github.com/microsoft/vscode-edge-devtools/pull/248))
+
* Bumped Microsoft Edge DevTools version from 84.0.522.63 to [85.0.564.40](../../2020/06/devtools.md) ([#235](https://github.com/microsoft/vscode-edge-devtools/pull/235))
-* Included "Debugger for Microsoft Edge" as a dependency ([#233](https://github.com/microsoft/vscode-edge-devtools/pull/233)).
+
+* Included "Debugger for Microsoft Edge" as a dependency ([#233](https://github.com/microsoft/vscode-edge-devtools/pull/233)).
+
* Implemented settings option to change extension themes ([#229](https://github.com/microsoft/vscode-edge-devtools/pull/229))
You can file issues and contribute to the extension on the [vscode-edge-devtools GitHub repo](https://github.com/microsoft/vscode-edge-devtools).
@@ -299,7 +302,7 @@ You can now copy CSS properties quicker with a few new options in the right-clic
Copy options for a CSS class in the right-click menu:
| Option | Details |
-|:--- |:--- |
+|---|---|
| **Copy selector** | Copy the current selector name. |
| **Copy rule** | Copy the rule of the current selector. |
| **Copy all declarations** | Copy all declarations under the current rule, including non-valid and prefixed properties. |
@@ -309,7 +312,7 @@ Copy options for a CSS class in the right-click menu:
Copy options for a CSS property in the right-click menu:
| Option | Details |
-|:--- |:--- |
+|---|---|
| **Copy declaration** | Copy the declaration of the current line. |
| **Copy property** | Copy the property of the current line. |
| **Copy value** | Copy the value of the current line. |
diff --git a/microsoft-edge/devtools/whats-new/2021/02/devtools.md b/microsoft-edge/devtools/whats-new/2021/02/devtools.md
index e6aa866119..3b4ce6997f 100644
--- a/microsoft-edge/devtools/whats-new/2021/02/devtools.md
+++ b/microsoft-edge/devtools/whats-new/2021/02/devtools.md
@@ -45,7 +45,7 @@ To turn on the experiment, see [Turning an experiment on or off](../../../experi
-The DevTools Tooltips feature helps you learn about all the different tools and panes. Hover over each outlined region of DevTools to learn more about how to use the tool. To turn on Tooltips, do one of the following:
+The DevTools Tooltips feature helps you learn about all the different tools and panes. Hover over each outlined region of DevTools to learn more about how to use the tool. To turn on Tooltips, do one of the following:
* Select **Customize and control DevTools** (`...`) > **Help** > **Toggle the DevTools Tooltips**.
@@ -56,7 +56,7 @@ Then hover over each outlined region of DevTools:

-To turn off Tooltips, press **Esc**.
+To turn off Tooltips, press **Esc**.
Update: This feature has been released and is no longer experimental.
-The DevTools Tooltips feature helps you learn about all the different tools and panes. Hover over each outlined region of DevTools to learn more about how to use the tool. To turn on Tooltips, do any of the following:
+The DevTools Tooltips feature helps you learn about all the different tools and panes. Hover over each outlined region of DevTools to learn more about how to use the tool. To turn on Tooltips, do any of the following:
* Select **Customize and control DevTools** (`...`) > **Help** > **Toggle the DevTools Tooltips**.
diff --git a/microsoft-edge/devtools/whats-new/2021/10/devtools.md b/microsoft-edge/devtools/whats-new/2021/10/devtools.md
index 312b8157af..268f4c7fa4 100644
--- a/microsoft-edge/devtools/whats-new/2021/10/devtools.md
+++ b/microsoft-edge/devtools/whats-new/2021/10/devtools.md
@@ -164,7 +164,7 @@ The **Command Menu** has been enhanced to make it easier to search for a file.
See also:
* [Command Menu](../../../command-menu/index.md)
-For the history of this feature, see Chromium issue [1201997](https://crbug.com/1201997).
+For the history of this feature, see Chromium issue [1201997](https://crbug.com/1201997).
diff --git a/microsoft-edge/devtools/whats-new/2021/11/devtools.md b/microsoft-edge/devtools/whats-new/2021/11/devtools.md
index 0baa79934e..026133420e 100644
--- a/microsoft-edge/devtools/whats-new/2021/11/devtools.md
+++ b/microsoft-edge/devtools/whats-new/2021/11/devtools.md
@@ -74,7 +74,7 @@ See also:
For general information about this extension, see [Microsoft Edge DevTools extension for Visual Studio Code](../../../../visual-studio-code/microsoft-edge-devtools-extension.md).
-
+
@@ -107,7 +107,7 @@ For details, see [Inline and live issue analysis](../../../../visual-studio-code
-In Microsoft Edge version 96, the **Sources** tool now provides several indications in the UI when DevTools cannot load your sourcemaps. In the **Page** tab in the **Navigator** pane in the **Sources** tool, files that DevTools can't load sourcemaps for have a warning icon in place of the file icon.
+In Microsoft Edge version 96, the **Sources** tool now provides several indications in the UI when DevTools cannot load your sourcemaps. In the **Page** tab in the **Navigator** pane in the **Sources** tool, files that DevTools can't load sourcemaps for have a warning icon in place of the file icon.
Selecting a file with the warning icon opens the file in the Sources tool with an infobar indicating that DevTools either couldn't fetch the sourcemap correctly from the server or couldn't parse the sourcemap correctly:
diff --git a/microsoft-edge/devtools/whats-new/2022/03/devtools.md b/microsoft-edge/devtools/whats-new/2022/03/devtools.md
index 087a855eaf..030addbc4d 100644
--- a/microsoft-edge/devtools/whats-new/2022/03/devtools.md
+++ b/microsoft-edge/devtools/whats-new/2022/03/devtools.md
@@ -25,7 +25,7 @@ These are the latest features in the Stable release of Microsoft Edge DevTools.
-Azure Artifacts Symbol Server now supports storing the source maps that your build process produces when compiling, minifying, and bundling your code. Instead of hosting source maps on your public server, you can now publish your source maps to the secure Azure Artifacts Symbol Server. Then, connect DevTools to Symbol Server to have DevTools automatically fetch your source maps.
+Azure Artifacts Symbol Server now supports storing the source maps that your build process produces when compiling, minifying, and bundling your code. Instead of hosting source maps on your public server, you can now publish your source maps to the secure Azure Artifacts Symbol Server. Then, connect DevTools to Symbol Server to have DevTools automatically fetch your source maps.
By using source maps, you can see and debug your original source code in DevTools, rather than having to work with the compiled, minified, and bundled production code that's returned by your server. Hosting your source maps on the Azure Artifacts Symbol Server allows you to see and work with your source code securely and privately, instead of placing your source maps on your server and revealing your original code publicly.
@@ -47,7 +47,7 @@ See also:
-Following up on the success of the Visual Studio Code integration, you can now also embed the Microsoft Edge Developer Tools in Microsoft Visual Studio to debug your ASP.NET projects live. Download the [Microsoft Edge Developer Tools for Visual Studio](https://aka.ms/edgetools-for-vs) and try it out.
+Following up on the success of the Visual Studio Code integration, you can now also embed the Microsoft Edge Developer Tools in Microsoft Visual Studio to debug your ASP.NET projects live. Download the [Microsoft Edge Developer Tools for Visual Studio](https://aka.ms/edgetools-for-vs) and try it out.
To try this feature:
1. Make sure Visual Studio 2022 and the ASP.NET workload are installed.
diff --git a/microsoft-edge/devtools/whats-new/2022/09/devtools-106.md b/microsoft-edge/devtools/whats-new/2022/09/devtools-106.md
index d0c19e8574..0e5ff87880 100644
--- a/microsoft-edge/devtools/whats-new/2022/09/devtools-106.md
+++ b/microsoft-edge/devtools/whats-new/2022/09/devtools-106.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 106)
-description: "Introducing the Command Palette. Filter and automatically fix code issues in DevTools for Visual Studio Code. DevTools now uses less disk space when caching sourcemaps. Chromium color themes have been deprecated. Accessibility improvements in Focus Mode and high contrast mode. And more."
+description: Introducing the Command Palette. Filter and automatically fix code issues in DevTools for Visual Studio Code. DevTools now uses less disk space when caching sourcemaps. Chromium color themes have been deprecated. Accessibility improvements in Focus Mode and high contrast mode. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
@@ -35,7 +35,7 @@ To enable the Command Palette experiment:
1. In the **Command Palette** dropdown menu, select **Enabled**:
-
+

Note the keyboard shortcut, which is shown in the **Command Palette** section on the `edge://flags` page.
@@ -65,7 +65,7 @@ Let us know what commands you'd like to see in future versions of Microsoft Edge
## Filter and automatically fix code issues in DevTools for Visual Studio Code
-
+
The Microsoft Edge DevTools extension for Visual Studio Code now provides **Quick Fix** options, allowing you to fix issues automatically.
To access the **Quick Fix** options:
@@ -114,7 +114,7 @@ See also:
To improve reliability, the **Chromium Light** and **Chromium Dark** themes have been deprecated. Users who previously had these themes selected will be automatically migrated to the **Light+** or **Dark+** theme, respectively:
-DevTools in **Light+** theme:
+DevTools in **Light+** theme:

@@ -149,7 +149,7 @@ See also:
#### Computed styles are easier to see in high contrast mode
In high contrast mode, in previous versions of Microsoft Edge, the expand and collapse buttons for computed styles didn't render correctly, in the **Computed** tab in the **Elements** tool. In Microsoft Edge 106, this issue has been fixed. The expand and collapse buttons are now visible in high contrast mode:
-
+

See also:
diff --git a/microsoft-edge/devtools/whats-new/2022/10/devtools-107.md b/microsoft-edge/devtools/whats-new/2022/10/devtools-107.md
index 11520cff0c..cf175553c9 100644
--- a/microsoft-edge/devtools/whats-new/2022/10/devtools-107.md
+++ b/microsoft-edge/devtools/whats-new/2022/10/devtools-107.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 107)
-description: "Automate WebView2 with Playwright. Focus Mode Activity Bar icons have tooltips. New shortcut key for Command Palette. Memory tool loads larger heap snapshots. Links in Application tool render in high contrast mode. And more."
+description: Automate WebView2 with Playwright. Focus Mode Activity Bar icons have tooltips. New shortcut key for Command Palette. Memory tool loads larger heap snapshots. Links in Application tool render in high contrast mode. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
@@ -91,7 +91,7 @@ See also:
In previous versions of Microsoft Edge, links in the **Application** tool didn't render correctly in high contrast mode. The links weren't visible, and they weren't the same color as defined in the high contrast setting. In Microsoft Edge 107, this issue has been fixed. Links in the **Application** tool now match the color that's defined in the high contrast setting:

-
+
See also:
* [Windows high contrast mode](/fluent-ui/web-components/design-system/high-contrast)
* [Debug a Progressive Web App (PWA)](../../../progressive-web-apps/index.md)
diff --git a/microsoft-edge/devtools/whats-new/2022/12/devtools-108.md b/microsoft-edge/devtools/whats-new/2022/12/devtools-108.md
index 72344c11aa..ebb18d766a 100644
--- a/microsoft-edge/devtools/whats-new/2022/12/devtools-108.md
+++ b/microsoft-edge/devtools/whats-new/2022/12/devtools-108.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 108)
-description: "Microsoft Edge WebDriver is now available for macOS running on Apple M1. Improved DevTools navigation via Command Palette. Better support for high contrast mode in DevTools. In Focus Mode, disabling JavaScript now produces a warning icon for the Sources tool. And more."
+description: Microsoft Edge WebDriver is now available for macOS running on Apple M1. Improved DevTools navigation via Command Palette. Better support for high contrast mode in DevTools. In Focus Mode, disabling JavaScript now produces a warning icon for the Sources tool. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
diff --git a/microsoft-edge/devtools/whats-new/2023/01/devtools-109.md b/microsoft-edge/devtools/whats-new/2023/01/devtools-109.md
index a09fe5a46e..eff146d4f0 100644
--- a/microsoft-edge/devtools/whats-new/2023/01/devtools-109.md
+++ b/microsoft-edge/devtools/whats-new/2023/01/devtools-109.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 109)
-description: "Export DevTools instances with enhanced traces. Debug Recalculate Styles events in Performance tool with selector stats. Track GC'd objects when Allocation sampling in Memory tool. Heap Snapshot Visualizer. Quick View in Focus Mode has all tools. Navigate directly to Styles in Elements tool. And more."
+description: Export DevTools instances with enhanced traces. Debug Recalculate Styles events in Performance tool with selector stats. Track GC'd objects when Allocation sampling in Memory tool. Heap Snapshot Visualizer. Quick View in Focus Mode has all tools. Navigate directly to Styles in Elements tool. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
@@ -114,7 +114,7 @@ Without selecting these options, the **Memory** tool will continue to work as it
Select both options if you want to track garbage that is being generated by your website or app. In the resulting profile, you'll be able to see garbage that was generated by your JavaScript functions that was then GC'd. Use these options if you want to reduce the amount of garbage that your code is generating. To learn more about the differences between major and minor GC, see [Trash talk: the Orinoco garbage collector](https://v8.dev/blog/trash-talk).

-
+
See also:
* [Investigate memory allocation, with reduced garbage ("Include objects" checkboxes)](../../../rendering-tools/js-runtime.md#investigate-memory-allocation-with-reduced-garbage-include-objects-checkboxes) in _Speed up JavaScript runtime ("Allocation sampling" profiling type)_.
diff --git a/microsoft-edge/devtools/whats-new/2023/02/devtools-110.md b/microsoft-edge/devtools/whats-new/2023/02/devtools-110.md
index 9143eae144..58657b29bc 100644
--- a/microsoft-edge/devtools/whats-new/2023/02/devtools-110.md
+++ b/microsoft-edge/devtools/whats-new/2023/02/devtools-110.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 110)
-description: "Faster heap snapshots in Memory tool. Move tools between Activity Bar and Quick View in Focus Mode. Screen readers report when More Tools is expanded. Change Dock and Activity Bar location via keyboard. Screen readers announce which theme is selected. Improved support for contrast themes. And more."
+description: Faster heap snapshots in Memory tool. Move tools between Activity Bar and Quick View in Focus Mode. Screen readers report when More Tools is expanded. Change Dock and Activity Bar location via keyboard. Screen readers announce which theme is selected. Improved support for contrast themes. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
diff --git a/microsoft-edge/devtools/whats-new/2023/03/devtools-111.md b/microsoft-edge/devtools/whats-new/2023/03/devtools-111.md
index 39608c6993..51751d942b 100644
--- a/microsoft-edge/devtools/whats-new/2023/03/devtools-111.md
+++ b/microsoft-edge/devtools/whats-new/2023/03/devtools-111.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 111)
-description: "Remote debugging of Microsoft Edge, PWAs, and WebView2 controls on HoloLens 2 devices. Device Mode toolbar has emulation controls for themes and vision deficiencies. Performance tool unminifies file and function names while profiling. Styles tab easier to use in Focus Mode. Copy Selector Stats table from Performance tool. In Focus Mode, assistive tech announces tool moved to Quick View. And more."
+description: Remote debugging of Microsoft Edge, PWAs, and WebView2 controls on HoloLens 2 devices. Device Mode toolbar has emulation controls for themes and vision deficiencies. Performance tool unminifies file and function names while profiling. Styles tab easier to use in Focus Mode. Copy Selector Stats table from Performance tool. In Focus Mode, assistive tech announces tool moved to Quick View. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
diff --git a/microsoft-edge/devtools/whats-new/2023/04/devtools-112.md b/microsoft-edge/devtools/whats-new/2023/04/devtools-112.md
index 8a58b05b76..211a0da528 100644
--- a/microsoft-edge/devtools/whats-new/2023/04/devtools-112.md
+++ b/microsoft-edge/devtools/whats-new/2023/04/devtools-112.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 112)
-description: "The Performance tool can now unminify JavaScript running in out-of-process iframes, the CSS overview tool displays a list of non-simple selectors for quick performance wins, and more."
+description: The Performance tool can now unminify JavaScript running in out-of-process iframes, the CSS overview tool displays a list of non-simple selectors for quick performance wins, and more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
diff --git a/microsoft-edge/devtools/whats-new/2023/05/devtools-113.md b/microsoft-edge/devtools/whats-new/2023/05/devtools-113.md
index 78efbfa084..f9e0b39e6f 100644
--- a/microsoft-edge/devtools/whats-new/2023/05/devtools-113.md
+++ b/microsoft-edge/devtools/whats-new/2023/05/devtools-113.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 113)
-description: "Debug JavaScript error stack traces with the experimental Crash analyzer tool. The Memory tool can now unminify object names in heap snapshots. The Issues tool has better support for keyboard navigation. And more."
+description: Debug JavaScript error stack traces with the experimental Crash analyzer tool. The Memory tool can now unminify object names in heap snapshots. The Issues tool has better support for keyboard navigation. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
diff --git a/microsoft-edge/devtools/whats-new/2023/06/devtools-114.md b/microsoft-edge/devtools/whats-new/2023/06/devtools-114.md
index 95ef074cf1..4b7edd9594 100644
--- a/microsoft-edge/devtools/whats-new/2023/06/devtools-114.md
+++ b/microsoft-edge/devtools/whats-new/2023/06/devtools-114.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 114)
-description: "Aggregate Selector Stats in Performance tool. Issues tool warns when CSS properties trigger Layout. Memory tool loads enhanced traces larger than 1 GB. Memory tool accurately compares heap snapshots. CSS overview accessibility improvements. Debugging Microsoft Edge in VS Code supports high contrast. And more."
+description: Aggregate Selector Stats in Performance tool. Issues tool warns when CSS properties trigger Layout. Memory tool loads enhanced traces larger than 1 GB. Memory tool accurately compares heap snapshots. CSS overview accessibility improvements. Debugging Microsoft Edge in VS Code supports high contrast. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
diff --git a/microsoft-edge/devtools/whats-new/2023/07/devtools-115.md b/microsoft-edge/devtools/whats-new/2023/07/devtools-115.md
index 1885dcb82d..6096a78298 100644
--- a/microsoft-edge/devtools/whats-new/2023/07/devtools-115.md
+++ b/microsoft-edge/devtools/whats-new/2023/07/devtools-115.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 115)
-description: "Improvements for connecting DevTools to Azure Artifacts symbol server. Snapshotting improvements for the Memory tool. Refreshing the DevTools icons and buttons. And more."
+description: Improvements for connecting DevTools to Azure Artifacts symbol server. Snapshotting improvements for the Memory tool. Refreshing the DevTools icons and buttons. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
@@ -13,7 +13,7 @@ ms.date: 08/18/2023
These are the latest features in the Stable release of Microsoft Edge DevTools.
-
-## Accessibility fixes
+## Accessibility fixes
In Microsoft Edge 117, the following accessibility issues have been addressed:
diff --git a/microsoft-edge/devtools/whats-new/2023/10/devtools-118.md b/microsoft-edge/devtools/whats-new/2023/10/devtools-118.md
index 5c8d761fd2..845f5b9a83 100644
--- a/microsoft-edge/devtools/whats-new/2023/10/devtools-118.md
+++ b/microsoft-edge/devtools/whats-new/2023/10/devtools-118.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 118)
-description: "DevTools defaults to no throttling instead of offline. Updates to the 'Explain console errors/warnings with Copilot in Sidebar' experiment. And more."
+description: DevTools defaults to no throttling instead of offline. Updates to the 'Explain console errors/warnings with Copilot in Sidebar' experiment. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
@@ -13,7 +13,7 @@ ms.date: 10/12/2023
These are the latest features in the Stable release of Microsoft Edge DevTools.
-
-Use the **Recorder** tool to help you record and replay common user flows and measure performance. You can edit your recordings and share them by importing and exporting.
+Use the **Recorder** tool to help you record and replay common user flows and measure performance. You can edit your recordings and share them by importing and exporting.
The initial view in the **Recorder** tool gives an overview of how to use the tool:
diff --git a/microsoft-edge/devtools/whats-new/2024/01/devtools-121.md b/microsoft-edge/devtools/whats-new/2024/01/devtools-121.md
index ec3bfc8fac..fb6613377d 100644
--- a/microsoft-edge/devtools/whats-new/2024/01/devtools-121.md
+++ b/microsoft-edge/devtools/whats-new/2024/01/devtools-121.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 121)
-description: "Z-index and DOM tabs in 3D View tool working correctly. Correct Hide debugger or Show debugger icon in Sources tool. Source map support in Coverage tool. Advanced filtering in Bottom-up, Call tree, and Event log tabs in Performance tool. Window Controls Overlay section for PWAs, in Application tool's Manifest section. And more."
+description: Z-index and DOM tabs in 3D View tool working correctly. Correct Hide debugger or Show debugger icon in Sources tool. Source map support in Coverage tool. Advanced filtering in Bottom-up, Call tree, and Event log tabs in Performance tool. Window Controls Overlay section for PWAs, in Application tool's Manifest section. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
@@ -13,7 +13,7 @@ ms.date: 01/25/2024
These are the latest features in the Stable release of Microsoft Edge DevTools.
-
diff --git a/microsoft-edge/devtools/whats-new/2025/01/devtools-132.md b/microsoft-edge/devtools/whats-new/2025/01/devtools-132.md
index 098a798311..7380e6aae0 100644
--- a/microsoft-edge/devtools/whats-new/2025/01/devtools-132.md
+++ b/microsoft-edge/devtools/whats-new/2025/01/devtools-132.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 132)
-description: "CSS selector costs include links in Insights sidebar. Right-click a tab to move it left or right in Quick View. Heap snapshot objects categorized by constructor names and source locations in Memory tool. And more."
+description: CSS selector costs include links in Insights sidebar. Right-click a tab to move it left or right in Quick View. Heap snapshot objects categorized by constructor names and source locations in Memory tool. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
@@ -20,7 +20,7 @@ These are the latest features in the Stable release of Microsoft Edge DevTools.
The left sidebar in the **Performance** tool displays the costs of CSS selectors in the **Insights** tab when the **Enable CSS selector stats (slow)** checkbox is enabled. Now, the selectors have links to the stylesheets that contain them.
-Some selectors might have more than one link when they are defined in multiple locations in a stylesheet or defined in multiple stylesheets. For example, two links will be shown as **[1], [2]**. Selectors from user agent stylesheets or dynamically created stylesheets won't have links.
+Some selectors might have more than one link when they are defined in multiple locations in a stylesheet or defined in multiple stylesheets. For example, two links will be shown as **[1], [2]**. Selectors from user agent stylesheets or dynamically created stylesheets won't have links.

diff --git a/microsoft-edge/devtools/whats-new/2025/02/devtools-133.md b/microsoft-edge/devtools/whats-new/2025/02/devtools-133.md
index a194fe3066..2aa3080724 100644
--- a/microsoft-edge/devtools/whats-new/2025/02/devtools-133.md
+++ b/microsoft-edge/devtools/whats-new/2025/02/devtools-133.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 133)
-description: "Move a tab left or right within the Elements or Sources tool. Screen reader improvements. And more."
+description: Move a tab left or right within the Elements or Sources tool. Screen reader improvements. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
diff --git a/microsoft-edge/devtools/whats-new/2025/03/devtools-134.md b/microsoft-edge/devtools/whats-new/2025/03/devtools-134.md
index 1ef99a25e3..702c7a500c 100644
--- a/microsoft-edge/devtools/whats-new/2025/03/devtools-134.md
+++ b/microsoft-edge/devtools/whats-new/2025/03/devtools-134.md
@@ -1,6 +1,6 @@
---
title: What's new in DevTools (Microsoft Edge 134)
-description: "Forced reflow in the Performance Insights sidebar. Heap snapshot statistics account for every byte. Simplified DevTools Themes menu. And more."
+description: Forced reflow in the Performance Insights sidebar. Heap snapshot statistics account for every byte. Simplified DevTools Themes menu. And more.
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
@@ -24,7 +24,7 @@ The **Performance Insights** sidebar includes a new section called **Forced Refl
-## Heap snapshot statistics account for every byte
+## Heap snapshot statistics account for every byte
diff --git a/microsoft-edge/devtools/whats-new/2025/05/devtools-136.md b/microsoft-edge/devtools/whats-new/2025/05/devtools-136.md
index 4e047415e3..617aab996b 100644
--- a/microsoft-edge/devtools/whats-new/2025/05/devtools-136.md
+++ b/microsoft-edge/devtools/whats-new/2025/05/devtools-136.md
@@ -18,7 +18,7 @@ These are the latest features in the Stable release of Microsoft Edge DevTools.
-You can now easily identify semantic issues in the DOM tree of the **Elements** tool, such as:
+You can now easily identify semantic issues in the DOM tree of the **Elements** tool, such as:
* An invalid descendant of ``.
* Mismatched ARIA definitions.
* Missing ARIA attributes.
diff --git a/microsoft-edge/devtools/whats-new/2025/06/devtools-137.md b/microsoft-edge/devtools/whats-new/2025/06/devtools-137.md
index 6530b63855..a46194c77d 100644
--- a/microsoft-edge/devtools/whats-new/2025/06/devtools-137.md
+++ b/microsoft-edge/devtools/whats-new/2025/06/devtools-137.md
@@ -32,7 +32,7 @@ To enable DevTools **Settings** sync:
Your signed-in Microsoft Edge profile is displayed.
-1. In DevTools **Settings**, click the **Close** () button.
+1. In DevTools **Settings**, click the **Close** () button.
diff --git a/microsoft-edge/devtools/workspaces/workspace-tutorial.md b/microsoft-edge/devtools/workspaces/workspace-tutorial.md
index 5ab5e4a2b0..d958805f09 100644
--- a/microsoft-edge/devtools/workspaces/workspace-tutorial.md
+++ b/microsoft-edge/devtools/workspaces/workspace-tutorial.md
@@ -23,7 +23,7 @@ ms.date: 04/22/2025
limitations under the License. -->
# Workspace tutorial (Sources tool Workspace tab)
-Use the following steps to use DevTools as an IDE, such as making webpage edits in the **Sources** tool's **Workspace** tab, saving changes to the source files on disk.
+Use the following steps to use DevTools as an IDE, such as making webpage edits in the **Sources** tool's **Workspace** tab, saving changes to the source files on disk.
You can read or follow these steps that show how to set up and using a workspace in DevTools. After you set up a workspace, the changes that you make to the files in the workspace, by using DevTools, are saved on your local computer.
@@ -112,7 +112,7 @@ Continue with the next section.
cd ~/GitHub/demos/workspaces
python -m SimpleHTTPServer
```
-
+
``` bash
# Python 3 option
cd ~/GitHub/demos/workspaces
diff --git a/microsoft-edge/dualengine/concepts/launching-internet-explorer.md b/microsoft-edge/dualengine/concepts/launching-internet-explorer.md
index eb74320e14..4f1bc83701 100644
--- a/microsoft-edge/dualengine/concepts/launching-internet-explorer.md
+++ b/microsoft-edge/dualengine/concepts/launching-internet-explorer.md
@@ -73,22 +73,22 @@ Contains a DWORD that indicates the location of the failure in the DualEngine st
The DWORD maps to the following reasons:
-| DWORD | Reason |
-|:-----:|-----------------------------------------------------------------------------------------------------|
-| 0 | No failure. |
-| 1 | Unused. |
-| 2 | Unused. |
-| 3 | The version specified by the `DualEngineVersion` argument was 0. |
-| 4 | Failed to canonicalize the path passed in via `DualEngineAdapter`; see the `StartupFailureHresult`. |
-| 5 | Unused. |
-| 6 | Unused. |
-| 7 | `LoadLibrary` failed for the provided adapter DLL; see the `StartupFailureHresult`. |
-| 8 | Could not find `DualEngineInitialize` in the adapter DLL. |
-| 9 | The call to `DualEngineInitialize` failed; see the `StartupFailureHresult`. |
-| 10 | Failed to set the provided Application User Model ID; see the `StartupFailureHresult`. |
-| 11 | DLL failed signature check. |
-| 12 | Unused. |
-| 13 | DLL did not have IDENTITY LIMITEDACCESSFEATURE resource. |
+| DWORD | Reason |
+|---|---|
+| 0 | No failure. |
+| 1 | Unused. |
+| 2 | Unused. |
+| 3 | The version specified by the `DualEngineVersion` argument was 0. |
+| 4 | Failed to canonicalize the path passed in via `DualEngineAdapter`; see the `StartupFailureHresult`. |
+| 5 | Unused. |
+| 6 | Unused. |
+| 7 | `LoadLibrary` failed for the provided adapter DLL; see the `StartupFailureHresult`.|
+| 8 | Could not find `DualEngineInitialize` in the adapter DLL.|
+| 9 | The call to `DualEngineInitialize` failed; see the `StartupFailureHresult`. |
+| 10 | Failed to set the provided Application User Model ID; see the `StartupFailureHresult`.|
+| 11 | DLL failed signature check. |
+| 12 | Unused. |
+| 13 | DLL did not have IDENTITY LIMITEDACCESSFEATURE resource. |
diff --git a/microsoft-edge/dualengine/reference/accelerator.md b/microsoft-edge/dualengine/reference/accelerator.md
index 12545f272f..57345661fc 100644
--- a/microsoft-edge/dualengine/reference/accelerator.md
+++ b/microsoft-edge/dualengine/reference/accelerator.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, ACCELERATOR
-topic_type:
+topic_type:
- APIRef
api_name:
- ACCELERATOR
@@ -24,8 +24,7 @@ api_location:
# struct ACCELERATOR
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
Represents a keyboard accelerator (keyboard shortcut).
diff --git a/microsoft-edge/dualengine/reference/cryptdatablob.md b/microsoft-edge/dualengine/reference/cryptdatablob.md
index 8dbd66b9f8..479bdba6d5 100644
--- a/microsoft-edge/dualengine/reference/cryptdatablob.md
+++ b/microsoft-edge/dualengine/reference/cryptdatablob.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, CryptDataBlob
-topic_type:
+topic_type:
- APIRef
api_name:
- CryptDataBlob
@@ -23,8 +23,7 @@ api_location:
# struct CryptDataBlob
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
Represents an SSL Certificate.
diff --git a/microsoft-edge/dualengine/reference/dualengine-idl.md b/microsoft-edge/dualengine/reference/dualengine-idl.md
index b4882cec4d..a3eee947b7 100644
--- a/microsoft-edge/dualengine/reference/dualengine-idl.md
+++ b/microsoft-edge/dualengine/reference/dualengine-idl.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html
-topic_type:
+topic_type:
- APIRef
api_name:
- DualEngineInitialize
@@ -22,11 +22,12 @@ api_loction:
# Globals
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
## Summary
+
+
Members | Descriptions
--------------------------------|---------------------------------------------
[ACCELERATOREVENTTYPE](#acceleratoreventtype) | Specifies the type of accelerator event.
@@ -289,7 +290,7 @@ Flags that indicate the type of navigation that occurred.
Values | Descriptions
--------------------------------|---------------------------------------------
-NAVIGATIONFLAGS_NONE |
+NAVIGATIONFLAGS_NONE |
NAVIGATIONFLAGS_MAINFRAME | Indicates that the top level page navigated, e.g.
NAVIGATIONFLAGS_SAMEDOCUMENT | Indicates that the navigation is within the same document, e.g. local anchor navigations.
NAVIGATIONFLAGS_NEWPAGE | Indicates that the navigation was to a new page, e.g.
diff --git a/microsoft-edge/dualengine/reference/dualenginecookie.md b/microsoft-edge/dualengine/reference/dualenginecookie.md
index 57d41dd4da..bce7963e54 100644
--- a/microsoft-edge/dualengine/reference/dualenginecookie.md
+++ b/microsoft-edge/dualengine/reference/dualenginecookie.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, DualEngineCookie
-topic_type:
+topic_type:
- APIRef
api_name:
- DualEngineCookie
@@ -29,8 +29,7 @@ api_location:
# struct DualEngineCookie
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
Represents the constituent parts of a cookie.
diff --git a/microsoft-edge/dualengine/reference/dualenginenewwindowoptions.md b/microsoft-edge/dualengine/reference/dualenginenewwindowoptions.md
index 812d7f6a83..b928466205 100644
--- a/microsoft-edge/dualengine/reference/dualenginenewwindowoptions.md
+++ b/microsoft-edge/dualengine/reference/dualenginenewwindowoptions.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, DualEngineNewWindowOptions
-topic_type:
+topic_type:
- APIRef
api_name:
- DualEngineNewWindowOptions
@@ -34,8 +34,7 @@ api_location:
# struct DualEngineNewWindowOptions
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
Represents the requested state of a new window.
diff --git a/microsoft-edge/dualengine/reference/dualenginesessionfactory.md b/microsoft-edge/dualengine/reference/dualenginesessionfactory.md
index fe053d6124..c1fa96bd1a 100644
--- a/microsoft-edge/dualengine/reference/dualenginesessionfactory.md
+++ b/microsoft-edge/dualengine/reference/dualenginesessionfactory.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, DualEngineSessionFactory
-topic_type:
+topic_type:
- APIRef
api_name:
- DualEngineSessionFactory
@@ -24,8 +24,7 @@ api_location:
# interface DualEngineSessionFactory
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
Factory object for DualEngine interfaces.
@@ -46,7 +45,7 @@ Returns the known DualEngine interface version, if there is one.
> public STDMETHOD([GetSpecifiedVersion](#getspecifiedversion))(__out UINT * version) const
###### Parameters
-* `version` A pointer to a UINT where the version will be stored if there is one.
+* `version` A pointer to a UINT where the version will be stored if there is one.
###### Returns
S_OK if a known version was found, E_FAIL if it was not.
@@ -58,11 +57,12 @@ Gets a DualEngine Session object of the requested version.
> public STDMETHOD([GetVersionedBrowserSession](#getversionedbrowsersession))(__in UINT version, __out IUnknown ** ppSession)
> [!IMPORTANT]
-> This method must be called after Internet Explorer calls the export on DualEngineReady. See [Creating a DualEngine adapter plugin DLL](../concepts/adapter-dll.md).
+> This method must be called after Internet Explorer calls the export on DualEngineReady. See [Creating a DualEngine adapter plugin DLL](../concepts/adapter-dll.md).
+
###### Parameters
-* `version` The version of the Session object to get.
+* `version` The version of the Session object to get.
-* `ppSession` The Session object, if the version requested is supported.
+* `ppSession` The Session object, if the version requested is supported.
###### Returns
An HRESULT that indicates whether session creation was successful.
@@ -76,11 +76,12 @@ Called to unlock the DualEngine interface.
> [!IMPORTANT]
> This MUST be called successfully before any other methods on this interface can be called.
-Equivalent to `Windows::ApplicationModel::LimitedAccessFeatures::TryUnlockFeature` except it checks the adapter dll for the identity resource instead of the process .exe.
+Equivalent to `Windows::ApplicationModel::LimitedAccessFeatures::TryUnlockFeature` except it checks the adapter dll for the identity resource instead of the process .exe.
+
###### Parameters
-* `token` The LAF token provided by Microsoft.
+* `token` The LAF token provided by Microsoft.
-* `attestation` The attestation string provided by Microsoft.
+* `attestation` The attestation string provided by Microsoft.
###### Returns
An HRESULT that indicates whether unlocking was successful.
diff --git a/microsoft-edge/dualengine/reference/idualengine20browser.md b/microsoft-edge/dualengine/reference/idualengine20browser.md
index f5578b3354..fbca4bb78d 100644
--- a/microsoft-edge/dualengine/reference/idualengine20browser.md
+++ b/microsoft-edge/dualengine/reference/idualengine20browser.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, IDualEngine20Browser
-topic_type:
+topic_type:
- APIRef
api_name:
- IDualEngine20Browser
@@ -56,8 +56,7 @@ api_location:
# interface IDualEngine20Browser
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
```cpp
interface IDualEngine20Browser
@@ -155,7 +154,7 @@ Enables or disables Caret Browsing mode.
> public HRESULT [DualEngineEnableCaretMode](#dualengineenablecaretmode)(BOOL fEnable)
###### Parameters
-* `fEnable` Specifies whether caret browsing should be enabled.
+* `fEnable` Specifies whether caret browsing should be enabled.
#### DualEngineExecNavigationCommand
@@ -173,11 +172,11 @@ Finds an instance of text on the page.
> public HRESULT [DualEngineFindOnPage](#dualenginefindonpage)(int iRequestID, LPCWSTR pszFindText, BOOL fFindNext, BOOL fForward)
###### Parameters
-* `iRequestID` An ID to use correlate find on page requests and events.
+* `iRequestID` An ID to use correlate find on page requests and events.
-* `pszFindText` The text to find on the page.
+* `pszFindText` The text to find on the page.
-* `fFindNext` Indicates whether the selection should move to the next instance the find text, true advances the selection and false does not.
+* `fFindNext` Indicates whether the selection should move to the next instance the find text, true advances the selection and false does not.
* `fForward` Indicates the direction the selection should me, true moves forward and false moves backwards.
@@ -194,7 +193,7 @@ Provides a response to a geolocation permission request.
> public HRESULT [DualEngineGeolocationPermissionResponse](#dualenginegeolocationpermissionresponse)(LPCWSTR pszUri, SITE_PERMISSION_RESPONSE response)
###### Parameters
-* `pszUri` The URI the geolocation request was from.
+* `pszUri` The URI the geolocation request was from.
* `response` The response to the request.
@@ -214,17 +213,17 @@ Initializes the browser object with an URL.
> public HRESULT [DualEngineInitialize](#dualengineinitialize)([IDualEngine20BrowserObserver](idualengine20browserobserver.md) * pDualEngineObserver, DUALENGINECONFIGURATION config, EngineSwitchingPolicyFlags engineSwitchingPolicyFlags, [SentinelEntryInfo](tagsentinelentryinfo.md) sentinelEntryInfo, LPCWSTR pszUrl, HWND hwndHost, HWND * phwnd)
###### Parameters
-* `pDualEngineObserver` A pointer to the observer for this browser.
+* `pDualEngineObserver` A pointer to the observer for this browser.
-* `config` Configuration flags for the desired browser behavior.
+* `config` Configuration flags for the desired browser behavior.
-* `engineSwitchingPolicyFlags` Flags that determine how engine switching is handled.
+* `engineSwitchingPolicyFlags` Flags that determine how engine switching is handled.
-* `sentinelEntryInfo` The number of history items before and after the initial navigation for this instance.
+* `sentinelEntryInfo` The number of history items before and after the initial navigation for this instance.
-* `pszUrl` The inital URL to navigate to.
+* `pszUrl` The inital URL to navigate to.
-* `hwndHost` The HWND of the host window that the browser window will be parented to.
+* `hwndHost` The HWND of the host window that the browser window will be parented to.
* `phwnd` The HWND of the browser window.
@@ -235,23 +234,23 @@ Initializes the browser object with an URL; this version allows for additional i
> public HRESULT [DualEngineInitialize2](#dualengineinitialize2)([IDualEngine20BrowserObserver](idualengine20browserobserver.md) * pDualEngineObserver, DUALENGINECONFIGURATION config, EngineSwitchingPolicyFlags engineSwitchingPolicyFlags, [SentinelEntryInfo](tagsentinelentryinfo.md) sentinelEntryInfo, LPCWSTR pszUrl, HWND hwndHost, HWND * phwnd, LPCWSTR pszReferrer, LPCWSTR pszHeaders, VARIANT * postData)
###### Parameters
-* `pDualEngineObserver` A pointer to the observer for this browser.
+* `pDualEngineObserver` A pointer to the observer for this browser.
-* `config` Configuration flags for the desired browser behavior.
+* `config` Configuration flags for the desired browser behavior.
-* `engineSwitchingPolicyFlags` Flags that determine how engine switching is handled.
+* `engineSwitchingPolicyFlags` Flags that determine how engine switching is handled.
-* `sentinelEntryInfo` The number of history items before and after the initial navigation for this instance.
+* `sentinelEntryInfo` The number of history items before and after the initial navigation for this instance.
-* `pszUrl` The inital URL to navigate to.
+* `pszUrl` The inital URL to navigate to.
-* `hwndHost` The HWND of the host window that the browser window will be parented to.
+* `hwndHost` The HWND of the host window that the browser window will be parented to.
-* `phwnd` The HWND of the browser window.
+* `phwnd` The HWND of the browser window.
-* `pszReferrer` The HTTP Referer request header for the initial navigation.
+* `pszReferrer` The HTTP Referer request header for the initial navigation.
-* `pszHeaders` Additional headers to send to the server for the initial navigation.
+* `pszHeaders` Additional headers to send to the server for the initial navigation.
* `postData` Data to be sent to the server as part of a HTTP POST transaction for the initial navigation.
@@ -262,21 +261,21 @@ Initializes the browser object using tab recovery data.
> public HRESULT [DualEngineInitializeWithRecoveryData](#dualengineinitializewithrecoverydata)(REFGUID guidTabId, ULONG ulEntryId, [IDualEngine20BrowserObserver](idualengine20browserobserver.md) * pDualEngineObserver, DUALENGINECONFIGURATION config, EngineSwitchingPolicyFlags engineSwitchingPolicyFlags, [SentinelEntryInfo](tagsentinelentryinfo.md) sentinelEntryInfo, LPCWSTR pszUrl, HWND hwndHost, HWND * phwnd)
###### Parameters
-* `guidTabId` The GUID for the source recovery data file to initialize this instance with.
+* `guidTabId` The GUID for the source recovery data file to initialize this instance with.
-* `ulEntryId` The ID of the entry in the travel log to navigate to after recovery.
+* `ulEntryId` The ID of the entry in the travel log to navigate to after recovery.
-* `pDualEngineObserver` A pointer to the observer for this browser.
+* `pDualEngineObserver` A pointer to the observer for this browser.
-* `config` Configuration flags for the desired browser behavior.
+* `config` Configuration flags for the desired browser behavior.
-* `engineSwitchingPolicyFlags` Flags that determine how engine switching is handled.
+* `engineSwitchingPolicyFlags` Flags that determine how engine switching is handled.
-* `sentinelEntryInfo` The number of history items before and after the initial navigation for this instance.
+* `sentinelEntryInfo` The number of history items before and after the initial navigation for this instance.
-* `pszUrl` The inital URL to navigate to.
+* `pszUrl` The inital URL to navigate to.
-* `hwndHost` The HWND of the host window that the browser window will be parented to.
+* `hwndHost` The HWND of the host window that the browser window will be parented to.
* `phwnd` The HWND of the browser window.
@@ -296,7 +295,7 @@ Navigates to a URL.
> public HRESULT [DualEngineNavigate](#dualenginenavigate)(LPCWSTR pszUrl, BOOL fSkipOnBeforeUnload)
###### Parameters
-* `pszUrl` The URL to navigate to.
+* `pszUrl` The URL to navigate to.
* `fSkipOnBeforeUnload` Whether to skip the `onBeforeUnload` handling.
@@ -307,13 +306,13 @@ Navigates to a URL, with additional information about the navigation.
> public HRESULT [DualEngineNavigate2](#dualenginenavigate2)(LPCWSTR pszUrl, BOOL fSkipOnBeforeUnload, LPCWSTR pszReferrer, LPCWSTR pszHeaders, VARIANT * postData)
###### Parameters
-* `pszUrl` The URL to navigate to.
+* `pszUrl` The URL to navigate to.
-* `fSkipOnBeforeUnload` Whether to skip the `onBeforeUnload` handling.
+* `fSkipOnBeforeUnload` Whether to skip the `onBeforeUnload` handling.
-* `pszReferrer` The HTTP Referer request header for this navigation.
+* `pszReferrer` The HTTP Referer request header for this navigation.
-* `pszHeaders` Additional headers to send to the server for this navigation.
+* `pszHeaders` Additional headers to send to the server for this navigation.
* `postData` Data to be sent to the server as part of a HTTP POST transaction for this navigation.
@@ -324,7 +323,7 @@ Notifies that navigation entries have been deleted.
> public HRESULT [DualEngineNotifyNavigationEntriesDeleted](#dualenginenotifynavigationentriesdeleted)(BOOL fShouldDeleteEntries, [SentinelEntryInfo](tagsentinelentryinfo.md) sentinelEntryInfo)
###### Parameters
-* `fShouldDeleteEntries` Indicates whether the browser should delete all the entries in it's list.
+* `fShouldDeleteEntries` Indicates whether the browser should delete all the entries in it's list.
* `sentinelEntryInfo` The number of history items before and after the initial navigation for this instance.
@@ -395,11 +394,11 @@ Sets the size and position of the browser window.
> public HRESULT [DualEngineSetPosition](#dualenginesetposition)(int x, int y, int iWidth, int iHeight)
###### Parameters
-* `x` The new position of the left side of the window, in client coordinates.
+* `x` The new position of the left side of the window, in client coordinates.
-* `y` The new position of the top of the window, in client coordinates.
+* `y` The new position of the top of the window, in client coordinates.
-* `iWidth` The new width of the window, in pixels.
+* `iWidth` The new width of the window, in pixels.
* `iHeight` The new height of the window, in pixels.
@@ -409,7 +408,7 @@ Changes the Theater mode state of the browser.
> public HRESULT [DualEngineSetTheaterFullscreen](#dualenginesettheaterfullscreen)(BOOL fFullscreen)
-In theater mode, the browsers window fills the entire screen and displays a toolbar that has a minimal set of navigation buttons. A status bar is also provided in the upper-right corner of the screen. Explorer bars, such as History and Favorites, are displayed as an autohide pane on the left edge of the screen in theater mode.
+In theater mode, the browsers window fills the entire screen and displays a toolbar that has a minimal set of navigation buttons. A status bar is also provided in the upper-right corner of the screen. Explorer bars, such as History and Favorites, are displayed as an autohide pane on the left edge of the screen in theater mode.
###### Parameters
* `fFullscreen` If `true` and not currently in theater mode, the browser will enter theater mode; if `false` and currently in theater mode, the browser will exit theater mode.
@@ -420,7 +419,7 @@ Adjusts the top margin of the browser window when it is being displayed in theat
> public HRESULT [DualEngineSetTheaterMargins](#dualenginesettheatermargins)(BOOL fTheaterShowing, int yTheaterThreshold)
###### Parameters
-* `fTheaterShowing` Indicates whether the host is currently in theater mode.
+* `fTheaterShowing` Indicates whether the host is currently in theater mode.
* `yTheaterThreshold` The size in pixels of the margin between the top of the screen and the fullscreen browser window.
@@ -440,7 +439,7 @@ Changes the style of the browser window.
> public HRESULT [DualEngineSetWindowStyle](#dualenginesetwindowstyle)(int wlStyle, int wlExStyle)
###### Parameters
-* `wlStyle` The Window Style value to set.
+* `wlStyle` The Window Style value to set.
* `wlExStyle` The Extended Windows Style value to set.
@@ -460,7 +459,7 @@ Sends a simulated key input.
> public HRESULT [DualEngineSimulateKeyInput](#dualenginesimulatekeyinput)(DWORD vKey, KEYACTION keyAction)
###### Parameters
-* `vKey` The virtual keycode to simulate.
+* `vKey` The virtual keycode to simulate.
* `keyAction` The key action to simulate.
@@ -471,9 +470,9 @@ Sends a simulated mouse input.
> public HRESULT [DualEngineSimulateMouseInput](#dualenginesimulatemouseinput)(DWORD x, DWORD y, MOUSEACTION mouseAction)
###### Parameters
-* `x` The x coordinate.
+* `x` The x coordinate.
-* `y` The y coordinate.
+* `y` The y coordinate.
* `mouseAction` The mouse action to simulate.
diff --git a/microsoft-edge/dualengine/reference/idualengine20browserobserver.md b/microsoft-edge/dualengine/reference/idualengine20browserobserver.md
index 43632e8910..35781907b0 100644
--- a/microsoft-edge/dualengine/reference/idualengine20browserobserver.md
+++ b/microsoft-edge/dualengine/reference/idualengine20browserobserver.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, IDualEngine20BrowserObserver
-topic_type:
+topic_type:
- APIRef
api_name:
- IDualEngine20BrowserObserver
@@ -71,8 +71,7 @@ api_location:
# interface IDualEngine20BrowserObserver
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
```cpp
interface IDualEngine20BrowserObserver
@@ -152,7 +151,7 @@ Raised when the browser wants to stop hosting content and have the navigation to
> public HRESULT [ContinueNavigationInEdge](#continuenavigationinedge)(LPCWSTR pszUrl, ULONG ulCookieSyncVersion)
###### Parameters
-* `pszUrl` The URL that should be navigated to.
+* `pszUrl` The URL that should be navigated to.
* `ulCookieSyncVersion` A number that can be used to correlate a navigation with a specific cookie state.
@@ -163,13 +162,13 @@ Raised when the browser wants to stop hosting content and have the navigation to
> public HRESULT [ContinueNavigationInEdge2](#continuenavigationinedge2)(LPCWSTR pszUrl, ULONG ulCookieSyncVersion, LPCWSTR pszReferrer, LPCWSTR pszHeaders, VARIANT * postData)
###### Parameters
-* `pszUrl` The URL that should be navigated to.
+* `pszUrl` The URL that should be navigated to.
-* `ulCookieSyncVersion` A number that can be used to correlate a navigation with a specific cookie state.
+* `ulCookieSyncVersion` A number that can be used to correlate a navigation with a specific cookie state.
-* `pszReferrer` The HTTP Referer request header.
+* `pszReferrer` The HTTP Referer request header.
-* `pszHeaders` Additional HTTP headers.
+* `pszHeaders` Additional HTTP headers.
* `postData` HTTP POST data, such as form data.
@@ -189,7 +188,7 @@ Raised when the browser has deleted all entries in its travel log except for the
> public HRESULT [OnAllButCurrentEntryDeleted](#onallbutcurrententrydeleted)([VisibleListUpdateEntry](visiblelistupdateentry.md) * pVisibleListEntries, int cVisibleListEntries)
###### Parameters
-* `pVisibleListEntries` A list containing the new travel log entries since the last update. In this case it will only have the current active entry.
+* `pVisibleListEntries` A list containing the new travel log entries since the last update. In this case it will only have the current active entry.
* `cVisibleListEntries` The number of items in `pVisibleListEntries`
@@ -248,9 +247,9 @@ Raised when a document is completely loaded and initialized.
> public HRESULT [OnDocumentComplete](#ondocumentcomplete)(ULONG ulCurrentEntryId, [VisibleListUpdateEntry](visiblelistupdateentry.md) * pVisibleListEntries, int cVisibleListEntries)
###### Parameters
-* `ulCurrentEntryId` The travel log entry ID for the page that raised this event.
+* `ulCurrentEntryId` The travel log entry ID for the page that raised this event.
-* `pVisibleListEntries` A list containing the new travel log entries since the last update.
+* `pVisibleListEntries` A list containing the new travel log entries since the last update.
* `cVisibleListEntries` The number of items in `pVisibleListEntries`
@@ -279,9 +278,9 @@ Raised when find on page results change.
> public HRESULT [OnFindOnPageResult](#onfindonpageresult)(int iRequestID, int cMatches, int iActiveMatch)
###### Parameters
-* `iRequestID` An ID to correlate results with [IDualEngine20Browser::DualEngineFindOnPage()](idualengine20browser.md#dualenginefindonpage) requests.
+* `iRequestID` An ID to correlate results with [IDualEngine20Browser::DualEngineFindOnPage()](idualengine20browser.md#dualenginefindonpage) requests.
-* `cMatches` The count of matches.
+* `cMatches` The count of matches.
* `iActiveMatch` The index of the selected match.
@@ -298,7 +297,7 @@ Raised when geolocation data is accessed.
> public HRESULT [OnGeolocationFeatureInUse](#ongeolocationfeatureinuse)(LPCWSTR pszContextUrl, SITE_PERMISSION_FEATURE_MODE featureMode)
###### Parameters
-* `pszContextUrl` The URL of the page accessing geolocation data.
+* `pszContextUrl` The URL of the page accessing geolocation data.
* `featureMode` Indicates whether the access was blocked or allowed.
@@ -327,11 +326,11 @@ Raised when a navigation has been completed; provides status information about t
> public HRESULT [OnIndicatorItemsSet](#onindicatoritemsset)(BOOL fProtectedMode, BOOL fEnhancedProtectedMode, DWORD dwUrlZone, BOOL fEnterpriseMode)
###### Parameters
-* `fProtectedMode` Indicates whether the browser is in Protected Mode.
+* `fProtectedMode` Indicates whether the browser is in Protected Mode.
-* `fEnhancedProtectedMode` Indicates whether the browser is in Enhanced Protected Mode.
+* `fEnhancedProtectedMode` Indicates whether the browser is in Enhanced Protected Mode.
-* `dwUrlZone` The zone of the current URL.
+* `dwUrlZone` The zone of the current URL.
* `fEnterpriseMode` Indicates whether the browser is in Enterprise Mode.
@@ -363,21 +362,21 @@ Raised when a navigation has been completed.
> public HRESULT [OnNavigationComplete](#onnavigationcomplete)(REFGUID guidTabId, ULONG ulCurrentEntryId, [VisibleListUpdateEntry](visiblelistupdateentry.md) * pVisibleListEntries, int cVisibleListEntries, DWORD dwNavFlags, SECURELOCKICON secureLockIcon, DWORD dwSecurityFlags, [CryptDataBlob](cryptdatablob.md) * pDualEngineCertificates, int cCertificateChainBlobs)
###### Parameters
-* `guidTabId` The recovery GUID for tab.
+* `guidTabId` The recovery GUID for tab.
-* `ulCurrentEntryId` The ID representing this navigation in the visible-entries list.
+* `ulCurrentEntryId` The ID representing this navigation in the visible-entries list.
-* `pVisibleListEntries` A list containing the new travel log entries since the last update.
+* `pVisibleListEntries` A list containing the new travel log entries since the last update.
-* `cVisibleListEntries` The number of items in `pVisibleListEntries`.
+* `cVisibleListEntries` The number of items in `pVisibleListEntries`.
-* `dwNavFlags` Flags indicating the type of navigation that occurred.
+* `dwNavFlags` Flags indicating the type of navigation that occurred.
-* `secureLockIcon` The security state of the page.
+* `secureLockIcon` The security state of the page.
-* `dwSecurityFlags` Flags indicating any certificate errors for the page.
+* `dwSecurityFlags` Flags indicating any certificate errors for the page.
-* `pDualEngineCertificates` A list containing the certificate chain for the current entry's page.
+* `pDualEngineCertificates` A list containing the certificate chain for the current entry's page.
* `cCertificateChainBlobs` The number of items in `pDualEngineCertificates`.
@@ -403,11 +402,11 @@ Raised when a new window has been created.
> public HRESULT [OnNewWindow](#onnewwindow)([IDualEngine20Browser](idualengine20browser.md) * pNewBrowser, HWND hwnd, const [DualEngineNewWindowOptions](dualenginenewwindowoptions.md) * options, [IDualEngine20BrowserObserver](idualengine20browserobserver.md) ** ppObserver)
###### Parameters
-* `pNewBrowser` The browser object for the new window.
+* `pNewBrowser` The browser object for the new window.
-* `hwnd` The handle for the new window.
+* `hwnd` The handle for the new window.
-* `options` The options that the new window was created with.
+* `options` The options that the new window was created with.
* `ppObserver` The observer object for the new window.
@@ -418,7 +417,7 @@ Raised when a popup window was blocked.
> public HRESULT [OnPopupBlocked](#onpopupblocked)(LPCWSTR pszContextUrl, LPCWSTR pszPopupUrl)
###### Parameters
-* `pszContextUrl` The URL of the page that issued the command to open the popup.
+* `pszContextUrl` The URL of the page that issued the command to open the popup.
* `pszPopupUrl` The URL of the popup page.
@@ -435,11 +434,11 @@ Raised when the browser has successfully handled a previous [IDualEngine20Browse
> public HRESULT [OnReadyToExitRegion](#onreadytoexitregion)(REFGUID guidClonedTabId, ULONG ulCurrentEntryId, [VisibleListUpdateEntry](visiblelistupdateentry.md) * pVisibleListEntriesComplete, int cVisibleListEntriesComplete)
###### Parameters
-* `guidClonedTabId` The GUID of the tab recovery data file backing the exited region.
+* `guidClonedTabId` The GUID of the tab recovery data file backing the exited region.
-* `ulCurrentEntryId` The travel log entry ID for the page that raised this event.
+* `ulCurrentEntryId` The travel log entry ID for the page that raised this event.
-* `pVisibleListEntriesComplete` A list containing the new travel log entries since the last update.
+* `pVisibleListEntriesComplete` A list containing the new travel log entries since the last update.
* `cVisibleListEntriesComplete` The number of items in `pVisibleListEntriesComplete`
@@ -471,7 +470,7 @@ Raised when processing a keyboard accelerator and it is determined that the brow
> public HRESULT [OnUnhandledKeyboardAccelerator](#onunhandledkeyboardaccelerator)(LPMSG lpMsg)
###### Parameters
-* `lpMsg` The win32 message for the unhandled keyboard accelerator.
+* `lpMsg` The win32 message for the unhandled keyboard accelerator.
#### OnUnhandledKeyboardAcceleratorAsync
@@ -479,13 +478,13 @@ Raised when processing a keyboard accelerator and it is determined that browser
> public HRESULT [OnUnhandledKeyboardAcceleratorAsync](#onunhandledkeyboardacceleratorasync)(LPMSG pMsg, BOOL isShiftDown, BOOL isCtrlDown, BOOL isAltDown)
-In this version of the method, the event is raised asynchronously and keyboard state may have changed since it was processed, so the state of the modifier keys is provided.
+In this version of the method, the event is raised asynchronously and keyboard state may have changed since it was processed, so the state of the modifier keys is provided.
###### Parameters
-* `pMsg` The win32 message for the unhandled keyboard accelerator.
+* `pMsg` The win32 message for the unhandled keyboard accelerator.
-* `isShiftDown` Indicates whether the **Shift** key was pressed.
+* `isShiftDown` Indicates whether the **Shift** key was pressed.
-* `isCtrlDown` Indicates whether the **Ctrl** key was pressed.
+* `isCtrlDown` Indicates whether the **Ctrl** key was pressed.
* `isAltDown` Indicates whether the **Alt** key was pressed.
@@ -511,9 +510,9 @@ Raised when the browser is requesting the host to navigate to a URL in a new win
> public HRESULT [OpenURLInEdge](#openurlinedge)(LPCWSTR pszUrl, const [DualEngineNewWindowOptions](dualenginenewwindowoptions.md) * options, ULONG ulCookieSyncVersion)
###### Parameters
-* `pszUrl` The URL to navigate to.
+* `pszUrl` The URL to navigate to.
-* `options` Options to apply to the new window.
+* `options` Options to apply to the new window.
* `ulCookieSyncVersion` A number that can be used to correlate a navigation with a specific cookie state.
@@ -524,15 +523,15 @@ Raised when the browser is requesting the host to navigate to a URL in a new win
> public HRESULT [OpenURLInEdge2](#openurlinedge2)(LPCWSTR pszUrl, const [DualEngineNewWindowOptions](dualenginenewwindowoptions.md) * options, ULONG ulCookieSyncVersion, LPCWSTR pszReferrer, LPCWSTR pszHeaders, VARIANT * postData)
###### Parameters
-* `pszUrl` The URL to navigate to.
+* `pszUrl` The URL to navigate to.
-* `options` Options to apply to the navigation.
+* `options` Options to apply to the navigation.
-* `ulCookieSyncVersion` A number that can be used to correlate a navigation with a specific cookie state.
+* `ulCookieSyncVersion` A number that can be used to correlate a navigation with a specific cookie state.
-* `pszReferrer` The HTTP Referer request header.
+* `pszReferrer` The HTTP Referer request header.
-* `pszHeaders` Additional HTTP headers.
+* `pszHeaders` Additional HTTP headers.
* `postData` HTTP POST data, such as form data.
@@ -543,7 +542,7 @@ Raised when a page has been requested to be added to favorites.
> public HRESULT [RequestHostAddFavorite](#requesthostaddfavorite)(LPCWSTR pszTitle, LPCWSTR pszUrl)
###### Parameters
-* `pszTitle` The title of the page.
+* `pszTitle` The title of the page.
* `pszUrl` The URL of the page.
@@ -563,7 +562,7 @@ Raised when focus is being requested to move to the host window.
> public HRESULT [RequestHostFocus](#requesthostfocus)(DUALENGINE_FOCUSDIRECTION focusDirection, const MSG * msg)
###### Parameters
-* `focusDirection` The direction that focus is moving.
+* `focusDirection` The direction that focus is moving.
* `msg` A pointer to the message that caused the focus change.
@@ -589,13 +588,13 @@ Raised when the browser requests that the host change its size or position.
> public HRESULT [RequestHostPositionChanged](#requesthostpositionchanged)(LONG nX, LONG nY, LONG nWidth, LONG nHeight, ULONGLONG hSyncEvent)
###### Parameters
-* `nX` The requested window X position.
+* `nX` The requested window X position.
-* `nY` The requested window Y position.
+* `nY` The requested window Y position.
-* `nWidth` The requested window width.
+* `nWidth` The requested window width.
-* `nHeight` The requested window height.
+* `nHeight` The requested window height.
* `hSyncEvent` A handle to the event object that should be signaled when the change is complete.
@@ -623,9 +622,9 @@ Raised when the host is requested to take or give up focus.
> public HRESULT [RequestHostWindowFocusSync](#requesthostwindowfocussync)(BOOL fFocus, ULONGLONG hSyncEvent)
-In this version of the method, the browser will wait until the provided event is signaled.
+In this version of the method, the browser will wait until the provided event is signaled.
###### Parameters
-* `fFocus` Indicates what should be done with focus. If `true`, focus should be taken; otherwise it should be relinquished.
+* `fFocus` Indicates what should be done with focus. If `true`, focus should be taken; otherwise it should be relinquished.
* `hSyncEvent` A handle to the event object that should be signaled when the change is complete.
@@ -636,11 +635,11 @@ Raised when the favicon has changed.
> public HRESULT [UpdateHostFavicon](#updatehostfavicon)(ULONG ulCurrentEntryId, LPCWSTR spszCurrentUrl, LPCWSTR * pIconUrls, int cIconUrls)
###### Parameters
-* `ulCurrentEntryId` The travel log entry ID for the page that raised this event.
+* `ulCurrentEntryId` The travel log entry ID for the page that raised this event.
-* `spszCurrentUrl` The URL of the page.
+* `spszCurrentUrl` The URL of the page.
-* `pIconUrls` A list of favicon URLs.
+* `pIconUrls` A list of favicon URLs.
* `cIconUrls` The number of items in `pIconUrls`.
@@ -651,7 +650,7 @@ Raised when the title of the page has been updated.
> public HRESULT [UpdateHostTitle](#updatehosttitle)(ULONG ulCurrentEntryId, LPCWSTR pszTitle)
###### Parameters
-* `ulCurrentEntryId` The ID of the page in the visible-entries list that raised this event.
+* `ulCurrentEntryId` The ID of the page in the visible-entries list that raised this event.
* `pszTitle` The new title.
@@ -662,6 +661,6 @@ Raised when security information of the page has changed.
> public HRESULT [UpdateSecureLockIcon](#updatesecurelockicon)(ULONG ulCurrentEntryId, SECURELOCKICON secureLockIcon)
###### Parameters
-* `ulCurrentEntryId` The travel log entry for this change.
+* `ulCurrentEntryId` The travel log entry for this change.
* `secureLockIcon` The state of the security information.
diff --git a/microsoft-edge/dualengine/reference/idualengine20browsersession.md b/microsoft-edge/dualengine/reference/idualengine20browsersession.md
index ba5e144707..2cf55de8b3 100644
--- a/microsoft-edge/dualengine/reference/idualengine20browsersession.md
+++ b/microsoft-edge/dualengine/reference/idualengine20browsersession.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, IDualEngine20BrowserSession
-topic_type:
+topic_type:
- APIRef
api_name:
- IDualEngine20BrowserSession
@@ -38,8 +38,7 @@ api_location:
# interface IDualEngine20BrowserSession
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
```cpp
interface IDualEngine20BrowserSession
@@ -86,9 +85,9 @@ Duplicates an active tab's recovery data.
> public HRESULT [CloneActiveTabRecoveryData](#cloneactivetabrecoverydata)(HWND hwndBrowser, REFGUID guidSrcFile, REFGUID guidDestFile)
###### Parameters
-* `hwndBrowser` The HWND of the hosted browser window.
+* `hwndBrowser` The HWND of the hosted browser window.
-* `guidSrcFile` The GUID for the source recovery data file to copy.
+* `guidSrcFile` The GUID for the source recovery data file to copy.
* `guidDestFile` The GUID to associate with the new tab recovery data file.
@@ -99,7 +98,7 @@ Duplicates an inactive tab's recovery data.
> public HRESULT [CloneInactiveTabRecoveryData](#cloneinactivetabrecoverydata)(REFGUID guidSrcFile, REFGUID guidDestFile)
###### Parameters
-* `guidSrcFile` The GUID for the source recovery data file to copy.
+* `guidSrcFile` The GUID for the source recovery data file to copy.
* `guidDestFile` The GUID to associate with the new tab recovery data file.
@@ -119,7 +118,7 @@ Deletes all but the provided tab recovery data files.
> public HRESULT [DeleteAllButRecoverableRecoveryFiles](#deleteallbutrecoverablerecoveryfiles)(int cRecoverableGUIDs, LPCWSTR * rgpszRecoverableGUIDs)
###### Parameters
-* `cRecoverableGUIDs` The number of GUIDs in `rgpszRecoverableGUIDs`.
+* `cRecoverableGUIDs` The number of GUIDs in `rgpszRecoverableGUIDs`.
* `rgpszRecoverableGUIDs` An array of GUIDs representing tab recovery data files that are not to be deleted.
@@ -139,7 +138,7 @@ Returns a list of keyboard accelerators that should be forwarded from the Host.
> public HRESULT [GetRequestedHostForwardedAccelerators](#getrequestedhostforwardedaccelerators)(DWORD * pcAccels, [ACCELERATOR](accelerator.md) ** prgAccels)
###### Parameters
-* `pcAccels` The number of accelerators in `prgAccels`.
+* `pcAccels` The number of accelerators in `prgAccels`.
* `prgAccels` A list of keyboard accelerators that should be forwarded. When finished the caller must free the memory allocated for the list with `CoTaskMemFree`.
@@ -150,13 +149,13 @@ Initializes the session.
> public HRESULT [Initialize](#initialize)(DWORD cAccels, [ACCELERATOR](accelerator.md) * rgHostPriorityAccels, [IDualEngine20BrowserSessionObserver](idualengine20browsersessionobserver.md) * pSessionObserver, LPCWSTR pszProfilePath, LPCWSTR pszProfileId)
###### Parameters
-* `cAccels` The number of accelerators in `rgHostPriorityAccels`.
+* `cAccels` The number of accelerators in `rgHostPriorityAccels`.
-* `rgHostPriorityAccels` A list of keyboard accelerators to have the session forward to the host.
+* `rgHostPriorityAccels` A list of keyboard accelerators to have the session forward to the host.
-* `pSessionObserver` An observer for events from this session.
+* `pSessionObserver` An observer for events from this session.
-* `pszProfilePath` The path to host's profile path where the session will store relevant files.
+* `pszProfilePath` The path to host's profile path where the session will store relevant files.
* `pszProfileId` The host's profile ID to associate with this session.
@@ -185,7 +184,7 @@ Sets hang detection messages that will be sent to the session by the host to det
> public HRESULT [SetHangDetectionMessages](#sethangdetectionmessages)(UINT uiSyncHungCheckMsg, UINT uiAsyncHungCheckMsg)
###### Parameters
-* `uiSyncHungCheckMsg` The window message ID of the message that the host will synchronously wait on to be handled.
+* `uiSyncHungCheckMsg` The window message ID of the message that the host will synchronously wait on to be handled.
* `uiAsyncHungCheckMsg` The window message ID of the message that the host will asynchronously wait on. Browsers signal the host by calling [IDualEngine20BrowserObserver::OnAsyncHungCheckReply()](idualengine20browserobserver.md#onasynchungcheckreply).
@@ -226,7 +225,7 @@ Sets site permissions for the session.
###### Parameters
-* `sitePermissionKind` The type of site permission that is being set.
+* `sitePermissionKind` The type of site permission that is being set.
* `pszPermissionData` A serialized string of the permission data to set.
@@ -305,6 +304,6 @@ Sends cookie data to the session process.
> public HRESULT [SyncCookies](#synccookies)(const [DualEngineCookie](dualenginecookie.md) * pCookies, DWORD cCookies)
###### Parameters
-* `pCookies` An array of cookies to be sent to the session.
+* `pCookies` An array of cookies to be sent to the session.
* `cCookies` The number of items in `pCookies`.
diff --git a/microsoft-edge/dualengine/reference/idualengine20browsersessionobserver.md b/microsoft-edge/dualengine/reference/idualengine20browsersessionobserver.md
index c9b84d3350..fa3f42aa50 100644
--- a/microsoft-edge/dualengine/reference/idualengine20browsersessionobserver.md
+++ b/microsoft-edge/dualengine/reference/idualengine20browsersessionobserver.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, IDualEngine20BrowserSessionObserver
-topic_type:
+topic_type:
- APIRef
api_name:
- IDualEngine20BrowserSessionObserver
@@ -24,8 +24,7 @@ api_location:
# interface IDualEngine20BrowserSessionObserver
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
```cpp
interface IDualEngine20BrowserSessionObserver
@@ -58,7 +57,7 @@ Raised when the session Download window is requesting to navigate to a URL.
> public HRESULT [NavigateDownloadLink](#navigatedownloadlink)(BSTR url, VARIANT * PostData)
###### Parameters
-* `url` The URL that should be navigated to.
+* `url` The URL that should be navigated to.
* `PostData` HTTP POST data, such as form data.
@@ -71,9 +70,9 @@ Raised when a cookie is set in the session, if reverse cookie sync is enabled.
See [IDualEngine20BrowserSession::SetReverseCookieSync](idualengine20browsersession.md#setreversecookiesync).
###### Parameters
-* `pCookies` The cookies that were set.
+* `pCookies` The cookies that were set.
-* `cCookies` The number of cookies in `pCookies`.
+* `cCookies` The number of cookies in `pCookies`.
* `ulCookieSyncVersion` A number that can be used to correlate the specific cookie state with a navigation.
diff --git a/microsoft-edge/dualengine/reference/index.md b/microsoft-edge/dualengine/reference/index.md
index 7032e8d410..29ab64d80e 100644
--- a/microsoft-edge/dualengine/reference/index.md
+++ b/microsoft-edge/dualengine/reference/index.md
@@ -11,11 +11,12 @@ ms.date: 05/21/2024
---
# DualEngine Win32 C++ Reference
+
+
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
-The Microsoft DualEngine API enables you to host and control an Internet Explorer instance within your app. For more information, see [Introduction to the Microsoft DualEngine API](../intro.md) and [Getting started with the DualEngine API](../get-started.md).
+The Microsoft DualEngine API enables you to host and control an Internet Explorer instance within your app. For more information, see [Introduction to the Microsoft DualEngine API](../intro.md) and [Getting started with the DualEngine API](../get-started.md).
## Globals
diff --git a/microsoft-edge/dualengine/reference/tagsentinelentryinfo.md b/microsoft-edge/dualengine/reference/tagsentinelentryinfo.md
index e2654cabe1..0f032583a7 100644
--- a/microsoft-edge/dualengine/reference/tagsentinelentryinfo.md
+++ b/microsoft-edge/dualengine/reference/tagsentinelentryinfo.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, tagSentinelEntryInfo
-topic_type:
+topic_type:
- APIRef
api_name:
- tagSentinelEntryInfo
@@ -23,8 +23,7 @@ api_location:
# struct tagSentinelEntryInfo
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
Represents the position of the current region in the travel log.
diff --git a/microsoft-edge/dualengine/reference/visiblelistupdateentry.md b/microsoft-edge/dualengine/reference/visiblelistupdateentry.md
index 7413b8eb42..00199bcb34 100644
--- a/microsoft-edge/dualengine/reference/visiblelistupdateentry.md
+++ b/microsoft-edge/dualengine/reference/visiblelistupdateentry.md
@@ -8,7 +8,7 @@ ms.service: microsoft-edge
ms.subservice: windows-integration
ms.date: 05/21/2024
keywords: dual engine, dualengine, iemode, win32 apps, win32, edge, ie mode, edge html, VisibleListUpdateEntry
-topic_type:
+topic_type:
- APIRef
api_name:
- VisibleListUpdateEntry
@@ -26,8 +26,7 @@ api_location:
# struct VisibleListUpdateEntry
> [!IMPORTANT]
-> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or
-> to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
+> The DualEngine API is part of a Limited Access Feature (see [LimitedAccessFeatures class](/uwp/api/windows.applicationmodel.limitedaccessfeatures)). For more information or to request an unlock token, contact [Microsoft Support](https://go.microsoft.com/fwlink/?linkid=2271232).
Represents a change to a travel log entry.
diff --git a/microsoft-edge/extensions/developer-guide/declare-permissions.md b/microsoft-edge/extensions/developer-guide/declare-permissions.md
index d3a010b14f..4b11ac502b 100644
--- a/microsoft-edge/extensions/developer-guide/declare-permissions.md
+++ b/microsoft-edge/extensions/developer-guide/declare-permissions.md
@@ -71,7 +71,7 @@ Here's an example of the permissions part of a manifest file:
The following table lists the currently available permission strings to use in your manifest, and the descriptions.
| Permission string | Details |
-|:--- |:--- |
+|---|---|
| `activeTab` | Requests that the extension is granted permissions according to the `activeTab` specification. |
| `alarms` | Gives your extension access to the `chrome.alarms` API. |
| `background` | Makes Microsoft Edge start up early and shut down late, so that extensions may have a longer life. When any installed extension has `background` permission, Microsoft Edge runs invisibly as soon as the user logs into the user's computer, and before the user launches Microsoft Edge. The `background` permission also makes Microsoft Edge continue running, even after its last window is closed, until the user explicitly quits Microsoft Edge. Disabled extensions are treated as if they aren't installed. You should use the `background` permission with service workers; see [About extension service workers](https://developer.chrome.com/docs/extensions/develop/concepts/service-workers) at developer.chrome.com. |
diff --git a/microsoft-edge/extensions/developer-guide/devtools-extension-sample.md b/microsoft-edge/extensions/developer-guide/devtools-extension-sample.md
index 45e6f3b7ef..6917a6e9cf 100644
--- a/microsoft-edge/extensions/developer-guide/devtools-extension-sample.md
+++ b/microsoft-edge/extensions/developer-guide/devtools-extension-sample.md
@@ -181,7 +181,7 @@ Download the "main" branch of the Demos repo, as follows:
Custom DevTools Tool
```
- to:
+ to:
```html
My Custom DevTools Tool
@@ -199,7 +199,7 @@ Download the "main" branch of the Demos repo, as follows:
"name": "Custom DevTools Tool",
```
- to:
+ to:
```json
"name": "My Custom DevTools Tool",
diff --git a/microsoft-edge/extensions/developer-guide/devtools-extension.md b/microsoft-edge/extensions/developer-guide/devtools-extension.md
index 07c5426614..9bead2805c 100644
--- a/microsoft-edge/extensions/developer-guide/devtools-extension.md
+++ b/microsoft-edge/extensions/developer-guide/devtools-extension.md
@@ -325,7 +325,7 @@ When the user clicks the `sayHello` button, `devtools.js` runs code directly in
When the user clicks anywhere in the inspected window, the DevTools extensions receive a message with `request.click == true` and the mouse position information.
-See also:
+See also:
* [devtools.js](https://github.com/MicrosoftEdge/Demos/blob/main/devtools-extension/devtools.js) - source file in repo.
* [Supported APIs for Microsoft Edge extensions](../developer-guide/api-support.md)
* [chrome.devtools.panels](https://developer.chrome.com/docs/extensions/reference/api/devtools/panels)
diff --git a/microsoft-edge/extensions/developer-guide/manifest-v3.md b/microsoft-edge/extensions/developer-guide/manifest-v3.md
index 147e7d490b..65f4252a67 100644
--- a/microsoft-edge/extensions/developer-guide/manifest-v3.md
+++ b/microsoft-edge/extensions/developer-guide/manifest-v3.md
@@ -56,7 +56,7 @@ For information about end of support for Manifest V2 extensions in the Chromium
* [Microsoft Edge Add-ons](https://microsoftedge.microsoft.com) website
* [Manifest V3 changes are now available to test in Microsoft Edge](https://blogs.windows.com/msedgedev/2020/10/14/extension-manifest-chromium-edge/) blog post
-Chromium docs:
+Chromium docs:
* [Chromium project](https://www.chromium.org/Home/)
* [Manifest V2 support timeline](https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline)
* [The phase-out timeline](https://developer.chrome.com/blog/resuming-the-transition-to-mv3#the_phase-out_timeline) in _Resuming the transition to Manifest V3_.
diff --git a/microsoft-edge/extensions/developer-guide/match-patterns.md b/microsoft-edge/extensions/developer-guide/match-patterns.md
index 19cf641e6b..928d2f1d26 100644
--- a/microsoft-edge/extensions/developer-guide/match-patterns.md
+++ b/microsoft-edge/extensions/developer-guide/match-patterns.md
@@ -54,7 +54,7 @@ The meaning of `*` depends on whether it is in the scheme, host, or path part.
## Examples of valid patterns
| Pattern | What it does | Examples of matching URLs |
-|:--- |:--- |:--- |
+|---|---|---|
| `http://*/*` | Matches any URL that uses the http scheme | `http://www.google.com` `http://example.org/foo/bar.html` |
| `http://*/foo*` | Matches any URL that uses the http scheme, on any host, as long as the path starts with `/foo` | `http://example.com/foo/bar.html` `http://www.google.com/foo` |
| `https://*.google.com/foo*bar` | Matches any URL that uses the https scheme, is on a `google.com` host (such as `www.google.com`, `docs.google.com`, or `google.com`), as long as the path starts with `/foo` and ends with `bar` | `https://www.google.com/foo/baz/bar` `https://docs.google.com/foobar` |
@@ -71,7 +71,7 @@ The meaning of `*` depends on whether it is in the scheme, host, or path part.
Here are some examples of `_invalid_` pattern matches:
| Bad pattern | Why it is bad |
-|:--- |:--- |
+|---|---|
| `http://www.foo.com` | No `_path_` |
| `http://*foo/bar` | '`*`' in the host can be followed only by a '`.`' or '`/`' |
| `http://foo.*.bar/baz` | If '`*`' is in the `_host_`, it must be the first character |
diff --git a/microsoft-edge/extensions/developer-guide/migrate-your-extension-from-manifest-v2-to-v3.md b/microsoft-edge/extensions/developer-guide/migrate-your-extension-from-manifest-v2-to-v3.md
index a1136c2b47..5628db1200 100644
--- a/microsoft-edge/extensions/developer-guide/migrate-your-extension-from-manifest-v2-to-v3.md
+++ b/microsoft-edge/extensions/developer-guide/migrate-your-extension-from-manifest-v2-to-v3.md
@@ -74,7 +74,7 @@ Enterprises can continue to use the blocking behavior of the Web Request API for
## Background service workers
-To migrate your extensions from background pages to service workers, see [Migrate to a service worker](https://developer.chrome.com/docs/extensions/develop/migrate/to-service-workers).
+To migrate your extensions from background pages to service workers, see [Migrate to a service worker](https://developer.chrome.com/docs/extensions/develop/migrate/to-service-workers).
diff --git a/microsoft-edge/extensions/developer-guide/native-messaging.md b/microsoft-edge/extensions/developer-guide/native-messaging.md
index 1f8549a03b..fa85774104 100644
--- a/microsoft-edge/extensions/developer-guide/native-messaging.md
+++ b/microsoft-edge/extensions/developer-guide/native-messaging.md
@@ -138,7 +138,7 @@ When you're ready to distribute your extension to users, publish your extension
The final step involves copying the native messaging host manifest file to your computer, and making sure that this manifest file is correctly configured. To ensure your native messaging host manifest file is placed in the expected location, do the following steps. The location varies by platform.
On Linux and macOS:
-* Make sure that you provide **read** permissions on the native messaging host manifest file.
+* Make sure that you provide **read** permissions on the native messaging host manifest file.
* Make sure that you provide **run** permissions on the host runtime.
##### [Windows](#tab/windows/)
diff --git a/microsoft-edge/extensions/developer-guide/run-compiled-code.md b/microsoft-edge/extensions/developer-guide/run-compiled-code.md
index e0cccf4adf..747a1cc7f6 100644
--- a/microsoft-edge/extensions/developer-guide/run-compiled-code.md
+++ b/microsoft-edge/extensions/developer-guide/run-compiled-code.md
@@ -27,7 +27,7 @@ To enhance web security and performance, Native Client (NaCl) is no longer suppo
NaCl is a sandbox for running compiled C and C++ code in browsers efficiently and securely, independently of the user's operating system. WebAssembly (Wasm) is recommended instead of NaCl.
-To Run compiled code in an extension, we recommend using WebAssembly instead of NaCl. See:
+To Run compiled code in an extension, we recommend using WebAssembly instead of NaCl. See:
* [WebAssembly Migration Guide](https://developer.chrome.com/docs/native-client/migration) in Chrome docs.
* [WebAssembly](https://developer.mozilla.org/docs/WebAssembly) at MDN.
* [webassembly.org](https://webassembly.org)
diff --git a/microsoft-edge/extensions/index.md b/microsoft-edge/extensions/index.md
index af937d65ce..a908dce1f6 100644
--- a/microsoft-edge/extensions/index.md
+++ b/microsoft-edge/extensions/index.md
@@ -56,7 +56,7 @@ Add-ons for Microsoft Edge include extensions and themes. As an extension devel

-To find an extension, you use the **Search extensions, themes, and more** text box. For example, to find extensions about Bing, enter "Bing", and then click a result.
+To find an extension, you use the **Search extensions, themes, and more** text box. For example, to find extensions about Bing, enter "Bing", and then click a result.
The product detail page for the [Microsoft Bing Homepage](https://microsoftedge.microsoft.com/addons/detail/microsoft-bing-homepage/cjmjijnpnollocennnapedpaeecninea) extension appears:
@@ -150,7 +150,7 @@ For more information on porting your Chrome extension to Microsoft Edge, see [Po
You publish a Microsoft Edge extension at the [Microsoft Edge Add-ons](https://microsoftedge.microsoft.com) website.
-To start publishing a Microsoft Edge extension, you must [register for a developer account](https://developer.microsoft.com/registration) with a Microsoft account (MSA) email account to submit your extension listing at the Microsoft Edge Add-ons website. The email address of a Microsoft account (MSA) includes `@outlook.com`, `@live.com`, or `@hotmail.com`.
+To start publishing a Microsoft Edge extension, you must [register for a developer account](https://developer.microsoft.com/registration) with a Microsoft account (MSA) email account to submit your extension listing at the Microsoft Edge Add-ons website. The email address of a Microsoft account (MSA) includes `@outlook.com`, `@live.com`, or `@hotmail.com`.
When you choose an email address to register, consider whether you must transfer or share ownership of the Microsoft Edge extension with other people in your organization. After registration is complete, you can submit an extension listing.
@@ -191,9 +191,9 @@ The **Featured** badge indicates that:
* The extension has been reviewed and selected through an automated system.
-* The extension offers a reliable and high-quality experience for Microsoft Edge users.
+* The extension offers a reliable and high-quality experience for Microsoft Edge users.
-The **Featured** badge is not a judgment of safety. An extension that doesn't have the **Featured** badge is not necessarily unsafe; the extension simply doesn't meet the current threshold for Featured status.
+The **Featured** badge is not a judgment of safety. An extension that doesn't have the **Featured** badge is not necessarily unsafe; the extension simply doesn't meet the current threshold for Featured status.
The **Featured** badge at the Microsoft Edge Add-ons website is intended to help users discover extensions that meet a high bar for quality, reliability, security, privacy, and user experience at the time of evaluation.
@@ -207,19 +207,19 @@ Microsoft regularly re-evaluates badged extensions and may update, revoke, or re
#### Reasons why the Featured badge could be revoked
-The **Featured** badge isn't permanent. An extension might lose the **Featured** badge if the extension no longer meets the evolving standards, or if the extension's quality signals degrade over time.
+The **Featured** badge isn't permanent. An extension might lose the **Featured** badge if the extension no longer meets the evolving standards, or if the extension's quality signals degrade over time.
-To maintain a high-quality ecosystem, Microsoft periodically re-evaluates all badged extensions. A **Featured** badge might be removed due to:
+To maintain a high-quality ecosystem, Microsoft periodically re-evaluates all badged extensions. A **Featured** badge might be removed due to:
-* Decline in user experience or performance metrics.
+* Decline in user experience or performance metrics.
-* Outdated or incomplete store listing information.
+* Outdated or incomplete store listing information.
-* Security or privacy concerns.
+* Security or privacy concerns.
-* Changes in Microsoft's evaluation criteria.
+* Changes in Microsoft's evaluation criteria.
-All decisions about the **Featured** badge are final and not subject to individual review. There is no manual application or appeal process. The **Featured** badge is awarded and revoked based on internal evaluation criteria and tooling.
+All decisions about the **Featured** badge are final and not subject to individual review. There is no manual application or appeal process. The **Featured** badge is awarded and revoked based on internal evaluation criteria and tooling.
To improve your extension's quality and eligibility for the **Featured** badge, see [Best practices for extensions](./developer-guide/best-practices.md).
diff --git a/microsoft-edge/extensions/landing/index.yml b/microsoft-edge/extensions/landing/index.yml
index f083126274..6a581369af 100644
--- a/microsoft-edge/extensions/landing/index.yml
+++ b/microsoft-edge/extensions/landing/index.yml
@@ -117,7 +117,7 @@ landingContent:
links:
- text: Port a Chrome extension to Microsoft Edge
url: ../developer-guide/port-chrome-extension.md
-
+
- linkListType: concept
links:
- text: Add a custom tool in Microsoft Edge DevTools
diff --git a/microsoft-edge/extensions/publish/add-ons-badge.md b/microsoft-edge/extensions/publish/add-ons-badge.md
index 422feb9b7f..d8cd00ad53 100644
--- a/microsoft-edge/extensions/publish/add-ons-badge.md
+++ b/microsoft-edge/extensions/publish/add-ons-badge.md
@@ -31,7 +31,7 @@ The Microsoft Edge Add-ons badge is not the same as the Microsoft brand logo, an
## Download the badge image files
-Download the complete set of `.png` files:
+Download the complete set of `.png` files:
* [Microsoft_Edge_Add-ons_badge_image_files.zip](https://raw.githubusercontent.com/microsoft/MicrosoftEdge-Extensions/refs/heads/main/assets/Microsoft_Edge_Add-ons_badge_image_files.zip) (from the [MicrosoftEdge-Extensions](https://github.com/microsoft/MicrosoftEdge-Extensions) repo).
diff --git a/microsoft-edge/extensions/publish/create-dev-account.md b/microsoft-edge/extensions/publish/create-dev-account.md
index 7322ce78de..02034a8b4e 100644
--- a/microsoft-edge/extensions/publish/create-dev-account.md
+++ b/microsoft-edge/extensions/publish/create-dev-account.md
@@ -171,7 +171,7 @@ In the **Contact info** section, enter contact information that Microsoft will u
For a company account, you must use the registered email address that's associated with your organization.
-After registration is complete, you receive a confirmation email.
+After registration is complete, you receive a confirmation email.
@@ -217,7 +217,7 @@ Ensure that all documents (such as utility bills, DUNS ID, or government records
* Clear, complete, and match your legal business profile.
* Uploaded in the correct section at Partner Center, under [Account settings | Legal info](https://partner.microsoft.com/dashboard/account/v3/organization/legalinfo).
-If your application was rejected:
+If your application was rejected:
* In the **Legal Info** tab, click **Fix now**.
* Re-upload documents with comments explaining your appeal.
diff --git a/microsoft-edge/extensions/publish/extensions-analytics.md b/microsoft-edge/extensions/publish/extensions-analytics.md
index aac7dad722..4d2a498a9a 100644
--- a/microsoft-edge/extensions/publish/extensions-analytics.md
+++ b/microsoft-edge/extensions/publish/extensions-analytics.md
@@ -16,7 +16,7 @@ You can view extension metrics from your [Partner Center dashboard](https://part
For example, you can identify regions in which the number of installations for your extension has increased in the past three months. You can also export this report as a CSV file.
-Follow these steps to view your extension's analytics dashboard:
+Follow these steps to view your extension's analytics dashboard:
1. Go to your Partner Center account and select an extension.
diff --git a/microsoft-edge/extensions/publish/manage-settings.md b/microsoft-edge/extensions/publish/manage-settings.md
index 9bce8f9bd0..3377ac7505 100644
--- a/microsoft-edge/extensions/publish/manage-settings.md
+++ b/microsoft-edge/extensions/publish/manage-settings.md
@@ -41,7 +41,7 @@ If you change any of your contact details, the Microsoft Edge extension team mig
Review the following settings in the Account settings section.
| Account Settings | Description |
-|:--- |:--- |
+|---|---|
| Verification status | Review your verification status when your account is going through the verification process. For example, your account is verified when you first create an account, or after you update your contact information. |
| Programs | Review information about enrolled programs or other programs that might be of interest to you. |
| Agreements | Review the agreements that your account accepted. |
diff --git a/microsoft-edge/extensions/publish/publish-extension.md b/microsoft-edge/extensions/publish/publish-extension.md
index 43a43c1e63..7d79a74a4b 100644
--- a/microsoft-edge/extensions/publish/publish-extension.md
+++ b/microsoft-edge/extensions/publish/publish-extension.md
@@ -110,7 +110,7 @@ The following fields in the manifest file are automatically included in your ext
* The `Name` field, which populates the **Extension name** on the **Details for \** page.
* The `Description` field, which populates the **Description** on the **Details for \** page.
-
+
Fill in the `Description` field, to explicitly provide a catchy description that will be displayed at the top of the listing for the extension.
* If you include a `short description` in the extension manifest file, that short description is displayed in your store listing.
@@ -241,7 +241,7 @@ Define the specific markets in which you plan to offer your extension. The defa
| **Website** | Optional | A webpage that provides additional information about the extension. The website URL must point to a webpage on your own website, not the web listing for the extension at the Microsoft Edge Add-ons website. The **Website** URL helps users learn more about the extension, its features, and any other relevant information. |
| **Support contact detail** | Optional | The URL to your support webpage, or the email address to contact your support team. |
| **Mature content** | Optional | Checkbox to specify whether the extension includes mature content. This extension rating helps determine the appropriate age group of the target audience of the extension. To help determine whether the extension has _mature content_, see [Developer policies for the Microsoft Edge Add-ons website](/legal/microsoft-edge/extensions/developer-policies). |
-
+
The properties (your developer/organization name, **Website** URL, and **Support contact detail**) that you submitted during registration are displayed to users at the Microsoft Edge Add-ons website.
You have now filled in the **Properties** page for the extension at Partner Center.
@@ -512,7 +512,7 @@ You can generate descriptions up to 10 times per hour. If you exceed this limit

If generation fails, an error message is displayed, such as "Something went wrong while generating your description. Try again":
-
+

@@ -798,7 +798,7 @@ Developer Agreement & Legal:
* [Developer policies for the Microsoft Edge Add-ons website](/legal/microsoft-edge/extensions/developer-policies)
Support.microsoft.com:
-* [Extensions New Support Request](https://support.microsoft.com/supportrequestform/e7a381be-9c9a-fafb-ed76-262bc93fd9e4)
+* [Extensions New Support Request](https://support.microsoft.com/supportrequestform/e7a381be-9c9a-fafb-ed76-262bc93fd9e4)
Support.google.com:
* [YouTube advertising formats](https://support.google.com/youtube/answer/2467968?ref_topic=7072227)
diff --git a/microsoft-edge/extensions/publish/reply-user-reviews.md b/microsoft-edge/extensions/publish/reply-user-reviews.md
index 6fedae2c05..5cf290504a 100644
--- a/microsoft-edge/extensions/publish/reply-user-reviews.md
+++ b/microsoft-edge/extensions/publish/reply-user-reviews.md
@@ -20,7 +20,7 @@ To view your extension's **Reviews** page:
Or, on the **Home** > **Edge** breadcrumb path, click the star rating of an extension on the **Overview** page.
-
+
diff --git a/microsoft-edge/extensions/publish/verify-microsoft-edge-program.md b/microsoft-edge/extensions/publish/verify-microsoft-edge-program.md
index c303f40dbf..de716ea52f 100644
--- a/microsoft-edge/extensions/publish/verify-microsoft-edge-program.md
+++ b/microsoft-edge/extensions/publish/verify-microsoft-edge-program.md
@@ -119,7 +119,7 @@ There are three possible results when you check your verification status:
* **Pending**: The verification process has started but isn't complete. If you've completed the email verification step, no further action is required on your part. Verification usually takes three to five business days. You can monitor verification status at **Account Settings | Legal Info**.
-* **Action Required/Rejected**: The information you submitted couldn't be verified. The reason, and instructions for how to appeal, appear in the **Account Verification** pane. See [Appealing a rejected application](#appealing-a-rejected-application) in the next section.
+* **Action Required/Rejected**: The information you submitted couldn't be verified. The reason, and instructions for how to appeal, appear in the **Account Verification** pane. See [Appealing a rejected application](#appealing-a-rejected-application) in the next section.
diff --git a/microsoft-edge/extensions/release-notes/archive.md b/microsoft-edge/extensions/release-notes/archive.md
index a1a1a8c3ba..0f1d26467f 100644
--- a/microsoft-edge/extensions/release-notes/archive.md
+++ b/microsoft-edge/extensions/release-notes/archive.md
@@ -299,7 +299,7 @@ Microsoft Partner Center only accepts new Manifest V3 Microsoft Edge extension s
#### You can respond to user reviews about your Microsoft Edge extension
-At Partner Center, you can reply to user reviews and feedback about your extension that's published at the [Microsoft Edge Add-ons](https://microsoftedge.microsoft.com) website.
+At Partner Center, you can reply to user reviews and feedback about your extension that's published at the [Microsoft Edge Add-ons](https://microsoftedge.microsoft.com) website.
To share your feedback and comments about this feature, see [You can now respond to user reviews on your Microsoft Edge Add-ons page](https://github.com/microsoft/MicrosoftEdge-Extensions/discussions/18) in **Discussions** in the MicrosoftEdge-Extensions repo.
diff --git a/microsoft-edge/extensions/release-notes/index.md b/microsoft-edge/extensions/release-notes/index.md
index ce92f56ae3..9323547f6f 100644
--- a/microsoft-edge/extensions/release-notes/index.md
+++ b/microsoft-edge/extensions/release-notes/index.md
@@ -47,7 +47,7 @@ The following updates have been deployed to production, addressing key issues an
## URL validation and security
-* URL-related error messages have clearer wording.
+* URL-related error messages have clearer wording.
* Unreachable URLs are now detected in the following fields:
diff --git a/microsoft-edge/extensions/samples/picture-inserter-content-script.md b/microsoft-edge/extensions/samples/picture-inserter-content-script.md
index bb8c44b4a1..47077cad62 100644
--- a/microsoft-edge/extensions/samples/picture-inserter-content-script.md
+++ b/microsoft-edge/extensions/samples/picture-inserter-content-script.md
@@ -9,7 +9,7 @@ ms.subservice: extensions
ms.date: 01/16/2025
---
# Sample: Picture inserter using content script
-
@@ -133,7 +133,7 @@ You are now free to modify the code in your working branch, without altering the
GitHub Desktop opens, with the **MicrosoftEdge-Extensions** repo selected in the upper left dropdown list.
- Or, in GitHub Desktop, the **Clone a repository** dialog opens:
+ Or, in GitHub Desktop, the **Clone a repository** dialog opens:

@@ -396,7 +396,7 @@ chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
In `content.js`, the `addListener` method takes a single parameter that's a function. That function's first parameter, `request`, contains the details of the message that's being passed in.
-In `content.js`, when an event is processed by the listener, the listener function that's passed into `addListener` is run. The first parameter of the passed-in listener function is a `request` object that has attributes as assigned by `sendMessage`.
+In `content.js`, when an event is processed by the listener, the listener function that's passed into `addListener` is run. The first parameter of the passed-in listener function is a `request` object that has attributes as assigned by `sendMessage`.
In `popup.js`, for the `chrome.tabs.sendMessage` method call, the attributes of the second parameter for `sendMessage` are `url`, `imageDivId`, and `tabId`.
diff --git a/microsoft-edge/extensions/samples/picture-viewer-popup-webpage.md b/microsoft-edge/extensions/samples/picture-viewer-popup-webpage.md
index 4dfc1c48d6..6be9ebe079 100644
--- a/microsoft-edge/extensions/samples/picture-viewer-popup-webpage.md
+++ b/microsoft-edge/extensions/samples/picture-viewer-popup-webpage.md
@@ -108,7 +108,7 @@ You are now free to modify the code in your working branch, without altering the
GitHub Desktop opens, with the **MicrosoftEdge-Extensions** repo selected in the upper left dropdown list.
- Or, in GitHub Desktop, the **Clone a repository** dialog opens:
+ Or, in GitHub Desktop, the **Clone a repository** dialog opens:

diff --git a/microsoft-edge/extensions/update/api/addons-api-reference.md b/microsoft-edge/extensions/update/api/addons-api-reference.md
index de84ca939a..bbad2a3157 100644
--- a/microsoft-edge/extensions/update/api/addons-api-reference.md
+++ b/microsoft-edge/extensions/update/api/addons-api-reference.md
@@ -396,7 +396,7 @@ The response includes an operation ID, to send to other endpoints.
"status": "Failed",
"message": "Can't publish extension as your extension submission is in progress. Please try again later.",
"errorCode": "InProgressSubmission",
- "errors": null
+ "errors": null
}
```
@@ -412,7 +412,7 @@ The response includes an operation ID, to send to other endpoints.
"status": "Failed",
"message": "Can't publish extension as your extension is being unpublished. Please try after you've unpublished.",
"errorCode": "UnpublishInProgress",
- "errors": null
+ "errors": null
}
```
diff --git a/microsoft-edge/extensions/update/api/using-addons-api.md b/microsoft-edge/extensions/update/api/using-addons-api.md
index 6a42db5b1e..37010c5a93 100644
--- a/microsoft-edge/extensions/update/api/using-addons-api.md
+++ b/microsoft-edge/extensions/update/api/using-addons-api.md
@@ -10,7 +10,7 @@ ms.date: 09/19/2024
---
# Use the REST API to update an extension
-Use this REST API to programmatically update an extension (or a theme) that's been published at the [Microsoft Edge Add-ons](https://microsoftedge.microsoft.com) website, to automate the process of uploading and publishing new versions of your extension. You can integrate these REST API endpoints directly into your continuous integration/continuous delivery (CI/CD) pipeline, to publish extension package updates at the Microsoft Edge Add-ons website without using Partner Center.
+Use this REST API to programmatically update an extension (or a theme) that's been published at the [Microsoft Edge Add-ons](https://microsoftedge.microsoft.com) website, to automate the process of uploading and publishing new versions of your extension. You can integrate these REST API endpoints directly into your continuous integration/continuous delivery (CI/CD) pipeline, to publish extension package updates at the Microsoft Edge Add-ons website without using Partner Center.
This REST API exposes endpoints for:
* [Uploading a package to update an existing submission](#uploading-a-package-to-update-an-existing-submission)
@@ -170,7 +170,7 @@ You can generate multiple client secrets for your Client ID. For example, you c
You obtain an access token by sending a POST message to an access token URL. The Partner Center UI shows the access token URL, which is the same as in this article. You then include the access token in the header when using an API endpoint, such as the endpoint for [Uploading a package to update an existing submission](#uploading-a-package-to-update-an-existing-submission), below.
-
# Set an externally installed extension to automatically update
-
@@ -34,7 +34,7 @@ Every few hours, Microsoft Edge checks whether each installed extension or app h
In order to maintain user privacy, Microsoft Edge doesn't send any `Cookie` headers with auto-update manifest requests, and ignores any `Set-Cookie` headers in the responses to those requests.
-When you set your extension to automatically update on users' machines, your extension shares the following benefits with Microsoft Edge:
+When you set your extension to automatically update on users' machines, your extension shares the following benefits with Microsoft Edge:
* Incorporate bug and security fixes.
* Add new features or performance enhancements.
@@ -83,7 +83,7 @@ The updated manifest returned by the server should be an XML document; for examp
The updated manifest XML file defines the following attributes:
| Attribute | Details |
-|:--- |:--- |
+|---|---|
| `appid` | The extension ID is generated based on a hash of the public key. To find the ID of an extension, open Microsoft Edge and see `edge://extensions`. |
| `codebase` | A URL to the `.crx` file. |
| `version` | This attribute value is used by Microsoft Edge to determine whether it should download the `.crx` file specified by `codebase`. It should match the value of `version` in the `manifest.json` file of the `.crx` file. |
@@ -156,7 +156,7 @@ In a future release, instead of issuing multiple `GET` requests, a single `POST`
As new APIs are released for the Microsoft Edge extensions system, you might want to release an updated version of your extension or app that only works with newer versions of Microsoft Edge. When Microsoft Edge is automatically updated, it can take a few days before most of your users update to that new release.
-To ensure that a specific update applies only to Microsoft Edge versions that are current or newer than a specific version, add the `prodversionmin` attribute in your update manifest.
+To ensure that a specific update applies only to Microsoft Edge versions that are current or newer than a specific version, add the `prodversionmin` attribute in your update manifest.
For example, in the following code, the `prodversionmin` attribute value of `3.0.193.0` specifies that your app is automatically updated to version `2.0` only when the user is running Microsoft Edge `3.0.193.0` or newer:
diff --git a/microsoft-edge/extensions/update/transfer-ownership.md b/microsoft-edge/extensions/update/transfer-ownership.md
index 36a486c4ae..6800d583ab 100644
--- a/microsoft-edge/extensions/update/transfer-ownership.md
+++ b/microsoft-edge/extensions/update/transfer-ownership.md
@@ -36,7 +36,7 @@ The current owner of the extension must send an email, as follows:
* The target publisher's seller ID and name (the new owner).
* The MSA email address for the source publisher extension owner (the current owner).
* The MSA email address for the target publisher extension owner (the new owner).
-
+
1. Send the email.
diff --git a/microsoft-edge/index.yml b/microsoft-edge/index.yml
index 23554be2e2..6a7b4a0137 100644
--- a/microsoft-edge/index.yml
+++ b/microsoft-edge/index.yml
@@ -502,15 +502,15 @@ conceptualContent:
# - text: Introduction to the Microsoft DualEngine API
# url: ./dualengine/intro.md
# itemType: overview
-
+
# - text: Getting started with the DualEngine API
# url: ./dualengine/get-started.md
# itemType: get-started
-
+
# - text: Creating a DualEngine adapter plugin DLL
# url: ./dualengine/concepts/adapter-dll.md
# itemType: how-to-guide
-
+
# - text: Launching Internet Explorer
# url: ./dualengine/concepts/launching-internet-explorer.md
# itemType: how-to-guide
diff --git a/microsoft-edge/playwright/index.md b/microsoft-edge/playwright/index.md
index 4c2d7deb86..c3fe217021 100644
--- a/microsoft-edge/playwright/index.md
+++ b/microsoft-edge/playwright/index.md
@@ -31,7 +31,7 @@ npm i -D @playwright/test
To install browsers, run the following command, which downloads [Chromium](https://www.chromium.org/Home), [Firefox](https://www.mozilla.org/firefox), and [WebKit](https://webkit.org):
```console
-npx playwright install
+npx playwright install
```
@@ -125,13 +125,13 @@ const playwright = require('playwright');
`example.js` is a simple demonstration of the automation and testing scenarios that are enabled by Playwright. To take screenshots in other web browsers, change the above code from `await playwright.chromium.launch` to the following code:
-Firefox:
+Firefox:
```javascript
const browser = await playwright.firefox.launch({
```
-WebKit:
+WebKit:
```javascript
const browser = await playwright.webkit.launch({
diff --git a/microsoft-edge/progressive-web-apps/how-to/app-actions.md b/microsoft-edge/progressive-web-apps/how-to/app-actions.md
index de0fa22241..07d48cccc7 100644
--- a/microsoft-edge/progressive-web-apps/how-to/app-actions.md
+++ b/microsoft-edge/progressive-web-apps/how-to/app-actions.md
@@ -158,7 +158,7 @@ For a PWA to use App Actions, the `share_target` field must be present in the PW
* The method must be "POST".
* The `enctype` must be `multipart/form-data`.
-* `text` and `url` in `params` are required to support App Actions.
+* `text` and `url` in `params` are required to support App Actions.
* `files` is optional. You can omit `files` if you don't want your PWA to support the normal _share target_ feature.
Example `share_target` declaration, from [Demos/wami/manifest.json](https://github.com/MicrosoftEdge/Demos/blob/main/wami/manifest.json):
@@ -185,7 +185,7 @@ See also:
The entity of an App Action is passed to the PWA through POST share data. To handle POST share data, you can use or combine the following approaches:
-* Handle POST share data by using server-side code.
+* Handle POST share data by using server-side code.
* In a service worker, use a fetch event listener to intercept the HTTP POST request. This provides a better experience for offline users. See:
@@ -209,7 +209,7 @@ Explanation of the `formData` keys:
* **url:** The protocol URI (for example, `web+wami://paint` in the sample) that identifies which App Action triggered the launch. The input parameter value must be identical to the value that you set in the PWA's web app manifest `share_target.params.url`.
-* **files:** File objects attached to the App Action invocation.
+* **files:** File objects attached to the App Action invocation.
@@ -394,7 +394,7 @@ To test App Actions for your PWA:
* [Receiving shared content](./share.md#receiving-shared-content)
-* [Publish a PWA to the Microsoft Store](./microsoft-store.md)
+* [Publish a PWA to the Microsoft Store](./microsoft-store.md)
* [Package your PWA for the Store](./microsoft-store.md#package-your-pwa-for-the-store) in _Publish a PWA to the Microsoft Store_.
Windows articles:
@@ -413,7 +413,7 @@ Sites:
* [PWABuilder.Windows.Chromium tester](https://pwabuilder-windows-docker.azurewebsites.net/)
MDN:
-* [launch_handler](https://developer.mozilla.org/docs/Web/Progressive_web_apps/Manifest/Reference/launch_handler)
+* [launch_handler](https://developer.mozilla.org/docs/Web/Progressive_web_apps/Manifest/Reference/launch_handler)
* [share_target](https://developer.mozilla.org/docs/Web/Progressive_web_apps/Manifest/Reference/share_target)
* [Receiving share data using POST](https://developer.mozilla.org/docs/Web/Progressive_web_apps/Manifest/Reference/share_target#receiving_share_data_using_post) in _share_target_.
* [Receiving shared files](https://developer.mozilla.org/docs/Web/Progressive_web_apps/Manifest/Reference/share_target#receiving_shared_files) in _share_target_.
diff --git a/microsoft-edge/progressive-web-apps/how-to/background-syncs.md b/microsoft-edge/progressive-web-apps/how-to/background-syncs.md
index 1571e7b30a..336084fbb1 100644
--- a/microsoft-edge/progressive-web-apps/how-to/background-syncs.md
+++ b/microsoft-edge/progressive-web-apps/how-to/background-syncs.md
@@ -402,7 +402,7 @@ To start a background fetch:
```javascript
navigator.serviceWorker.ready.then(async registration => {
- const fetch = await registration.backgroundFetch.fetch('my-download-id',
+ const fetch = await registration.backgroundFetch.fetch('my-download-id',
fileUrls, options);
});
```
diff --git a/microsoft-edge/progressive-web-apps/how-to/best-practices.md b/microsoft-edge/progressive-web-apps/how-to/best-practices.md
index e1b6bf65b9..7cd4de5ba2 100644
--- a/microsoft-edge/progressive-web-apps/how-to/best-practices.md
+++ b/microsoft-edge/progressive-web-apps/how-to/best-practices.md
@@ -204,7 +204,7 @@ To test your app in multiple environments, consider the following techniques:
## Support deep linking
-To improve discovery and sharing of your app through the web and social media, route each page of your app to a unique URL and support [Deep linking](https://wikipedia.org/wiki/Deep_linking).
+To improve discovery and sharing of your app through the web and social media, route each page of your app to a unique URL and support [Deep linking](https://wikipedia.org/wiki/Deep_linking).
@@ -197,7 +197,7 @@ Below you'll find a description of each app icon and where they show up in Windo
The normal app icon that's shown in the start menu, task bar, or task manager.
-
+
* 44x44
* 55x55 (1.25x scale)
@@ -207,7 +207,7 @@ The normal app icon that's shown in the start menu, task bar, or task manager.
The small tile is shown in the start menu when the user set your app's tile to small size.
-
+
* 71x71
* 89x89 (1.25x scale)
@@ -240,7 +240,7 @@ The large tile icon is in the start menu when the user sets your app's tile to l

* 310x310
-* 388x388 (1.25x scale)
+* 388x388 (1.25x scale)
* 465x465 (1.5x scale)
* 620x620 (2x scale)
* 1240x1240 (4x scale)
@@ -269,7 +269,7 @@ The splash screen asset is shown as the splash screen for your app. Currently su
#### Target sized images
-In addition to the standard scale factor sizes described above, we also recommend creating "target-size" assets. We call these assets target-size because they target specific sizes, such as 16 pixels, rather than specific scale factors, such as 400. Target-size assets are for Windows surfaces that don't use the scaling plateau system.
+In addition to the standard scale factor sizes described above, we also recommend creating "target-size" assets. We call these assets target-size because they target specific sizes, such as 16 pixels, rather than specific scale factors, such as 400. Target-size assets are for Windows surfaces that don't use the scaling plateau system.
For example, the **Apps & features** Windows setting uses app icons with specific sizes
diff --git a/microsoft-edge/progressive-web-apps/how-to/index.md b/microsoft-edge/progressive-web-apps/how-to/index.md
index 1ebe9b34ab..e6d72faa4e 100644
--- a/microsoft-edge/progressive-web-apps/how-to/index.md
+++ b/microsoft-edge/progressive-web-apps/how-to/index.md
@@ -119,7 +119,7 @@ The remaining sections explain the files that make up the PWA sample.
A regular web app only runs in the browser. By adding a web app manifest, the web app becomes a Progressive Web App (PWA). The web app manifest enables browsers that support PWAs to install the web app as a Progressive Web App on the device.
-A _web app manifest_ is a JSON file containing metadata about the Progressive Web App, such as its name, description, icons, and the various operating system features it uses. The JSON code describes the app to the host operating system. The manifest file provides basic information about the Progressive Web App, for the device's operating system to use.
+A _web app manifest_ is a JSON file containing metadata about the Progressive Web App, such as its name, description, icons, and the various operating system features it uses. The JSON code describes the app to the host operating system. The manifest file provides basic information about the Progressive Web App, for the device's operating system to use.
The file name `manifest.json` is a common convention, not a strict requirement.
@@ -172,7 +172,7 @@ This sample [sw.js](https://github.com/MicrosoftEdge/Demos/blob/main/temperature
```javascript
const CACHE_NAME = `temperature-converter-v1`;
-
+
// Use the install event to pre-cache all initial resources.
self.addEventListener('install', event => {
event.waitUntil((async () => {
@@ -197,7 +197,7 @@ self.addEventListener('fetch', event => {
try {
// If the resource was not in the cache, try the network.
const fetchResponse = await fetch(event.request);
-
+
// Save the resource in the cache and return it.
cache.put(event.request, fetchResponse.clone());
return fetchResponse;
@@ -214,7 +214,7 @@ This service worker explicitly caches three files:
* `./converter.js`
* `./converter.css`
-Two additional files are are cached automatically by the browser:
+Two additional files are are cached automatically by the browser:
* The icon file (`.png`).
* The manifest file (`.json`).
diff --git a/microsoft-edge/progressive-web-apps/how-to/microsoft-store.md b/microsoft-edge/progressive-web-apps/how-to/microsoft-store.md
index 61b964a592..a2c6384c11 100644
--- a/microsoft-edge/progressive-web-apps/how-to/microsoft-store.md
+++ b/microsoft-edge/progressive-web-apps/how-to/microsoft-store.md
@@ -129,7 +129,7 @@ Use this feature to measure distinct traffic from your PWA that was installed fr
By default, a PWA that's installed from the [Microsoft Store](https://apps.microsoft.com) displays an additional UI when the app is redirected to a locale-specific domain. The added UI shows the URL and page title. This UI is added because navigation to the locale-specific domain is considered _out of scope_.
-The following figure shows the UI that is introduced when a user moves outside the scope of a PWA.
+When a user moves outside the scope of a PWA, the following UI is introduced:

diff --git a/microsoft-edge/progressive-web-apps/how-to/offline.md b/microsoft-edge/progressive-web-apps/how-to/offline.md
index cb5d7b172c..c2964e8e4a 100644
--- a/microsoft-edge/progressive-web-apps/how-to/offline.md
+++ b/microsoft-edge/progressive-web-apps/how-to/offline.md
@@ -17,7 +17,7 @@ There are several ways in which a PWA can store data on a device, such as local
The following table describes the different options, and the rest of this article goes into more details and usage scenarios for each option.
| Storage option | Description |
-|:--- |:--- |
+|---|---|
| Web Storage | Web Storage has two types: session and local. Web Storage is useful to store small amounts of data from your app's front-end code. The data is structured as key-value pairs and is only available to the current app origin. In the case of session storage, the data is cleared when the session ends, for example when the app is closed, or when the user browses to another origin in the same window or tab. Local storage persists until the app removes the data. |
| IndexedDB | IndexedDB is an API for storing larger amounts of structured data. The API is asynchronous and can be used both from your app's front-end code and service worker code. Use the IndexedDB API to store a significant amount of structured data on the client, or binary data, such as encrypted media objects or files. |
| Cache | The Cache API can be used to manage cached resources. The Cache API is Promise-based and allows developers to store and retrieve many web resources — HTML, CSS, JavaScript, images, JSON, and so on. Usually, the Cache API is used within the context of a service worker, but it's also available to your app's front-end code. |
diff --git a/microsoft-edge/progressive-web-apps/how-to/push.md b/microsoft-edge/progressive-web-apps/how-to/push.md
index 0e74ebcd0a..288b79adf9 100644
--- a/microsoft-edge/progressive-web-apps/how-to/push.md
+++ b/microsoft-edge/progressive-web-apps/how-to/push.md
@@ -88,10 +88,10 @@ function urlBase64ToUint8Array(base64String) {
var base64 = (base64String + padding)
.replace(/\-/g, '+')
.replace(/_/g, '/');
-
+
var rawData = window.atob(base64);
var outputArray = new Uint8Array(rawData.length);
-
+
for (var i = 0; i < rawData.length; ++i) {
outputArray[i] = rawData.charCodeAt(i);
}
diff --git a/microsoft-edge/progressive-web-apps/how-to/share.md b/microsoft-edge/progressive-web-apps/how-to/share.md
index ffe1a746f3..181acd2033 100644
--- a/microsoft-edge/progressive-web-apps/how-to/share.md
+++ b/microsoft-edge/progressive-web-apps/how-to/share.md
@@ -271,7 +271,7 @@ Apps can also handle shared files. To handle files in your PWA, you must use the
"files": [
{
"name": "textFile",
- "accept": ["text/plain", "text/html", "text/css",
+ "accept": ["text/plain", "text/html", "text/css",
"text/javascript"]
}
]
diff --git a/microsoft-edge/progressive-web-apps/how-to/sidebar.md b/microsoft-edge/progressive-web-apps/how-to/sidebar.md
index d793af7fa4..e6ef38a3a3 100644
--- a/microsoft-edge/progressive-web-apps/how-to/sidebar.md
+++ b/microsoft-edge/progressive-web-apps/how-to/sidebar.md
@@ -141,7 +141,7 @@ You can detect when your app runs in the sidebar by using User-Agent Client Hint
To detect when your app runs in the sidebar, do either of the following:
* On your web server, read the `Sec-CH-UA` HTTPS request header and look for the `Edge Side Panel` brand. For example:
-
+
```https
Sec-CH-UA: "Microsoft Edge";v="112", "Edge Side Panel";v="1", "Placeholder;Browser Brand";v="99"
```
diff --git a/microsoft-edge/progressive-web-apps/how-to/widgets.md b/microsoft-edge/progressive-web-apps/how-to/widgets.md
index 0f08b8f9c9..27f0508c48 100644
--- a/microsoft-edge/progressive-web-apps/how-to/widgets.md
+++ b/microsoft-edge/progressive-web-apps/how-to/widgets.md
@@ -106,8 +106,8 @@ Each entry in the `widgets` array contains several fields, as shown below:
In the above example, a music player application defines a mini player widget. A widget definition in the web app manifest has the following required and optional fields:
-| Field | Description | Required |
-|:--- |:--- |:--- |
+| Field | Description | Required? |
+|---|---|---|
| `name` | The title of the widget, presented to users. | Yes |
| `short_name` | An alternative short version of the name. | No |
| `description` | A description of what the widget does. | Yes |
@@ -440,7 +440,7 @@ The PWAmp widget displays the current song and buttons to play the previous or n
The service worker global object (or [ServiceWorkerGlobalScope](https://developer.mozilla.org/docs/Web/API/ServiceWorkerGlobalScope)) contains a `widgets` attribute that exposes the following Promise-based methods:
| Method | Description | Parameters | Return value |
-|:--- |:--- |:--- |:--- |
+|---|---|---|---|
| `getByTag(tag)` | Gets a widget by tag. | The widget tag | A Promise that resolves to the [widget object](#widget-object) that matches the tag, or `undefined`. |
| `getByInstanceId(id)` | Gets a widget by instance ID. | The widget instance ID | A Promise that resolves to the corresponding [widget object](#widget-object), or `undefined`. |
| `getByHostId(id)` | Gets widgets by host ID. | The host ID | An array of [widget objects](#widget-object) found in that host. |
@@ -514,7 +514,7 @@ This object is passed as an argument to listeners of service worker widget event
For the `widgetinstall`, `widgetuninstall`, and `widgetresume` event types, the `widgetEvent` object has the following properties:
| Property | Description | Type |
-|:--- |:--- |:--- |
+|---|---|---|
| `widget` | The widget instance that triggered the event. | [widget](#widget-object) |
| `instanceId` | The widget instance ID. | `String` |
| `hostId` | The widget host ID. | `String` |
@@ -528,7 +528,7 @@ This object is passed as an argument to listeners of service worker widget event
The `widgetClickEvent` object has the following properties:
| Property | Description | Type |
-|:--- |:--- |:--- |
+|---|---|---|
| `action` | The action that triggered the event, as defined in the `actions.verb` fields of the widget template. See [Define widget actions](#define-widget-actions). | `String` |
| `widget` | The widget instance that triggered the event. | [widgetInstance](#widgetinstance-object) |
| `hostId` | The widget host ID. | `String` |
diff --git a/microsoft-edge/progressive-web-apps/how-to/window-controls-overlay.md b/microsoft-edge/progressive-web-apps/how-to/window-controls-overlay.md
index 5755eed12d..da126a11b6 100644
--- a/microsoft-edge/progressive-web-apps/how-to/window-controls-overlay.md
+++ b/microsoft-edge/progressive-web-apps/how-to/window-controls-overlay.md
@@ -53,11 +53,11 @@ The [`env()`](https://developer.mozilla.org/docs/Web/CSS/env) CSS function can b
Four environment variables are added by the Window Controls Overlay feature:
| Variable | Description |
-|:--- |:---
-| `titlebar-area-x` | Distance, in `px`, of the area normally occupied by the title bar from the left side of the window |
-| `titlebar-area-y` | Distance, in `px`, of the area normally occupied by the title bar from the top side of the window |
-| `titlebar-area-width` | Width of the title bar area, in `px` |
-| `titlebar-area-height` | Height of the title bar area, in `px` |
+|---|---|
+| `titlebar-area-x` | The distance, in `px`, of the area normally occupied by the title bar from the left side of the window. |
+| `titlebar-area-y` | The distance, in `px`, of the area normally occupied by the title bar from the top side of the window. |
+| `titlebar-area-width` | The width of the title bar area, in `px`. |
+| `titlebar-area-height` | The height of the title bar area, in `px`. |
You can use these environment variables to position and size your own content where the title bar would normally appear, when the window controls overlay feature is disabled:
diff --git a/microsoft-edge/progressive-web-apps/landing/index.yml b/microsoft-edge/progressive-web-apps/landing/index.yml
index ba06645ccf..af04b5ec80 100644
--- a/microsoft-edge/progressive-web-apps/landing/index.yml
+++ b/microsoft-edge/progressive-web-apps/landing/index.yml
@@ -98,7 +98,7 @@ landingContent:
- text: Provide in-app purchases with the Digital Goods API
url: ../how-to/digital-goods-api.md
-
+
# =============================================================================
# Row 2
# -----------------------------------------------------------------------------
diff --git a/microsoft-edge/progressive-web-apps/samples/index.md b/microsoft-edge/progressive-web-apps/samples/index.md
index 3dc7b931d4..06d0a0cd1e 100644
--- a/microsoft-edge/progressive-web-apps/samples/index.md
+++ b/microsoft-edge/progressive-web-apps/samples/index.md
@@ -36,7 +36,7 @@ This demo is in the [webmaxru / bpm-counter](https://github.com/webmaxru/bpm-cou
BPM Techno uses the following features:
| Feature | Description | Documentation |
-|:--- |:--- |:--- |
+|---|---|---|
| Shortcuts | BPM Techno defines a shortcut that lets users upload an audio file in the app. | [Define app shortcuts (long-press or right-click menus)](../how-to/shortcuts.md) |
| File Handling | BPM Techno natively handles `*.mp3` files. | [Handle files in a PWA](../how-to/handle-files.md) |
| Share Target | Other apps can share audio files with BPM Techno, through the operating system sharing dialog. | [Receiving shared content](../how-to/share.md#receiving-shared-content) |
@@ -58,7 +58,7 @@ This demo is in the [pwa-builder / web-whiteboard](https://github.com/pwa-builde
Webboard uses the following features:
| Feature | Description | Documentation |
-|:--- |:--- |:--- |
+|---|---|---|
| Web Share | Drawings can be shared with other apps through the operating system sharing dialog. | [Sharing content](../how-to/share.md#sharing-content) |
diff --git a/microsoft-edge/progressive-web-apps/samples/temperature-converter-source-files.md b/microsoft-edge/progressive-web-apps/samples/temperature-converter-source-files.md
index 8e05a3913a..a9bd231a4f 100644
--- a/microsoft-edge/progressive-web-apps/samples/temperature-converter-source-files.md
+++ b/microsoft-edge/progressive-web-apps/samples/temperature-converter-source-files.md
@@ -10,7 +10,7 @@ ms.date: 10/17/2025
---
# Temperature converter source files
-The sample Temperature converter Progressive Web App (PWA)
+Source files for the Temperature converter Progressive Web App (PWA) sample.
See also:
* [/temperature-converter/](https://github.com/MicrosoftEdge/Demos/tree/main/temperature-converter/) - source code directory.
@@ -259,7 +259,7 @@ See also:
```javascript
const CACHE_NAME = `temperature-converter-v1`;
-
+
// Use the install event to pre-cache all initial resources.
self.addEventListener('install', event => {
event.waitUntil((async () => {
@@ -284,7 +284,7 @@ self.addEventListener('fetch', event => {
try {
// If the resource was not in the cache, try the network.
const fetchResponse = await fetch(event.request);
-
+
// Save the resource in the cache and return it.
cache.put(event.request, fetchResponse.clone());
return fetchResponse;
@@ -323,7 +323,7 @@ The main directory for a Progressive Web App (PWA)'s source code can contain a R
Source code:
* [/temperature-converter/](https://github.com/MicrosoftEdge/Demos/tree/main/temperature-converter/)
- * [index.html](https://github.com/MicrosoftEdge/Demos/blob/main/temperature-converter/index.html)
+ * [index.html](https://github.com/MicrosoftEdge/Demos/blob/main/temperature-converter/index.html)
* [converter.css](https://github.com/MicrosoftEdge/Demos/blob/main/temperature-converter/converter.css)
* [converter.js](https://github.com/MicrosoftEdge/Demos/blob/main/temperature-converter/converter.js)
* [manifest.json](https://github.com/MicrosoftEdge/Demos/blob/main/temperature-converter/manifest.json)
diff --git a/microsoft-edge/progressive-web-apps/samples/temperature-converter.md b/microsoft-edge/progressive-web-apps/samples/temperature-converter.md
index ad637d1e34..97ef3e217d 100644
--- a/microsoft-edge/progressive-web-apps/samples/temperature-converter.md
+++ b/microsoft-edge/progressive-web-apps/samples/temperature-converter.md
@@ -384,7 +384,7 @@ Confirm that the service worker (`sw.js`) is running when you open the PWA as a
## Step 10: Use DevTools to turn off the internet connection and test the PWA offline
Try the Progressive Web App (PWA) as an offline app, as follows:
-
+
1. In the DevTools window, open the **Network** () tool.
1. Near the top, in the **Throttling** menu to the right of the **Disable cache** checkbox, change from **No throttling** to **Offline**:
@@ -548,7 +548,7 @@ Create a working branch and switch to it, as follows:
1. In the **Explorer** pane, open `/temperature-converter/manifest.json`.
1. In `manifest.json`, change the app's name in two lines from "Temperature converter" to "TC", as follows:
-
+
Change from:
```json
diff --git a/microsoft-edge/progressive-web-apps/ux.md b/microsoft-edge/progressive-web-apps/ux.md
index 3499e70e03..3c435e5f4c 100644
--- a/microsoft-edge/progressive-web-apps/ux.md
+++ b/microsoft-edge/progressive-web-apps/ux.md
@@ -24,15 +24,17 @@ See also:
When Microsoft Edge determines that a website is an installable Progressive Web App (PWA), the **App available** () icon appears in the Address bar.
-1. Click the **App available** () icon to install the PWA.
+1. Click the **App available** () icon:
- 
+ 
-1. Click **Install** to complete the installation and run the PWA in Windows.
+1. Click the **Install** button.
+
+ The installation completes, and the PWA runs in Windows.
Many PWAs are also present on the [Microsoft Store](https://apps.microsoft.com), and can be installed directly from there, without needing to open Microsoft Edge.
-To install a PWA from the Microsoft Store, select **Get** on the app page:
+To install a PWA from the Microsoft Store, on the app's page, click the **Get** button:

@@ -208,7 +210,7 @@ The **App info** menu contains the following:
* **Extensions** - List of extensions that Microsoft Edge has installed.
* **More tools**
-
+
## Limitations
diff --git a/microsoft-edge/progressive-web-apps/whats-new/pwa.md b/microsoft-edge/progressive-web-apps/whats-new/pwa.md
index 3142e98836..f101c0d3e5 100644
--- a/microsoft-edge/progressive-web-apps/whats-new/pwa.md
+++ b/microsoft-edge/progressive-web-apps/whats-new/pwa.md
@@ -10,7 +10,7 @@ ms.date: 10/24/2023
---
# What's new in PWAs
-The following are the updates to Progressive Web Apps (PWAs) and Web Apps, from the Microsoft Edge Web Apps team. To try new features, read these announcements.
+The following are the updates to Progressive Web Apps (PWAs) and Web Apps, from the Microsoft Edge Web Apps team. To try new features, read these announcements.
To stay up to date with the latest and greatest features, download a preview channel of Microsoft Edge (Beta, Dev, or Canary); go to [Become a Microsoft Edge Insider](https://www.microsoft.com/edge/download/insider).
@@ -169,7 +169,7 @@ Microsoft Edge version 96 is scheduled to become the Stable release on Nov. 18,
-#### Store apps registered as URL handlers hide custom tab UI
+#### Store apps registered as URL handlers hide custom tab UI
Store-installed PWAs that are participating in the [URL Handlers origin trial](#url-handlers-origin-trial) will no longer show the Chrome Custom Tab (CCT) when redirecting from the PWA's domain to a matching domain name with a different top-level domain (TLD). This redirecting often happens in apps with locale-specific domains; for example, redirecting from `contoso.com` to `contoso.ca` for users in Canada.
diff --git a/microsoft-edge/puppeteer/index.md b/microsoft-edge/puppeteer/index.md
index 9144e89926..d37e0be85d 100644
--- a/microsoft-edge/puppeteer/index.md
+++ b/microsoft-edge/puppeteer/index.md
@@ -48,7 +48,7 @@ To use `puppeteer-core` to launch Microsoft Edge:
```javascript
const puppeteer = require('puppeteer-core');
-
+
(async () => {
const browser = await puppeteer.launch({
executablePath: 'C:\\Program Files (x86)\\Microsoft\\Edge Dev\\Application\\msedge.exe'
@@ -56,11 +56,11 @@ To use `puppeteer-core` to launch Microsoft Edge:
const page = await browser.newPage();
await page.goto('https://www.microsoft.com/edge/download/insider');
await page.screenshot({path: 'example.png'});
-
+
await browser.close();
})();
```
-
+
1. Follow the next steps to find the executable path and then change `executablePath` to point to your installation of Microsoft Edge. For example, on macOS, the `executablePath` for Microsoft Edge Canary should be set to `/Applications/Microsoft\ Edge\ Canary.app/`.
1. To find the `executablePath`, a simple manual approach is to go to `edge://version` and copy the **Executable path** on that page.
@@ -70,19 +70,19 @@ To use `puppeteer-core` to launch Microsoft Edge:
```console
npm i edge-paths
```
-
+
```console
yarn add edge-paths
```
-
+
1. Then, if you're using `edge-paths` to find the executable path, run code like the following sample. It uses the [edge-paths](https://www.npmjs.com/package/edge-paths) package to programmatically find the path to your installation of Microsoft Edge on your OS:
```javascript
const edgePaths = require("edge-paths");
-
+
const EDGE_PATH = edgePaths.getEdgePath();
```
-
+
1. Now that you've found the executable path (either manually or programmatically), in `example.js`, set `executablePath: EDGE_PATH`. Save your changes.
1. Run `example.js` from the command line:
diff --git a/microsoft-edge/test-and-automation/webhint.md b/microsoft-edge/test-and-automation/webhint.md
index 7a0d10d973..bd934f9471 100644
--- a/microsoft-edge/test-and-automation/webhint.md
+++ b/microsoft-edge/test-and-automation/webhint.md
@@ -15,4 +15,4 @@ As of Apr. 2022, the webhint extension for Visual Studio Code is no longer being
[Webhint Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=webhint.vscode-webhint) at Visual Studio Marketplace.
-[webhint](https://webhint.io) is a customizable linting tool, to improve the accessibility, performance, cross-browser compatibility, PWA compatibility, and security of your site. The webhint extension checks your code for best practices and common errors.
+[webhint](https://webhint.io) is a customizable linting tool, to improve the accessibility, performance, cross-browser compatibility, PWA compatibility, and security of your site. The webhint extension checks your code for best practices and common errors.
diff --git a/microsoft-edge/toc.yml b/microsoft-edge/toc.yml
index e391b10cc7..4d139343d2 100644
--- a/microsoft-edge/toc.yml
+++ b/microsoft-edge/toc.yml
@@ -494,7 +494,7 @@
- name: About the list of tools
href: ./devtools/about-tools.md
# =============================================================================
-# Default tools
+# Default tools
# -----------------------------------------------------------------------------
- name: Inspect tool
items:
@@ -680,7 +680,7 @@
# -----------------------------------------------------------------------------
- name: Performance tool # = upstream TOC bucket "Performance"
items:
- - name: "Performance tool: Analyze your website's performance" # = Performance > Overview
+ - name: "Performance tool: Analyze your website's performance" # = Performance > Overview
href: ./devtools/performance/overview.md
displayName: Performance tool
@@ -735,7 +735,7 @@
- name: Record heap snapshots using the Memory tool ("Heap snapshot" profiling type)
href: ./devtools/memory-problems/heap-snapshots.md
- displayName: Memory tool
+ displayName: Memory tool
- name: Use Allocation instrumentation on timeline ("Allocations on timeline" profiling type)
href: ./devtools/memory-problems/allocation-profiler.md
@@ -1523,7 +1523,10 @@
- name: Release notes for the WebView2 Runtime
href: ./webview2/release-notes/runtime/index.md
- - name: Preview Runtime 152.0.4181.0 (Aug. 3, 2026)
+ - name: Preview Runtime 153.n.nnnn.nn (Mmm. dd, yyyy)
+ href: ./webview2/release-notes/runtime/153.md
+
+ - name: Runtime 152.n.nnnn.nn (Mmm. dd, yyyy)
href: ./webview2/release-notes/runtime/152.md
- name: Runtime 151.0.4129.50 (Aug. 3, 2026)
@@ -1550,11 +1553,11 @@
- name: Runtime 144.0.3719.77 (Jan. 27, 2026)
href: ./webview2/release-notes/runtime/144.md
- - name: Runtime 143.0.3650.58 (Dec. 8, 2025)
- href: ./webview2/release-notes/runtime/143.md
-
- name: Archive
items:
+ - name: Runtime 143.0.3650.58 (Dec. 8, 2025)
+ href: ./webview2/release-notes/runtime/143.md
+
- name: Runtime 142.0.3595.46 (Nov. 3, 2025)
href: ./webview2/release-notes/runtime/142.md
@@ -1762,6 +1765,9 @@
- name: Release notes for WebView2 SDKs
href: ./webview2/release-notes/sdk/index.md
+ - name: SDK n.n.nnnn.nn, for Runtime 152 (Mmm. dd, yyyy)
+ href: ./webview2/release-notes/sdk/1-0-nnnn-nn.md
+
- name: SDK 1.0.4181-prerelease, for Runtime 152 (Aug. 3, 2026)
href: ./webview2/release-notes/sdk/1-0-4181-prerelease.md
@@ -2612,7 +2618,7 @@
href: ./visual-studio-code/ide-integration.md
# - name: Use DevTools as an IDE
- # href:
+ # href:
- name: DevTools extension for Visual Studio Code # aux jump page
href: ./visual-studio-code/microsoft-edge-devtools-extension/devtools-extension.md
diff --git a/microsoft-edge/visual-studio-code/ide-integration.md b/microsoft-edge/visual-studio-code/ide-integration.md
index 7e04c232f6..9eccdc6bc6 100644
--- a/microsoft-edge/visual-studio-code/ide-integration.md
+++ b/microsoft-edge/visual-studio-code/ide-integration.md
@@ -68,7 +68,7 @@ Use webhint, a customizable linting tool, to improve the functionality of your s
webhint checks your code for best practices and common errors. Identify and fix problems in your files, including HTML, CSS, JavaScript, and TypeScript. Hints appear as wavy underlines in the text editor, and are summarized in the **Problems** pane.
-See also:
+See also:
* [webhint extension for Visual Studio Code](../test-and-automation/webhint.md)
diff --git a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension.md b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension.md
index f418219de3..5fe03869f7 100644
--- a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension.md
+++ b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension.md
@@ -43,7 +43,7 @@ The DevTools extension for Visual Studio Code is one of several different ways t
| Approach | Pros and Cons | Article |
|---|---|---|
-| Browser > DevTools > **Elements** tool | You have to manually copy changes from DevTools into your source files. | [Inspect, edit, and debug HTML and CSS with the Elements tool](../devtools/elements-tool/elements-tool.md)|
+| Browser > DevTools > **Elements** tool | You have to manually copy changes from DevTools into your source files. | [Inspect, edit, and debug HTML and CSS with the Elements tool](../devtools/elements-tool/elements-tool.md)|
| Browser > DevTools > **Sources** tool > **Workspace** tab to define a **Workspace** | Always saves the changes, which could discourage experimenting | [Select a local Workspace, to use DevTools to edit files and save changes to disk](../devtools/sources/index.md) in _Sources tool overview_ |
| Browser > DevTools > **Settings** > **Experiments** > **Open source files in Visual Studio Code** | Always saves the changes, which could discourage experimenting | Experiments > [Opening source files in Visual Studio Code](../devtools/sources/opening-sources-in-vscode.md). |
| Microsoft Edge DevTools extension for Visual Studio Code | Automatically opens and edits the CSS source file but doesn't automatically save the file, so you get to choose whether to save the edits. | The present article. |
diff --git a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/debugging-a-webpage.md b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/debugging-a-webpage.md
index 5b5723ec2b..8faeac153b 100644
--- a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/debugging-a-webpage.md
+++ b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/debugging-a-webpage.md
@@ -94,7 +94,7 @@ To start the Visual Studio Code debugger along with DevTools, by using the usual
* On the **Activity Bar**, click the **Run and Debug** icon (), and then in the **Run and Debug** Side Bar, click the **Run and Debug** button, as shown below.
* Open the Visual Studio Code command palette, start typing the word **debug**, and then select **Debug: Open Link**.
-
+

**Microsoft Edge Tools** doesn't appear in the above screenshot, because for this screenshot, DevTools was uninstalled.
diff --git a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/device-state-emulation.md b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/device-state-emulation.md
index 5d2ad301f7..d49f2f7f9a 100644
--- a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/device-state-emulation.md
+++ b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/device-state-emulation.md
@@ -51,7 +51,7 @@ Click the **Rotate** button () to:
+Use the **Emulate CSS media features** button () to:
* Emulate CSS media queries.
* Test how your product looks in print mode.
* Switch between dark and light mode.
diff --git a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/get-started-launch-instance.md b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/get-started-launch-instance.md
index 0d521f9335..1da83d3d37 100644
--- a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/get-started-launch-instance.md
+++ b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/get-started-launch-instance.md
@@ -111,7 +111,7 @@ Opening a folder gives you the opportunity to grant trust to the folder, so that
1. In the **Edge DevTools: Browser** tab, click the **Close DevTools** or **Open DevTools** button a couple times. The other **DevTools** tab opens and closes, saving space.
-1. Along the top of Visual Studio Code, right-click the tabs and arrange them to show the various tabs at the same time:
+1. Along the top of Visual Studio Code, right-click the tabs and arrange them to show the various tabs at the same time:
* The Side Bar, showing **Microsoft Edge Tools** > **Targets**.
* The `index.html` editor.
diff --git a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/get-started-launch-project.md b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/get-started-launch-project.md
index 7e95055239..f4fccf1e17 100644
--- a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/get-started-launch-project.md
+++ b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/get-started-launch-project.md
@@ -58,14 +58,14 @@ These steps explain how to start http-server by using the cross-platform git bas
```bash
npx http-server
```
-
+

Information about the server and localhost URL is displayed, such as:
```bash
Starting up http-server, serving ./
-
+
Available on:
http://10.0.1.8:8080
http://127.0.0.1:8080
@@ -81,7 +81,7 @@ These steps explain how to start http-server by using the cross-platform git bas
This section is in support of clicking the **Launch Project** button.
1. In Visual Studio Code, select **File** > **Open Folder**. Select your project directory that contains `index.html` for the cloned **demo-to-do** sample in the Demos repo, such as `C:\Users\username\Documents\GitHub\Demos\demo-to-do\`.
-
+

Just like in the repo's [demo-to-do](https://github.com/MicrosoftEdge/Demos/tree/main/demo-to-do) folder, initially there's no `.vscode` folder, and no `launch.json` file in that folder.
@@ -97,7 +97,7 @@ This section is in support of clicking the **Launch Project** button.
1. In several places in the `launch.json` file, on each of the `"url"` lines, scroll to the right , and note the comment, "Provide your project's url":
```javascript
- "url": "c:\\Users\\username\\.vscode\\extensions\\ms-edgedevtools.vscode-edge-devtools-2.1.1\\out\\startpage\\index.html",
+ "url": "c:\\Users\\username\\.vscode\\extensions\\ms-edgedevtools.vscode-edge-devtools-2.1.1\\out\\startpage\\index.html",
// Provide your project's url to finish configuring
```
diff --git a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/install.md b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/install.md
index 3217d724e2..8bfeb1a32b 100644
--- a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/install.md
+++ b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/install.md
@@ -215,7 +215,7 @@ These steps start the server for the first time.
```console
Starting up http-server, serving ./
-
+
Available on:
http://10.0.1.8:8080
http://127.0.0.1:8080
diff --git a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/open-devtools-and-embedded-browser.md b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/open-devtools-and-embedded-browser.md
index 283a3d487a..de38e84ebb 100644
--- a/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/open-devtools-and-embedded-browser.md
+++ b/microsoft-edge/visual-studio-code/microsoft-edge-devtools-extension/open-devtools-and-embedded-browser.md
@@ -161,7 +161,7 @@ Continue below.
1. In several places in the `launch.json` file, on each of the `"url"` lines, scroll to the right, and note the comment, "Provide your project's url to finish configuring":
```javascript
- "url": "c:\\Users\\username\\.vscode\\extensions\\ms-edgedevtools.vscode-edge-devtools-2.1.1\\out\\startpage\\index.html",
+ "url": "c:\\Users\\username\\.vscode\\extensions\\ms-edgedevtools.vscode-edge-devtools-2.1.1\\out\\startpage\\index.html",
// Provide your project's url to finish configuring
```
@@ -212,7 +212,7 @@ See also:
If DevTools is able to correlate and establish the workspace mapping between the files downloaded from the server and the files in the folder that you opened, DevTools provides its full functionality, including CSS mirror editing of your local source files when you change CSS in DevTools.
-If DevTools can't map the files in the **Edge DevTools: Browser** tab to the files in the folder that you opened in Visual Studio Code's Explorer, you can inspect webpages, and you can change them, such as changing CSS values in the **Sources** tab of the **Elements** tool in the **Edge DevTools** tab. In this case, though, you can't use CSS mirror editing though, to have DevTools automatically edit your source files. Options include:
+If DevTools can't map the files in the **Edge DevTools: Browser** tab to the files in the folder that you opened in Visual Studio Code's Explorer, you can inspect webpages, and you can change them, such as changing CSS values in the **Sources** tab of the **Elements** tool in the **Edge DevTools** tab. In this case, though, you can't use CSS mirror editing though, to have DevTools automatically edit your source files. Options include:
* Clear the **CSS mirror editing** checkbox in **Styles** tab and continue experimenting with CSS changes.
@@ -220,7 +220,6 @@ If DevTools can't map the files in the **Edge DevTools: Browser** tab to the fil
* Grant trust to a folder by opening it in Visual Studio Code.
-
For example:
1. Open a folder that's in your local copy of the Demos repo, such as `C:\Users\username\Documents\GitHub\Demos\demo-to-do\`, as described in [Get started using the DevTools extension for Visual Studio Code](./get-started.md).
@@ -238,6 +237,7 @@ For example:
The above image shows using the **Styles** tab with **CSS mirror editing** checkbox selected, used to enlarge the body text to **24pt**. The **Edge DevTools: Browser** tab renders the page as you change the value. The tab's Address bar contains a URL rather than a file path. Because **CSS mirror editing** checkbox selected and the corresponding `.css` file is found in a writeable local folder, the `.css` file on the local drive is automatically edited to `24pt;`.
+
#### Avoiding error messages about mirroring or mapping
Next, try changing CSS without a matching folder opened:
@@ -258,7 +258,7 @@ Next, try changing CSS without a matching folder opened:

-Options in this case include:
+Options in this case include:
* Clear the **CSS mirror editing** checkbox in **Styles** tab and continue experimenting with CSS changes (without automatic editing of CSS in source files). This prevents further error messages about mapping to source files for CSS mirror editing.
@@ -270,6 +270,7 @@ See also:
* [Troubleshooting the DevTools extension](./troubleshooting.md)
+
#### URLs, file paths, and opening a matching folder
In some cases, behavior of DevTools is different for file paths than for URLs.
diff --git a/microsoft-edge/visual-studio/index.md b/microsoft-edge/visual-studio/index.md
index 463129bdb4..70d21ee816 100644
--- a/microsoft-edge/visual-studio/index.md
+++ b/microsoft-edge/visual-studio/index.md
@@ -70,7 +70,7 @@ Next, run and debug the ASP.NET Core web app project in Visual Studio, as follow

1. In the same dropdown list, select **Web Browser** > the preview channel of Microsoft Edge that you want Visual Studio to launch, such as Microsoft Edge Canary, Dev, or Beta.
-
+

To download a preview channel of Microsoft Edge (Beta, Dev, or Canary), go to [Become a Microsoft Edge Insider](https://www.microsoft.com/edge/download/insider).
@@ -119,7 +119,7 @@ To attach the Visual Studio debugger to an instance of Microsoft Edge that's alr
```console
start msedge --remote-debugging-port=9222
```
-
+
1. In Visual Studio, select **Debug** > **Attach to Process** or **Ctrl+Alt+P**.

diff --git a/microsoft-edge/web-platform/devtools-mcp-server.md b/microsoft-edge/web-platform/devtools-mcp-server.md
index afedc92bc1..c849f8d5d5 100644
--- a/microsoft-edge/web-platform/devtools-mcp-server.md
+++ b/microsoft-edge/web-platform/devtools-mcp-server.md
@@ -48,7 +48,7 @@ Chrome DevTools for agents (`chrome-devtools-mcp`) lets your coding agent (such
Chrome DevTools for agents (`chrome-devtools-mcp`) lets your coding agent (such as Copilot, Antigravity, Claude, or Cursor) control and inspect a live Chromium-based browser, including Microsoft Edge and WebView2.
-Chrome DevTools for agents acts as a Model-Context-Protocol (MCP) server, giving your AI coding assistant access to the full power of Microsoft Edge DevTools for reliable automation, in-depth debugging, and performance analysis.
+Chrome DevTools for agents acts as a Model-Context-Protocol (MCP) server, giving your AI coding assistant access to the full power of Microsoft Edge DevTools for reliable automation, in-depth debugging, and performance analysis.
The Chrome DevTools MCP server supports connecting to any Chromium-based browser, including Microsoft Edge and WebView2. Because the server is built for the Google Chrome browser, you need to provide extra configuration to point the server at Microsoft Edge or a WebView2 instance.
@@ -77,7 +77,7 @@ The examples in this guide use the VS Code `mcp.json` format. If you're using a
## Launch Edge
Use this configuration to let your coding agent launch Microsoft Edge for you.
-
+
With this configuration, the Model-Context-Protocol (MCP) server, which your agent connects to, launches Edge, by using the `--executablePath` flag pointing to the Edge binary.
Copy and paste the configuration snippet for your platform into your VS Code `mcp.json`. These examples use Edge Stable.
@@ -175,10 +175,10 @@ These are default install locations. Paths may vary based on user configuration
| Stable | `%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe` |
| Beta | `%ProgramFiles(x86)%\Microsoft\Edge Beta\Application\msedge.exe` |
| Dev | `%ProgramFiles(x86)%\Microsoft\Edge Dev\Application\msedge.exe` |
-| Canary | `%LOCALAPPDATA%\Microsoft\Edge SxS\Application\msedge.exe` |
+| Canary | `%LOCALAPPDATA%\Microsoft\Edge SxS\Application\msedge.exe` |
##### [macOS](#tab/macos/)
-
+
| Channel | Default Path |
|---|---|
| Stable | `/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge` |
@@ -355,7 +355,7 @@ These are default locations. Paths may vary based on user configuration, versio
WebView2 doesn't have a "launch" scenario; instead, the host app creates the WebView2 instance.
-The MCP server connects to the WebView2 instance via auto-connect, similar to [Auto-connect to a running Edge instance](#auto-connect-to-a-running-edge-instance), above.
+The MCP server connects to the WebView2 instance via auto-connect, similar to [Auto-connect to a running Edge instance](#auto-connect-to-a-running-edge-instance), above.
diff --git a/microsoft-edge/web-platform/how-to-detect-win11-images/acceptCH.svg b/microsoft-edge/web-platform/how-to-detect-win11-images/acceptCH.svg
index 491b8bd602..de60a515f3 100644
--- a/microsoft-edge/web-platform/how-to-detect-win11-images/acceptCH.svg
+++ b/microsoft-edge/web-platform/how-to-detect-win11-images/acceptCH.svg
@@ -71,7 +71,7 @@ skinparam useBetaStyle false
network {
FontColor #2196F3
BorderColor #2196F3
- BackgroundColor transparent
+ BackgroundColor transparent
LineColor #2196F3
LineThickness 1.0
FontColor #1a78c2
@@ -136,7 +136,7 @@ skinparam shadowing true
skinparam roundcorner 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
-skinparam Padding 10
+skinparam Padding 10
skinparam TitleFontColor #222
skinparam TitleFontSize 20
skinparam TitleBorderThickness 0
diff --git a/microsoft-edge/web-platform/how-to-detect-win11-images/criticalCH.svg b/microsoft-edge/web-platform/how-to-detect-win11-images/criticalCH.svg
index 46582dd018..ed29b4d0ef 100644
--- a/microsoft-edge/web-platform/how-to-detect-win11-images/criticalCH.svg
+++ b/microsoft-edge/web-platform/how-to-detect-win11-images/criticalCH.svg
@@ -4,7 +4,7 @@
participant "Client (Browser)" as c
participant "Server (Website)" as s
c -> s: **Request Headers** \n user-agent: \n sec-ch-ua: ... \n sec-ch-ua-mobile: ... \n ...
-s- -> c: **Response Headers** \n Accept-CH: sec-ch-ua-platform \n Critical-CH: sec-ch-ua-platform
+s- -> c: **Response Headers** \n Accept-CH: sec-ch-ua-platform \n Critical-CH: sec-ch-ua-platform
c -> s: **Request Headers** \n user-agent: \n sec-ch-ua: ... \n sec-ch-ua-mobile: ... \n sec-ch-ua-platform: ... \n...
@enduml
@@ -72,7 +72,7 @@ skinparam useBetaStyle false
network {
FontColor #2196F3
BorderColor #2196F3
- BackgroundColor transparent
+ BackgroundColor transparent
LineColor #2196F3
LineThickness 1.0
FontColor #1a78c2
@@ -137,7 +137,7 @@ skinparam shadowing true
skinparam roundcorner 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
-skinparam Padding 10
+skinparam Padding 10
skinparam TitleFontColor #222
skinparam TitleFontSize 20
skinparam TitleBorderThickness 0
@@ -446,7 +446,7 @@ skinparam stack {
participant "Client (Browser)" as c
participant "Server (Website)" as s
c -> s: **Request Headers** \n user-agent: \n sec-ch-ua: ... \n sec-ch-ua-mobile: ... \n ...
-s- -> c: **Response Headers** \n Accept-CH: sec-ch-ua-platform \n Critical-CH: sec-ch-ua-platform
+s- -> c: **Response Headers** \n Accept-CH: sec-ch-ua-platform \n Critical-CH: sec-ch-ua-platform
c -> s: **Request Headers** \n user-agent: \n sec-ch-ua: ... \n sec-ch-ua-mobile: ... \n sec-ch-ua-platform: ... \n...
@enduml
diff --git a/microsoft-edge/web-platform/how-to-detect-win11.md b/microsoft-edge/web-platform/how-to-detect-win11.md
index dcd193a373..9ca18bc351 100644
--- a/microsoft-edge/web-platform/how-to-detect-win11.md
+++ b/microsoft-edge/web-platform/how-to-detect-win11.md
@@ -127,7 +127,7 @@ Currently, website servers must send the `Accept-CH` response header to the brow

-During this initial request, the client will record the `Accept-CH` preferences and on subsequent requests include `sec-ch-ua-platform` by default.
+During this initial request, the client will record the `Accept-CH` preferences and on subsequent requests include `sec-ch-ua-platform` by default.
To further optimize this flow, the new `Critical-CH` header can be used in addition to the `Accept-CH` header to reissue the request header immediately, without the need for a page reload. The following diagram shows the browser sending request headers to the server including `user agent: ` and receiving response headers including `Accept-CH: sec-ch-ua-platform` and `Critical-CH: sec-ch-ua-platform`. The browser then sends request headers to the server immediately.
diff --git a/microsoft-edge/web-platform/languagedetector-api.md b/microsoft-edge/web-platform/languagedetector-api.md
index 9c69fdc9d9..f81faa99da 100644
--- a/microsoft-edge/web-platform/languagedetector-api.md
+++ b/microsoft-edge/web-platform/languagedetector-api.md
@@ -100,7 +100,7 @@ To see the Language Detector API in action, and view existing code that uses thi
The model starts detecting the language of the text.
The output is generated in the response section of the page.
-
+
The output displays:
* The name of the detected language.
* The percent certainty of which language.
@@ -193,7 +193,7 @@ You can follow the progress of the model download by using the `monitor` option.
// to monitor the model download.
const session = await LanguageDetector.create({
monitor: m => {
- // Use the monitor object argument to add a listener for the
+ // Use the monitor object argument to add a listener for the
// downloadprogress event.
m.addEventListener("downloadprogress", event => {
// The event is an object with the loaded and total properties.
@@ -287,7 +287,7 @@ To destroy a session by creating an `AbortController` object, create a `Language
// Create an AbortController object.
const controller = new AbortController();
-// Create a Language Detector session and pass the
+// Create a Language Detector session and pass the
// AbortController object by using the signal option.
const session = await LanguageDetector.create({
signal: controller.signal
diff --git a/microsoft-edge/web-platform/prompt-api.md b/microsoft-edge/web-platform/prompt-api.md
index 10068f4677..ac79e8f649 100644
--- a/microsoft-edge/web-platform/prompt-api.md
+++ b/microsoft-edge/web-platform/prompt-api.md
@@ -151,7 +151,7 @@ By default, the Prompt API uses the Phi-4-mini model. To use Aion-1.0-Instruct
1. In Edge Canary or Edge Dev, open a new tab or window and go to `edge://flags`.
1. In the search box at the top of the page, enter **Enable prerelease on-device language model**.
-
+
1. In the **Enable prerelease on-device language model** drop-down list, select **Enabled**, and then click the **Restart** button:

@@ -320,7 +320,7 @@ You can follow the progress of the model download by using the `monitor` option.
// download.
const session = await LanguageModel.create({
monitor: m => {
- // Use the monitor object argument to add an listener for the
+ // Use the monitor object argument to add an listener for the
// downloadprogress event.
m.addEventListener("downloadprogress", event => {
// The event is an object with the loaded and total properties.
diff --git a/microsoft-edge/web-platform/proofreader-api.md b/microsoft-edge/web-platform/proofreader-api.md
index 5d357e57d0..f7a6248d05 100644
--- a/microsoft-edge/web-platform/proofreader-api.md
+++ b/microsoft-edge/web-platform/proofreader-api.md
@@ -243,7 +243,7 @@ You can follow the progress of the model download by using the `monitor` option.
// download.
const session = await Proofreader.create({
monitor: m => {
- // Use the monitor object argument to add an listener for the
+ // Use the monitor object argument to add an listener for the
// downloadprogress event.
m.addEventListener("downloadprogress", event => {
// The event is an object with the loaded and total properties.
@@ -346,7 +346,7 @@ Alternatively, you can create an `AbortController` object, create a `Proofreader
// Create an AbortController object.
const controller = new AbortController();
-// Create a Proofreader session and pass the
+// Create a Proofreader session and pass the
// AbortController signal object by using the signal option.
const session = await Proofreader.create({ signal: controller.signal });
diff --git a/microsoft-edge/web-platform/release-notes/140.md b/microsoft-edge/web-platform/release-notes/140.md
index 588b936793..0b76be7a64 100644
--- a/microsoft-edge/web-platform/release-notes/140.md
+++ b/microsoft-edge/web-platform/release-notes/140.md
@@ -329,7 +329,7 @@ See also:
The `highlightsFromPoint` API lets you interact with custom highlights by detecting which highlights exist at a specific point within a document.
-The `highlightsFromPoint` API is useful for apps where multiple highlights may overlap or exist within the shadow DOM. This API makes it possible to manage dynamic interactions that have custom highlights more effectively, such as by responding to user clicks or hover events on highlighted regions, to trigger custom tooltips, context menus, or other interactive features.
+The `highlightsFromPoint` API is useful for apps where multiple highlights may overlap or exist within the shadow DOM. This API makes it possible to manage dynamic interactions that have custom highlights more effectively, such as by responding to user clicks or hover events on highlighted regions, to trigger custom tooltips, context menus, or other interactive features.
See also:
* [CSS Custom Highlight API](https://developer.mozilla.org/docs/Web/API/CSS_Custom_Highlight_API) at MDN.
diff --git a/microsoft-edge/web-platform/release-notes/145.md b/microsoft-edge/web-platform/release-notes/145.md
index cef56cf1fe..9d34b3b995 100644
--- a/microsoft-edge/web-platform/release-notes/145.md
+++ b/microsoft-edge/web-platform/release-notes/145.md
@@ -380,7 +380,7 @@ To define a cookie's expiry time, you can now use the `maxAge` attribute when us
This is in addition to the `expires` attribute, which already controls a cookie's expiry time. The new, `maxAge` attribute:
* Provides an alternative option that can sometimes be more intuitive than the `expires` attribute.
-* Aligns the Cookie Store API with the options that are provided by `document.cookie` and the `Set-Cookie` HTTP Header.
+* Aligns the Cookie Store API with the options that are provided by `document.cookie` and the `Set-Cookie` HTTP Header.
See also:
* [Cookie Store API](https://developer.mozilla.org/docs/Web/API/Cookie_Store_API) at MDN.
diff --git a/microsoft-edge/web-platform/release-notes/146.md b/microsoft-edge/web-platform/release-notes/146.md
index 54cefb13ee..cd6b71485f 100644
--- a/microsoft-edge/web-platform/release-notes/146.md
+++ b/microsoft-edge/web-platform/release-notes/146.md
@@ -243,7 +243,7 @@ WebGPU Compatibility mode adds an opt-in, lightly restricted subset of the WebGP
By opting into this mode and following its constraints, you can extend the reach of your WebGPU application to many older devices that don't have the modern, explicit graphics APIs that core WebGPU requires.
-* For a simple app, the only required change is to set the `featureLevel` option to `"compatibility"` when calling `requestAdapter()`.
+* For a simple app, the only required change is to set the `featureLevel` option to `"compatibility"` when calling `requestAdapter()`.
* For a more advanced app, some modifications might be necessary, to accommodate for the Compatibility mode's restrictions. However, because Compatibility mode uses a subset of the WebGPU API, your app will also work on browsers that don't support Compatibility mode.
diff --git a/microsoft-edge/web-platform/release-notes/147.md b/microsoft-edge/web-platform/release-notes/147.md
index 1dd60d18fe..e6695d0269 100644
--- a/microsoft-edge/web-platform/release-notes/147.md
+++ b/microsoft-edge/web-platform/release-notes/147.md
@@ -197,7 +197,7 @@ See also:
#### `` HTML element
-The `` HTML element represents a button that, upon activation, prompts the user to choose whether to install a progressive web app.
+The `` HTML element represents a button that, upon activation, prompts the user to choose whether to install a progressive web app.
The content and appearance of the install button is controlled by Microsoft Edge and provides users with a consistent experience across web apps.
@@ -423,7 +423,7 @@ See also:
Support for using XSLT stylesheets to transform XML data into SVG files has been removed.
-Previously, a specially crafted XML file could contain an XSL stylesheet that transforms generic XML data into an SVG file. This capability is now deprecated and has been removed.
+Previously, a specially crafted XML file could contain an XSL stylesheet that transforms generic XML data into an SVG file. This capability is now deprecated and has been removed.
@@ -474,7 +474,7 @@ Expires on Apr. 21, 2026.
Detect and measure audio glitches and playout latency in real-time by using the `AudioPlayoutStats` interface.
-To optimize your audio application's user experience and responsiveness:
+To optimize your audio application's user experience and responsiveness:
* Monitor fallback frame events.
* Calculate the fraction of silence that's due to underperformance.
* Track average latency, minimum latency, and maximum latency.
diff --git a/microsoft-edge/web-platform/release-notes/150.md b/microsoft-edge/web-platform/release-notes/150.md
index 3ae270ce8f..19c88824e7 100644
--- a/microsoft-edge/web-platform/release-notes/150.md
+++ b/microsoft-edge/web-platform/release-notes/150.md
@@ -332,7 +332,7 @@ See also:
-#### `MediaStreamTrackProcessor` frame counters
+#### `MediaStreamTrackProcessor` frame counters
The `discardedFrames` and `totalFrames` attributes are now available on the `MediaStreamTrackProcessor` interface.
diff --git a/microsoft-edge/web-platform/release-notes/151.md b/microsoft-edge/web-platform/release-notes/151.md
index 8f777d042d..0fcc51262f 100644
--- a/microsoft-edge/web-platform/release-notes/151.md
+++ b/microsoft-edge/web-platform/release-notes/151.md
@@ -283,7 +283,7 @@ See also:
-
diff --git a/microsoft-edge/web-platform/tracking-prevention.md b/microsoft-edge/web-platform/tracking-prevention.md
index 6c8f0876a2..294db89889 100644
--- a/microsoft-edge/web-platform/tracking-prevention.md
+++ b/microsoft-edge/web-platform/tracking-prevention.md
@@ -224,7 +224,7 @@ The **Block** and **Allow** options on the `edge://settings/content/cookies` pag
* [Storage Access API](https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/StorageAccessAPI/explainer.md)
disconnect.me:
-* [disconnect.me](https://disconnect.me)
+* [disconnect.me](https://disconnect.me)
* [Tracker Protection lists](https://github.com/disconnectme/disconnect-tracking-protection)
* [entities.json](https://github.com/disconnectme/disconnect-tracking-protection/blob/master/entities.json) list - defines groups of URLs that are owned by the same parent organization/company.
* [services.json](https://github.com/disconnectme/disconnect-tracking-protection/blob/master/services.json) - tracking protection list categories.
diff --git a/microsoft-edge/web-platform/translator-api.md b/microsoft-edge/web-platform/translator-api.md
index 73e8446561..7ecae3627f 100644
--- a/microsoft-edge/web-platform/translator-api.md
+++ b/microsoft-edge/web-platform/translator-api.md
@@ -101,9 +101,9 @@ To see the Translator API in action, and review existing code that uses the API:
1. Click the **Translate** button.
If the model for the specified language pair hasn't been downloaded before, the download starts.
-
+

-
+
If the model download doesn't start, restart Microsoft Edge and try again.
After the model has downloaded, the model starts generating a translation of the text from the source language into the target language.
@@ -198,7 +198,7 @@ const session = await Translator.create({
sourceLanguage: "en",
targetLanguage: "es",
monitor: m => {
- // Use the monitor object argument to add an listener for the
+ // Use the monitor object argument to add an listener for the
// downloadprogress event.
m.addEventListener("downloadprogress", event => {
// The event is an object with the loaded and total properties.
@@ -336,7 +336,7 @@ To destroy a session by creating an `AbortController` object, create a `Translat
// Create an AbortController object.
const controller = new AbortController();
-// Create a Translator session and pass the
+// Create a Translator session and pass the
// AbortController object by using the signal option.
const session = await Translator.create({
sourceLanguage: "en",
diff --git a/microsoft-edge/web-platform/user-agent-guidance.md b/microsoft-edge/web-platform/user-agent-guidance.md
index 133008da44..4b4f95b988 100644
--- a/microsoft-edge/web-platform/user-agent-guidance.md
+++ b/microsoft-edge/web-platform/user-agent-guidance.md
@@ -30,7 +30,7 @@ You may want to provide different experiences to users based on their browser.
Mechanisms for browser detection:
| Mechanism | Server-side | Client-side |
-|:--- |:--- |:--- |
+|---|---|---|
| **User-Agent Client Hints** (recommended) | `Sec-CH-UA` HTTPS header | `navigator.userAgentData` JavaScript method |
| **User-Agent string** (legacy) | `User-Agent` HTTPS header | `navigator.userAgent` JavaScript method |
@@ -78,7 +78,7 @@ Sec-CH-UA-Platform: "Windows"
The following table shows all available hints request headers with sample values.
| User-Agent request header | Example User-Agent response value |
-|:--- |:--- |
+|---|---|
| `Sec-CH-UA` | `"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"` |
| `Sec-CH-UA-Mobile` | `?0` |
| `Sec-CH-UA-Full-Version` | `120.0.2210.91` |
@@ -240,7 +240,7 @@ Platform identifiers change based on the operating system, and version numbers i
On desktop operating systems, Microsoft Edge is commonly identified by the `Edg` token in the User-Agent string. However, a different token for Microsoft Edge is used on some device platforms, as follows:
| Platform | Identifier token |
-|:--- |:--- |
+|---|---|
| Desktop (Windows/Mac/Linux) | `Edg` |
| iPhone/iPad | `EdgiOS` |
| Android (Mobile/tablet) | `EdgA`|
diff --git a/microsoft-edge/web-platform/web-platform.md b/microsoft-edge/web-platform/web-platform.md
index 6996a10a30..b7fa49f9d5 100644
--- a/microsoft-edge/web-platform/web-platform.md
+++ b/microsoft-edge/web-platform/web-platform.md
@@ -109,6 +109,6 @@ See [View a JSON file or server response with formatting](./json-viewer.md).
## See also
* [Web technology for developers](https://developer.mozilla.org/docs/Web) at MDN.
-
diff --git a/microsoft-edge/web-platform/writing-assistance-apis.md b/microsoft-edge/web-platform/writing-assistance-apis.md
index 6d0fc5289c..bbaccf275d 100644
--- a/microsoft-edge/web-platform/writing-assistance-apis.md
+++ b/microsoft-edge/web-platform/writing-assistance-apis.md
@@ -151,7 +151,7 @@ By default, the Writing Assistance APIs use the Phi-4-mini model. To use Aion-1
1. In Edge Canary or Edge Dev, open a new tab or window and go to `edge://flags`.
1. In the search box at the top of the page, enter **Enable prerelease on-device language model**.
-
+
1. In the **Enable prerelease on-device language model** drop-down list, select **Enabled**, and then click the **Restart** button:

@@ -202,7 +202,7 @@ To use the Writer API or the Rewriter API in Microsoft Edge:
If your device performance class is **High** or greater, the Writing Assistance APIs are supported on your device.
If your device performance class is **Medium** or **Low**, the Writing Assistance APIs are only supported through the prerelease Aion-1.0-Instruct model, which is available starting with Edge version 150.0.4070. To test the Aion-1.0-Instruct model, see [Enable Aion-1.0-Instruct for the Writing Assistance APIs](#enable-aion-10-instruct-for-the-writing-assistance-apis), above.
-
+
If you notice issues with these models, please [file a new issue](https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/new?template=writing-assistance-api.md) in the MSEdgeExplainers repo.
@@ -345,7 +345,7 @@ You can follow the progress of the model download by using the `monitor` option.
// download.
const session = await Summarizer.create({
monitor: m => {
- // Use the monitor object argument to add an listener for the
+ // Use the monitor object argument to add an listener for the
// downloadprogress event.
m.addEventListener("downloadprogress", event => {
// The event is an object with the loaded and total properties.
@@ -584,7 +584,7 @@ Example using a `Writer` session:
// Create an AbortController object.
const controller = new AbortController();
-// Create a Summarizer, Writer, or Rewriter session and pass the
+// Create a Summarizer, Writer, or Rewriter session and pass the
// AbortController object by using the signal option.
const session = await Writer.create({ signal: controller.signal });
diff --git a/microsoft-edge/webdriver/capabilities-edge-options.md b/microsoft-edge/webdriver/capabilities-edge-options.md
index 44fc06c7b4..e7e38d8376 100644
--- a/microsoft-edge/webdriver/capabilities-edge-options.md
+++ b/microsoft-edge/webdriver/capabilities-edge-options.md
@@ -47,7 +47,7 @@ For standard capabilities that `EdgeDriver` accepts, see [Selenium documentation
Most Microsoft Edge-specific capabilities are exposed through the `EdgeOptions` object. In some languages, the capabilities are implemented by the `EdgeOptions` class. In other languages, the capabilities are stored under the `ms:edgeOptions` dictionary in `DesiredCapabilities`.
| Capability | Type | Details |
-|:--- |:--- |:--- |
+|---|---|---|
| `args` | list of strings | List of command-line arguments to pass to the Microsoft Edge process on launch. Arguments with an associated value should be separated by an `=` sign (for example, `['start-maximized', 'user-data-dir=/tmp/temp_profile']`). If you're launching a WebView2 app, then these arguments are passed to your app instead of the underlying Microsoft Edge browser process. To pass arguments to the browser process when launching a WebView2 app, use [webviewOptions.additionalBrowserArguments](#webviewoptions-object) instead. |
| `binary` | string | Path to the Microsoft Edge binary to use (on macOS, the path should be the actual binary, not just the app. for example, `/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge`). |
| `debuggerAddress` | string | An address of a debugger server to which to connect, in the form of `hostname/ip:port`, for example `127.0.0.1:38947`. |
@@ -74,7 +74,7 @@ Most Microsoft Edge-specific capabilities are exposed through the `EdgeOptions`
The `perfLoggingPrefs` dictionary has the following format. All keys are optional.
| Key | Type | Default value | Details |
-|:--- |:--- |:--- |:--- |
+|---|---|---|---|
| `bufferUsageReportingInterval` | positive integer | 1000 | The requested number of milliseconds between DevTools trace buffer usage events. For example, if 1000, then once per second, DevTools reports how full the trace buffer is. If a report indicates the buffer usage is 100%, a warning is issued. |
| `enableNetwork` | boolean | true | To collect (or not collect) events from Network domain. |
| `enablePage` | boolean | true | To collect (or not collect) events from Page domain. |
@@ -87,7 +87,7 @@ The `perfLoggingPrefs` dictionary has the following format. All keys are optiona
The `webviewOptions` dictionary is used to configure the WebView2 environment when launching a WebView2 app. It has the following format. All keys are optional.
| Key | Type | Default value | Details |
-|:--- |:--- |:--- |:--- |
+|---|---|---|---|
| `browserExecutableFolder` | string | (empty) | Path to a folder containing a fixed version WebView2 runtime to use. For more information about using a fixed version runtime distribution with WebView2, see [Distribute a WebView2 app and the WebView2 Runtime](../webview2/concepts/distribution.md#the-fixed-version-runtime-distribution-mode). |
| `userDataFolder` | string | (empty) | Path to the user data folder that WebView2 will use. If `userDataFolder` isn't specified, Microsoft Edge WebDriver will create a temporary user data folder. For more information about managing the user data folder with WebView2, see [Manage the user data folder](../webview2/concepts/user-data-folder.md). |
| `additionalBrowserArguments` | list of strings | | List of command-line arguments that WebView2 will pass to the browser process on launch. Arguments with an associated value should be separated by an `=` sign (for example, `['start-maximized', 'log-level=0']`). |
@@ -99,6 +99,6 @@ The `webviewOptions` dictionary is used to configure the WebView2 environment wh
The following list contains all of the Microsoft Edge-specific capabilities that `EdgeDriver` returns when you create a new session.
| Capability | Type | Details |
-|:--- |:--- |:--- |
+|---|---|---|
| `msedge.msedgedriverVersion` | string | The version of EdgeDriver. |
| `msedge.userDataDir` | string | The path to the user data folder used by the Microsoft Edge instance. |
diff --git a/microsoft-edge/webdriver/ie-mode.md b/microsoft-edge/webdriver/ie-mode.md
index 9014a1bb1f..861730b36a 100644
--- a/microsoft-edge/webdriver/ie-mode.md
+++ b/microsoft-edge/webdriver/ie-mode.md
@@ -120,11 +120,11 @@ import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.ie.InternetExplorerOptions;
public class IEDriverSample {
- public static void main(String[] args) {
+ public static void main(String[] args) {
InternetExplorerOptions ieOptions = new InternetExplorerOptions();
ieOptions.attachToEdgeChrome();
ieOptions.withEdgeExecutablePath("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe");
-
+
WebDriver driver = new InternetExplorerDriver(ieOptions);
driver.get("http://www.bing.com");
@@ -317,7 +317,7 @@ After the `click` method is called on a button that opens a new window, the test
```java
int initialHandleCount = driver.getWindowHandles().size();
-driver.findElement(By.id("")).click();
+driver.findElement(By.id("")).click();
Set newHandles = driver.getWindowHandles();
while (newHandles.size() == initialHandleCount) {
newHandles = driver.getWindowHandles();
diff --git a/microsoft-edge/webview2/concepts/basic-authentication.md b/microsoft-edge/webview2/concepts/basic-authentication.md
index af75e4c25e..550c216a7d 100644
--- a/microsoft-edge/webview2/concepts/basic-authentication.md
+++ b/microsoft-edge/webview2/concepts/basic-authentication.md
@@ -98,7 +98,7 @@ later, check: Teams > Team > channel > Files > dir > file name -->
1. The WebView2 control renders the error page that's returned by the HTTP server. The rendering occurs between the `ContentLoading` event and `DOMContentLoaded` event.
-
+
1. The HTTP server might accept the authentication credentials and return the requested document.
@@ -121,10 +121,10 @@ For more realistic code, see the subsequent section.
##### [C#](#tab/csharp)
```csharp
-// Prerequisite: Before using this code, make sure you read the section "Use HTTPS
+// Prerequisite: Before using this code, make sure you read the section "Use HTTPS
// for sending credentials" in this article.
webView.CoreWebView2.BasicAuthenticationRequested += delegate (
- object sender,
+ object sender,
CoreWebView2BasicAuthenticationRequestedEventArgs args)
{
args.Response.UserName = "user";
@@ -140,7 +140,7 @@ For more realistic code, see the subsequent section.
##### [C++](#tab/cpp)
```cpp
-// Prerequisite: Before using this code, make sure you read the section "Use HTTPS
+// Prerequisite: Before using this code, make sure you read the section "Use HTTPS
// for sending credentials" in this article.
if (auto webView10 = m_webView.try_query())
{
@@ -191,10 +191,10 @@ This example builds upon the above sample, by adding the following features:
##### [C#](#tab/csharp)
```csharp
-// Prerequisite: Before using this code, make sure you read the section "Use HTTPS
+// Prerequisite: Before using this code, make sure you read the section "Use HTTPS
// for sending credentials" in this article.
webView.CoreWebView2.BasicAuthenticationRequested += delegate (
- object sender,
+ object sender,
CoreWebView2BasicAuthenticationRequestedEventArgs args)
{
// We need to show UI asynchronously so we obtain a deferral.
@@ -265,7 +265,7 @@ webView.CoreWebView2.BasicAuthenticationRequested += delegate (
##### [C++](#tab/cpp)
```cpp
-// Prerequisite: Before using this code, make sure you read the section "Use HTTPS
+// Prerequisite: Before using this code, make sure you read the section "Use HTTPS
// for sending credentials" in this article.
if (auto webView10 = m_webView.try_query())
{
@@ -312,11 +312,11 @@ if (auto webView10 = m_webView.try_query())
// as it may have important site specific information for the
// end user to provide the correct username and password.
prompt += L"\r\nChallenge: ";
- prompt += challenge.get();
+ prompt += challenge.get();
// Use an app or UI framework method to get input from the end user.
TextInputDialog dialog(
- mainWindowHwnd,
+ mainWindowHwnd,
L"Authentication Request",
L"User name and password",
prompt.c_str(),
diff --git a/microsoft-edge/webview2/concepts/browser-features.md b/microsoft-edge/webview2/concepts/browser-features.md
index 583b26c616..39576fc66a 100644
--- a/microsoft-edge/webview2/concepts/browser-features.md
+++ b/microsoft-edge/webview2/concepts/browser-features.md
@@ -75,7 +75,7 @@ The following table displays the WebView2 features that differ from the Microsof
The following WebView2 platform features are currently unavailable:
| Feature | Details |
-|:--- | :--- |
+|---|---|
| Push Notifications | This feature isn't implemented in WebView2. |
| Web Payment API | This feature is turned off. |
| Periodic Background Sync | Periodic Background Sync events will never trigger. |
@@ -128,7 +128,7 @@ To avoid such changes to your keyboard shortcuts, you can set `AreBrowserAcceler
The following shortcuts are always turned off in WebView2, or are effectively turned off. An asterisk (`*`) indicates that the shortcut isn't turned off, but the feature that it accesses is turned off, or the feature doesn't apply to WebView2.
| Action | Shortcut |
-|:--- |:--- |
+|---|---|
| Add to Favorites | **Ctrl+D** |
| Add All Tabs to Favorites | **Ctrl+Shift+D** |
| Focus Location | **Ctrl+L**, **Alt+D** |
@@ -175,7 +175,7 @@ The following shortcuts are always turned off in WebView2, or are effectively tu
The following keyboard shortcuts are always turned off, except in windows that display when the `NewWindowRequested` event isn't handled:
| Action | Shortcut |
-|:--- |:--- |
+|---|---|
| Close Tab | **Ctrl+W**, **Ctrl+F4** |
| Close Window | **Ctrl+Shift+W** |
| Fullscreen | **F11** |
@@ -187,7 +187,7 @@ The following keyboard shortcuts are always turned off, except in windows that d
If you set `AreBrowserAcceleratorKeysEnabled` to `FALSE`, the following additional keyboard shortcuts are turned off:
| Action | Shortcut |
-|:--- |:--- |
+|---|---|
| Stop | **Esc** |
| Find on Page | **Ctrl+F** |
| Find Next | **Ctrl+G** |
diff --git a/microsoft-edge/webview2/concepts/clear-browsing-data.md b/microsoft-edge/webview2/concepts/clear-browsing-data.md
index 6c1396b81c..b805632961 100644
--- a/microsoft-edge/webview2/concepts/clear-browsing-data.md
+++ b/microsoft-edge/webview2/concepts/clear-browsing-data.md
@@ -132,7 +132,7 @@ private void ClearAutofillData()
// Offset the current time by one hour to clear the browsing data from the
// last hour.
CoreWebView2BrowsingDataKinds dataKinds = (CoreWebView2BrowsingDataKinds)
- (CoreWebView2BrowsingDataKinds.GeneralAutofill |
+ (CoreWebView2BrowsingDataKinds.GeneralAutofill |
CoreWebView2BrowsingDataKinds.PasswordAutosave);
await profile.ClearBrowsingDataAsync(dataKinds, startTime, endTime);
}
@@ -164,10 +164,10 @@ void ClearAutofillData()
double endTime = (double)std::time(nullptr);
double startTime = endTime - 3600;
// Get the current time and offset the current time by 3600 seconds to clear
- // the data from the start time (one hour ago), until the end time (present
+ // the data from the start time (one hour ago), until the end time (present
// time).
// This clears the data for the last hour.
- COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds =
+ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds =
(COREWEBVIEW2_BROWSING_DATA_KINDS)
(COREWEBVIEW2_BROWSING_DATA_KINDS_GENERAL_AUTOFILL |
COREWEBVIEW2_BROWSING_DATA_KINDS_PASSWORD_AUTOSAVE);
diff --git a/microsoft-edge/webview2/concepts/developer-guide.md b/microsoft-edge/webview2/concepts/developer-guide.md
index 7cf8529a92..7c823b49d4 100644
--- a/microsoft-edge/webview2/concepts/developer-guide.md
+++ b/microsoft-edge/webview2/concepts/developer-guide.md
@@ -40,7 +40,7 @@ See [Detect if a WebView2 Runtime is already installed](./distribution.md#detect
#### Handle updates of the WebView2 Runtime
-When using the Evergreen WebView2 Runtime, handle Evergreen WebView2 Runtime updates. Updates of the Evergreen WebView2 Runtime are automatically downloaded, but a running WebView2 app will continue using its current version of the WebView2 Runtime, potentially missing security updates. To adopt the new version, an app must release all references to previous WebView2 objects or restart. Implementing a `NewBrowserVersionAvailable` event handler can prompt users to restart the app for updates, with a recommendation to save user state before exiting for a seamless transition.
+When using the Evergreen WebView2 Runtime, handle Evergreen WebView2 Runtime updates. Updates of the Evergreen WebView2 Runtime are automatically downloaded, but a running WebView2 app will continue using its current version of the WebView2 Runtime, potentially missing security updates. To adopt the new version, an app must release all references to previous WebView2 objects or restart. Implementing a `NewBrowserVersionAvailable` event handler can prompt users to restart the app for updates, with a recommendation to save user state before exiting for a seamless transition.
See [Handle Evergreen WebView2 Runtime updates](./distribution.md#handle-evergreen-webview2-runtime-updates) in _Distribute your app and the WebView2 Runtime_.
@@ -58,9 +58,9 @@ Follow the guidance in [Prerelease testing using preview channels](../how-to/pre
#### Use feature detection for newer APIs
-When using the Evergreen WebView2 Runtime, use feature detection to test whether the installed Runtime supports recently added APIs. To run a WebView2 app that was developed with a particular version of the Webview2 SDK, the client must have a compatible version of the WebView2 Runtime installed.
+When using the Evergreen WebView2 Runtime, use feature detection to test whether the installed Runtime supports recently added APIs. To run a WebView2 app that was developed with a particular version of the Webview2 SDK, the client must have a compatible version of the WebView2 Runtime installed.
-When using the Evergreen WebView2 Runtime, there are some scenarios where the runtime on a client hasn't been automatically updated to the latest version. Additionally, some group policies pause updating of the runtime. As a result, when you push an update to your WebView2 app, the app might not work if it tries to call newer APIs that aren't available in the client's installed runtime. Therefore, you should use feature detection to make sure that the newer APIs that are used by your WebView2 app are supported by the WebView2 Runtime that's installed on the client.
+When using the Evergreen WebView2 Runtime, there are some scenarios where the runtime on a client hasn't been automatically updated to the latest version. Additionally, some group policies pause updating of the runtime. As a result, when you push an update to your WebView2 app, the app might not work if it tries to call newer APIs that aren't available in the client's installed runtime. Therefore, you should use feature detection to make sure that the newer APIs that are used by your WebView2 app are supported by the WebView2 Runtime that's installed on the client.
See [Feature-detecting to test whether the installed Runtime supports recently added APIs](./versioning.md#feature-detecting-to-test-whether-the-installed-runtime-supports-recently-added-apis) in _Prerelease and Release SDKs for WebView2_.
diff --git a/microsoft-edge/webview2/concepts/distribution.md b/microsoft-edge/webview2/concepts/distribution.md
index e92a47e46a..908b47b148 100644
--- a/microsoft-edge/webview2/concepts/distribution.md
+++ b/microsoft-edge/webview2/concepts/distribution.md
@@ -199,7 +199,7 @@ If you have an offline deployment scenario, where app deployment has to work ent
New versions of the Evergreen WebView2 Runtime are automatically downloaded to the client. The client uses the new version of the WebView2 Runtime when your WebView2 app is restarted. However, if your app runs continuously, your app will continue to use the previous version of the WebView2 Runtime. This has security implications, because the previous version of the WebView2 Runtime might have security vulnerabilities that are fixed in the new version. You should consider whether it is important for your app to adopt the latest version of the WebView2 Runtime as soon as possible, based on your app's threat model. For example, if your WebView2 app accesses third-party content, that content should be considered untrusted, so your app would need to use the latest version of the WebView2 Runtime.
-To use the new version of the WebView2 Runtime, you need to either release all references to the previous WebView2 environment objects, or restart your app. The next time your app creates a new WebView2 environment, the app will use the new version of the WebView2 Runtime. To accomplish this, you can have an event handler for the `NewBrowserVersionAvailable` event, to have your app automatically notify the user to restart the app. If your app handles restarting the app, consider saving the user state before the WebView2 app exits.
+To use the new version of the WebView2 Runtime, you need to either release all references to the previous WebView2 environment objects, or restart your app. The next time your app creates a new WebView2 environment, the app will use the new version of the WebView2 Runtime. To accomplish this, you can have an event handler for the `NewBrowserVersionAvailable` event, to have your app automatically notify the user to restart the app. If your app handles restarting the app, consider saving the user state before the WebView2 app exits.
##### [.NET/C#](#tab/dotnetcsharp)
@@ -267,7 +267,7 @@ To use the Fixed Version distribution mode:
* Alternatively, use `EnsureCoreWebView2Async` ([WPF](/dotnet/api/microsoft.web.webview2.wpf.webview2.ensurecorewebview2async)/[WinForms](/dotnet/api/microsoft.web.webview2.winforms.webview2.ensurecorewebview2async)) to specify the environment. Use the `browserExecutableFolder` parameter in [CoreWebView2Environment.CreateAsync](/dotnet/api/microsoft.web.webview2.core.corewebview2environment.createasync) to indicate the path to the Fixed Version binaries.
* For WinUI, make sure the app has access to the folder by specifying the installed location and setting the environment variable for runtime path. One way to do this is by adding the following C# code to your app:
-
+
```csharp
StorageFolder localFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
String fixedPath = Path.Combine(localFolder.Path, "FixedRuntime\\(version number)");
@@ -275,7 +275,7 @@ To use the Fixed Version distribution mode:
Debug.WriteLine($"FixedRuntime path [{fixedPath}]");
Environment.SetEnvironmentVariable("WEBVIEW2_BROWSER_EXECUTABLE_FOLDER", fixedPath);
```
-
+
1. Package and ship the Fixed Version binaries with your app. Update the binaries as appropriate.
* For WinUI, this might include opening the project file (`.csproj`) in a code editor, and then add the following code within the project tags:
diff --git a/microsoft-edge/webview2/concepts/enterprise.md b/microsoft-edge/webview2/concepts/enterprise.md
index 4f33d5e009..72248a2e4f 100644
--- a/microsoft-edge/webview2/concepts/enterprise.md
+++ b/microsoft-edge/webview2/concepts/enterprise.md
@@ -77,7 +77,7 @@ See:
#### Browser policies
-[Microsoft Edge - Policies](/deployedge/microsoft-edge-policies) doesn't apply to WebView2 applications. This is by design, because apps and browsers have different use cases, and IT admins might not be aware of what applications use WebView2.
+[Microsoft Edge - Policies](/deployedge/microsoft-edge-policies) doesn't apply to WebView2 applications. This is by design, because apps and browsers have different use cases, and IT admins might not be aware of what applications use WebView2.
Applying browser policies on WebView2 would have unintended consequences. For example, IT admins can block JavaScript in the browser, and that would break WebView2 apps that use JavaScript. To prevent that, browser policies are separate from WebView2 policies.
diff --git a/microsoft-edge/webview2/concepts/environment-controller-core.md b/microsoft-edge/webview2/concepts/environment-controller-core.md
index 90f4e8b324..5e96c497ab 100644
--- a/microsoft-edge/webview2/concepts/environment-controller-core.md
+++ b/microsoft-edge/webview2/concepts/environment-controller-core.md
@@ -78,7 +78,7 @@ From the `CoreWebView2Environment`, you create `CoreWebView2Controller` and `Cor
## UI framework-specific WebView2 element class such as WPF, WinForms, or WinUI WebView2 classes
-It's different if you are using a UI framework-specific WebView2 element class such as the WPF, WinForms, or WinUI WebView2 classes.
+It's different if you are using a UI framework-specific WebView2 element class such as the WPF, WinForms, or WinUI WebView2 classes.
Then, the WebView2 class can optionally take a `CoreWebView2Environment` to use; otherwise, it creates a default `CoreWebView2Environment`. Internally, the WebView2 class creates its `CoreWebView2Controller` and `CoreWebView2` from the `CoreWebView2Environment`.
diff --git a/microsoft-edge/webview2/concepts/evergreen-vs-fixed-version.md b/microsoft-edge/webview2/concepts/evergreen-vs-fixed-version.md
index 5a2eb6b6d2..0be41e96c8 100644
--- a/microsoft-edge/webview2/concepts/evergreen-vs-fixed-version.md
+++ b/microsoft-edge/webview2/concepts/evergreen-vs-fixed-version.md
@@ -110,5 +110,5 @@ The Evergreen distribution mode is recommended for most apps.
External:
* [Delivering Microsoft Edge WebView2 Runtime to managed Windows 10 devices](https://blogs.windows.com/msedgedev/2022/12/14/delivering-microsoft-edge-webview2-runtime-to-managed-windows-10-devices/)
-* [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download-the-webview2-runtime) section of the **Microsoft Edge WebView2** page
+* [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2#download-the-webview2-runtime) section of the **Microsoft Edge WebView2** page
* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule)
diff --git a/microsoft-edge/webview2/concepts/frames.md b/microsoft-edge/webview2/concepts/frames.md
index 59472e84ab..bf2f50e88f 100644
--- a/microsoft-edge/webview2/concepts/frames.md
+++ b/microsoft-edge/webview2/concepts/frames.md
@@ -10,7 +10,7 @@ ms.date: 11/16/2022
---
# Using frames in WebView2 apps
-Frames allow you to embed other webpages into your own webpage. A _frame_ is a sub-page or area within a webpage, like a webpage within a webpage.
+Frames allow you to embed other webpages into your own webpage. A _frame_ is a sub-page or area within a webpage, like a webpage within a webpage.
An iframe is one type of frame. Other types of frames are `frameset`, `portal`, `embed`, `fencedFrame`, and `object`. The main WebView2 type for frames is `CoreWebView2Frame`, which is currently enabled for top-level iframes. Support for other types of frames is planned.
@@ -253,7 +253,7 @@ See also:
* [Web messaging](./overview-features-apis.md#web-messaging) in _Overview of WebView2 APIs_.
-
## Preserve Low Integrity Level (LowIL) on Runtime folders
-Don't modify the Low Integrity Level (LowIL) settings on WebView2 Runtime folders. WebView2 runs renderer processes at a Low Integrity Level, to limit their access to system resources.
+Don't modify the Low Integrity Level (LowIL) settings on WebView2 Runtime folders. WebView2 runs renderer processes at a Low Integrity Level, to limit their access to system resources.
A Low Integrity Level process (LowIL) must be able to Read and Execute the WebView2 Runtime binaries.
@@ -410,7 +410,7 @@ Symptoms:
Align Transport Layer Security (TLS) inspection and proxy configuration with Chromium-based browser requirements.
-If your environment uses TLS inspection, ensure that the inspection certificates are trusted by the operating system's certificate store.
+If your environment uses TLS inspection, ensure that the inspection certificates are trusted by the operating system's certificate store.
@@ -498,7 +498,7 @@ The System32-based WebView2 Runtime's default Access Control Lists (ACLs) must b
## Don't apply Edge browser–only group policies
Most group policies that apply to Microsoft Edge don't affect WebView2, and unsupported policies can break WebView2 features.
-
+
Don't use Microsoft Edge–only group policies to affect WebView2.
diff --git a/microsoft-edge/webview2/concepts/performance.md b/microsoft-edge/webview2/concepts/performance.md
index 8064122f37..1882af25cd 100644
--- a/microsoft-edge/webview2/concepts/performance.md
+++ b/microsoft-edge/webview2/concepts/performance.md
@@ -323,7 +323,7 @@ See also:
#### Manage process priority
-* If the app has a heavy native workload, assign thread priorities carefully, to avoid starving WebView2 threads. WebView2 creates separate renderer processes.
+* If the app has a heavy native workload, assign thread priorities carefully, to avoid starving WebView2 threads. WebView2 creates separate renderer processes.
See also:
* [Process model for WebView2 apps](./process-model.md)
diff --git a/microsoft-edge/webview2/concepts/user-data-folder.md b/microsoft-edge/webview2/concepts/user-data-folder.md
index 671bdd745f..528cb8d27f 100644
--- a/microsoft-edge/webview2/concepts/user-data-folder.md
+++ b/microsoft-edge/webview2/concepts/user-data-folder.md
@@ -143,11 +143,11 @@ However, your host app might not be able to use that location to write data to.
**Cleanup:**
-At the end of the session, ClickOnce automatically cleans up.
+At the end of the session, ClickOnce automatically cleans up.
**Packaging:**
-ClickOnce is a deployment method for lightweight transient apps; it's a hybrid model. It's possible to persist a ClickOnce app, but that's not standard, typical practice.
+ClickOnce is a deployment method for lightweight transient apps; it's a hybrid model. It's possible to persist a ClickOnce app, but that's not standard, typical practice.
**What type of platform app a ClickOnce app wraps:**
@@ -251,8 +251,8 @@ Use the [CoreWebView2Environment.CreateAsync method](/dotnet/api/microsoft.web.w
```csharp
string UserDataFolder;
UserDataFolder = "C:\\MyAppUserDataFolder";
-_task = CoreWebView2Environment.CreateAsync(BrowserExecutableFolder,
- UserDataFolder,
+_task = CoreWebView2Environment.CreateAsync(BrowserExecutableFolder,
+ UserDataFolder,
new CoreWebView2EnvironmentOptions(null, Language, null));
```
@@ -285,8 +285,8 @@ You should specify the same folder where all other app data is stored.
```csharp
string UserDataFolder;
UserDataFolder = "C:\\MyAppUserDataFolder";
-_task = CoreWebView2Environment.CreateAsync(BrowserExecutableFolder,
- UserDataFolder,
+_task = CoreWebView2Environment.CreateAsync(BrowserExecutableFolder,
+ UserDataFolder,
new CoreWebView2EnvironmentOptions(null, Language, null));
```
@@ -321,7 +321,7 @@ try {
// dir (that is, /Program Files/) is protected.
var userDataFolder = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
- "YOURAPPNAME", "WebView2"); // You need to decide if you want to keep this
+ "YOURAPPNAME", "WebView2"); // You need to decide if you want to keep this
// folder during uninstall, or add uninstall code that removes this folder.
Log.Info($"WebView2 user data folder: {userDataFolder}");
var env = await CoreWebView2Environment.CreateWithOptionsAsync(
@@ -479,12 +479,12 @@ If multiple users use your app repeatedly, you should create a new user data fol
The WebView2 control creates a new UDF for each new user. The WebView2 control creates one UDF per session. If there are multiple WebView2 sessions, the WebView2 control creates multiple UDFs. Usually if the host app has more than one WebView2 control instance, the host app should point all instances of WebView2 to the same UDF.
-Each host app that has a WebView2 control instance will have its own UDF. Your host app can have each UDF point to the same place.
+Each host app that has a WebView2 control instance will have its own UDF. Your host app can have each UDF point to the same place.
If your host app is for multiple users, you should probably create one UDF per user. If your app was installed per-user, this is how it works.
-If you launch two copies of your host app, they will use the same UDF.
+If you launch two copies of your host app, they will use the same UDF.
* For Win32 host apps, the UDF is not automatically removed.
diff --git a/microsoft-edge/webview2/concepts/versioning.md b/microsoft-edge/webview2/concepts/versioning.md
index d5d7bd4646..45b22e1d06 100644
--- a/microsoft-edge/webview2/concepts/versioning.md
+++ b/microsoft-edge/webview2/concepts/versioning.md
@@ -229,6 +229,6 @@ Downloads:
GitHub:
* [WebView2Feedback](https://github.com/MicrosoftEdge/WebViewFeedback) repo.
-
diff --git a/microsoft-edge/webview2/concepts/win32-api-conventions.md b/microsoft-edge/webview2/concepts/win32-api-conventions.md
index 0119f2c5d6..81ed87c1eb 100644
--- a/microsoft-edge/webview2/concepts/win32-api-conventions.md
+++ b/microsoft-edge/webview2/concepts/win32-api-conventions.md
@@ -81,7 +81,7 @@ Events in the WebView2 Win32 C++ API use the `add_EventName` and `remove_EventNa
#### Event handler delegate interfaces
-Event handler delegate interfaces work similarly to the async method completed handler delegate interfaces. You implement the event handler delegate interface and `CoreWebView2` sends a callback whenever the event runs.
+Event handler delegate interfaces work similarly to the async method completed handler delegate interfaces. You implement the event handler delegate interface and `CoreWebView2` sends a callback whenever the event runs.
Every event handler delegate interface has a single `Invoke` method that has a sender parameter followed by an event args parameter. The sender is the instance of the object on which you subscribed for events. The event args parameter is an interface that contains information about the currently firing event.
diff --git a/microsoft-edge/webview2/concepts/working-with-local-content.md b/microsoft-edge/webview2/concepts/working-with-local-content.md
index c8dc5b7dab..7cc05dd028 100644
--- a/microsoft-edge/webview2/concepts/working-with-local-content.md
+++ b/microsoft-edge/webview2/concepts/working-with-local-content.md
@@ -10,13 +10,57 @@ ms.date: 02/21/2025
---
# Using local content in WebView2 apps
-In addition to loading remote content, content can also be loaded locally into WebView2. There are several approaches that can be used to load local content into a WebView2 control, including:
+In addition to loading remote content, content can also be loaded locally into WebView2. There are several approaches that can be used to load local content into a WebView2 control, including:
* Navigating to a file URL.
* Navigating to an HTML string.
* Virtual host name mapping.
* Handling the `WebResourceRequested` event.
-These approaches are described below.
+**Detailed contents:**
+* [Selecting an approach](#selecting-an-approach)
+* [Loading local content by navigating to a file URL](#loading-local-content-by-navigating-to-a-file-url)
+ * [Considerations for loading local content by navigating to a file URL](#considerations-for-loading-local-content-by-navigating-to-a-file-url)
+ * [Cross-origin resources](#cross-origin-resources)
+ * [Origin-based DOM APIs](#origin-based-dom-apis)
+ * [DOM APIs requiring secure context](#dom-apis-requiring-secure-context)
+ * [Dynamic content](#dynamic-content)
+ * [Additional web resources](#additional-web-resources)
+ * [Additional web resources resolved in WebView2 process](#additional-web-resources-resolved-in-webview2-process)
+ * [APIs for loading local content by navigating to a file URL](#apis-for-loading-local-content-by-navigating-to-a-file-url)
+ * [Example of a file URL](#example-of-a-file-url)
+ * [Example of navigating to a file URL](#example-of-navigating-to-a-file-url)
+* [Loading local content by navigating to an HTML string](#loading-local-content-by-navigating-to-an-html-string)
+ * [Considerations for loading local content by navigating to an HTML string](#considerations-for-loading-local-content-by-navigating-to-an-html-string)
+ * [Origin-based DOM APIs](#origin-based-dom-apis-1)
+ * [DOM APIs requiring secure context](#dom-apis-requiring-secure-context-1)
+ * [Dynamic content](#dynamic-content-1)
+ * [Additional web resources](#additional-web-resources-1)
+ * [Additional web resources resolved in WebView2 process](#additional-web-resources-resolved-in-webview2-process-1)
+ * [APIs for loading local content by navigating to an HTML string](#apis-for-loading-local-content-by-navigating-to-an-html-string)
+ * [Example string representation of a webpage](#example-string-representation-of-a-webpage)
+ * [Example of navigating to an HTML string](#example-of-navigating-to-an-html-string)
+* [Loading local content by using virtual host name mapping](#loading-local-content-by-using-virtual-host-name-mapping)
+ * [Considerations for loading local content by using virtual host name mapping](#considerations-for-loading-local-content-by-using-virtual-host-name-mapping)
+ * [Origin-based DOM APIs](#origin-based-dom-apis-2)
+ * [DOM APIs requiring secure context](#dom-apis-requiring-secure-context-2)
+ * [Dynamic content](#dynamic-content-2)
+ * [Additional web resources](#additional-web-resources-2)
+ * [Additional web resources resolved in WebView2 process](#additional-web-resources-resolved-in-webview2-process-2)
+ * [Source maps with virtual host name mapping](#source-maps-with-virtual-host-name-mapping)
+ * [APIs for loading local content by using virtual host name mapping](#apis-for-loading-local-content-by-using-virtual-host-name-mapping)
+ * [Example of virtual host name mapping](#example-of-virtual-host-name-mapping)
+* [Loading local content by handling the WebResourceRequested event](#loading-local-content-by-handling-the-webresourcerequested-event)
+ * [Custom scheme registration](#custom-scheme-registration)
+ * [Considerations for loading local content by handling the WebResourceRequested event](#considerations-for-loading-local-content-by-handling-the-webresourcerequested-event)
+ * [Origin-based DOM APIs](#origin-based-dom-apis-3)
+ * [DOM APIs requiring secure context](#dom-apis-requiring-secure-context-3)
+ * [Dynamic content](#dynamic-content-3)
+ * [Additional web resources](#additional-web-resources-3)
+ * [Additional web resources resolved in WebView2 process](#additional-web-resources-resolved-in-webview2-process-3)
+ * [Source maps with the WebResourceRequested event](#source-maps-with-the-webresourcerequested-event)
+ * [APIs for loading local content by handling the WebResourceRequested event](#apis-for-loading-local-content-by-handling-the-webresourcerequested-event)
+ * [Example of handling the WebResourceRequested event](#example-of-handling-the-webresourcerequested-event)
+* [See also](#see-also)
@@ -25,15 +69,14 @@ These approaches are described below.
The various ways of loading local content into a WebView2 control support the following scenarios:
| Scenario | By navigating to a file URL | By navigating to an HTML string | By using virtual host name mapping | By using `WebResourceRequested` |
-| --- |:---:|:---:|:---:|:---:|
+|---|:---:|:---:|:---:|:---:|
| Origin-based DOM APIs | ✔️ | ❌ | ✔️ | ✔️ |
| DOM APIs requiring secure context | ❌ | ❌ | ✔️ | ✔️ |
| Dynamic content | ❌ | ✔️ | ❌ | ✔️ |
| Additional web resources | ✔️ | ❌ | ✔️ | ✔️ |
| Additional web resources resolved in WebView2 process | ✔️ | ❌ | ✔️ | ❌ |
-
-These scenarios are described in more detail below.
+These scenarios are described below.
@@ -254,26 +297,26 @@ Loading local content by using the `NavigateToString` method doesn't make it pos
The following is the string representation of the **Demo To Do** webpage. The listing below has added line wrapping for readability. In practice, these lines are concatenated into a single long line:
```html
-`\n
- \n
- \n
-TODO app \n
- \n
- \n
- \n
- \n
+`\n
+ \n
+ \n
+TODO app \n
+ \n
+ \n
+ \n
+ \n
\n
-\n\n
-\n
-📋 My tasks \n
-\n\n \x3Cscript src="to-do.js">\x3C/script>\n \n\n
`
@@ -321,7 +364,7 @@ webView->NavigateToString(htmlString);
## Loading local content by using virtual host name mapping
-Another way to load local content in a WebView2 control is to use virtual host name mapping. This involves mapping a local domain name to a local folder, so that when the WebView2 control attempts to load a resource for that domain, it will load the content from the specified local folder location instead. The origin of the document will also be the virtual host name.
+Another way to load local content in a WebView2 control is to use virtual host name mapping. This involves mapping a local domain name to a local folder, so that when the WebView2 control attempts to load a resource for that domain, it will load the content from the specified local folder location instead. The origin of the document will also be the virtual host name.
This approach lets you specify the cross-origin access, by using the `CoreWebView2HostResourceAccessKind` enum.
@@ -369,7 +412,7 @@ Source maps are needed to debug the source code of compiled content, including:
* Transpiled JavaScript, such as TypeScript or minified JavaScript.
* Compiled CSS, such as SASS or SCSS.
-WebView2 doesn't load source maps that are referenced by content which was loaded by using virtual host name mapping.
+WebView2 doesn't load source maps that are referenced by content which was loaded by using virtual host name mapping.
For example, suppose WebView2 loads `main.js` via virtual host name mapping. If `main.js` references `main.js.map` as its source map, `main.js.map` will not be loaded automatically.
@@ -408,7 +451,7 @@ To use source maps along with virtual host name mapping, generate inline source
##### [.NET/C#](#tab/dotnetcsharp)
```csharp
-webView.CoreWebView2.SetVirtualHostNameToFolderMapping("demo",
+webView.CoreWebView2.SetVirtualHostNameToFolderMapping("demo",
"C:\Github\Demos\demo-to-do", CoreWebView2HostResourceAccessKind.DenyCors);
webView.CoreWebView2.Navigate("https://demo/index.html");
```
@@ -416,10 +459,10 @@ webView.CoreWebView2.Navigate("https://demo/index.html");
##### [WinRT/C#](#tab/winrtcsharp)
```csharp
-Windows.Storage.StorageFolder storageFolder =
+Windows.Storage.StorageFolder storageFolder =
Windows.Storage.ApplicationData.Current.LocalFolder;
Windows.Storage.StorageFolder demo = await storageFolder.GetFolderAsync("Demo");
-webView.CoreWebView2.SetVirtualHostNameToFolderMapping("demo", demo.Path,
+webView.CoreWebView2.SetVirtualHostNameToFolderMapping("demo", demo.Path,
CoreWebView2HostResourceAccessKind.DenyCors);
webView.CoreWebView2.Navigate("https://demo/index.html");
```
@@ -427,7 +470,7 @@ webView.CoreWebView2.Navigate("https://demo/index.html");
##### [Win32/C++](#tab/win32cpp)
```cpp
-webView->SetVirtualHostNameToFolderMapping(L"demo", L"C:\\Github\\Demos\\demo-to-do",
+webView->SetVirtualHostNameToFolderMapping(L"demo", L"C:\\Github\\Demos\\demo-to-do",
COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY_CORS);
webView->Navigate(L"https://demo/index.html");
```
@@ -440,7 +483,7 @@ webView->Navigate(L"https://demo/index.html");
Another way you can host local content in a WebView2 control is by relying on the `WebResourceRequested` event. This event is triggered when the control attempts to load a resource. You can use this event to intercept the request and provide the local content, as described in [Custom management of network requests](../how-to/webresourcerequested.md).
-`WebResourceRequested` allows you to customize the behavior of local content on a per-request basis. This means you can decide which requests to intercept and provide your own content for, and which requests to let the WebView2 control handle normally. However, customizing the behavior requires more code, such as virtual host mapping, and requires knowledge of HTTP, to be able to construct a proper response.
+`WebResourceRequested` allows you to customize the behavior of local content on a per-request basis. This means you can decide which requests to intercept and provide your own content for, and which requests to let the WebView2 control handle normally. However, customizing the behavior requires more code, such as virtual host mapping, and requires knowledge of HTTP, to be able to construct a proper response.
From WebView2's perspective, the resource will have come via the network, and WebView2 will adhere to the headers that are set by the app as part of the response. Using the `WebResourceRequested` event is also slower than other approaches, due to the cross-process communication and processing that's needed for each request.
@@ -543,7 +586,7 @@ To use source maps along with `WebResourceRequested`, use one of the following a
##### [.NET/C#](#tab/dotnetcsharp)
```csharp
-// Reading of response content stream happens asynchronously, and WebView2 does not
+// Reading of response content stream happens asynchronously, and WebView2 does not
// directly dispose the stream once it read. Therefore, use the following stream
// class, which properly disposes when WebView2 has read all data. For details, see
// [CoreWebView2 does not close stream content](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2513).
@@ -588,7 +631,7 @@ class ManagedStream : Stream {
{
s_.Dispose();
}
- }
+ }
catch
{
s_.Dispose();
@@ -604,12 +647,12 @@ class ManagedStream : Stream {
private Stream s_;
}
-webView.CoreWebView2.AddWebResourceRequestedFilter("https://demo/*",
+webView.CoreWebView2.AddWebResourceRequestedFilter("https://demo/*",
CoreWebView2WebResourceContext.All);
-webView.CoreWebView2.WebResourceRequested += delegate (object sender,
+webView.CoreWebView2.WebResourceRequested += delegate (object sender,
CoreWebView2WebResourceRequestedEventArgs args)
{
- string assetsFilePath = "C:\\Demo\\" +
+ string assetsFilePath = "C:\\Demo\\" +
args.Request.Uri.Substring("https://demo/*".Length - 1);
try
{
@@ -663,7 +706,7 @@ class ManagedStream : IRandomAccessStream
public override bool CanWrite => s_.CanWrite;
- ulong IRandomAccessStream.Position =>
+ ulong IRandomAccessStream.Position =>
{ get => s_.Position; set => s_.Position = value; }
public ulong Size => s_.Size;
@@ -688,7 +731,7 @@ class ManagedStream : IRandomAccessStream
throw new NotImplementedException();
}
- public IAsyncOperationWithProgress ReadAsync(IBuffer buffer,
+ public IAsyncOperationWithProgress ReadAsync(IBuffer buffer,
uint count, InputStreamOptions options)
{
IAsyncOperationWithProgress result;
@@ -698,7 +741,7 @@ class ManagedStream : IRandomAccessStream
// Once read is complete if no data was read, dispose the underlying
// stream.
result.Completed += new AsyncOperationWithProgressCompletedHandler(
- delegate (IAsyncOperationWithProgress asyncInfo,
+ delegate (IAsyncOperationWithProgress asyncInfo,
AsyncStatus asyncStatus)
{
if (asyncInfo.GetResults().Length == 0)
@@ -733,19 +776,19 @@ class ManagedStream : IRandomAccessStream
private IRandomAccessStream s_;
}
-WebView2.CoreWebView2.AddWebResourceRequestedFilter("https://demo/*",
+WebView2.CoreWebView2.AddWebResourceRequestedFilter("https://demo/*",
CoreWebView2WebResourceContext.All);
-WebView2.CoreWebView2.WebResourceRequested += async delegate (CoreWebView2 sender,
+WebView2.CoreWebView2.WebResourceRequested += async delegate (CoreWebView2 sender,
CoreWebView2WebResourceRequestedEventArgs args)
{
string filename = args.Request.Uri.Substring("https://demo/*".Length - 1);
try
{
- Windows.Storage.StorageFolder storageFolder =
+ Windows.Storage.StorageFolder storageFolder =
Windows.Storage.ApplicationData.Current.LocalFolder;
Windows.Storage.StorageFolder demo = await storageFolder.GetFolderAsync("Demo");
Windows.Storage.StorageFile asset = await demo.GetFileAsync(filename);
-
+
ManagedStream ms = new ManagedStream(await asset.OpenReadAsync());
string headers = "";
if (filename.EndsWith(".html"))
@@ -769,12 +812,12 @@ WebView2.CoreWebView2.WebResourceRequested += async delegate (CoreWebView2 sende
headers = "Content-Type: application/javascript";
}
- args.Response = WebView2.CoreWebView2.Environment.CreateWebResourceResponse(ms,
+ args.Response = WebView2.CoreWebView2.Environment.CreateWebResourceResponse(ms,
200, "OK", headers);
}
catch (Exception)
{
- args.Response = WebView2.CoreWebView2.Environment.CreateWebResourceResponse(null,
+ args.Response = WebView2.CoreWebView2.Environment.CreateWebResourceResponse(null,
404, "Not found", "");
}
};
@@ -797,7 +840,7 @@ HRESULT AppWindow::WebResourceRequestedEventHandler(
wil::com_ptr request;
wil::com_ptr response;
wil::com_ptr stream;
-
+
CHECK_FAILURE(args->get_Request(&request));
wil::unique_cotaskmem_string uri;
CHECK_FAILURE(request->get_Uri(&uri));
diff --git a/microsoft-edge/webview2/get-started/hololens2.md b/microsoft-edge/webview2/get-started/hololens2.md
index b48fea707a..e38fdd3195 100644
--- a/microsoft-edge/webview2/get-started/hololens2.md
+++ b/microsoft-edge/webview2/get-started/hololens2.md
@@ -17,7 +17,7 @@ This article is to learn to write your own WebView2 code. If you want to run a
> [!IMPORTANT]
> WebView2 on Hololens 2 continues to be available. However, support for WebView2 on Hololens 2 is discontinued; there are no planned bug fixes or content updates, and technical support has ended. Applications that use WebView2 on Hololens 2 are not guaranteed to continue to work.
-WebView2 on HoloLens 2 and the WebView plugin for Unity are both in Preview and are subject to change before general availability.
+WebView2 on HoloLens 2 and the WebView plugin for Unity are both in Preview and are subject to change before general availability.
WebView2 only works on HoloLens 2 devices running the Windows 11 update. For more information, see [Update HoloLens 2](/hololens/hololens-update-hololens).
@@ -109,11 +109,11 @@ Before you can start developing a HoloLens 2 app with WebView2, you will need to
## Step 3 - Configure the Unity project for Mixed Reality development
-Once you have your tools installed, you're ready to create and configure your project. The easiest way to get started with HoloLens 2 development is to use the Mixed Reality Toolkit in your project.
+Once you have your tools installed, you're ready to create and configure your project. The easiest way to get started with HoloLens 2 development is to use the Mixed Reality Toolkit in your project.
The Mixed Reality Feature Tool simplifies the process of discovering, installing, and managing mixed reality features, including the Mixed Reality Toolkit, and packages for your Unity project. For more guidance on installing the Mixed Reality Feature Tool, see [Welcome to the Mixed Reality Feature Tool](/windows/mixed-reality/develop/unity/welcome-to-mr-feature-tool).
-1. First, [Download the Mixed Reality Feature Tool](https://www.microsoft.com/download/details.aspx?id=102778) from the Microsoft Download Center.
+1. First, [Download the Mixed Reality Feature Tool](https://www.microsoft.com/download/details.aspx?id=102778) from the Microsoft Download Center.
1. Run the downloaded Mixed Reality Feature Tool executable, and follow the prompts to install the Mixed Reality Toolkit and any additional required packages for HoloLens 2 development.
@@ -209,7 +209,7 @@ Then continue with the next steps below.
## Step 7 - Extending WebView2 functionality
-Although the prefab exposes just a single property, there's additional functionality exposed on the `WebView` script. Let's take a look at exposing some of this functionality in our project. First, inspect the `WebView` script to get an idea of what's available.
+Although the prefab exposes just a single property, there's additional functionality exposed on the `WebView` script. Let's take a look at exposing some of this functionality in our project. First, inspect the `WebView` script to get an idea of what's available.
> [!TIP]
> To view the contents of a script in your default code editor, double-click the name of the script in the **Inspector** window.
@@ -372,9 +372,9 @@ Continue with the next steps below.
## Step 8 - Learn about WebView2 events and interactions in Unity
-The Microsoft Mixed Reality WebView plugin for Unity provides events for working with the webview.
+The Microsoft Mixed Reality WebView plugin for Unity provides events for working with the webview.
-One important event is `IWithPostMessage.MessageReceived`, which is raised when a message is sent from the webview to the Unity app. The `MessageReceived` event is defined in the `Microsoft.MixedReality.WebView.IWithPostMessage` interface.
+One important event is `IWithPostMessage.MessageReceived`, which is raised when a message is sent from the webview to the Unity app. The `MessageReceived` event is defined in the `Microsoft.MixedReality.WebView.IWithPostMessage` interface.
`IWithPostMessage` also defines the `PostMessage()` method, which can be used to send a message from the Unity app to the webview.
diff --git a/microsoft-edge/webview2/get-started/win32.md b/microsoft-edge/webview2/get-started/win32.md
index e9689917b4..1502b042e2 100644
--- a/microsoft-edge/webview2/get-started/win32.md
+++ b/microsoft-edge/webview2/get-started/win32.md
@@ -375,10 +375,10 @@ Now to do the above, in the callback, you'll:
```cpp
UpdateWindow(hWnd);
-
+
// <-- WebView2 sample code starts here -->
```
-
+
1. If the following code isn't already present, paste the following code into `HelloWebView.cpp`. Paste the code in between the lines `// <-- WebView2 sample code starts here -->` and `// <-- WebView2 sample code ends here -->`:
```cpp
diff --git a/microsoft-edge/webview2/get-started/winforms.md b/microsoft-edge/webview2/get-started/winforms.md
index 9601bcb2a0..624e3dedb4 100644
--- a/microsoft-edge/webview2/get-started/winforms.md
+++ b/microsoft-edge/webview2/get-started/winforms.md
@@ -14,7 +14,7 @@ This article is to learn to write your own WebView2 code. If you want to run a
This tutorial helps you:
@@ -95,7 +95,7 @@ Start with a basic desktop project that contains a single main window.
1. Select **Debug** > **Start Debugging** (**F5**).
An empty **Form1** window opens, from the fresh WinForms project:
-
+

@@ -194,7 +194,7 @@ The starter project has a `Form1.cs` form already, but we'll add another, as `Fo

-1. In the **Properties** panel, in the **Misc** section, set the **Source** property to `https://www.microsoft.com`. The **Source** property sets the initial URL that will be displayed in the WebView2 control.
+1. In the **Properties** panel, in the **Misc** section, set the **Source** property to `https://www.microsoft.com`. The **Source** property sets the initial URL that will be displayed in the WebView2 control.
1. Select **File** > **Save All** (**Ctrl+Shift+S**) to save the project.
@@ -268,7 +268,7 @@ Add more controls to your Windows Forms form from the toolbox, and then process
InitializeComponent();
}
```
-
+
1. Paste this code in the same location:
```csharp
@@ -393,10 +393,10 @@ To demonstrate how to use the events, start by registering a handler for `Naviga
{
InitializeComponent();
this.Resize += new System.EventHandler(this.Form_Resize);
-
+
webView.NavigationStarting += EnsureHttps;
}
-
+
void EnsureHttps(object sender, CoreWebView2NavigationStartingEventArgs args)
{
String uri = args.Uri;
@@ -456,7 +456,7 @@ For example, add a script that sends an alert when a user navigates to a non-HTT
```javascript
alert('{uri} is not safe, try an https link')
```
-
+
1. Select **File** > **Save All (Ctrl+Shift+S)** to save the project.
1. Press **F5** to build and run the project.
@@ -520,7 +520,7 @@ In your project, when the WebView2 control navigates to a URL, it displays the U
```
Next, for WebView2 to send and respond to the web message, after `CoreWebView2` is initialized, the host will inject a script in the web content to:
-
+
* Send the URL to the host using `postMessage`.
* Register an event handler to display a message sent from the host, in an alert box, before displaying webpage content.
diff --git a/microsoft-edge/webview2/get-started/winui.md b/microsoft-edge/webview2/get-started/winui.md
index cd92d2afec..dc9a411402 100644
--- a/microsoft-edge/webview2/get-started/winui.md
+++ b/microsoft-edge/webview2/get-started/winui.md
@@ -132,7 +132,7 @@ To create a WebView2 app for WinUI 3 (Windows App SDK):
The project templates that were installed in the previous major step are listed.
-1. Click the **Blank App, Packaged (WinUI 3 in Desktop)** card to select it, and then click the **Next** button.
+1. Click the **Blank App, Packaged (WinUI 3 in Desktop)** card to select it, and then click the **Next** button.
The **Configure your new project** dialog appears.
@@ -276,7 +276,7 @@ To add a WebView2 control that initially navigates to the Microsoft home page:
```
@@ -335,11 +335,11 @@ To allow users to control which webpage is displayed in the WebView2 control, ad
Go
```
-
+
1. In `MainWindow.xaml.cs`, paste the following `try/catch` block into the body of the `myButton_Click` method:
```csharp
@@ -358,7 +358,7 @@ To allow users to control which webpage is displayed in the WebView2 control, ad
```
This code navigates the WebView2 control to the URL that the user enters in the Address bar, when the user clicks the **Go** button, by re-setting the value of the `MyWebView.Source` property, which is equivalent to the `Source` attribute of the `` element.
-
+
1. Select **File** > **Save All** (**Ctrl+Shift+S**).
1. Press **F5**.
@@ -496,7 +496,7 @@ To display an alert when the user tries to navigate to a non-HTTPS site:
}
}
```
-
+
1. Select **File** > **Save All** (**Ctrl+Shift+S**).
1. Press **F5**.
diff --git a/microsoft-edge/webview2/get-started/wpf.md b/microsoft-edge/webview2/get-started/wpf.md
index 45ff8b5799..279c6c17a1 100644
--- a/microsoft-edge/webview2/get-started/wpf.md
+++ b/microsoft-edge/webview2/get-started/wpf.md
@@ -203,7 +203,7 @@ In Visual Studio, use NuGet Package Manager to add the WebView2 SDK to the proje
1. In the upper left, click the **Browse** tab. In the search bar, type `Microsoft.Web.WebView2`, then click the **Microsoft.Web.WebView2** package.
The NuGet package manager dialog displays search results, including a **Microsoft.Web.WebView2** package. The dialog has a version number and **Install** button.
-
+

1. Accept the default version, and then click the **Install** button.
@@ -323,7 +323,7 @@ Enable users to change the URL that the WebView2 control displays, by adding an
```
1. Paste the code directly after the `Public MainWIndow` declaration, as shown in the following code:
-
+
```csharp
namespace WpfApp1
{
@@ -426,7 +426,7 @@ To demonstrate how to use the events, register a handler for `NavigationStarting
InitializeComponent();
webView.NavigationStarting += EnsureHttps;
}
-
+
void EnsureHttps(object sender, CoreWebView2NavigationStartingEventArgs args)
{
String uri = args.Uri;
@@ -436,7 +436,7 @@ To demonstrate how to use the events, register a handler for `NavigationStarting
}
}
```
-
+
In the constructor, `EnsureHttps` is registered as the event handler on the `NavigationStarting` event on the WebView2 control.
1. Select **File** > **Save All** to save the project.
diff --git a/microsoft-edge/webview2/how-to/chromium-devtools-protocol.md b/microsoft-edge/webview2/how-to/chromium-devtools-protocol.md
index 01f6ab15a0..26063fb20e 100644
--- a/microsoft-edge/webview2/how-to/chromium-devtools-protocol.md
+++ b/microsoft-edge/webview2/how-to/chromium-devtools-protocol.md
@@ -52,20 +52,20 @@ To create an `HTML file` to find your geolocation, complete following the action
Display Location
-
+