Enable suppression of error page from the Java side


Design doc: https://docs.google.com/document/d/188BbgvTdhKf8bXikCL-JMduEclJOd9GxhKu79hmSVdo/edit

We wish to provide a means of optionally suppressing the display of the
webview error page so that applications that wish to display their own
error content may do so without presenting a poor user experience.

Test: run_webview_instrumentation_test_apk -f AwSettingsTest#testShouldSuppressErrorPage
Change-Id: I15c42acd7d562e7d37bb4f84d92267db49f0a55a
Reviewed-on: https://chromium-review.googlesource.com/c/1185001
Auto-Submit: Christian O. Andersson <cricke@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Changwan Ryu <changwan@chromium.org>
Reviewed-by: Nate Fischer <ntfschr@chromium.org>
Commit-Queue: Christian O. Andersson <cricke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#626102}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 822effcf1823d57f2aa2933c273156a018e25bf5
diff --git a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java
index 428a3cc..b198e33 100644
--- a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java
@@ -20,4 +20,7 @@
 
     void setDisabledActionModeMenuItems(int menuItems);
     int getDisabledActionModeMenuItems();
+
+    void setShouldSuppressErrorPage(boolean suppressed);
+    boolean getShouldSuppressErrorPage();
 }
diff --git a/src/org/chromium/support_lib_boundary/util/Features.java b/src/org/chromium/support_lib_boundary/util/Features.java
index 8831362..c2faf74 100644
--- a/src/org/chromium/support_lib_boundary/util/Features.java
+++ b/src/org/chromium/support_lib_boundary/util/Features.java
@@ -132,6 +132,10 @@
     // ProxyController.clearProxyOverride
     public static final String PROXY_OVERRIDE = "PROXY_OVERRIDE:3";
 
+    // WebSettingsCompat.setShouldSuppressErrorPage
+    // WebSettingsCompat.getShouldSuppressErrorPage
+    public static final String SUPPRESS_ERROR_PAGE = "SUPPRESS_ERROR_PAGE";
+
     // WebViewCompat.getWebViewRenderer
     public static final String GET_WEB_VIEW_RENDERER = "GET_WEB_VIEW_RENDERER";