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

Unified Diff: sky/engine/core/dom/Document.cpp

Issue 922893002: Merge the Sky Engine changes from the SkyDart branch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 months 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 | « sky/engine/core/dom/Document.h ('k') | sky/engine/core/dom/Document.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/dom/Document.cpp
diff --git a/sky/engine/core/dom/Document.cpp b/sky/engine/core/dom/Document.cpp
index e881e611ff2917ea48b796b77f81e04eb04e7371..fd99ae22a14c3529d44bc0dfbc5f126dd44d67d9 100644
--- a/sky/engine/core/dom/Document.cpp
+++ b/sky/engine/core/dom/Document.cpp
@@ -30,15 +30,9 @@
#include "gen/sky/core/HTMLElementFactory.h"
#include "gen/sky/platform/RuntimeEnabledFeatures.h"
-#include "sky/engine/bindings/core/v8/CustomElementConstructorBuilder.h"
-#include "sky/engine/bindings/core/v8/DOMDataStore.h"
-#include "sky/engine/bindings/core/v8/Dictionary.h"
-#include "sky/engine/bindings/core/v8/ExceptionMessages.h"
-#include "sky/engine/bindings/core/v8/ExceptionState.h"
-#include "sky/engine/bindings/core/v8/ExceptionStatePlaceholder.h"
-#include "sky/engine/bindings/core/v8/ScriptController.h"
-#include "sky/engine/bindings/core/v8/V8DOMWrapper.h"
-#include "sky/engine/bindings/core/v8/WindowProxy.h"
+#include "sky/engine/bindings2/exception_messages.h"
+#include "sky/engine/bindings2/exception_state.h"
+#include "sky/engine/bindings2/exception_state_placeholder.h"
#include "sky/engine/core/animation/AnimationTimeline.h"
#include "sky/engine/core/animation/DocumentAnimations.h"
#include "sky/engine/core/css/CSSFontSelector.h"
@@ -126,7 +120,6 @@
#include "sky/engine/platform/network/HTTPParsers.h"
#include "sky/engine/platform/text/SegmentedString.h"
#include "sky/engine/public/platform/Platform.h"
-#include "sky/engine/core/inspector/ScriptCallStack.h"
#include "sky/engine/wtf/CurrentTime.h"
#include "sky/engine/wtf/DateMath.h"
#include "sky/engine/wtf/HashFunctions.h"
@@ -426,23 +419,17 @@ void Document::childrenChanged(const ChildrenChange& change)
PassRefPtr<Element> Document::createElement(const AtomicString& name, ExceptionState& exceptionState)
{
if (!isValidName(name)) {
- exceptionState.throwDOMException(InvalidCharacterError, "The tag name provided ('" + name + "') is not a valid name.");
+ exceptionState.ThrowDOMException(InvalidCharacterError, "The tag name provided ('" + name + "') is not a valid name.");
return nullptr;
}
return HTMLElementFactory::createHTMLElement(name, *this, false);
}
-ScriptValue Document::registerElement(ScriptState* scriptState, const AtomicString& name, ExceptionState& exceptionState)
+PassRefPtr<DartValue> Document::registerElement(DartState*, const AtomicString& name, ExceptionState& exceptionState)
{
- return registerElement(scriptState, name, Dictionary(), exceptionState);
-}
-
-ScriptValue Document::registerElement(ScriptState* scriptState, const AtomicString& name, const Dictionary& options, ExceptionState& exceptionState)
-{
- CustomElementConstructorBuilder constructorBuilder(scriptState, &options);
- registrationContext().registerElement(this, &constructorBuilder, name, exceptionState);
- return constructorBuilder.bindingsReturnValue();
+ // TODO(abarth): Add back custom elment registration.
+ return DartValue::Create();
}
CustomElementMicrotaskRunQueue* Document::customElementMicrotaskRunQueue()
@@ -521,10 +508,10 @@ bool Document::importContainerNodeChildren(ContainerNode* oldContainerNode, Pass
{
for (Node* oldChild = oldContainerNode->firstChild(); oldChild; oldChild = oldChild->nextSibling()) {
RefPtr<Node> newChild = importNode(oldChild, true, exceptionState);
- if (exceptionState.hadException())
+ if (exceptionState.had_exception())
return false;
newContainerNode->appendChild(newChild.release(), exceptionState);
- if (exceptionState.hadException())
+ if (exceptionState.had_exception())
return false;
}
@@ -556,7 +543,7 @@ PassRefPtr<Node> Document::importNode(Node* importedNode, bool deep, ExceptionSt
if (importedNode->isShadowRoot()) {
// ShadowRoot nodes should not be explicitly importable.
// Either they are imported along with their host node, or created implicitly.
- exceptionState.throwDOMException(NotSupportedError, "The node provided is a shadow root, which may not be imported.");
+ exceptionState.ThrowDOMException(NotSupportedError, "The node provided is a shadow root, which may not be imported.");
return nullptr;
}
DocumentFragment* oldFragment = toDocumentFragment(importedNode);
@@ -567,7 +554,7 @@ PassRefPtr<Node> Document::importNode(Node* importedNode, bool deep, ExceptionSt
return newFragment.release();
}
case DOCUMENT_NODE:
- exceptionState.throwDOMException(NotSupportedError, "The node provided is a document, which may not be imported.");
+ exceptionState.ThrowDOMException(NotSupportedError, "The node provided is a document, which may not be imported.");
return nullptr;
}
@@ -581,18 +568,18 @@ PassRefPtr<Node> Document::adoptNode(PassRefPtr<Node> source, ExceptionState& ex
switch (source->nodeType()) {
case DOCUMENT_NODE:
- exceptionState.throwDOMException(NotSupportedError, "The node provided is of type '" + source->nodeName() + "', which may not be adopted.");
+ exceptionState.ThrowDOMException(NotSupportedError, "The node provided is of type '" + source->nodeName() + "', which may not be adopted.");
return nullptr;
default:
if (source->isShadowRoot()) {
// ShadowRoot cannot disconnect itself from the host node.
- exceptionState.throwDOMException(HierarchyRequestError, "The node provided is a shadow root, which may not be adopted.");
+ exceptionState.ThrowDOMException(HierarchyRequestError, "The node provided is a shadow root, which may not be adopted.");
return nullptr;
}
if (source->parentNode()) {
source->parentNode()->removeChild(source.get(), exceptionState);
- if (exceptionState.hadException())
+ if (exceptionState.had_exception())
return nullptr;
}
}
@@ -1410,7 +1397,6 @@ void Document::logExceptionToConsole(const String& errorMessage, int scriptId, c
{
RefPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(JSMessageSource, ErrorMessageLevel, errorMessage, sourceURL, lineNumber);
consoleMessage->setScriptId(scriptId);
- consoleMessage->setCallStack(callStack);
addMessage(consoleMessage.release());
}
@@ -1917,7 +1903,7 @@ static bool parseQualifiedNameInternal(const AtomicString& qualifiedName, const
U16_NEXT(characters, i, length, c)
if (c == ':') {
if (sawColon) {
- exceptionState.throwDOMException(NamespaceError, "The qualified name provided ('" + qualifiedName + "') contains multiple colons.");
+ exceptionState.ThrowDOMException(NamespaceError, "The qualified name provided ('" + qualifiedName + "') contains multiple colons.");
return false; // multiple colons: not allowed
}
nameStart = true;
@@ -1931,7 +1917,7 @@ static bool parseQualifiedNameInternal(const AtomicString& qualifiedName, const
message.appendLiteral("') contains the invalid name-start character '");
message.append(c);
message.appendLiteral("'.");
- exceptionState.throwDOMException(InvalidCharacterError, message.toString());
+ exceptionState.ThrowDOMException(InvalidCharacterError, message.toString());
return false;
}
nameStart = false;
@@ -1943,7 +1929,7 @@ static bool parseQualifiedNameInternal(const AtomicString& qualifiedName, const
message.appendLiteral("') contains the invalid character '");
message.append(c);
message.appendLiteral("'.");
- exceptionState.throwDOMException(InvalidCharacterError, message.toString());
+ exceptionState.ThrowDOMException(InvalidCharacterError, message.toString());
return false;
}
}
@@ -1955,7 +1941,7 @@ static bool parseQualifiedNameInternal(const AtomicString& qualifiedName, const
} else {
prefix = AtomicString(characters, colonPos);
if (prefix.isEmpty()) {
- exceptionState.throwDOMException(NamespaceError, "The qualified name provided ('" + qualifiedName + "') has an empty namespace prefix.");
+ exceptionState.ThrowDOMException(NamespaceError, "The qualified name provided ('" + qualifiedName + "') has an empty namespace prefix.");
return false;
}
int prefixStart = colonPos + 1;
@@ -1963,7 +1949,7 @@ static bool parseQualifiedNameInternal(const AtomicString& qualifiedName, const
}
if (localName.isEmpty()) {
- exceptionState.throwDOMException(NamespaceError, "The qualified name provided ('" + qualifiedName + "') has an empty local name.");
+ exceptionState.ThrowDOMException(NamespaceError, "The qualified name provided ('" + qualifiedName + "') has an empty local name.");
return false;
}
@@ -1975,7 +1961,7 @@ bool Document::parseQualifiedName(const AtomicString& qualifiedName, AtomicStrin
unsigned length = qualifiedName.length();
if (!length) {
- exceptionState.throwDOMException(InvalidCharacterError, "The qualified name provided is empty.");
+ exceptionState.ThrowDOMException(InvalidCharacterError, "The qualified name provided is empty.");
return false;
}
@@ -2102,7 +2088,7 @@ void Document::addMessage(PassRefPtr<ConsoleMessage> consoleMessage)
if (!m_frame)
return;
- if (!consoleMessage->scriptState() && consoleMessage->url().isNull() && !consoleMessage->lineNumber()) {
+ if (consoleMessage->url().isNull() && !consoleMessage->lineNumber()) {
consoleMessage->setURL(url().string());
if (parsing() && m_parser) {
if (!m_parser->isWaitingForScripts() && !m_parser->isExecutingScript())
@@ -2250,33 +2236,6 @@ bool Document::hasFocus() const
return focusedFrame && focusedFrame == frame();
}
-v8::Handle<v8::Object> Document::wrap(v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
-{
- ASSERT(!DOMDataStore::containsWrapperNonTemplate(this, isolate));
-
- const WrapperTypeInfo* wrapperType = wrapperTypeInfo();
-
- if (frame() && frame()->script().initializeMainWorld()) {
- // initializeMainWorld may have created a wrapper for the object, retry from the start.
- v8::Handle<v8::Object> wrapper = DOMDataStore::getWrapperNonTemplate(this, isolate);
- if (!wrapper.IsEmpty())
- return wrapper;
- }
-
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, wrapperType, toScriptWrappableBase(), isolate);
- if (UNLIKELY(wrapper.IsEmpty()))
- return wrapper;
-
- wrapperType->installConditionallyEnabledProperties(wrapper, isolate);
- V8DOMWrapper::associateObjectWithWrapperNonTemplate(this, wrapperType, wrapper, isolate);
-
- DOMWrapperWorld& world = DOMWrapperWorld::current(isolate);
- if (world.isMainWorld() && frame())
- frame()->script().windowProxy(world)->updateDocumentWrapper(wrapper);
-
- return wrapper;
-}
-
} // namespace blink
#ifndef NDEBUG
« no previous file with comments | « sky/engine/core/dom/Document.h ('k') | sky/engine/core/dom/Document.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698