#include "base/memory/scoped_ptr.h"
#include "base/values.h"
-#include "chrome/browser/bookmarks/base_bookmark_model_observer.h"
-#include "chrome/browser/bookmarks/bookmark_node_data.h"
#include "chrome/browser/extensions/api/bookmarks/bookmarks_api.h"
#include "chrome/browser/extensions/chrome_extension_function.h"
#include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
#include "chrome/browser/undo/bookmark_undo_service.h"
#include "chrome/browser/undo/bookmark_undo_service_factory.h"
+#include "components/bookmarks/core/browser/base_bookmark_model_observer.h"
+#include "components/bookmarks/core/browser/bookmark_node_data.h"
#include "extensions/browser/browser_context_keyed_api_factory.h"
#include "extensions/browser/event_router.h"
// BaseBookmarkModelObserver:
virtual void BookmarkModelChanged() OVERRIDE;
virtual void BookmarkModelBeingDeleted(BookmarkModel* model) OVERRIDE;
+ virtual void OnWillChangeBookmarkMetaInfo(BookmarkModel* model,
+ const BookmarkNode* node) OVERRIDE;
virtual void BookmarkMetaInfoChanged(BookmarkModel* model,
const BookmarkNode* node) OVERRIDE;
void DispatchEvent(const std::string& event_name,
scoped_ptr<base::ListValue> event_args);
+ // Remembers the previous meta info of a node before it was changed.
+ BookmarkNode::MetaInfoMap prev_meta_info_;
+
content::BrowserContext* browser_context_;
BookmarkModel* bookmark_model_;
};
virtual ~BookmarkManagerPrivateCopyFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateCutFunction
virtual ~BookmarkManagerPrivateCutFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivatePasteFunction
virtual ~BookmarkManagerPrivatePasteFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateCanPasteFunction
virtual ~BookmarkManagerPrivateCanPasteFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateSortChildrenFunction
virtual ~BookmarkManagerPrivateSortChildrenFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateGetStringsFunction : public AsyncExtensionFunction {
virtual ~BookmarkManagerPrivateGetStringsFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunAsync() OVERRIDE;
};
class BookmarkManagerPrivateStartDragFunction
virtual ~BookmarkManagerPrivateStartDragFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateDropFunction
virtual ~BookmarkManagerPrivateDropFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateGetSubtreeFunction
virtual ~BookmarkManagerPrivateGetSubtreeFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateCanEditFunction
virtual ~BookmarkManagerPrivateCanEditFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateRecordLaunchFunction
virtual ~BookmarkManagerPrivateRecordLaunchFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
+};
+
+class BookmarkManagerPrivateCreateWithMetaInfoFunction
+ : public extensions::BookmarksFunction {
+ public:
+ DECLARE_EXTENSION_FUNCTION("bookmarkManagerPrivate.createWithMetaInfo",
+ BOOKMARKMANAGERPRIVATE_CREATEWITHMETAINFO)
+
+ protected:
+ virtual ~BookmarkManagerPrivateCreateWithMetaInfoFunction() {}
+
+ // ExtensionFunction:
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateGetMetaInfoFunction
virtual ~BookmarkManagerPrivateGetMetaInfoFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateSetMetaInfoFunction
virtual ~BookmarkManagerPrivateSetMetaInfoFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
+};
+
+class BookmarkManagerPrivateUpdateMetaInfoFunction
+ : public extensions::BookmarksFunction {
+ public:
+ DECLARE_EXTENSION_FUNCTION("bookmarkManagerPrivate.updateMetaInfo",
+ BOOKMARKMANAGERPRIVATE_UPDATEMETAINFO)
+
+ protected:
+ virtual ~BookmarkManagerPrivateUpdateMetaInfoFunction() {}
+
+ // ExtensionFunction:
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateCanOpenNewWindowsFunction
virtual ~BookmarkManagerPrivateCanOpenNewWindowsFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateRemoveTreesFunction
virtual ~BookmarkManagerPrivateRemoveTreesFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateUndoFunction
virtual ~BookmarkManagerPrivateUndoFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateRedoFunction
virtual ~BookmarkManagerPrivateRedoFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateGetUndoInfoFunction
virtual ~BookmarkManagerPrivateGetUndoInfoFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
class BookmarkManagerPrivateGetRedoInfoFunction
virtual ~BookmarkManagerPrivateGetRedoInfoFunction() {}
// ExtensionFunction:
- virtual bool RunImpl() OVERRIDE;
+ virtual bool RunOnReady() OVERRIDE;
};
} // namespace extensions