feat(Ruler): introduce Ruler service

Closes #1089

Closes #1253
This commit is contained in:
Pawel Kozlowski
2015-04-06 21:45:54 +02:00
parent c349eb4fa4
commit 41262f4265
8 changed files with 112 additions and 2 deletions

View File

@ -176,6 +176,7 @@ class BrowserDomAdapter extends GenericBrowserDomAdapter {
document.implementation.createHtmlDocument('fakeTitle');
HtmlDocument defaultDoc() => document;
Rectangle getBoundingClientRect(el) => el.getBoundingClientRect();
String getTitle() => document.title;
void setTitle(String newTitle) {
document.title = newTitle;

View File

@ -58,9 +58,9 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
}
content(node:HTMLElement):Node {
if (this.hasProperty(node, "content")) {
return node.content;
return node.content;
} else {
return node;
return node;
}
}
firstChild(el):Node {
@ -228,6 +228,9 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
defaultDoc() {
return document;
}
getBoundingClientRect(el) {
return el.getBoundingClientRect();
}
getTitle() {
return document.title;
}

View File

@ -210,6 +210,9 @@ export class DomAdapter {
defaultDoc() {
throw _abstract();
}
getBoundingClientRect(el) {
throw _abstract();
}
getTitle() {
throw _abstract();
}

View File

@ -377,6 +377,9 @@ export class Parse5DomAdapter extends DomAdapter {
}
return defDoc;
}
getBoundingClientRect(el) {
return {left: 0, top: 0, width: 0, height: 0};
}
getTitle() {
return this.defaultDoc().title || "";
}