John McCutchan b017dfd995 Rationalize Dart mojo and sky package structure.
NOTE: This CL appears far larger than it actually is for two reasons:

1) Many files were moved around to use the Dart package directory structure.
2) Many .dart files had to have import paths updated.

- Organize mojo/public/dart so that it uses standard Dart package layout
- Organize mojo/dart/apptest so that it uses a standard Dart package layout
- Organize sky/sdk so that it uses a standard Dart package layout
- Create a mojo/testing package (used by unittests)
- Introduce the 'dart_pkg' gn rule which populates gen/Config/dart-pkg
- All internally vended Dart packages must have a corresponding dart_pkg rule
- It is now possible to use dependency_overrides: in pubspec.yaml to mix internal and external package dependencies (enables analyzer, editor, webstorm usage for internal developers).
- Package root for dart content handler ends with "packages/"
- Imports of mojo package uris no longer need the "public/dart"
- mojo/public/tools/dart_package.py is a clone of mojo/public/tools/gn/zip.py
- Sky tests no longer run 'deploy_sdk' script.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1132063007
2015-05-18 14:41:39 -07:00

58 lines
1.3 KiB
Plaintext

<!--
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-->
<import src="sky-element.sky" />
<sky-element attributes="type:string, size:number">
<template>
<img />
</template>
<script>
import "dart:sky";
const String kAssetBase = '/sky/assets/material-design-icons';
@Tagname('sky-icon')
class SkyIcon extends SkyElement {
Element _img;
void _setSize(int size) {
_img.style['height'] = '${size}px';
_img.style['width'] = '${size}px';
}
void _setSrc(String type, int size) {
List<String> parts = type.split('/');
if (parts.length < 2)
return;
String category = parts[0];
String subtype = parts[1];
_img.src = '${kAssetBase}/${category}/2x_web/ic_${subtype}_${size}dp.png';
}
void shadowRootReady() {
_img = shadowRoot.firstElementChild;
int size = this.size.floor();
_setSize(size);
_setSrc(type, size);
}
void typeChanged(String oldValue, String newValue) {
if (_img != null)
_setSrc(newValue, size.floor());
}
void sizeChanged(double oldValue, double newValue) {
if (_img != null) {
_setSize(newValue.floor());
_setSrc(type, newValue.floor());
}
}
}
_init(script) => register(script, SkyIcon);
</script>
</sky-element>