Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(407)

Unified Diff: chrome/browser/android/provider/bookmark_model_observer_task.h

Issue 10912172: [Android] Upstream ChromeBrowserProvider, the Android port ContentProvider implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: temporarily removing tests until we can compile and run them (soon) Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/provider/bookmark_model_observer_task.h
diff --git a/chrome/browser/bookmarks/base_bookmark_model_observer.h b/chrome/browser/android/provider/bookmark_model_observer_task.h
similarity index 61%
copy from chrome/browser/bookmarks/base_bookmark_model_observer.h
copy to chrome/browser/android/provider/bookmark_model_observer_task.h
index cb9364aef2cfe908bc0cbf7c7410c17e42058899..70dbd888ba373ed3f526abc72b80e8a3a48fd402 100644
--- a/chrome/browser/bookmarks/base_bookmark_model_observer.h
+++ b/chrome/browser/android/provider/bookmark_model_observer_task.h
@@ -2,24 +2,36 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_BOOKMARKS_BASE_BOOKMARK_MODEL_OBSERVER_H_
-#define CHROME_BROWSER_BOOKMARKS_BASE_BOOKMARK_MODEL_OBSERVER_H_
+#ifndef CHROME_BROWSER_ANDROID_PROVIDER_BOOKMARK_MODEL_OBSERVER_TASK_H_
+#define CHROME_BROWSER_ANDROID_PROVIDER_BOOKMARK_MODEL_OBSERVER_TASK_H_
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "chrome/browser/bookmarks/bookmark_model_observer.h"
-// Base class for a BookmarkModelObserver implementation. All mutations of the
-// model funnel into the method BookmarkModelChanged.
-class BaseBookmarkModelObserver : public BookmarkModelObserver {
+// Base class for synchronous tasks that involve the bookmark model.
+// Ensures the model has been loaded before accessing it.
+// Must not be created from the UI thread.
+class BookmarkModelTask {
public:
- BaseBookmarkModelObserver() {}
+ explicit BookmarkModelTask(BookmarkModel* model);
+ BookmarkModel* model() const;
- virtual void BookmarkModelChanged() = 0;
+ private:
+ BookmarkModel* model_;
+
+ DISALLOW_COPY_AND_ASSIGN(BookmarkModelTask);
+};
+
+// Base class for bookmark model tasks that observe for model updates.
+class BookmarkModelObserverTask : public BookmarkModelTask,
+ public BookmarkModelObserver {
+ public:
+ explicit BookmarkModelObserverTask(BookmarkModel* bookmark_model);
+ virtual ~BookmarkModelObserverTask();
// BookmarkModelObserver:
virtual void Loaded(BookmarkModel* model, bool ids_reassigned) OVERRIDE;
- virtual void BookmarkModelBeingDeleted(BookmarkModel* model) OVERRIDE;
virtual void BookmarkNodeMoved(BookmarkModel* model,
const BookmarkNode* old_parent,
int old_index,
@@ -39,11 +51,8 @@ class BaseBookmarkModelObserver : public BookmarkModelObserver {
virtual void BookmarkNodeChildrenReordered(BookmarkModel* model,
const BookmarkNode* node) OVERRIDE;
- protected:
- virtual ~BaseBookmarkModelObserver() {}
-
private:
- DISALLOW_COPY_AND_ASSIGN(BaseBookmarkModelObserver);
+ DISALLOW_COPY_AND_ASSIGN(BookmarkModelObserverTask);
};
-#endif // CHROME_BROWSER_BOOKMARKS_BASE_BOOKMARK_MODEL_OBSERVER_H_
+#endif // CHROME_BROWSER_ANDROID_PROVIDER_BOOKMARK_MODEL_OBSERVER_TASK_H_

Powered by Google App Engine
This is Rietveld 408576698