Changeset 63156 in webkit


Ignore:
Timestamp:
Jul 12, 2010 6:45:47 PM (14 years ago)
Author:
commit-queue@webkit.org
Message:

2010-07-12 Dominic Mazzoni <dmazzoni@google.com>

Reviewed by Darin Fisher.

Add methods to WebAccessibilityObject to access the Node and
Document, and then add methods to access some document, node,
and element properties needed for Windows accessibility.

https://bugs.webkit.org/show_bug.cgi?id=41569

  • WebKit.gyp:
  • public/WebAccessibilityObject.h:
  • public/WebAttribute.h: Added. (WebKit::WebAttribute::~WebAttribute): (WebKit::WebAttribute::WebAttribute): (WebKit::WebAttribute::operator=):
  • public/WebDocumentType.h: Added. (WebKit::WebDocumentType::WebDocumentType): (WebKit::WebDocumentType::operator=): (WebKit::WebDocumentType::assign):
  • public/WebElement.h:
  • public/WebNamedNodeMap.h: Added. (WebKit::WebNamedNodeMap::~WebNamedNodeMap): (WebKit::WebNamedNodeMap::WebNamedNodeMap): (WebKit::WebNamedNodeMap::operator=):
  • public/WebNode.h:
  • public/WebRenderStyle.h: Added. (WebKit::WebRenderStyle::~WebRenderStyle): (WebKit::WebRenderStyle::WebRenderStyle): (WebKit::WebRenderStyle::operator=):
  • src/WebAccessibilityObject.cpp: (WebKit::WebAccessibilityObject::node): (WebKit::WebAccessibilityObject::document):
  • src/WebAttribute.cpp: Added. (WebKit::WebAttribute::reset): (WebKit::WebAttribute::assign): (WebKit::WebAttribute::WebAttribute): (WebKit::WebAttribute::localName): (WebKit::WebAttribute::value):
  • src/WebDocumentType.cpp: Added. (WebKit::WebDocumentType::name): (WebKit::WebDocumentType::WebDocumentType): (WebKit::WebDocumentType::operator=): (WebKit::WebDocumentType::operator PassRefPtr<DocumentType>):
  • src/WebElement.cpp: (WebKit::WebElement::attributes):
  • src/WebNamedNodeMap.cpp: Added. (WebKit::WebNamedNodeMap::reset): (WebKit::WebNamedNodeMap::assign): (WebKit::WebNamedNodeMap::WebNamedNodeMap): (WebKit::WebNamedNodeMap::length): (WebKit::WebNamedNodeMap::attributeItem):
  • src/WebNode.cpp: (WebKit::WebNode::element): (WebKit::WebNode::hasComputedStyle): (WebKit::WebNode::computedStyle):
  • src/WebRenderStyle.cpp: Added. (WebKit::WebRenderStyle::reset): (WebKit::WebRenderStyle::assign): (WebKit::WebRenderStyle::WebRenderStyle): (WebKit::WebRenderStyle::display):
