Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / extensions / browser / null_app_sorting.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef EXTENSIONS_BROWSER_NULL_APP_SORTING_H_
6 #define EXTENSIONS_BROWSER_NULL_APP_SORTING_H_
7
8 #include "base/compiler_specific.h"
9 #include "base/macros.h"
10 #include "extensions/browser/app_sorting.h"
11
12 namespace extensions {
13
14 // An AppSorting that doesn't provide any ordering.
15 class NullAppSorting : public AppSorting {
16  public:
17   NullAppSorting();
18   ~NullAppSorting() override;
19
20   // AppSorting overrides:
21   void SetExtensionScopedPrefs(ExtensionScopedPrefs* prefs) override;
22   void SetExtensionSyncService(
23       ExtensionSyncService* extension_sync_service) override;
24   void Initialize(const ExtensionIdList& extension_ids) override;
25   void FixNTPOrdinalCollisions() override;
26   void EnsureValidOrdinals(
27       const std::string& extension_id,
28       const syncer::StringOrdinal& suggested_page) override;
29   void OnExtensionMoved(const std::string& moved_extension_id,
30                         const std::string& predecessor_extension_id,
31                         const std::string& successor_extension_id) override;
32   syncer::StringOrdinal GetAppLaunchOrdinal(
33       const std::string& extension_id) const override;
34   void SetAppLaunchOrdinal(
35       const std::string& extension_id,
36       const syncer::StringOrdinal& new_app_launch_ordinal) override;
37   syncer::StringOrdinal CreateFirstAppLaunchOrdinal(
38       const syncer::StringOrdinal& page_ordinal) const override;
39   syncer::StringOrdinal CreateNextAppLaunchOrdinal(
40       const syncer::StringOrdinal& page_ordinal) const override;
41   syncer::StringOrdinal CreateFirstAppPageOrdinal() const override;
42   syncer::StringOrdinal GetNaturalAppPageOrdinal() const override;
43   syncer::StringOrdinal GetPageOrdinal(
44       const std::string& extension_id) const override;
45   void SetPageOrdinal(const std::string& extension_id,
46                       const syncer::StringOrdinal& new_page_ordinal) override;
47   void ClearOrdinals(const std::string& extension_id) override;
48   int PageStringOrdinalAsInteger(
49       const syncer::StringOrdinal& page_ordinal) const override;
50   syncer::StringOrdinal PageIntegerAsStringOrdinal(size_t page_index) override;
51   void SetExtensionVisible(const std::string& extension_id,
52                            bool visible) override;
53
54  private:
55   DISALLOW_COPY_AND_ASSIGN(NullAppSorting);
56 };
57
58 }  // namespace extensions
59
60 #endif  // EXTENSIONS_BROWSER_NULL_APP_SORTING_H_