Index: third_party/WebKit/Source/core/dom/IntersectionObserver.cpp |
diff --git a/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp b/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp |
index cca839fc37d293f3ec5268455c9114185713afad..66d41f6bbf7b2967a98aa311129628f3aa0332b1 100644 |
--- a/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp |
+++ b/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp |
@@ -53,11 +53,11 @@ static void parseRootMargin(String rootMarginParameter, Vector<Length>& rootMarg |
rootMargin.append(Length(token.numericValue(), Percent)); |
break; |
default: |
- exceptionState.throwTypeError("rootMargin must be specified in pixels or percent."); |
+ exceptionState.throwDOMException(SyntaxError, "rootMargin must be specified in pixels or percent."); |
} |
break; |
default: |
- exceptionState.throwTypeError("rootMargin must be specified in pixels or percent."); |
+ exceptionState.throwDOMException(SyntaxError, "rootMargin must be specified in pixels or percent."); |
} |
} |
} |
@@ -73,7 +73,7 @@ static void parseThresholds(const DoubleOrDoubleArray& thresholdParameter, Vecto |
for (auto thresholdValue : thresholds) { |
if (thresholdValue < 0.0 || thresholdValue > 1.0) { |
- exceptionState.throwTypeError("Threshold values must be between 0 and 1"); |
+ exceptionState.throwRangeError("Threshold values must be between 0 and 1"); |
break; |
} |
} |
@@ -175,7 +175,7 @@ LayoutObject* IntersectionObserver::rootLayoutObject() const |
void IntersectionObserver::observe(Element* target, ExceptionState& exceptionState) |
{ |
if (!m_root) { |
- exceptionState.throwDOMException(HierarchyRequestError, "Invalid observer: root element or containing document has been deleted."); |
+ exceptionState.throwDOMException(InvalidStateError, "Invalid observer: root element or containing document has been deleted."); |
ojan
2016/02/27 01:45:45
I thought we decided this case wouldn't throw?
szager1
2016/02/29 22:35:53
Initially, I had thought this method would still t
|
return; |
} |
if (!target) { |
@@ -202,7 +202,7 @@ void IntersectionObserver::observe(Element* target, ExceptionState& exceptionSta |
m_observations.add(observation); |
} |
-void IntersectionObserver::unobserve(Element* target, ExceptionState&) |
+void IntersectionObserver::unobserve(Element* target) |
{ |
if (!target || !target->intersectionObserverData()) |
return; |
@@ -248,9 +248,9 @@ HeapVector<Member<IntersectionObserverEntry>> IntersectionObserver::takeRecords( |
Element* IntersectionObserver::root() const |
{ |
Node* node = rootNode(); |
- if (node->isDocumentNode()) |
- return nullptr; |
- return toElement(node); |
+ if (node && !node->isDocumentNode()) |
+ return toElement(node); |
+ return nullptr; |
} |
static void appendLength(StringBuilder& stringBuilder, const Length& length) |