| Index: Source/web/WebNode.cpp | 
| diff --git a/Source/web/WebNode.cpp b/Source/web/WebNode.cpp | 
| index e1a768f8d84da5bacabf4e56ab4f4e1741940400..1fafc90fbd23ca0b8a3d01115a09fc2cbde97d75 100644 | 
| --- a/Source/web/WebNode.cpp | 
| +++ b/Source/web/WebNode.cpp | 
| @@ -36,6 +36,7 @@ | 
| #include "core/dom/Element.h" | 
| #include "core/dom/Node.h" | 
| #include "core/dom/NodeList.h" | 
| +#include "core/dom/StaticNodeList.h" | 
| #include "core/dom/TagCollection.h" | 
| #include "core/editing/serializers/Serialization.h" | 
| #include "core/events/Event.h" | 
| @@ -241,16 +242,32 @@ WebElementCollection WebNode::getElementsByHTMLTagName(const WebString& tag) con | 
| return WebElementCollection(); | 
| } | 
|  | 
| -WebElement WebNode::querySelector(const WebString& tag, WebExceptionCode& ec) const | 
| +WebElement WebNode::querySelector(const WebString& selector, WebExceptionCode& ec) const | 
| { | 
| +    if (!m_private->isContainerNode()) | 
| +        return WebElement(); | 
| TrackExceptionState exceptionState; | 
| -    WebElement element; | 
| -    if (m_private->isContainerNode()) | 
| -        element = toContainerNode(m_private.get())->querySelector(tag, exceptionState); | 
| +    WebElement element = toContainerNode(m_private.get())->querySelector(selector, exceptionState); | 
| ec = exceptionState.code(); | 
| return element; | 
| } | 
|  | 
| +void WebNode::querySelectorAll(const WebString& selector, WebExceptionCode& ec, WebVector<WebElement>& results) const | 
| +{ | 
| +    if (!m_private->isContainerNode()) | 
| +        return; | 
| +    TrackExceptionState exceptionState; | 
| +    RefPtrWillBeRawPtr<StaticElementList> elements = toContainerNode(m_private.get())->querySelectorAll(selector, exceptionState); | 
| +    ec = exceptionState.code(); | 
| +    if (exceptionState.hadException()) | 
| +        return; | 
| +    Vector<WebElement> temp; | 
| +    temp.reserveCapacity(elements->length()); | 
| +    for (unsigned i = 0; i < elements->length(); ++i) | 
| +        temp.append(WebElement(elements->item(i))); | 
| +    results.assign(temp); | 
| +} | 
| + | 
| bool WebNode::focused() const | 
| { | 
| return m_private->focused(); | 
|  |