Index: chrome/android/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java |
index 4edd972b37166d84ac5e4f7249f7e26675739b6c..dc398e4e3bc133d7b830c85964a2d650f0231a35 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java |
@@ -11,6 +11,7 @@ import android.content.res.Resources; |
import android.graphics.Canvas; |
import android.graphics.Paint; |
import android.graphics.Rect; |
+import android.os.StrictMode; |
import android.os.SystemClock; |
import android.text.Editable; |
import android.text.Layout; |
@@ -961,7 +962,14 @@ public class UrlBar extends VerticallyFixedEditText { |
@Override |
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) { |
- super.onInitializeAccessibilityNodeInfo(info); |
+ // Certain OEM implementations of onInitializeAccessibilityNodeInfo trigger disk reads |
+ // to access the clipboard. crbug.com/640993 |
+ StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads(); |
+ try { |
+ super.onInitializeAccessibilityNodeInfo(info); |
+ } finally { |
+ StrictMode.setThreadPolicy(oldPolicy); |
+ } |
if (mAccessibilityTextOverride != null) { |
info.setText(mAccessibilityTextOverride); |