summaryrefslogtreecommitdiffstats
path: root/components/enhanced_bookmarks
diff options
context:
space:
mode:
authorkkimlabs <kkimlabs@chromium.org>2015-06-04 16:21:16 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-04 23:21:39 +0000
commit5bd609076d410cbaf47ec94ec61414af26134f46 (patch)
treead50c21ff5d961485ef401edace2a7d419c9f0e4 /components/enhanced_bookmarks
parent7d0194bc00011f70e32ba23e0864e6e4b6aafe71 (diff)
downloadchromium_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.gn5
-rw-r--r--components/enhanced_bookmarks/DEPS1
-rw-r--r--components/enhanced_bookmarks/enhanced_bookmark_utils.cc18
-rw-r--r--components/enhanced_bookmarks/enhanced_bookmark_utils.h17
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_