diff options
author | Steve Block <steveblock@google.com> | 2010-04-27 16:31:00 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-05-11 14:42:12 +0100 |
commit | dcc8cf2e65d1aa555cce12431a16547e66b469ee (patch) | |
tree | 92a8d65cd5383bca9749f5327fb5e440563926e6 /WebKit/chromium/src/WebDocument.cpp | |
parent | ccac38a6b48843126402088a309597e682f40fe6 (diff) | |
download | external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.zip external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.gz external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.bz2 |
Merge webkit.org at r58033 : Initial merge by git
Change-Id: If006c38561af287c50cd578d251629b51e4d8cd1
Diffstat (limited to 'WebKit/chromium/src/WebDocument.cpp')
-rw-r--r-- | WebKit/chromium/src/WebDocument.cpp | 77 |
1 files changed, 29 insertions, 48 deletions
diff --git a/WebKit/chromium/src/WebDocument.cpp b/WebKit/chromium/src/WebDocument.cpp index 2a91e22..21e2bb8 100644 --- a/WebKit/chromium/src/WebDocument.cpp +++ b/WebKit/chromium/src/WebDocument.cpp @@ -32,7 +32,6 @@ #include "WebDocument.h" #include "Document.h" -#include "DocumentLoader.h" #include "Element.h" #include "HTMLAllCollection.h" #include "HTMLBodyElement.h" @@ -44,6 +43,7 @@ #include "WebElement.h" #include "WebFrameImpl.h" #include "WebNodeCollection.h" +#include "WebNodeList.h" #include "WebURL.h" #include <wtf/PassRefPtr.h> @@ -52,22 +52,6 @@ using namespace WebCore; namespace WebKit { -WebDocument::WebDocument(const PassRefPtr<Document>& elem) - : WebNode(elem) -{ -} - -WebDocument& WebDocument::operator=(const PassRefPtr<Document>& elem) -{ - WebNode::assign(elem.releaseRef()); - return *this; -} - -WebDocument::operator PassRefPtr<Document>() const -{ - return PassRefPtr<Document>(static_cast<Document*>(m_private)); -} - WebFrame* WebDocument::frame() const { return WebFrameImpl::fromFrame(constUnwrap<Document>()->frame()); @@ -78,11 +62,21 @@ bool WebDocument::isHTMLDocument() const return constUnwrap<Document>()->isHTMLDocument(); } +bool WebDocument::isPluginDocument() const +{ + return constUnwrap<Document>()->isPluginDocument(); +} + WebURL WebDocument::baseURL() const { return constUnwrap<Document>()->baseURL(); } +WebURL WebDocument::firstPartyForCookies() const +{ + return constUnwrap<Document>()->firstPartyForCookies(); +} + WebElement WebDocument::documentElement() const { return WebElement(constUnwrap<Document>()->documentElement()); @@ -118,38 +112,25 @@ WebElement WebDocument::getElementById(const WebString& id) const return WebElement(constUnwrap<Document>()->getElementById(id)); } -WebString WebDocument::applicationID() const +WebNode WebDocument::focusedNode() const +{ + return WebNode(constUnwrap<Document>()->focusedNode()); +} + +WebDocument::WebDocument(const PassRefPtr<Document>& elem) + : WebNode(elem) +{ +} + +WebDocument& WebDocument::operator=(const PassRefPtr<Document>& elem) +{ + m_private = elem; + return *this; +} + +WebDocument::operator PassRefPtr<Document>() const { - const char* kChromeApplicationHeader = "x-chrome-application"; - - // First check if the document's response included a header indicating the - // application it should go with. - const Document* document = constUnwrap<Document>(); - Frame* frame = document->frame(); - if (!frame) - return WebString(); - - DocumentLoader* loader = frame->loader()->documentLoader(); - if (!loader) - return WebString(); - - WebString headerValue = - loader->response().httpHeaderField(kChromeApplicationHeader); - if (!headerValue.isEmpty()) - return headerValue; - - // Otherwise, fall back to looking for the meta tag. - RefPtr<NodeList> metaTags = - const_cast<Document*>(document)->getElementsByTagName("meta"); - for (unsigned i = 0; i < metaTags->length(); ++i) { - Element* element = static_cast<Element*>(metaTags->item(i)); - if (element->getAttribute("http-equiv").lower() == - kChromeApplicationHeader) { - return element->getAttribute("value"); - } - } - - return WebString(); + return static_cast<Document*>(m_private.get()); } } // namespace WebKit |