Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1856)

Unified Diff: sdk/lib/html/dart2js/html_dart2js.dart

Issue 11316258: Document the document class. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: more fixes Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | sdk/lib/html/dartium/html_dartium.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/html/dart2js/html_dart2js.dart
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart
index b6d8612eaad1c799524fc5e5f0e68197573c73ac..a7805aa163832c752bd7fc3b6e2a4d49f9ec70ce 100644
--- a/sdk/lib/html/dart2js/html_dart2js.dart
+++ b/sdk/lib/html/dart2js/html_dart2js.dart
@@ -6013,6 +6013,15 @@ class DivElement extends Element implements Element native "*HTMLDivElement" {
/// @domName Document
+/**
+ * The base class for all documents.
+ *
+ * Each web page loaded in the browser has its own [Document] object, which is
+ * typically an [HtmlDocument].
+ *
+ * If you aren't comfortable with DOM concepts, see the Dart tutorial
+ * [Target 2: Connect Dart & HTML](http://www.dartlang.org/docs/tutorials/connect-dart-html/).
+ */
class Document extends Node native "*Document"
{
@@ -6024,6 +6033,7 @@ class Document extends Node native "*Document"
/// @domName Document.body; @docsEditable true
Element get $dom_body => JS("Element", "#.body", this);
+ /// Moved to [HtmlDocument].
/// @domName Document.body; @docsEditable true
void set $dom_body(Element value) {
JS("void", "#.body = #", this, value);
@@ -6035,6 +6045,7 @@ class Document extends Node native "*Document"
/// @domName Document.cookie; @docsEditable true
String cookie;
+ /// Returns the [Window] associated with the document.
/// @domName Document.defaultView; @docsEditable true
Window get window => _convertNativeToDart_Window(this._window);
dynamic get _window => JS("dynamic", "#.defaultView", this);
@@ -6045,12 +6056,14 @@ class Document extends Node native "*Document"
/// @domName Document.domain; @docsEditable true
final String domain;
+ /// Moved to [HtmlDocument].
/// @domName Document.head; @docsEditable true
HeadElement get $dom_head => JS("HeadElement", "#.head", this);
/// @domName Document.implementation; @docsEditable true
final DOMImplementation implementation;
+ /// Moved to [HtmlDocument].
/// @domName Document.lastModified; @docsEditable true
String get $dom_lastModified => JS("String", "#.lastModified", this);
@@ -6060,41 +6073,52 @@ class Document extends Node native "*Document"
/// @domName Document.readyState; @docsEditable true
final String readyState;
+ /// Moved to [HtmlDocument].
/// @domName Document.referrer; @docsEditable true
String get $dom_referrer => JS("String", "#.referrer", this);
/// @domName Document.selectedStylesheetSet; @docsEditable true
String selectedStylesheetSet;
+ /// Moved to [HtmlDocument].
/// @domName Document.styleSheets; @docsEditable true
List<StyleSheet> get $dom_styleSheets => JS("_StyleSheetList", "#.styleSheets", this);
+ /// Moved to [HtmlDocument].
/// @domName Document.title; @docsEditable true
String get $dom_title => JS("String", "#.title", this);
+ /// Moved to [HtmlDocument].
/// @domName Document.title; @docsEditable true
void set $dom_title(String value) {
JS("void", "#.title = #", this, value);
}
+ /// Moved to [HtmlDocument].
/// @domName Document.webkitFullscreenElement; @docsEditable true
Element get $dom_webkitFullscreenElement => JS("Element", "#.webkitFullscreenElement", this);
+ /// Moved to [HtmlDocument].
/// @domName Document.webkitFullscreenEnabled; @docsEditable true
bool get $dom_webkitFullscreenEnabled => JS("bool", "#.webkitFullscreenEnabled", this);
+ /// Moved to [HtmlDocument].
/// @domName Document.webkitHidden; @docsEditable true
bool get $dom_webkitHidden => JS("bool", "#.webkitHidden", this);
+ /// Moved to [HtmlDocument].
/// @domName Document.webkitIsFullScreen; @docsEditable true
bool get $dom_webkitIsFullScreen => JS("bool", "#.webkitIsFullScreen", this);
+ /// Moved to [HtmlDocument].
/// @domName Document.webkitPointerLockElement; @docsEditable true
Element get $dom_webkitPointerLockElement => JS("Element", "#.webkitPointerLockElement", this);
+ /// Moved to [HtmlDocument].
/// @domName Document.webkitVisibilityState; @docsEditable true
String get $dom_webkitVisibilityState => JS("String", "#.webkitVisibilityState", this);
+ /// Use the [Range] constructor instead.
/// @domName Document.caretRangeFromPoint; @docsEditable true
Range $dom_caretRangeFromPoint(int x, int y) native "caretRangeFromPoint";
@@ -6104,6 +6128,7 @@ class Document extends Node native "*Document"
/// @domName Document.createDocumentFragment; @docsEditable true
DocumentFragment createDocumentFragment() native;
+ /// Deprecated: use new Element.tag(tagName) instead.
/// @domName Document.createElement; @docsEditable true
Element $dom_createElement(String tagName) native "createElement";
@@ -6126,9 +6151,11 @@ class Document extends Node native "*Document"
}
Touch _createTouch_1(LocalWindow window, target, identifier, pageX, pageY, screenX, screenY, webkitRadiusX, webkitRadiusY, webkitRotationAngle, webkitForce) native "createTouch";
+ /// Use the [TouchList] constructor isntead.
/// @domName Document.createTouchList; @docsEditable true
TouchList $dom_createTouchList() native "createTouchList";
+ /// Moved to [HtmlDocument].
/// @domName Document.elementFromPoint; @docsEditable true
Element $dom_elementFromPoint(int x, int y) native "elementFromPoint";
@@ -6138,9 +6165,11 @@ class Document extends Node native "*Document"
/// @domName Document.getCSSCanvasContext; @docsEditable true
CanvasRenderingContext getCssCanvasContext(String contextId, String name, int width, int height) native "getCSSCanvasContext";
+ /// Deprecated: use query("#$elementId") instead.
/// @domName Document.getElementById; @docsEditable true
Element $dom_getElementById(String elementId) native "getElementById";
+ /// Deprecated: use query("#$elementId") instead.
/// @domName Document.getElementsByClassName; @docsEditable true
@Returns('_NodeList') @Creates('_NodeList')
List<Node> $dom_getElementsByClassName(String tagname) native "getElementsByClassName";
@@ -6168,6 +6197,7 @@ class Document extends Node native "*Document"
/// @domName Document.queryCommandValue; @docsEditable true
String queryCommandValue(String command) native;
+ /// Deprecated: renamed to the shorter name [query].
/// @domName Document.querySelector; @docsEditable true
Element $dom_querySelector(String selectors) native "querySelector";
@@ -6175,17 +6205,34 @@ class Document extends Node native "*Document"
@Returns('_NodeList') @Creates('_NodeList')
List<Node> $dom_querySelectorAll(String selectors) native "querySelectorAll";
+ /// Moved to [HtmlDocument].
/// @domName Document.webkitCancelFullScreen; @docsEditable true
void $dom_webkitCancelFullScreen() native "webkitCancelFullScreen";
+ /// Moved to [HtmlDocument].
/// @domName Document.webkitExitFullscreen; @docsEditable true
void $dom_webkitExitFullscreen() native "webkitExitFullscreen";
+ /// Moved to [HtmlDocument].
/// @domName Document.webkitExitPointerLock; @docsEditable true
void $dom_webkitExitPointerLock() native "webkitExitPointerLock";
- // TODO(jacobr): implement all Element methods not on Document.
+ /**
+ * Finds the first descendant element of this document that matches the
+ * specified group of selectors.
+ *
+ * Unless your webpage contains multiple documents, the top-level query
+ * method behaves the same as this method, so you should use it instead to
+ * save typing a few characters.
+ *
+ * [selectors] should be a string using CSS selector syntax.
+ * var element1 = document.query('.className');
+ * var element2 = document.query('#id');
+ *
+ * For details about CSS selector syntax, see the
+ * [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
+ */
Element query(String selectors) {
// It is fine for our RegExp to detect element id query selectors to have
// false negatives but not false positives.
@@ -6195,6 +6242,20 @@ class Document extends Node native "*Document"
return $dom_querySelector(selectors);
}
+ /**
+ * Finds all descendant elements of this document that match the specified
+ * group of selectors.
+ *
+ * Unless your webpage contains multiple documents, the top-level queryAll
+ * method behaves the same as this method, so you should use it instead to
+ * save typing a few characters.
+ *
+ * [selectors] should be a string using CSS selector syntax.
+ * var items = document.queryAll('.itemClassName');
+ *
+ * For details about CSS selector syntax, see the
+ * [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
+ */
List<Element> queryAll(String selectors) {
if (new RegExp("""^\\[name=["'][^'"]+['"]\\]\$""").hasMatch(selectors)) {
final mutableMatches = $dom_getElementsByName(
@@ -6373,7 +6434,7 @@ class DocumentFragment extends Node native "*DocumentFragment" {
}
return null;
}
- Element get $m_lastElementChild() => elements.last;
+ Element get $m_lastElementChild => elements.last;
Element get nextElementSibling => null;
Element get previousElementSibling => null;
Element get offsetParent => null;
@@ -7833,6 +7894,19 @@ class EventSourceEvents extends Events {
// BSD-style license that can be found in the LICENSE file.
+/**
+ * Base class that supports listening for and dispatching browser events.
+ *
+ * Events can either be accessed by string name (using the indexed getter) or by
+ * getters exposed by subclasses. Use the getters exposed by subclasses when
+ * possible for better compile-time type checks.
+ *
+ * Using an indexed getter:
+ * events['mouseover'].add((e) => print("Mouse over!"));
+ *
+ * Using a getter provided by a subclass:
+ * elementEvents.mouseOver.add((e) => print("Mouse over!"));
+ */
class Events {
/* Raw event target. */
final EventTarget _ptr;
@@ -7844,6 +7918,9 @@ class Events {
}
}
+/**
+ * Supports adding, removing, and dispatching events for a specific event type.
+ */
class EventListenerList {
final EventTarget _ptr;
@@ -7879,6 +7956,14 @@ class EventListenerList {
}
/// @domName EventTarget
+/**
+ * Base class for all browser objects that support events.
+ *
+ * Use the [on] property to add, remove, and dispatch events (rather than
+ * [$dom_addEventListener], [$dom_dispatchEvent], and
+ * [$dom_removeEventListener]) for compile-time type checks and a more concise
+ * API.
+ */
class EventTarget native "*EventTarget" {
/** @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent */
@@ -11181,7 +11266,7 @@ class LocalWindow extends EventTarget implements Window native "@*DOMWindow" {
// API level getter and setter for Location.
// TODO: The cross domain safe wrapper can be inserted here or folded into
// _LocationWrapper.
- LocalLocation get location() {
+ LocalLocation get location {
// Firefox work-around for Location. The Firefox location object cannot be
// made to behave like a Dart object so must be wrapped.
var result = _location;
@@ -11278,7 +11363,7 @@ class LocalWindow extends EventTarget implements Window native "@*DOMWindow" {
this);
}
- IDBFactory get indexedDB() =>
+ IDBFactory get indexedDB =>
JS('IDBFactory',
'#.indexedDB || #.webkitIndexedDB || #.mozIndexedDB',
this, this, this);
« no previous file with comments | « no previous file | sdk/lib/html/dartium/html_dartium.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698