diff options
author | kkimlabs <kkimlabs@chromium.org> | 2015-06-04 16:21:16 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-04 23:21:39 +0000 |
commit | 5bd609076d410cbaf47ec94ec61414af26134f46 (patch) | |
tree | ad50c21ff5d961485ef401edace2a7d419c9f0e4 /components/enhanced_bookmarks | |
parent | 7d0194bc00011f70e32ba23e0864e6e4b6aafe71 (diff) | |
download | chromium_src-5bd609076d410cbaf47ec94ec61414af26134f46.zip chromium_src-5bd609076d410cbaf47ec94ec61414af26134f46.tar.gz chromium_src-5bd609076d410cbaf47ec94ec61414af26134f46.tar.bz2 |
[Android] Add enhanced bookmarks grid/list view experiment
BUG=490717
Review URL: https://codereview.chromium.org/1143153010
Cr-Commit-Position: refs/heads/master@{#332957}
Diffstat (limited to 'components/enhanced_bookmarks')
-rw-r--r-- | components/enhanced_bookmarks/BUILD.gn | 5 | ||||
-rw-r--r-- | components/enhanced_bookmarks/DEPS | 1 | ||||
-rw-r--r-- | components/enhanced_bookmarks/enhanced_bookmark_utils.cc | 18 | ||||
-rw-r--r-- | components/enhanced_bookmarks/enhanced_bookmark_utils.h | 17 |
4 files changed, 39 insertions, 2 deletions
diff --git a/components/enhanced_bookmarks/BUILD.gn b/components/enhanced_bookmarks/BUILD.gn index 7395daa..ad55816 100644 --- a/components/enhanced_bookmarks/BUILD.gn +++ b/components/enhanced_bookmarks/BUILD.gn @@ -59,13 +59,14 @@ source_set("enhanced_bookmarks") { } if (is_android) { - # GYP: //components/enhanced_bookmarks.gypi:enhanced_bookmarks_launch_location_srcjar - java_cpp_enum("enhanced_bookmarks_launch_location_srcjar") { + # GYP: //components/enhanced_bookmarks.gypi:enhanced_bookmarks_java_enums_srcjar + java_cpp_enum("enhanced_bookmarks_java_enums_srcjar") { sources = [ "enhanced_bookmark_utils.h", ] outputs = [ "org/chromium/chrome/browser/enhanced_bookmarks/LaunchLocation.java", + "org/chromium/chrome/browser/enhanced_bookmarks/ViewMode.java", ] } } diff --git a/components/enhanced_bookmarks/DEPS b/components/enhanced_bookmarks/DEPS index 114b12c..1a3fa5a 100644 --- a/components/enhanced_bookmarks/DEPS +++ b/components/enhanced_bookmarks/DEPS @@ -4,6 +4,7 @@ include_rules = [ "+components/pref_registry", "+components/signin", "+components/sync_driver", + "+components/variations", "+google_apis/gaia", "+jni", "+net", diff --git a/components/enhanced_bookmarks/enhanced_bookmark_utils.cc b/components/enhanced_bookmarks/enhanced_bookmark_utils.cc index 1ca96ca..7108d98 100644 --- a/components/enhanced_bookmarks/enhanced_bookmark_utils.cc +++ b/components/enhanced_bookmarks/enhanced_bookmark_utils.cc @@ -5,12 +5,15 @@ #include "components/enhanced_bookmarks/enhanced_bookmark_utils.h" #include "components/bookmarks/browser/bookmark_model.h" +#include "components/variations/variations_associated_data.h" using bookmarks::BookmarkModel; using bookmarks::BookmarkNode; namespace enhanced_bookmarks { +const char kFieldTrialName[] = "EnhancedBookmarks"; + std::vector<const BookmarkNode*> PrimaryPermanentNodes(BookmarkModel* model) { DCHECK(model->loaded()); std::vector<const BookmarkNode*> nodes; @@ -63,4 +66,19 @@ const BookmarkNode* RootLevelFolderForNode(const BookmarkNode* node, return top; } +ViewMode GetDefaultViewMode() { + std::string default_view_mode = variations::GetVariationParamValue( + enhanced_bookmarks::kFieldTrialName, "DefaultViewMode"); + + if (default_view_mode == "List") { + return ViewMode::LIST; + } else if (default_view_mode == "Grid") { + return ViewMode::GRID; + } + + // If finch data is not available or has an invalid value, we fall back to + // ViewMode::GRID. + return ViewMode::GRID; +} + } // namespace enhanced_bookmarks diff --git a/components/enhanced_bookmarks/enhanced_bookmark_utils.h b/components/enhanced_bookmarks/enhanced_bookmark_utils.h index c66fa9a..81476eb 100644 --- a/components/enhanced_bookmarks/enhanced_bookmark_utils.h +++ b/components/enhanced_bookmarks/enhanced_bookmark_utils.h @@ -16,6 +16,8 @@ class BookmarkNode; namespace enhanced_bookmarks { +extern const char kFieldTrialName[]; + // Possible locations where a bookmark can be opened from. // Please sync with the corresponding histograms.xml. // @@ -31,6 +33,16 @@ enum LaunchLocation { COUNT = 6, }; +// View modes of enhanced bookmarks' main items UI. +// +// A Java counterpart will be generated for this enum. +// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.enhanced_bookmarks +enum ViewMode { + DEFAULT = 0, + LIST = 1, + GRID = 2, +}; + // Returns the permanent nodes whose url children are considered uncategorized // and whose folder children should be shown in the bookmark menu. // |model| must be loaded. @@ -54,6 +66,11 @@ const bookmarks::BookmarkNode* RootLevelFolderForNode( const bookmarks::BookmarkNode* node, bookmarks::BookmarkModel* model); +// Returns the default view mode for main items UI. +// The default is controlled by a finch experiment. If finch is not available or +// has an invalid value, it returns a hard coded default view mode. +ViewMode GetDefaultViewMode(); + } // namespace enhanced_bookmarks #endif // COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_UTILS_H_ |