Location:
trunk/WebKit/chromium
Files:
8 edited
8 copied

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/chromium/ChangeLog

    r63080 r63156  
     12010-07-12  Dominic Mazzoni  <dmazzoni@google.com>
     2
     3        Reviewed by Darin Fisher.
     4
     5        Add methods to WebAccessibilityObject to access the Node and
     6        Document, and then add methods to access some document, node,
     7        and element properties needed for Windows accessibility.
     8
     9        https://bugs.webkit.org/show_bug.cgi?id=41569
     10
     11        * WebKit.gyp:
     12        * public/WebAccessibilityObject.h:
     13        * public/WebAttribute.h: Added.
     14        (WebKit::WebAttribute::~WebAttribute):
     15        (WebKit::WebAttribute::WebAttribute):
     16        (WebKit::WebAttribute::operator=):
     17        * public/WebDocumentType.h: Added.
     18        (WebKit::WebDocumentType::WebDocumentType):
     19        (WebKit::WebDocumentType::operator=):
     20        (WebKit::WebDocumentType::assign):
     21        * public/WebElement.h:
     22        * public/WebNamedNodeMap.h: Added.
     23        (WebKit::WebNamedNodeMap::~WebNamedNodeMap):
     24        (WebKit::WebNamedNodeMap::WebNamedNodeMap):
     25        (WebKit::WebNamedNodeMap::operator=):
     26        * public/WebNode.h:
     27        * public/WebRenderStyle.h: Added.
     28        (WebKit::WebRenderStyle::~WebRenderStyle):
     29        (WebKit::WebRenderStyle::WebRenderStyle):
     30        (WebKit::WebRenderStyle::operator=):
     31        * src/WebAccessibilityObject.cpp:
     32        (WebKit::WebAccessibilityObject::node):
     33        (WebKit::WebAccessibilityObject::document):
     34        * src/WebAttribute.cpp: Added.
     35        (WebKit::WebAttribute::reset):
     36        (WebKit::WebAttribute::assign):
     37        (WebKit::WebAttribute::WebAttribute):
     38        (WebKit::WebAttribute::localName):
     39        (WebKit::WebAttribute::value):
     40        * src/WebDocumentType.cpp: Added.
     41        (WebKit::WebDocumentType::name):
     42        (WebKit::WebDocumentType::WebDocumentType):
     43        (WebKit::WebDocumentType::operator=):
     44        (WebKit::WebDocumentType::operator PassRefPtr<DocumentType>):
     45        * src/WebElement.cpp:
     46        (WebKit::WebElement::attributes):
     47        * src/WebNamedNodeMap.cpp: Added.
     48        (WebKit::WebNamedNodeMap::reset):
     49        (WebKit::WebNamedNodeMap::assign):
     50        (WebKit::WebNamedNodeMap::WebNamedNodeMap):
     51        (WebKit::WebNamedNodeMap::length):
     52        (WebKit::WebNamedNodeMap::attributeItem):
     53        * src/WebNode.cpp:
     54        (WebKit::WebNode::element):
     55        (WebKit::WebNode::hasComputedStyle):
     56        (WebKit::WebNode::computedStyle):
     57        * src/WebRenderStyle.cpp: Added.
     58        (WebKit::WebRenderStyle::reset):
     59        (WebKit::WebRenderStyle::assign):
     60        (WebKit::WebRenderStyle::WebRenderStyle):
     61        (WebKit::WebRenderStyle::display):
     62
    1632010-07-12  Alexander Pavlov  <apavlov@chromium.org>
    264
  • trunk/WebKit/chromium/WebKit.gyp

    r63064 r63156  
    8585                'public/WebApplicationCacheHost.h',
    8686                'public/WebApplicationCacheHostClient.h',
     87                'public/WebAttribute.h',
    8788                'public/WebBindings.h',
    8889                'public/WebCache.h',
     
    113114                'public/WebDevToolsMessageTransport.h',
    114115                'public/WebDocument.h',
     116                'public/WebDocumentType.h',
    115117                'public/WebDragData.h',
    116118                'public/WebEditingAction.h',
     
    159161                'public/WebMimeRegistry.h',
    160162                'public/WebMutationEvent.h',
     163                'public/WebNamedNodeMap.h',
    161164                'public/WebNavigationType.h',
    162165                'public/WebNode.h',
     
    182185                'public/WebRange.h',
    183186                'public/WebRect.h',
     187                'public/WebRenderStyle.h',
    184188                'public/WebRegularExpression.h',
    185189                'public/WebRuntimeFeatures.h',
     
    319323                'src/WebAnimationControllerImpl.cpp',
    320324                'src/WebAnimationControllerImpl.h',
     325                'src/WebAttribute.cpp',
    321326                'src/WebBindings.cpp',
    322327                'src/WebCache.cpp',
     
    336341                'src/WebDevToolsFrontendImpl.h',
    337342                'src/WebDocument.cpp',
     343                'src/WebDocumentType.cpp',
    338344                'src/WebDragData.cpp',
    339345                'src/WebElement.cpp',
     
    384390                'src/WebMediaPlayerClientImpl.h',
    385391                'src/WebMutationEvent.cpp',
     392                'src/WebNamedNodeMap.cpp',
    386393                'src/WebNode.cpp',
    387394                'src/WebNodeCollection.cpp',
     
    405412                'src/WebRange.cpp',
    406413                'src/WebRegularExpression.cpp',
     414                'src/WebRenderStyle.cpp',
    407415                'src/WebRuntimeFeatures.cpp',
    408416                'src/WebScriptController.cpp',
  • trunk/WebKit/chromium/public/WebAccessibilityObject.h

    r62133 r63156  
    4343
    4444class WebAccessibilityObjectPrivate;
     45class WebNode;
     46class WebDocument;
    4547class WebString;
    4648struct WebPoint;
     
    104106    WEBKIT_API WebString title() const;
    105107
     108    WEBKIT_API WebNode node() const;
     109    WEBKIT_API WebDocument document() const;
     110
    106111#if WEBKIT_IMPLEMENTATION
    107112    WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>&);
  • trunk/WebKit/chromium/public/WebAttribute.h

    r63154 r63156  
    11/*
    2  * Copyright (C) 2009 Google Inc. All rights reserved.
     2 * Copyright (C) 2010 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef WebElement_h
    32 #define WebElement_h
     31#ifndef WebAttribute_h
     32#define WebAttribute_h
    3333
    34 #include "WebNode.h"
     34#include "WebCommon.h"
     35#include "WebPrivatePtr.h"
    3536
     37namespace WebCore { class Attribute; }
    3638#if WEBKIT_IMPLEMENTATION
    37 namespace WebCore { class Element; }
     39namespace WTF { template <typename T> class PassRefPtr; }
    3840#endif
    3941
    4042namespace WebKit {
    41     // Provides access to some properties of a DOM element node.
    42     class WebElement : public WebNode {
    43     public:
    44         WebElement() : WebNode() { }
    45         WebElement(const WebElement& e) : WebNode(e) { }
     43class WebString;
    4644
    47         WebElement& operator=(const WebElement& e) { WebNode::assign(e); return *this; }
    48         void assign(const WebElement& e) { WebNode::assign(e); }
     45// Provides readonly access to some properties of a DOM attribute.
     46class WebAttribute {
     47public:
     48    ~WebAttribute() { reset(); }
    4949
    50         WEBKIT_API bool isFormControlElement() const;
    51         WEBKIT_API WebString tagName() const;
    52         WEBKIT_API bool hasTagName(const WebString&) const;
    53         WEBKIT_API bool hasAttribute(const WebString&) const;
    54         WEBKIT_API WebString getAttribute(const WebString&) const;
    55         WEBKIT_API bool setAttribute(const WebString& name, const WebString& value);
    56         WEBKIT_API WebString innerText() const;
     50    WebAttribute() { }
     51    WebAttribute(const WebAttribute& n) { assign(n); }
     52    WebAttribute& operator=(const WebAttribute& n)
     53    {
     54        assign(n);
     55        return *this;
     56    }
     57
     58    WEBKIT_API void reset();
     59    WEBKIT_API void assign(const WebAttribute&);
     60
     61    WEBKIT_API WebString localName() const;
     62    WEBKIT_API WebString value() const;
    5763
    5864#if WEBKIT_IMPLEMENTATION
    59         WebElement(const WTF::PassRefPtr<WebCore::Element>&);
    60         WebElement& operator=(const WTF::PassRefPtr<WebCore::Element>&);
    61         operator WTF::PassRefPtr<WebCore::Element>() const;
     65    WebAttribute(const WTF::PassRefPtr<WebCore::Attribute>&);
    6266#endif
    63     };
     67
     68private:
     69    WebPrivatePtr<WebCore::Attribute> m_private;
     70};
    6471
    6572} // namespace WebKit
  • trunk/WebKit/chromium/public/WebDocumentType.h

    r63154 r63156  
    11/*
    2  * Copyright (C) 2009 Google Inc. All rights reserved.
     2 * Copyright (C) 2010 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef WebElement_h
    32 #define WebElement_h
     31#ifndef WebDocumentType_h
     32#define WebDocumentType_h
    3333
    3434#include "WebNode.h"
    3535
    3636#if WEBKIT_IMPLEMENTATION
    37 namespace WebCore { class Element; }
     37namespace WebCore { class DocumentType; }
     38namespace WTF { template <typename T> class PassRefPtr; }
    3839#endif
    3940
    4041namespace WebKit {
    41     // Provides access to some properties of a DOM element node.
    42     class WebElement : public WebNode {
    43     public:
    44         WebElement() : WebNode() { }
    45         WebElement(const WebElement& e) : WebNode(e) { }
     42class WebString;
    4643
    47         WebElement& operator=(const WebElement& e) { WebNode::assign(e); return *this; }
    48         void assign(const WebElement& e) { WebNode::assign(e); }
     44// Provides readonly access to some properties of a DOM document type.
     45class WebDocumentType : public WebNode {
     46public:
     47    WebDocumentType() { }
     48    WebDocumentType(const WebDocumentType& e) : WebNode(e) { }
    4949
    50         WEBKIT_API bool isFormControlElement() const;
    51         WEBKIT_API WebString tagName() const;
    52         WEBKIT_API bool hasTagName(const WebString&) const;
    53         WEBKIT_API bool hasAttribute(const WebString&) const;
    54         WEBKIT_API WebString getAttribute(const WebString&) const;
    55         WEBKIT_API bool setAttribute(const WebString& name, const WebString& value);
    56         WEBKIT_API WebString innerText() const;
     50    WebDocumentType& operator=(const WebDocumentType& e)
     51    {
     52        WebNode::assign(e);
     53        return *this;
     54    }
     55    void assign(const WebDocumentType& e) { WebNode::assign(e); }
     56
     57    WEBKIT_API WebString name() const;
    5758
    5859#if WEBKIT_IMPLEMENTATION
    59         WebElement(const WTF::PassRefPtr<WebCore::Element>&);
    60         WebElement& operator=(const WTF::PassRefPtr<WebCore::Element>&);
    61         operator WTF::PassRefPtr<WebCore::Element>() const;
     60    WebDocumentType(const WTF::PassRefPtr<WebCore::DocumentType>&);
     61    WebDocumentType& operator=(const WTF::PassRefPtr<WebCore::DocumentType>&);
     62    operator WTF::PassRefPtr<WebCore::DocumentType>() const;
    6263#endif
    63     };
     64};
    6465
    6566} // namespace WebKit
  • trunk/WebKit/chromium/public/WebElement.h

    r56637 r63156  
    3939
    4040namespace WebKit {
     41class WebNamedNodeMap;
     42
    4143    // Provides access to some properties of a DOM element node.
    4244    class WebElement : public WebNode {
     
    5456        WEBKIT_API WebString getAttribute(const WebString&) const;
    5557        WEBKIT_API bool setAttribute(const WebString& name, const WebString& value);
     58        WEBKIT_API WebNamedNodeMap attributes() const;
    5659        WEBKIT_API WebString innerText() const;
    5760
  • trunk/WebKit/chromium/public/WebNamedNodeMap.h

    r63154 r63156  
    11/*
    2  * Copyright (C) 2009 Google Inc. All rights reserved.
     2 * Copyright (C) 2010 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef WebElement_h
    32 #define WebElement_h
     31#ifndef WebNamedNodeMap_h
     32#define WebNamedNodeMap_h
    3333
    34 #include "WebNode.h"
     34#include "WebCommon.h"
     35#include "WebPrivatePtr.h"
    3536
     37namespace WebCore { class NamedNodeMap; }
    3638#if WEBKIT_IMPLEMENTATION
    37 namespace WebCore { class Element; }
     39namespace WTF { template <typename T> class PassRefPtr; }
    3840#endif
    3941
    4042namespace WebKit {
    41     // Provides access to some properties of a DOM element node.
    42     class WebElement : public WebNode {
    43     public:
    44         WebElement() : WebNode() { }
    45         WebElement(const WebElement& e) : WebNode(e) { }
     43class WebAttribute;
    4644
    47         WebElement& operator=(const WebElement& e) { WebNode::assign(e); return *this; }
    48         void assign(const WebElement& e) { WebNode::assign(e); }
     45// Provides readonly access to some properties of a DOM attribute map.
     46class WebNamedNodeMap {
     47public:
     48    ~WebNamedNodeMap() { reset(); }
    4949
    50         WEBKIT_API bool isFormControlElement() const;
    51         WEBKIT_API WebString tagName() const;
    52         WEBKIT_API bool hasTagName(const WebString&) const;
    53         WEBKIT_API bool hasAttribute(const WebString&) const;
    54         WEBKIT_API WebString getAttribute(const WebString&) const;
    55         WEBKIT_API bool setAttribute(const WebString& name, const WebString& value);
    56         WEBKIT_API WebString innerText() const;
     50    WebNamedNodeMap() { }
     51    WebNamedNodeMap(const WebNamedNodeMap& n) { assign(n); }
     52    WebNamedNodeMap& operator=(const WebNamedNodeMap& n)
     53    {
     54        assign(n);
     55        return *this;
     56    }
     57
     58    WEBKIT_API void reset();
     59    WEBKIT_API void assign(const WebNamedNodeMap&);
     60
     61    WEBKIT_API unsigned length() const;
     62    WEBKIT_API WebAttribute attributeItem(unsigned) const;
    5763
    5864#if WEBKIT_IMPLEMENTATION
    59         WebElement(const WTF::PassRefPtr<WebCore::Element>&);
    60         WebElement& operator=(const WTF::PassRefPtr<WebCore::Element>&);
    61         operator WTF::PassRefPtr<WebCore::Element>() const;
     65    WebNamedNodeMap(const WTF::PassRefPtr<WebCore::NamedNodeMap>&);
    6266#endif
    63     };
     67
     68private:
     69    WebPrivatePtr<WebCore::NamedNodeMap> m_private;
     70};
    6471
    6572} // namespace WebKit
  • trunk/WebKit/chromium/public/WebNode.h

    r62893 r63156  
    4040namespace WebKit {
    4141class WebDocument;
     42class WebElement;
    4243class WebEventListener;
    4344class WebEventListenerPrivate;
    4445class WebFrame;
    4546class WebNodeList;
     47class WebRenderStyle;
    4648
    4749// Provides access to some properties of a DOM node.
     
    102104    WEBKIT_API void simulateClick();
    103105    WEBKIT_API WebNodeList getElementsByTagName(const WebString&) const;
     106    WEBKIT_API bool hasComputedStyle() const;
     107    WEBKIT_API WebRenderStyle computedStyle() const;
    104108
    105109    // Returns true if the node has a non-empty bounding box in layout.
  • trunk/WebKit/chromium/public/WebRenderStyle.h

    r63154 r63156  
    11/*
    2  * Copyright (C) 2009 Google Inc. All rights reserved.
     2 * Copyright (C) 2010 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef WebElement_h
    32 #define WebElement_h
     31#ifndef WebRenderStyle_h
     32#define WebRenderStyle_h
    3333
    34 #include "WebNode.h"
     34#include "WebCommon.h"
     35#include "WebPrivatePtr.h"
    3536
     37namespace WebCore { class RenderStyle; }
    3638#if WEBKIT_IMPLEMENTATION
    37 namespace WebCore { class Element; }
     39namespace WTF { template <typename T> class PassRefPtr; }
    3840#endif
    3941
    4042namespace WebKit {
    41     // Provides access to some properties of a DOM element node.
    42     class WebElement : public WebNode {
    43     public:
    44         WebElement() : WebNode() { }
    45         WebElement(const WebElement& e) : WebNode(e) { }
     43class WebString;
    4644
    47         WebElement& operator=(const WebElement& e) { WebNode::assign(e); return *this; }
    48         void assign(const WebElement& e) { WebNode::assign(e); }
     45// Provides readonly access to some properties of a DOM node's style.
     46class WebRenderStyle {
     47public:
     48    ~WebRenderStyle() { reset(); }
    4949
    50         WEBKIT_API bool isFormControlElement() const;
    51         WEBKIT_API WebString tagName() const;
    52         WEBKIT_API bool hasTagName(const WebString&) const;
    53         WEBKIT_API bool hasAttribute(const WebString&) const;
    54         WEBKIT_API WebString getAttribute(const WebString&) const;
    55         WEBKIT_API bool setAttribute(const WebString& name, const WebString& value);
    56         WEBKIT_API WebString innerText() const;
     50    WebRenderStyle() { }
     51    WebRenderStyle(const WebRenderStyle& n) { assign(n); }
     52    WebRenderStyle& operator=(const WebRenderStyle& n)
     53    {
     54        assign(n);
     55        return *this;
     56    }
     57
     58    WEBKIT_API void reset();
     59    WEBKIT_API void assign(const WebRenderStyle&);
     60
     61    WEBKIT_API WebString display() const;
    5762
    5863#if WEBKIT_IMPLEMENTATION
    59         WebElement(const WTF::PassRefPtr<WebCore::Element>&);
    60         WebElement& operator=(const WTF::PassRefPtr<WebCore::Element>&);
    61         operator WTF::PassRefPtr<WebCore::Element>() const;
     64    WebRenderStyle(const WTF::PassRefPtr<WebCore::RenderStyle>&);
    6265#endif
    63     };
     66
     67private:
     68    WebPrivatePtr<WebCore::RenderStyle> m_private;
     69};
    6470
    6571} // namespace WebKit
  • trunk/WebKit/chromium/src/WebAccessibilityObject.cpp

    r59898 r63156  
    3333
    3434#include "AccessibilityObject.h"
     35#include "AccessibilityRenderObject.h"
    3536#include "EventHandler.h"
    3637#include "FrameView.h"
     38#include "Node.h"
    3739#include "PlatformKeyboardEvent.h"
     40#include "WebDocument.h"
     41#include "WebNode.h"
    3842#include "WebPoint.h"
    3943#include "WebRect.h"
     
    402406}
    403407
     408
     409WebNode WebAccessibilityObject::node() const
     410{
     411    if (!m_private)
     412        return WebNode();
     413
     414    m_private->updateBackingStore();
     415
     416    if (!m_private->isAccessibilityRenderObject())
     417        return WebNode();
     418
     419    AccessibilityRenderObject* renderObject =
     420        reinterpret_cast<AccessibilityRenderObject*>(m_private);
     421    Node* node = renderObject->node();
     422    if (!node)
     423        return WebNode();
     424
     425    return WebNode(node);
     426}
     427
     428WebDocument WebAccessibilityObject::document() const
     429{
     430    if (!m_private)
     431        return WebDocument();
     432
     433    m_private->updateBackingStore();
     434
     435    if (!m_private->isAccessibilityRenderObject())
     436        return WebDocument();
     437
     438    return WebDocument(m_private->document());
     439}
     440
    404441WebAccessibilityObject::WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object)
    405442    : m_private(static_cast<WebAccessibilityObjectPrivate*>(object.releaseRef()))
  • trunk/WebKit/chromium/src/WebAttribute.cpp

    r63154 r63156  
    11/*
    2  * Copyright (C) 2009 Google Inc. All rights reserved.
     2 * Copyright (C) 2010 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef WebElement_h
    32 #define WebElement_h
     31#include "config.h"
     32#include "WebAttribute.h"
    3333
    34 #include "WebNode.h"
     34#include "Attribute.h"
     35#include <wtf/PassRefPtr.h>
    3536
    36 #if WEBKIT_IMPLEMENTATION
    37 namespace WebCore { class Element; }
    38 #endif
     37#include "WebString.h"
     38
     39using namespace WebCore;
    3940
    4041namespace WebKit {
    41     // Provides access to some properties of a DOM element node.
    42     class WebElement : public WebNode {
    43     public:
    44         WebElement() : WebNode() { }
    45         WebElement(const WebElement& e) : WebNode(e) { }
    4642
    47         WebElement& operator=(const WebElement& e) { WebNode::assign(e); return *this; }
    48         void assign(const WebElement& e) { WebNode::assign(e); }
     43void WebAttribute::reset()
     44{
     45    m_private.reset();
     46}
    4947
    50         WEBKIT_API bool isFormControlElement() const;
    51         WEBKIT_API WebString tagName() const;
    52         WEBKIT_API bool hasTagName(const WebString&) const;
    53         WEBKIT_API bool hasAttribute(const WebString&) const;
    54         WEBKIT_API WebString getAttribute(const WebString&) const;
    55         WEBKIT_API bool setAttribute(const WebString& name, const WebString& value);
    56         WEBKIT_API WebString innerText() const;
     48void WebAttribute::assign(const WebAttribute& other)
     49{
     50    m_private = other.m_private;
     51}
    5752
    58 #if WEBKIT_IMPLEMENTATION
    59         WebElement(const WTF::PassRefPtr<WebCore::Element>&);
    60         WebElement& operator=(const WTF::PassRefPtr<WebCore::Element>&);
    61         operator WTF::PassRefPtr<WebCore::Element>() const;
    62 #endif
    63     };
     53WebAttribute::WebAttribute(const PassRefPtr<Attribute>& other)
     54    : m_private(other)
     55{
     56}
     57
     58WebString WebAttribute::localName() const
     59{
     60    return WebString(m_private->localName());
     61}
     62
     63WebString WebAttribute::value() const
     64{
     65    return WebString(m_private->value());
     66}
    6467
    6568} // namespace WebKit
    66 
    67 #endif
  • trunk/WebKit/chromium/src/WebDocumentType.cpp

    r63154 r63156  
    11/*
    2  * Copyright (C) 2009 Google Inc. All rights reserved.
     2 * Copyright (C) 2010 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef WebElement_h
    32 #define WebElement_h
     31#include "config.h"
     32#include "WebDocumentType.h"
    3333
    34 #include "WebNode.h"
     34#include "DocumentType.h"
     35#include "WebString.h"
    3536
    36 #if WEBKIT_IMPLEMENTATION
    37 namespace WebCore { class Element; }
    38 #endif
     37#include <wtf/PassRefPtr.h>
     38
     39using namespace WebCore;
    3940
    4041namespace WebKit {
    41     // Provides access to some properties of a DOM element node.
    42     class WebElement : public WebNode {
    43     public:
    44         WebElement() : WebNode() { }
    45         WebElement(const WebElement& e) : WebNode(e) { }
    4642
    47         WebElement& operator=(const WebElement& e) { WebNode::assign(e); return *this; }
    48         void assign(const WebElement& e) { WebNode::assign(e); }
     43WebString WebDocumentType::name() const
     44{
     45    return WebString(constUnwrap<DocumentType>()->name());
     46}
    4947
    50         WEBKIT_API bool isFormControlElement() const;
    51         WEBKIT_API WebString tagName() const;
    52         WEBKIT_API bool hasTagName(const WebString&) const;
    53         WEBKIT_API bool hasAttribute(const WebString&) const;
    54         WEBKIT_API WebString getAttribute(const WebString&) const;
    55         WEBKIT_API bool setAttribute(const WebString& name, const WebString& value);
    56         WEBKIT_API WebString innerText() const;
     48WebDocumentType::WebDocumentType(const PassRefPtr<DocumentType>& elem)
     49    : WebNode(elem)
     50{
     51}
    5752
    58 #if WEBKIT_IMPLEMENTATION
    59         WebElement(const WTF::PassRefPtr<WebCore::Element>&);
    60         WebElement& operator=(const WTF::PassRefPtr<WebCore::Element>&);
    61         operator WTF::PassRefPtr<WebCore::Element>() const;
    62 #endif
    63     };
     53WebDocumentType& WebDocumentType::operator=(const PassRefPtr<DocumentType>& elem)
     54{
     55    m_private = elem;
     56    return *this;
     57}
     58
     59WebDocumentType::operator PassRefPtr<DocumentType>() const
     60{
     61    return static_cast<DocumentType*>(m_private.get());
     62}
    6463
    6564} // namespace WebKit
    66 
    67 #endif
  • trunk/WebKit/chromium/src/WebElement.cpp

    r58362 r63156  
    3737#include <wtf/PassRefPtr.h>
    3838
     39#include "WebNamedNodeMap.h"
     40
    3941using namespace WebCore;
    4042
     
    7476}
    7577
     78WebNamedNodeMap WebElement::attributes() const
     79{
     80    return WebNamedNodeMap(m_private->attributes());
     81}
     82
    7683WebString WebElement::innerText() const
    7784{
  • trunk/WebKit/chromium/src/WebNamedNodeMap.cpp

    r63154 r63156  
    11/*
    2  * Copyright (C) 2009 Google Inc. All rights reserved.
     2 * Copyright (C) 2010 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef WebElement_h
    32 #define WebElement_h
     31#include "config.h"
     32#include "WebNamedNodeMap.h"
    3333
     34#include "NamedNodeMap.h"
     35#include "Node.h"
     36#include "WebAttribute.h"
    3437#include "WebNode.h"
     38#include <wtf/PassRefPtr.h>
    3539
    36 #if WEBKIT_IMPLEMENTATION
    37 namespace WebCore { class Element; }
    38 #endif
     40using namespace WebCore;
    3941
    4042namespace WebKit {
    41     // Provides access to some properties of a DOM element node.
    42     class WebElement : public WebNode {
    43     public:
    44         WebElement() : WebNode() { }
    45         WebElement(const WebElement& e) : WebNode(e) { }
    4643
    47         WebElement& operator=(const WebElement& e) { WebNode::assign(e); return *this; }
    48         void assign(const WebElement& e) { WebNode::assign(e); }
     44void WebNamedNodeMap::reset()
     45{
     46    m_private.reset();
     47}
    4948
    50         WEBKIT_API bool isFormControlElement() const;
    51         WEBKIT_API WebString tagName() const;
    52         WEBKIT_API bool hasTagName(const WebString&) const;
    53         WEBKIT_API bool hasAttribute(const WebString&) const;
    54         WEBKIT_API WebString getAttribute(const WebString&) const;
    55         WEBKIT_API bool setAttribute(const WebString& name, const WebString& value);
    56         WEBKIT_API WebString innerText() const;
     49void WebNamedNodeMap::assign(const WebNamedNodeMap& other)
     50{
     51    m_private = other.m_private;
     52}
    5753
    58 #if WEBKIT_IMPLEMENTATION
    59         WebElement(const WTF::PassRefPtr<WebCore::Element>&);
    60         WebElement& operator=(const WTF::PassRefPtr<WebCore::Element>&);
    61         operator WTF::PassRefPtr<WebCore::Element>() const;
    62 #endif
    63     };
     54WebNamedNodeMap::WebNamedNodeMap(const PassRefPtr<NamedNodeMap>& other)
     55    : m_private(other)
     56{
     57}
     58
     59unsigned WebNamedNodeMap::length() const
     60{
     61    return m_private->length();
     62}
     63
     64WebAttribute WebNamedNodeMap::attributeItem(unsigned index) const
     65{
     66    return WebAttribute(m_private->attributeItem(index));
     67}
    6468
    6569} // namespace WebKit
    66 
    67 #endif
  • trunk/WebKit/chromium/src/WebNode.cpp

    r62893 r63156  
    3333
    3434#include "Document.h"
     35#include "Element.h"
    3536#include "Frame.h"
    3637#include "FrameLoaderClientImpl.h"
    3738#include "Node.h"
    3839#include "NodeList.h"
     40#include "RenderStyle.h"
    3941
    4042#include "EventListenerWrapper.h"
    4143#include "WebDocument.h"
     44#include "WebElement.h"
    4245#include "WebEvent.h"
    4346#include "WebEventListener.h"
    4447#include "WebFrameImpl.h"
    4548#include "WebNodeList.h"
     49#include "WebRenderStyle.h"
    4650#include "WebString.h"
    4751#include "WebVector.h"
     
    179183}
    180184
     185bool WebNode::hasComputedStyle() const
     186{
     187    return m_private->computedStyle();
     188}
     189
     190WebRenderStyle WebNode::computedStyle() const
     191{
     192    return WebRenderStyle(m_private->computedStyle());
     193}
     194
    181195bool WebNode::hasNonEmptyBoundingBox() const
    182196{
  • trunk/WebKit/chromium/src/WebRenderStyle.cpp

    r63154 r63156  
    11/*
    2  * Copyright (C) 2009 Google Inc. All rights reserved.
     2 * Copyright (C) 2010 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef WebElement_h
    32 #define WebElement_h
     31#include "config.h"
     32#include "WebRenderStyle.h"
    3333
    34 #include "WebNode.h"
     34#include "CSSPrimitiveValueMappings.h"
     35#include "RenderStyle.h"
     36#include <wtf/PassRefPtr.h>
    3537
    36 #if WEBKIT_IMPLEMENTATION
    37 namespace WebCore { class Element; }
    38 #endif
     38#include "WebString.h"
     39
     40using namespace WebCore;
    3941
    4042namespace WebKit {
    41     // Provides access to some properties of a DOM element node.
    42     class WebElement : public WebNode {
    43     public:
    44         WebElement() : WebNode() { }
    45         WebElement(const WebElement& e) : WebNode(e) { }
    4643
    47         WebElement& operator=(const WebElement& e) { WebNode::assign(e); return *this; }
    48         void assign(const WebElement& e) { WebNode::assign(e); }
     44void WebRenderStyle::reset()
     45{
     46    m_private.reset();
     47}
    4948
    50         WEBKIT_API bool isFormControlElement() const;
    51         WEBKIT_API WebString tagName() const;
    52         WEBKIT_API bool hasTagName(const WebString&) const;
    53         WEBKIT_API bool hasAttribute(const WebString&) const;
    54         WEBKIT_API WebString getAttribute(const WebString&) const;
    55         WEBKIT_API bool setAttribute(const WebString& name, const WebString& value);
    56         WEBKIT_API WebString innerText() const;
     49void WebRenderStyle::assign(const WebRenderStyle& other)
     50{
     51    m_private = other.m_private;
     52}
    5753
    58 #if WEBKIT_IMPLEMENTATION
    59         WebElement(const WTF::PassRefPtr<WebCore::Element>&);
    60         WebElement& operator=(const WTF::PassRefPtr<WebCore::Element>&);
    61         operator WTF::PassRefPtr<WebCore::Element>() const;
    62 #endif
    63     };
     54WebRenderStyle::WebRenderStyle(const PassRefPtr<RenderStyle>& other)
     55    : m_private(other)
     56{
     57}
     58
     59WebString WebRenderStyle::display() const
     60{
     61    return WebString(CSSPrimitiveValue::create(m_private->display())->getStringValue());
     62}
    6463
    6564} // namespace WebKit
    66 
    67 #endif
Note: See TracChangeset for help on using the changeset viewer.