Move AppMenuTest from ChromeShellTest to ChromePublicTest
[chromium-blink-merge.git] / chrome / browser / android / shortcut_info.h
blobcfb92f4d296c45fa4aecad1c9f32aac41f25a15d
1 // Copyright 2015 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.
5 #ifndef CHROME_BROWSER_ANDROID_SHORTCUT_INFO_H_
6 #define CHROME_BROWSER_ANDROID_SHORTCUT_INFO_H_
8 #include "base/strings/string16.h"
9 #include "content/public/common/manifest.h"
10 #include "third_party/WebKit/public/platform/modules/screen_orientation/WebScreenOrientationLockType.h"
11 #include "url/gurl.h"
13 // Information needed to create a shortcut via ShortcutHelper.
14 struct ShortcutInfo {
16 // This enum is used to back a UMA histogram, and must be treated as
17 // append-only.
18 // A Java counterpart will be generated for this enum.
19 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser
20 // GENERATED_JAVA_CLASS_NAME_OVERRIDE: ShortcutSource
21 enum Source {
22 SOURCE_UNKNOWN = 0,
23 SOURCE_ADD_TO_HOMESCREEN = 1,
24 SOURCE_APP_BANNER = 2,
25 SOURCE_BOOKMARK_NAVIGATOR_WIDGET = 3,
26 SOURCE_BOOKMARK_SHORTCUT_WIDGET = 4,
27 SOURCE_COUNT = 5
30 ShortcutInfo();
31 explicit ShortcutInfo(const GURL& shortcut_url);
32 ~ShortcutInfo();
34 // Updates the info based on the given |manifest|.
35 void UpdateFromManifest(const content::Manifest& manifest);
37 // Updates the source of the shortcut.
38 void UpdateSource(const Source source);
40 GURL url;
41 base::string16 user_title;
42 base::string16 name;
43 base::string16 short_name;
44 content::Manifest::DisplayMode display;
45 blink::WebScreenOrientationLockType orientation;
46 Source source;
49 #endif // CHROME_BROWSER_ANDROID_SHORTCUT_INFO_H_