Eric Seidel 922ea790b8 Make it possible to draw Text in the new window/document-less world
I had to add back document.createText() since new Text()
does not work in the new world yet.

LayoutRoot is a new Dart-exposed class which holds the Frame and
all associated machinery, sufficient to trigger a restyle
and layout of the subtree.

This is all kinda hacky and I'm sure likely to cause many
crashes if folks call random methods on these disconnected
trees.

But this makes it at least possible to paint text for now
and we can improve this in the coming days.

This really should have Adam's review.  It's hugely hacky
but I'd like to negotiate out with him the timeline on
which we should fix some of these hacks.

R=ianh@google.com
TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/1148253003
2015-05-27 11:05:42 -07:00

76 lines
2.8 KiB
Plaintext

/*
* Copyright (C) 2006, 2007, 2011 Apple Inc. All rights reserved.
* Copyright (C) 2006, 2007 Samuel Weinig <sam@webkit.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
callback CustomElementConstructor = Element ();
[
Constructor(),
] interface Document : ParentNode {
[CustomElementCallbacks, RaisesException] Element createElement(DOMString tagName);
Text createText(DOMString text);
DocumentFragment createDocumentFragment();
[CustomElementCallbacks, RaisesException, TypeChecking=Interface] Node importNode(Node node, [Named] optional boolean deep = false);
Element getElementById(DOMString elementId);
[RaisesException, CustomElementCallbacks, TypeChecking=Interface] Node adoptNode(Node node);
readonly attribute DOMString? baseURI;
Range createRange();
[ImplementedAs=executingWindow] readonly attribute Window defaultView;
readonly attribute DOMString contentType;
[TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString dir;
[TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString title;
readonly attribute DOMString referrer;
readonly attribute DOMString URL;
[PutForwards=href] readonly attribute Location location;
[TreatReturnedNullStringAs=Undefined] readonly attribute DOMString readyState;
Element elementFromPoint([Default=Undefined] optional long x,
[Default=Undefined] optional long y);
Range caretRangeFromPoint([Default=Undefined] optional long x,
[Default=Undefined] optional long y);
// Mozilla extensions
Selection getSelection();
// HTML 5
readonly attribute Element activeElement;
boolean hasFocus();
[RaisesException] void registerElement(DOMString name, any type);
// Page visibility API.
readonly attribute DOMString visibilityState;
readonly attribute boolean hidden;
readonly attribute HTMLScriptElement currentScript;
attribute Picture rootPicture;
};