Add chrome.devtools.network to Chrome extensions externs.
* F. Private APIs
* G. Enums
*
- * The best practices for each are described in more detail below. It
- * should be noted that, due to historical reasons, and the evolutionary
- * nature of this file, much this file currently violates the best practices
- * described below. As changes are made, the changes should adhere to the
- * best practices.
+ * The best practices for each are described in more detail below. It should be
+ * noted that, due to historical reasons, and the evolutionary nature of this
+ * file, much this file currently violates the best practices described below.
+ * As changes are made, the changes should adhere to the best practices.
*
* A. When to Add Packages to this File?
* Packages in chrome.experimental.* should *not* be added to this file. The
* these cases, use comments to describe the situation.
*
* B. Optional Parameters
- * The Chrome extension APIs make extensive use of optional parameters that
- * are not at the end of the parameter list, "interior optional parameters",
- * while the JS Compiler's type system requires optional parameters to be
- * at the end. This creates a bit of tension:
+ * The Chrome extension APIs make extensive use of interior optional parameters
+ * that are not at the end of the parameter list, while the JS Compiler's type
+ * system requires optional parameters to be at the end. This creates a bit of
+ * tension:
*
* 1. If a method has N required params, then the parameter declarations
* should have N required params.
* b. the type should include both types, in the same order as the parts
* of the name, even when one type subsumes the other, eg, {string|*}
* or {Object|function(string)}.
- * See chrome.runtime.sendMessage for a complex example as sendMessage
- * takes three params with the first and third being optional.
+ * See chrome.runtime.sendMessage for a complex example as sendMessage takes
+ * three params with the first and third being optional.
*
* C. Pseudo-types
- * The Chrome APIs define many types are that actually pseudo-types, that
- * is, they can't be instantiated by name. The extension APIs also pass
- * untyped objects (a bag of properties) to callbacks.
+ * The Chrome APIs define many types that are actually pseudo-types, that
+ * is, they can't be instantiated by name. The extension APIs also pass untyped
+ * objects (a bag of properties) to callbacks.
*
* The Chrome extension APIs include at least three different situations:
*
* ChromeBaseEventNoListeners for an example.
*
* E. Nullability
- * We treat the Chrome Extension API pages as "the truth". Not-null types
- * should be used in the following situations:
+ * We treat the Chrome Extension API pages as "the truth". Not-null types should
+ * be used in the following situations:
*
* 1. Parameters and return values that are not explicitly declared to handle
* null.
@@ -2175,6 +2174,32 @@ chrome.devtools.inspectedWindow.ResourceContentEvent = function() {};
chrome.devtools.inspectedWindow.onResourceContentCommitted;
+/**
+ * @see https://developer.chrome.com/docs/extensions/reference/devtools_network/
+ * @const
+ */
+chrome.devtools.network = {};
+
+/**
+ * @see https://developer.chrome.com/docs/extensions/reference/devtools_network/#type-Request
+ * @constructor
+ */
+chrome.devtools.network.Request = function() {};
+
+/**
+ * @interface
+ * @extends {ChromeBaseEvent<
+ * function(!chrome.devtools.network.Request)>}
+ */
+chrome.devtools.network.RequestEvent = function() {};
+
+/**
+ * @see https://developer.chrome.com/docs/extensions/reference/devtools_network/#event-onRequestFinished
+ * @type {!chrome.devtools.network.RequestEvent}
+ */
+chrome.devtools.network.onRequestFinished
+
+
/**
* @see https://developer.chrome.com/extensions/enterprise_platformKeys
* @const
