blob: fc29a3998bec1972f85c449dd6a26ff83da09946 [file] [log] [blame]
library utilities;
import "dart:html";
import "../../../testharness.dart";
// Start the bidding at 42 for no particular reason.
var lastID = 42;
String canonicalize(String url) {
var id = ++lastID;
document.body.appendHtml("<a id='$id' href='$url'></a>", treeSanitizer: new NullTreeSanitizer());
Element elem = document.getElementById(id.toString());
String res = (elem as AnchorElement).href;
// print("'$url'=>'$res'");
return res;
}
void setBaseURL(url) {
// Remove any existing base elements.
var existingBase = document.getElementsByTagName('base');
while (existingBase.length) {
var element = existingBase[0];
element.remove();
}
// Add a new base element.
document.body.appendHtml('<base href="$url">', treeSanitizer: new NullTreeSanitizer());
}
List segments(String url) {
var id = ++lastID;
String idstr=id.toString();
document.body.appendHtml("<a id='$idstr' href='$url'></a>", treeSanitizer: new NullTreeSanitizer());
var elmt = document.getElementById(idstr);
return [
elmt.protocol,
elmt.hostname,
elmt.port,
elmt.pathname,
elmt.search,
elmt.hash
];
}