Refactor SharedMemory::Create and fix a rare file leak.
[chromium-blink-merge.git] / chrome / browser / android / shortcut_info.cc
blob24406b889b509c0ea2166e59a1eb8abb2dc9977f
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 #include "chrome/browser/android/shortcut_info.h"
7 ShortcutInfo::ShortcutInfo()
8 : display(content::Manifest::DISPLAY_MODE_BROWSER),
9 orientation(blink::WebScreenOrientationLockDefault) {
12 ShortcutInfo::ShortcutInfo(const GURL& shortcut_url)
13 : url(shortcut_url),
14 display(content::Manifest::DISPLAY_MODE_BROWSER),
15 orientation(blink::WebScreenOrientationLockDefault) {
18 void ShortcutInfo::UpdateFromManifest(const content::Manifest& manifest) {
19 if (!manifest.short_name.is_null())
20 title = manifest.short_name.string();
21 else if (!manifest.name.is_null())
22 title = manifest.name.string();
24 // Set the url based on the manifest value, if any.
25 if (manifest.start_url.is_valid())
26 url = manifest.start_url;
28 // Set the display based on the manifest value, if any.
29 if (manifest.display != content::Manifest::DISPLAY_MODE_UNSPECIFIED)
30 display = manifest.display;
32 // 'fullscreen' and 'minimal-ui' are not yet supported, fallback to the right
33 // mode in those cases.
34 if (manifest.display == content::Manifest::DISPLAY_MODE_FULLSCREEN)
35 display = content::Manifest::DISPLAY_MODE_STANDALONE;
36 if (manifest.display == content::Manifest::DISPLAY_MODE_MINIMAL_UI)
37 display = content::Manifest::DISPLAY_MODE_BROWSER;
39 // Set the orientation based on the manifest value, if any.
40 if (manifest.orientation != blink::WebScreenOrientationLockDefault) {
41 // Ignore the orientation if the display mode is different from
42 // 'standalone'.
43 // TODO(mlamouri): send a message to the developer console about this.
44 if (display == content::Manifest::DISPLAY_MODE_STANDALONE)
45 orientation = manifest.orientation;