Sync dynamic module API

PiperOrigin-RevId: 228876943
diff --git a/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/BaseActivityDelegate.java b/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/BaseActivityDelegate.java
index 3c2b6e4..f60de68 100644
--- a/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/BaseActivityDelegate.java
+++ b/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/BaseActivityDelegate.java
@@ -11,7 +11,6 @@
  *
  */
 public class BaseActivityDelegate extends IActivityDelegate.Stub {
-
   protected BaseActivityDelegate() {}
 
   @Override
@@ -81,11 +80,17 @@
 
   @Override
   public void onMessageChannelReady() {
-    throw new UnsupportedOperationException("Not implemented!");
+    throw new UnsupportedOperationException("Not implemented");
   }
 
   @Override
   public void onPostMessage(String message) {
-    throw new UnsupportedOperationException("Not implemented!");
+    throw new UnsupportedOperationException("Not implemented");
+  }
+
+  @Override
+  public void onPageMetricEvent(String metricName, long navigationStart,
+      long offset, long navigationId) {
+    throw new UnsupportedOperationException("Not implemented");
   }
 }
diff --git a/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/BaseActivityHost.java b/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/BaseActivityHost.java
index 514d673..496eff6 100644
--- a/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/BaseActivityHost.java
+++ b/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/BaseActivityHost.java
@@ -51,12 +51,12 @@
 
   @Override
   public boolean requestPostMessageChannel(Uri postMessageOrigin) {
-    throw new UnsupportedOperationException("Not implemented!");
+    throw new UnsupportedOperationException("Not implemented");
   }
 
   @Override
   public int postMessage(String message) {
-    throw new UnsupportedOperationException("Not implemented!");
+    throw new UnsupportedOperationException("Not implemented");
   }
 
   @Override
diff --git a/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IActivityDelegate.aidl b/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IActivityDelegate.aidl
index f5540ac..9096479 100644
--- a/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IActivityDelegate.aidl
+++ b/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IActivityDelegate.aidl
@@ -64,4 +64,17 @@
    * Experimental API.
    */
   void onPostMessage(String message) = 14;
+
+  /**
+   * Notifies the module of page load metrics, for example time until first
+   * contentful paint.
+   * @param metricName Name of the page load metric.
+   * @param navigationStart Navigation start time in ms as SystemClock.uptimeMillis() value.
+   * @param offset offset in ms from navigationStart for the page load metric.
+   * @param navigationId the unique id of a navigation this metrics is related to.
+   * This parameter is guaranteed to be positive value or zero in case of "no id".
+   *
+   * Experimental API.
+   */
+  void onPageMetricEvent(in String metricName, long navigationStart, long offset, long navigationId) = 15;
 }
diff --git a/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IActivityHost.aidl b/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IActivityHost.aidl
index 72b8a30..42961d8 100644
--- a/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IActivityHost.aidl
+++ b/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IActivityHost.aidl
@@ -73,7 +73,7 @@
    *        representation of the package name.
    * @return whether the request was accepted.
    *
-   * Experimental API.
+   * Introduced in API version 9.
    */
   boolean requestPostMessageChannel(in Uri postMessageOrigin) = 7;
 
@@ -86,7 +86,7 @@
    *         docs on CustomTabsService#postMessage for more details:
    *         https://developer.android.com/reference/android/support/customtabs/CustomTabsService#postmessage.
    *
-   * Experimental API.
+   * Introduced in API version 9.
    */
   int postMessage(in String message) = 8;
 
@@ -99,7 +99,7 @@
    * @param heightInPx The desired height. Chrome will decide if it can honor
    *        the desired height at runtime.
    *
-   * Experimental API.
+   * Introduced in API version 8.
    */
   void setTopBarMinHeight(int heightInPx) = 9;
 }
diff --git a/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IModuleEntryPoint.aidl b/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IModuleEntryPoint.aidl
index d24a79a..40a99fe 100644
--- a/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IModuleEntryPoint.aidl
+++ b/src/java/org/chromium/chrome/browser/customtabs/dynamicmodule/IModuleEntryPoint.aidl
@@ -39,6 +39,8 @@
 
   /**
    * Called by Chrome when a bundle for the module is received.
+   *
+   * Introduced in API version 6.
    */
   void onBundleReceived(in IObjectWrapper /* Bundle */ args) = 5;
 }