What's New In DevTools (Chrome 62)

New features and changes coming to DevTools in Chrome 62:

The Console now supports top-level await operators.

Using top-level await operators in the Console

Figure 1. Using top-level await operators in the Console

You can now take a screenshot of a portion of the viewport, or of a specific HTML node.

To take a screenshot of a portion of your viewport:

  1. Click Inspect Inspect or press Command+Shift+C (Mac) or Control+Shift+C (Windows, Linux) to enter Inspect Element Mode.
  2. Hold Command (Mac) or Control (Windows, Linux) and select the portion of the viewport that you want to take a screenshot of.
  3. Release your mouse. DevTools downloads a screenshot of the portion that you selected.

Taking a screenshot of a portion of the viewport

Figure 2. Taking a screenshot of a portion of the viewport

To take a screenshot of a specific HTML node:

  1. Select an element in the Elements panel.

    An example of a node

    Figure 3. In this example, the goal is to take a screenshot of the blue header that contains the text Tools. Note that this node is already selected in the DOM Tree of the Elements panel

  2. Open the Command Menu.

  3. Start typing node and select Capture node screenshot. DevTools downloads a screenshot of the selected node.

    The result of the 'Capture node screenshot' command

    Figure 4. The result of the Capture node screenshot command

To view the CSS Grid that's affecting an element, hover over an element in the DOM Tree of the Elements panel. A dashed border appears around each of the grid items. This only works when the selected item, or the parent of the selected item, has display:grid applied to it.

Highlighting a CSS Grid

Figure 5. Highlighting a CSS Grid

Check out the video below to learn the basics of CSS Grid in less than 2 minutes.

Call queryObjects(Constructor) from the Console to return an array of objects that were created with the specified constructor. For example:

  • queryObjects(Promise). Returns all Promises.
  • queryObjects(HTMLElement). Returns all HTML elements.
  • queryObjects(foo), where foo is a function name. Returns all objects that were instantiated via new foo().

The scope of queryObjects() is the currently-selected execution context in the Console. See Selecting execution context.

The Console now supports negative and URL filters.

Type -<text> in the Filter box to filter out any Console message that includes <text>.

An example of 3 messages that will be filtered out

Figure 6. The first statement logs one, two, three, and four to the Console. two is hidden because -two is entered in the Filter box

DevTools filters out a message if <text> is found:

  • In the message text.
  • In the filename from which the message originated.
  • In the stack trace text.

The negative filter also works with regular expressions such as -/[4-5]*ms/.

Type url:<text> in the Filter box to only show messages that originated from a script whose URL includes <text>.

The filter uses fuzzy matching. If <text> appears anywhere in the URL, then DevTools shows the message.

An example of URL filtering

Figure 7. Using URL filtering to only display messages that originate from scripts whose URL includes hymn. By hovering over the script name, you can see that the host name includes this text

Drag and drop a HAR file into the Network panel to import it.

Importing a HAR file

Figure 8. Importing a HAR file

Click a row in a Cache Storage table to see a preview of that resource below the table.

Previewing a cache resource

Figure 9. Previewing a cache resource

In Chrome 61 and earlier, debugging caches created with the Cache API is... rough. For example, when a page creates a new cache, you have to manually refresh the page or DevTools in order to see the new cache.

In Chrome 62, the Cache Storage tab now updates in real-time whenever you create, update, or delete a cache or a resource. Watch the video below for an example.

See the Cache Storage Demo to try it out yourself.

In Chrome 61 and earlier, the Coverage tab marks all of the code within a function as used, so long as the function is called.

An example of the Coverage tab in Chrome 61

Figure 10. An example of the Coverage tab in Chrome 61. Line 4 is marked used, even though it never executes

Starting in Chrome 62, the Coverage tab now tells you which code within a function is called.

An example of the Coverage tab in Chrome 62

Figure 11. An example of the Coverage tab in Chrome 62. Line 4 is marked unused

Consider using the Chrome Canary, Dev, or Beta as your default development browser. These preview channels give you access to the latest DevTools features, let you test cutting-edge web platform APIs, and help you find issues on your site before your users do!

Use the following options to discuss the new features, updates, or anything else related to DevTools.

A list of everything that has been covered in the What's new in DevTools series.