diff options
Diffstat (limited to 'WebKit/chromium/src/WebDocument.cpp')
-rw-r--r-- | WebKit/chromium/src/WebDocument.cpp | 84 |
1 files changed, 41 insertions, 43 deletions
diff --git a/WebKit/chromium/src/WebDocument.cpp b/WebKit/chromium/src/WebDocument.cpp index 84f3004..a983bf7 100644 --- a/WebKit/chromium/src/WebDocument.cpp +++ b/WebKit/chromium/src/WebDocument.cpp @@ -32,7 +32,7 @@ #include "WebDocument.h" #include "Document.h" -#include "DocumentLoader.h" +#include "DocumentType.h" #include "Element.h" #include "HTMLAllCollection.h" #include "HTMLBodyElement.h" @@ -41,9 +41,11 @@ #include "HTMLHeadElement.h" #include "NodeList.h" +#include "WebDocumentType.h" #include "WebElement.h" #include "WebFrameImpl.h" #include "WebNodeCollection.h" +#include "WebNodeList.h" #include "WebURL.h" #include <wtf/PassRefPtr.h> @@ -52,30 +54,24 @@ using namespace WebCore; namespace WebKit { -WebDocument::WebDocument(const PassRefPtr<Document>& elem) - : WebNode(elem.releaseRef()) -{ -} - -WebDocument& WebDocument::operator=(const PassRefPtr<Document>& elem) +WebFrame* WebDocument::frame() const { - WebNode::assign(elem.releaseRef()); - return *this; + return WebFrameImpl::fromFrame(constUnwrap<Document>()->frame()); } -WebDocument::operator PassRefPtr<Document>() const -{ - return PassRefPtr<Document>(static_cast<Document*>(m_private)); +bool WebDocument::isHTMLDocument() const +{ + return constUnwrap<Document>()->isHTMLDocument(); } -WebFrame* WebDocument::frame() const +bool WebDocument::isXHTMLDocument() const { - return WebFrameImpl::fromFrame(constUnwrap<Document>()->frame()); + return constUnwrap<Document>()->isXHTMLDocument(); } -bool WebDocument::isHTMLDocument() const +bool WebDocument::isPluginDocument() const { - return constUnwrap<Document>()->isHTMLDocument(); + return constUnwrap<Document>()->isPluginDocument(); } WebURL WebDocument::baseURL() const @@ -83,6 +79,11 @@ 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()); @@ -98,6 +99,11 @@ WebElement WebDocument::head() return WebElement(unwrap<Document>()->head()); } +WebString WebDocument::title() const +{ + return WebString(constUnwrap<Document>()->title()); +} + WebNodeCollection WebDocument::all() { return WebNodeCollection(unwrap<Document>()->all()); @@ -113,38 +119,30 @@ WebElement WebDocument::getElementById(const WebString& id) const return WebElement(constUnwrap<Document>()->getElementById(id)); } -WebString WebDocument::applicationID() const +WebNode WebDocument::focusedNode() 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(); + return WebNode(constUnwrap<Document>()->focusedNode()); +} - DocumentLoader* loader = frame->loader()->documentLoader(); - if (!loader) - return WebString(); +WebDocumentType WebDocument::doctype() const +{ + return WebDocumentType(constUnwrap<Document>()->doctype()); +} - WebString headerValue = - loader->response().httpHeaderField(kChromeApplicationHeader); - if (!headerValue.isEmpty()) - return headerValue; +WebDocument::WebDocument(const PassRefPtr<Document>& elem) + : WebNode(elem) +{ +} - // 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"); - } - } +WebDocument& WebDocument::operator=(const PassRefPtr<Document>& elem) +{ + m_private = elem; + return *this; +} - return WebString(); +WebDocument::operator PassRefPtr<Document>() const +{ + return static_cast<Document*>(m_private.get()); } } // namespace WebKit |