Index: chrome/android/java/src/org/chromium/chrome/browser/bookmark/BookmarksBridge.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmark/BookmarksBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmark/BookmarksBridge.java |
index f0c1a978799229ae4b2e77285ac99fd1371d8e25..492dceed9f2501eb669c70655604cb8cc5adf852 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmark/BookmarksBridge.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmark/BookmarksBridge.java |
@@ -207,6 +207,29 @@ public class BookmarksBridge { |
} |
/** |
+ * If bookmark model is loaded, execute the runnable immediately; otherwise schedule the |
newt (away)
2015/11/19 23:29:28
s/execute/executes/
javadocs should describe what
Ian Wen
2015/12/01 09:17:14
Done.
|
+ * runnable till the model is loaded. |
+ * @return Whether the given runnable is executed synchronously. |
+ */ |
+ public boolean doAfterBookmarkModelLoaded(final Runnable runnable) { |
newt (away)
2015/11/19 23:29:28
s/do/run/ to use consistent terminology
Ian Wen
2015/12/01 09:17:14
Done.
|
+ if (isBookmarkModelLoaded()) { |
+ runnable.run(); |
+ return true; |
+ } |
+ addObserver(new BookmarkModelObserver() { |
+ @Override |
+ public void bookmarkModelLoaded() { |
+ removeObserver(this); |
+ runnable.run(); |
+ } |
+ @Override |
+ public void bookmarkModelChanged() { |
+ } |
+ }); |
+ return false; |
+ } |
+ |
+ /** |
* @return A BookmarkItem instance for the given BookmarkId. |
* <code>null</code> if it doesn't exist. |
*/ |