| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 var enabled_app, disabled_app, enabled_extension, packaged_app; | 5 var enabled_app, disabled_app, enabled_extension, packaged_app; |
| 6 var allLaunchTypes = ["OPEN_AS_REGULAR_TAB", | 6 var allLaunchTypes = ["OPEN_AS_REGULAR_TAB", |
| 7 "OPEN_AS_PINNED_TAB", | 7 "OPEN_AS_PINNED_TAB", |
| 8 "OPEN_AS_WINDOW", | 8 "OPEN_AS_WINDOW", |
| 9 "OPEN_FULL_SCREEN"]; | 9 "OPEN_FULL_SCREEN"]; |
| 10 | 10 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 function getAvailableLaunchTypes(app) { | 25 function getAvailableLaunchTypes(app) { |
| 26 var types = Array(); | 26 var types = Array(); |
| 27 if (app.type == "packaged_app") { | 27 if (app.type == "packaged_app") { |
| 28 types.push("OPEN_AS_WINDOW"); | 28 types.push("OPEN_AS_WINDOW"); |
| 29 return types; | 29 return types; |
| 30 } | 30 } |
| 31 | 31 |
| 32 types.push("OPEN_AS_REGULAR_TAB"); | 32 types.push("OPEN_AS_REGULAR_TAB"); |
| 33 types.push("OPEN_AS_WINDOW"); | 33 types.push("OPEN_AS_WINDOW"); |
| 34 | 34 |
| 35 if (navigator.userAgent.indexOf("CrOS") == -1) { |
| 36 types.push("OPEN_AS_PINNED_TAB"); |
| 37 types.push("OPEN_FULL_SCREEN"); |
| 38 } |
| 39 |
| 35 return types; | 40 return types; |
| 36 } | 41 } |
| 37 | 42 |
| 38 function verifyAvailableLaunchTypes(expected, actual) { | 43 function verifyAvailableLaunchTypes(expected, actual) { |
| 39 assertEq(expected.length, actual.length); | 44 assertEq(expected.length, actual.length); |
| 40 for (var i = 0; i < expected.length; i++) | 45 for (var i = 0; i < expected.length; i++) |
| 41 assertTrue(actual.indexOf(expected[i]) != -1); | 46 assertTrue(actual.indexOf(expected[i]) != -1); |
| 42 } | 47 } |
| 43 | 48 |
| 44 function testSetAllLaunchTypes(app) { | 49 function testSetAllLaunchTypes(app) { |
| 45 var availableTypes = getAvailableLaunchTypes(app); | 50 var availableTypes = getAvailableLaunchTypes(app); |
| 46 | 51 |
| 47 var setLaunchType = function(i) { | 52 var setLaunchType = function(i) { |
| 48 var setNextLaunchType = function() { | 53 var setNextLaunchType = function() { |
| 49 if (i + 1 < allLaunchTypes.length) | 54 if (i + 1 < allLaunchTypes.length) |
| 50 setLaunchType(i + 1); | 55 setLaunchType(i + 1); |
| 51 }; | 56 }; |
| 52 | 57 |
| 53 var type = allLaunchTypes[i]; | 58 var type = allLaunchTypes[i]; |
| 54 if (availableTypes.indexOf(type) < 0) { | 59 if (availableTypes.indexOf(type) < 0) { |
| 55 testSetLaunchType(app.id, | 60 testSetLaunchType(app.id, |
| 56 type, | 61 type, |
| 57 "The launch type is not available for this app.", | 62 "The launch type is not available for this app.", |
| 58 setNextLaunchType); | 63 setNextLaunchType); |
| 59 } else { | 64 } else { |
| 60 testSetLaunchType(app.id, type, null, function() { | 65 testSetLaunchType(app.id, type, null, function() { |
| 61 chrome.management.get(app.id, function(item) { | 66 chrome.management.get(app.id, function(item) { |
| 67 if (navigator.userAgent.indexOf("Mac") != -1) { |
| 68 // In the current configuration, with the new bookmark app flow |
| 69 // disabled, hosted apps set to open in a window on Mac will open |
| 70 // instead in a tab. |
| 71 if (item.type != 'packaged_app' && type == 'OPEN_AS_WINDOW') |
| 72 type = 'OPEN_AS_REGULAR_TAB'; |
| 73 } |
| 62 assertEq(type, item.launchType); | 74 assertEq(type, item.launchType); |
| 63 setNextLaunchType(); | 75 setNextLaunchType(); |
| 64 }); | 76 }); |
| 65 }); | 77 }); |
| 66 } | 78 } |
| 67 }; | 79 }; |
| 68 | 80 |
| 69 if (allLaunchTypes.length > 0) | 81 if (allLaunchTypes.length > 0) |
| 70 setLaunchType(0); | 82 setLaunchType(0); |
| 71 } | 83 } |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 ]; | 140 ]; |
| 129 | 141 |
| 130 chrome.management.getAll(callback(function(items) { | 142 chrome.management.getAll(callback(function(items) { |
| 131 enabled_app = getItemNamed(items, "enabled_app"); | 143 enabled_app = getItemNamed(items, "enabled_app"); |
| 132 disabled_app = getItemNamed(items, "disabled_app"); | 144 disabled_app = getItemNamed(items, "disabled_app"); |
| 133 enabled_extension = getItemNamed(items, "enabled_extension"); | 145 enabled_extension = getItemNamed(items, "enabled_extension"); |
| 134 packaged_app = getItemNamed(items, "packaged_app"); | 146 packaged_app = getItemNamed(items, "packaged_app"); |
| 135 | 147 |
| 136 chrome.test.runTests(tests); | 148 chrome.test.runTests(tests); |
| 137 })); | 149 })); |
| OLD | NEW |