Commit 1e721249 authored by Ted Choc's avatar Ted Choc Committed by Commit Bot

Add strict mode exclusion for creating to the omnibox dropdown.

It hits I/O deep in the Android stack:
  at android.util.BoostFramework.<init>	(BoostFramework.java: 99)
  at android.widget.OverScroller$SplineOverScroller.<init>	(OverScroller.java: 661)
  at android.widget.OverScroller.<init>	(OverScroller.java: 79)
  at android.widget.OverScroller.<init>	(OverScroller.java: 61)
  at android.widget.OverScroller.<init>	(OverScroller.java: 51)
  at android.widget.AbsListView$FlingRunnable.<init>	(AbsListView.java: 4807)
  at android.widget.AbsListView.setFriction	(AbsListView.java: 5044)
  at android.widget.AbsListView.setScrollFriction	(AbsListView.java: 915)
  at android.widget.AbsListView.initAbsListView	(AbsListView.java: 955)
  at android.widget.AbsListView.<init>	(AbsListView.java: 861)
  at android.widget.ListView.<init>	(ListView.java: 227)
  at android.widget.ListView.<init>	(ListView.java: 223)

Added a TODO to investigate making list creation async, but that
requires a lot of fundamental changes in the lifecycle of the location
bar.

BUG=848529

Change-Id: Icef168579dd5c2daa98378c14fa01a57db43e09d
Reviewed-on: https://chromium-review.googlesource.com/1087490Reviewed-by: default avatarMaria Khomenko <mariakhomenko@chromium.org>
Commit-Queue: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564608}
parent 384ef672
......@@ -42,6 +42,7 @@ import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.CommandLine;
import org.chromium.base.Log;
import org.chromium.base.ObserverList;
import org.chromium.base.StrictModeContext;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
......@@ -1350,7 +1351,10 @@ public class LocationBarLayout
return getRootView().findViewById(R.id.toolbar);
}
};
mSuggestionList = new OmniboxSuggestionsList(getContext(), embedder);
// TODO(tedchoc): Investigate lazily building the suggestion list off of the UI thread.
try (StrictModeContext unused = StrictModeContext.allowDiskReads()) {
mSuggestionList = new OmniboxSuggestionsList(getContext(), embedder);
}
// Ensure the results container is initialized and add the suggestion list to it.
initOmniboxResultsContainer();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment