Chromium Code Reviews| Index: appengine/swarming/elements/res/imp/common/common-aliases.html |
| diff --git a/appengine/swarming/elements/res/imp/common/common-aliases.html b/appengine/swarming/elements/res/imp/common/common-aliases.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1e4786d284761ef6d5e2c5bb9930582287e7a1b2 |
| --- /dev/null |
| +++ b/appengine/swarming/elements/res/imp/common/common-aliases.html |
| @@ -0,0 +1,102 @@ |
| +<!-- |
|
jcgregorio
2016/08/23 13:07:44
I normally expect .html files under /res/imp/ to c
kjlubick
2016/08/23 17:43:19
All behaviors now end in -behavior.html
|
| + Copyright 2016 The LUCI Authors. All rights reserved. |
| + Use of this source code is governed under the Apache License, Version 2.0 |
| + that can be found in the LICENSE file. |
| + |
| + window.SwarmingBehaviors.Aliases contains any aliases used by swarming |
| + apps, including gpu and android names. |
| + |
| + To use it, include |
| + behaviors: [SwarmingBehaviors.Aliases] |
| + in the creation of your Polymer element. |
| +--> |
| +<!--Import this to initialize SwarmingBehaviors--> |
|
stephana
2016/08/23 12:41:51
IMO, this should be in a JS file.
jcgregorio
2016/08/23 13:07:44
A JS file can't have <link rel="import" href="swar
kjlubick
2016/08/23 17:43:19
This is now a standalone JS.
|
| +<link rel="import" href="swarming-app.html"> |
| +<script> |
| + (function(){ |
| + var ANDROID_ALIASES = { |
| + "bullhead": "Nexus 5X", |
| + "flo": "Nexus 7 (2013)", |
| + "flounder": "Nexus 9", |
| + "foster": "NVIDIA Shield", |
| + "fugu": "Nexus Player", |
| + "grouper": "Nexus 7 (2012)", |
| + "hammerhead": "Nexus 5", |
| + "m0": "Galaxy S3", |
| + "mako": "Nexus 4", |
| + "manta": "Nexus 10", |
| + "shamu": "Nexus 6", |
| + "sprout": "Android One", |
| + }; |
| + |
| + var UNKNOWN = "unknown"; |
| + |
| + var GPU_ALIASES = { |
| + "1002": "AMD", |
| + "1002:6779": "AMD Radeon HD 6450/7450/8450", |
| + "1002:6821": "AMD Radeon HD 8870M", |
| + "1002:683d": "AMD Radeon HD 7770/8760", |
| + "1002:9830": "AMD Radeon HD 8400", |
| + "102b": "Matrox", |
| + "102b:0522": "Matrox MGA G200e", |
| + "102b:0532": "Matrox MGA G200eW", |
| + "102b:0534": "Matrox G200eR2", |
| + "10de": "NVIDIA", |
| + "10de:08a4": "NVIDIA GeForce 320M", |
| + "10de:08aa": "NVIDIA GeForce 320M", |
| + "10de:0fe9": "NVIDIA GeForce GT 750M Mac Edition", |
| + "10de:104a": "NVIDIA GeForce GT 610", |
| + "10de:11c0": "NVIDIA GeForce GTX 660", |
| + "10de:1244": "NVIDIA GeForce GTX 550 Ti", |
| + "10de:1401": "NVIDIA GeForce GTX 960", |
| + "8086": "Intel", |
| + "8086:0412": "Intel Haswell Integrated", |
| + "8086:041a": "Intel Xeon Integrated", |
| + "8086:0a2e": "Intel Haswell Integrated", |
| + "8086:0d26": "Intel Crystal Well Integrated", |
| + "8086:22b1": "Intel Braswell Integrated", |
| + } |
| + |
| + // For consistency, all aliases are displayed like: |
| + // Nexus 5X (bullhead) |
| + // This regex matches a string like "ALIAS (ORIG)", with ORIG as group 1. |
| + var ALIAS_REGEXP = /.+ \((.*)\)/; |
| + |
| + // This behavior wraps up all the shared bot-list functionality by |
| + // extending SwarmingBehaviors.SwarmingBehavior |
| + SwarmingBehaviors.Aliases = { |
| + |
| + properties: { |
| + DIMENSIONS_WITH_ALIASES: { |
| + type: Array, |
| + value: function(){ |
| + return ["device_type", "gpu"]; |
| + }, |
| + }, |
| + }, |
| + |
| + _androidAlias: function(dt) { |
| + return ANDROID_ALIASES[dt] || UNKNOWN; |
| + }, |
| + |
| + // _applyAlias is the consistent way to modify a string to show its alias. |
| + _applyAlias: function(orig, alias) { |
| + return alias +" ("+orig+")"; |
| + }, |
| + |
| + _gpuAlias: function(gpu) { |
| + return GPU_ALIASES[gpu] || UNKNOWN; |
| + }, |
| + |
| + // _unalias will return the base dimension/state with its alias removed |
| + // if it had one. This is handy for sorting and filtering. |
| + _unalias: function(str) { |
| + var match = ALIAS_REGEXP.exec(str); |
| + if (match) { |
| + return match[1]; |
| + } |
| + return str; |
| + }, |
| + }; |
| + })() |
| +</script> |