blob: 813f5f9755617627741ed5a140d7e53e1b4c3db6 [file] [log] [blame]
// Copyright 2018 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 'dart:html';
/// Create anchor element with download attribute
AnchorElement createAnchorElement(String href, String suggestedName) {
final element = AnchorElement(href: href);
if (suggestedName == null) {
element.download = 'download';
} else {
element.download = suggestedName;
}
return element;
}
/// Add an element to a container and click it
void addElementToContainerAndClick(Element container, Element element) {
// Add the element and click it
// All previous elements will be removed before adding the new one
container.children.add(element);
element.click();
}
/// Initializes a DOM container where we can host elements.
Element ensureInitialized(String id) {
var target = querySelector('#${id}');
if (target == null) {
final Element targetElement = Element.tag('flt-x-file')..id = id;
querySelector('body').children.add(targetElement);
target = targetElement;
}
return target;
}