Missed the action at the 2018 Chrome Dev Summit? Catch up with our playlist on the Google Chrome Developers channel on YouTube. Watch now.

What's New In DevTools (Chrome 71)

New features and major changes coming to Chrome DevTools in Chrome 71 include:

Read on, or watch the video version of this page:

Hover over a Live Expression to highlight a DOM node

When a Live Expression evaluates to a DOM node, hover over the Live Expression result to highlight that node in the viewport.

Hovering over a Live Expression result to highlight the node in the viewport.
Figure 1. Hovering over a Live Expression result to highlight the node in the viewport

Store DOM nodes as global variables

To store a DOM node as a global variable, run an expression in the Console that evaluates to a node, right-click the result, and then select Store as global variable.

Store as global variable in the Console.
Figure 2. Store as global variable in the Console

Or, right-click the node in the DOM Tree and select Store as global variable.

Store as global variable in the DOM Tree.
Figure 3. Store as global variable in the DOM Tree

Initiator and priority information now in HAR imports and exports

If you'd like to diagnose network logs with colleagues, you can export the network requests to a HAR file.

Exporting network requests to a HAR file.
Figure 8. Exporting network requests to a HAR file

To import the file back into the Network panel, just drag and drop it.

When you export a HAR file, DevTools now includes initiator and priority information in the HAR file. When you import HAR files back into DevTools, the Initiator and Priority columns are now populated.

The _initiator field provides more context around what caused the resource to be requested. This maps to the Initiator column in the Requests table.

The initiator column.
Figure 9. The initiator column

You can also hold Shift and hover over a request to view its initiator and dependencies.

Viewing initiators and dependencies.
Figure 10. Viewing initiators and dependencies

The _priority field states what priority level the browser assigned to the resource. This maps to the Priority column in the Requests table, which is hidden by default.

The Priority column.
Figure 11. The Priority column

Right-click the header of the Requests table and select Priority to show the Priority column.

How to show the Priority column.
Figure 12. How to show the Priority column

Access the Command Menu from the Main Menu

Use the Command Menu for a fast way to access DevTools panels, tabs, and features.

The Command Menu.
Figure 13. The Command Menu

You can now open the Command Menu from the Main Menu. Click the Main Menu main button and select Run command.

Opening the Command Menu from the Main Menu.
Figure 14. Opening the Command Menu from the Main Menu

Picture-in-Picture breakpoints

Picture-in-Picture is a new experimental API that enables a page to create a floating video window over the desktop.

Enable the enterpictureinpicture, leavepictureinpicture, and resize checkboxes in the Event Listener Breakpoints pane to pause whenever one of these picture-in-picture events fires. DevTools pauses on the first line of the handler.

Picture-in-Picture events in the Event Listener Breakpoints pane.
Figure 16. Picture-in-Picture events in the Event Listener Breakpoints pane

(Bonus Tip) Run monitorEvents() in the Console to watch an element's events fire

Suppose you want to add a red border around a button after focusing it and pressing R, E, D, but you don't know what events to add listeners to. Use monitorEvents() to log all of the element's events to the Console.

  1. Get a reference to the node.

    Using 'Store as global variable' to get a reference to the node.
    Figure 17. Using Store as global variable to get a reference to the node

  2. Pass the node as the first argument to monitorEvents().

    Passing the node to monitorEvents().
    Figure 18. Passing the node to monitorEvents()

  3. Interact with the node. DevTools logs all of the node's events to the Console.

    The node's events in the Console.
    Figure 19. The node's events in the Console

Call unmonitorEvents() to stop logging events to the Console.

unmonitorEvents(temp1);

Pass an array as the second argument to monitorEvents() if you only want to monitor certain events or types of events:

monitorEvents(temp1, ['mouse', 'focus']);

The mouse type tells DevTools to log all mouse-related events, such as mousedown and click. Other supported types are key, touch, and control.

Check out Command Line Reference for other handy functions that you can call from the Console.

Feedback

Was this page helpful?

To discuss the new features and changes in this post, or anything else related to DevTools:

  • File bug reports at Chromium Bugs.
  • Discuss features and changes on the Mailing List. Please don't use the mailing list for support questions. Use Stack Overflow, instead.
  • Get help on how to use DevTools on Stack Overflow. Please don't file bugs on Stack Overflow. Use Chromium Bugs, instead.
  • Tweet us at @ChromeDevTools.
  • File bugs on this doc in the Web Fundamentals repository.

Consider Canary

If you're on Mac or Windows, consider using Chrome Canary as your default development browser. Canary gives you access to the latest DevTools features.

Discover other DevTools features

Below is a list of everything that's been covered in the What's New In DevTools series.

Chrome 72

Chrome 71

Chrome 70

Chrome 68

Chrome 67

Chrome 66

Chrome 65

Chrome 64

Chrome 63

Chrome 62

Chrome 61

Chrome 60

Chrome 59

rss_feed Subscribe to our RSS or Atom feed and get the latest updates in your favorite feed reader!