Changeset 121584 in webkit


Ignore:
Timestamp:
Jun 29, 2012 1:26:25 PM (12 years ago)
Author:
mitz@apple.com
Message:

Can’t get basic element info from a WKRenderObject
https://bugs.webkit.org/show_bug.cgi?id=90301

Reviewed by Anders Carlsson.

Moved the element info (tag name, id and class names) from WebRenderLayer to WebRenderObject,
and gave WebRenderLayer a reference to a (shallow) WebRenderObject. Added WKRenderObject API
for getting element info, while leaving the WKRenderLayer API in place for now for Safari.

  • Shared/API/c/WKRenderLayer.cpp:

(WKRenderLayerGetRenderer): Added this wrapper.
(WKRenderLayerCopyRendererName): Changed to get the name from the renderer.
(WKRenderLayerCopyElementTagName): Changed to go through the renderer.
(WKRenderLayerCopyElementID): Ditto.
(WKRenderLayerGetElementClassNames): Ditto.

  • Shared/API/c/WKRenderLayer.h: Added declaration of WKRenderLayerGetRenderer() and comments

about removing older API.

  • Shared/API/c/WKRenderObject.cpp:

(WKRenderObjectCopyElementTagName): Added this wrapper.
(WKRenderObjectCopyElementID): Ditto.
(WKRenderObjectGetElementClassNames): Ditto.

  • Shared/API/c/WKRenderObject.h:
  • Shared/UserMessageCoders.h:

(WebKit::UserMessageEncoder::baseEncode): Removed the element info from the encoding of
WebRenderLayer, and added the renderer. Added the element info to the encoding of
WebRenderObject.
(WebKit::UserMessageDecoder::baseDecode): Updated to match the encoding changes.

  • Shared/WebRenderLayer.cpp:

(WebKit::WebRenderLayer::WebRenderLayer): Changed to initialize the m_renderer member
variable with a WebRenderObject for the layer’s renderer, and removed the initialization of
the element-related member variables that were removed.

  • Shared/WebRenderLayer.h:

(WebKit::WebRenderLayer::create): Changed to take a renderer instead of renderer and element
info.
(WebKit::WebRenderLayer::renderer): Added this getter.
(WebKit::WebRenderLayer::WebRenderLayer): Changed to take a renderer instead of renderer and
element info.

  • Shared/WebRenderObject.cpp:

(WebKit::WebRenderObject::create): Changed to pass true for the shouldIncludeDescendants
parameter.
(WebKit::WebRenderObject::WebRenderObject): Added a shouldIncludeDescdendants boolean
parameter. When it is false, the m_children array remains null. Added initialization of
member variables with the element’s tag name, id and class list.

  • Shared/WebRenderObject.h:

(WebKit::WebRenderObject::create): Added an overload that takes a RenderObject and creates
a shallow WebRenderObject.
(WebRenderObject): Changed to take element tag name, id and class list.
(WebKit::WebRenderObject::elementTagName): Added this getter.
(WebKit::WebRenderObject::elementID): Ditto.
(WebKit::WebRenderObject::elementClassNames): Ditto.
(WebKit::WebRenderObject::WebRenderObject):

Location:
trunk/Source/WebKit2
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r121578 r121584  
     12012-06-29  Dan Bernstein  <mitz@apple.com>
     2
     3        Can’t get basic element info from a WKRenderObject
     4        https://bugs.webkit.org/show_bug.cgi?id=90301
     5
     6        Reviewed by Anders Carlsson.
     7
     8        Moved the element info (tag name, id and class names) from WebRenderLayer to WebRenderObject,
     9        and gave WebRenderLayer a reference to a (shallow) WebRenderObject. Added WKRenderObject API
     10        for getting element info, while leaving the WKRenderLayer API in place for now for Safari.
     11
     12        * Shared/API/c/WKRenderLayer.cpp:
     13        (WKRenderLayerGetRenderer): Added this wrapper.
     14        (WKRenderLayerCopyRendererName): Changed to get the name from the renderer.
     15        (WKRenderLayerCopyElementTagName): Changed to go through the renderer.
     16        (WKRenderLayerCopyElementID): Ditto.
     17        (WKRenderLayerGetElementClassNames): Ditto.
     18        * Shared/API/c/WKRenderLayer.h: Added declaration of WKRenderLayerGetRenderer() and comments
     19        about removing older API.
     20        * Shared/API/c/WKRenderObject.cpp:
     21        (WKRenderObjectCopyElementTagName): Added this wrapper.
     22        (WKRenderObjectCopyElementID): Ditto.
     23        (WKRenderObjectGetElementClassNames): Ditto.
     24        * Shared/API/c/WKRenderObject.h:
     25        * Shared/UserMessageCoders.h:
     26        (WebKit::UserMessageEncoder::baseEncode): Removed the element info from the encoding of
     27        WebRenderLayer, and added the renderer. Added the element info to the encoding of
     28        WebRenderObject.
     29        (WebKit::UserMessageDecoder::baseDecode): Updated to match the encoding changes.
     30        * Shared/WebRenderLayer.cpp:
     31        (WebKit::WebRenderLayer::WebRenderLayer): Changed to initialize the m_renderer member
     32        variable with a WebRenderObject for the layer’s renderer, and removed the initialization of
     33        the element-related member variables that were removed.
     34        * Shared/WebRenderLayer.h:
     35        (WebKit::WebRenderLayer::create): Changed to take a renderer instead of renderer and element
     36        info.
     37        (WebKit::WebRenderLayer::renderer): Added this getter.
     38        (WebKit::WebRenderLayer::WebRenderLayer): Changed to take a renderer instead of renderer and
     39        element info.
     40        * Shared/WebRenderObject.cpp:
     41        (WebKit::WebRenderObject::create): Changed to pass true for the shouldIncludeDescendants
     42        parameter.
     43        (WebKit::WebRenderObject::WebRenderObject): Added a shouldIncludeDescdendants boolean
     44        parameter. When it is false, the m_children array remains null. Added initialization of
     45        member variables with the element’s tag name, id and class list.
     46        * Shared/WebRenderObject.h:
     47        (WebKit::WebRenderObject::create): Added an overload that takes a RenderObject and creates
     48        a shallow WebRenderObject.
     49        (WebRenderObject): Changed to take element tag name, id and class list.
     50        (WebKit::WebRenderObject::elementTagName): Added this getter.
     51        (WebKit::WebRenderObject::elementID): Ditto.
     52        (WebKit::WebRenderObject::elementClassNames): Ditto.
     53        (WebKit::WebRenderObject::WebRenderObject):
     54
    1552012-06-29  Tony Chang  <tony@chromium.org>
    256
  • trunk/Source/WebKit2/Shared/API/c/WKRenderLayer.cpp

    r110397 r121584  
    3838}
    3939
     40WKRenderObjectRef WKRenderLayerGetRenderer(WKRenderLayerRef renderLayerRef)
     41{
     42    return toAPI(toImpl(renderLayerRef)->renderer());
     43}
     44
    4045WKStringRef WKRenderLayerCopyRendererName(WKRenderLayerRef renderLayerRef)
    4146{
    42     return toCopiedAPI(toImpl(renderLayerRef)->renderObjectName());
     47    return toCopiedAPI(toImpl(renderLayerRef)->renderer()->name());
    4348}
    4449
     
    4651{
    4752    WebRenderLayer* renderLayer = toImpl(renderLayerRef);
    48     if (!renderLayer->elementTagName().isNull())
    49         return toCopiedAPI(toImpl(renderLayerRef)->elementTagName());
     53    if (!renderLayer->renderer()->elementTagName().isNull())
     54        return toCopiedAPI(renderLayer->renderer()->elementTagName());
    5055
    5156    return 0;
     
    5560{
    5661    WebRenderLayer* renderLayer = toImpl(renderLayerRef);
    57     if (!renderLayer->elementID().isNull())
    58         return toCopiedAPI(toImpl(renderLayerRef)->elementID());
     62    if (!renderLayer->renderer()->elementID().isNull())
     63        return toCopiedAPI(renderLayer->renderer()->elementID());
    5964
    6065    return 0;
     
    6368WKArrayRef WKRenderLayerGetElementClassNames(WKRenderLayerRef renderLayerRef)
    6469{
    65     return toAPI(toImpl(renderLayerRef)->elementClassNames());
     70    return toAPI(toImpl(renderLayerRef)->renderer()->elementClassNames());
    6671}
    6772
  • trunk/Source/WebKit2/Shared/API/c/WKRenderLayer.h

    r110397 r121584  
    3737WK_EXPORT WKTypeID WKRenderLayerGetTypeID();
    3838
     39WK_EXPORT WKRenderObjectRef WKRenderLayerGetRenderer(WKRenderLayerRef renderLayer);
     40
     41// FIXME: Remove this function once Safari does not require it.
    3942WK_EXPORT WKStringRef WKRenderLayerCopyRendererName(WKRenderLayerRef renderLayer);
    4043
     44// FIXME: Remove these three functions once Safari does not require them.
    4145WK_EXPORT WKStringRef WKRenderLayerCopyElementTagName(WKRenderLayerRef renderLayer);
    4246WK_EXPORT WKStringRef WKRenderLayerCopyElementID(WKRenderLayerRef renderLayer);
  • trunk/Source/WebKit2/Shared/API/c/WKRenderObject.cpp

    r110085 r121584  
    4343}
    4444
     45WKStringRef WKRenderObjectCopyElementTagName(WKRenderObjectRef renderObjectRef)
     46{
     47    WebRenderObject* renderObject = toImpl(renderObjectRef);
     48    if (!renderObject->elementTagName().isNull())
     49        return toCopiedAPI(renderObject->elementTagName());
     50
     51    return 0;
     52}
     53
     54WKStringRef WKRenderObjectCopyElementID(WKRenderObjectRef renderObjectRef)
     55{
     56    WebRenderObject* renderObject = toImpl(renderObjectRef);
     57    if (!renderObject->elementID().isNull())
     58        return toCopiedAPI(renderObject->elementID());
     59
     60    return 0;
     61}
     62
     63WKArrayRef WKRenderObjectGetElementClassNames(WKRenderObjectRef renderObjectRef)
     64{
     65    return toAPI(toImpl(renderObjectRef)->elementClassNames());
     66}
     67
    4568WKPoint WKRenderObjectGetAbsolutePosition(WKRenderObjectRef renderObjectRef)
    4669{
  • trunk/Source/WebKit2/Shared/API/c/WKRenderObject.h

    r110085 r121584  
    3737
    3838WK_EXPORT WKStringRef WKRenderObjectCopyName(WKRenderObjectRef renderObject);
     39
     40WK_EXPORT WKStringRef WKRenderObjectCopyElementTagName(WKRenderObjectRef renderObject);
     41WK_EXPORT WKStringRef WKRenderObjectCopyElementID(WKRenderObjectRef renderObject);
     42WK_EXPORT WKArrayRef WKRenderObjectGetElementClassNames(WKRenderObjectRef renderObject);
     43
    3944WK_EXPORT WKPoint WKRenderObjectGetAbsolutePosition(WKRenderObjectRef renderObject);
    4045WK_EXPORT WKRect WKRenderObjectGetFrameRect(WKRenderObjectRef renderObject);
  • trunk/Source/WebKit2/Shared/UserMessageCoders.h

    r112555 r121584  
    146146        case APIObject::TypeRenderLayer: {
    147147            WebRenderLayer* renderLayer = static_cast<WebRenderLayer*>(m_root);
    148             encoder->encode(renderLayer->renderObjectName());
    149             encoder->encode(renderLayer->elementTagName());
    150             encoder->encode(renderLayer->elementID());
    151             encoder->encode(Owner(renderLayer->elementClassNames()));
     148            encoder->encode(Owner(renderLayer->renderer()));
    152149            encoder->encode(renderLayer->isReflection());
    153150            encoder->encode(renderLayer->isClipping());
     
    163160            WebRenderObject* renderObject = static_cast<WebRenderObject*>(m_root);
    164161            encoder->encode(renderObject->name());
     162            encoder->encode(renderObject->elementTagName());
     163            encoder->encode(renderObject->elementID());
     164            encoder->encode(Owner(renderObject->elementClassNames()));
    165165            encoder->encode(renderObject->absolutePosition());
    166166            encoder->encode(renderObject->frameRect());
     
    368368        }
    369369        case APIObject::TypeRenderLayer: {
    370             String renderObjectName;
    371             String elementTagName;
    372             String elementID;
    373             RefPtr<APIObject> elementClassNames;
     370            RefPtr<APIObject> renderer;
    374371            bool isReflection;
    375372            bool isClipping;
     
    381378            RefPtr<APIObject> positiveZOrderList;
    382379
    383             if (!decoder->decode(renderObjectName))
    384                 return false;
    385             if (!decoder->decode(elementTagName))
    386                 return false;
    387             if (!decoder->decode(elementID))
    388                 return false;
    389             Owner classNamesCoder(coder, elementClassNames);
    390             if (!decoder->decode(classNamesCoder))
     380            Owner rendererCoder(coder, renderer);
     381            if (!decoder->decode(rendererCoder))
     382                return false;
     383            if (renderer->type() != APIObject::TypeRenderObject)
    391384                return false;
    392385            if (!decoder->decodeBool(isReflection))
     
    409402            if (!decoder->decode(positiveZOrderListCoder))
    410403                return false;
    411             coder.m_root = WebRenderLayer::create(renderObjectName, elementTagName, elementID, static_pointer_cast<MutableArray>(elementClassNames),
    412                 isReflection, isClipping, isClipped, static_cast<WebRenderLayer::CompositingLayerType>(compositingLayerTypeAsUInt32),
     404            coder.m_root = WebRenderLayer::create(static_pointer_cast<WebRenderObject>(renderer), isReflection, isClipping, isClipped, static_cast<WebRenderLayer::CompositingLayerType>(compositingLayerTypeAsUInt32),
    413405                absoluteBoundingBox, static_pointer_cast<MutableArray>(negativeZOrderList), static_pointer_cast<MutableArray>(normalFlowList),
    414406                static_pointer_cast<MutableArray>(positiveZOrderList));
     
    417409        case APIObject::TypeRenderObject: {
    418410            String name;
     411            String elementTagName;
     412            String elementID;
     413            RefPtr<APIObject> elementClassNames;
    419414            WebCore::IntPoint absolutePosition;
    420415            WebCore::IntRect frameRect;
     
    423418            if (!decoder->decode(name))
    424419                return false;
     420            if (!decoder->decode(elementTagName))
     421                return false;
     422            if (!decoder->decode(elementID))
     423                return false;
     424            Owner classNamesCoder(coder, elementClassNames);
     425            if (!decoder->decode(classNamesCoder))
     426                return false;
    425427            if (!decoder->decode(absolutePosition))
    426428                return false;
     
    430432            if (!decoder->decode(messageCoder))
    431433                return false;
    432             if (children->type() != APIObject::TypeArray)
    433                 return false;
    434             coder.m_root = WebRenderObject::create(name, absolutePosition, frameRect, WTF::static_pointer_cast<MutableArray>(children));
     434            if (children && children->type() != APIObject::TypeArray)
     435                return false;
     436            coder.m_root = WebRenderObject::create(name, elementTagName, elementID, WTF::static_pointer_cast<MutableArray>(elementClassNames), absolutePosition, frameRect, WTF::static_pointer_cast<MutableArray>(children));
    435437            break;
    436438        }
  • trunk/Source/WebKit2/Shared/WebRenderLayer.cpp

    r110397 r121584  
    7676WebRenderLayer::WebRenderLayer(RenderLayer* layer)
    7777{
    78     RenderBoxModelObject* renderer = layer->renderer();
    79 
    80     m_renderObjectName = renderer->renderName();
    81 
    82     if (Node* node = renderer->node()) {
    83         if (node->isElementNode()) {
    84             Element* element = toElement(node);
    85             m_elementTagName = element->tagName();
    86             m_elementID = element->getIdAttribute();
    87             if (element->isStyledElement() && element->hasClass()) {
    88                 StyledElement* styledElement = static_cast<StyledElement*>(element);
    89                 if (size_t classNameCount = styledElement->classNames().size()) {
    90                     m_elementClassNames = MutableArray::create();
    91                     for (size_t i = 0; i < classNameCount; ++i)
    92                         m_elementClassNames->append(WebString::create(styledElement->classNames()[i]).get());
    93                 }
    94             }
    95 
    96         }
    97     }
    98 
     78    m_renderer = WebRenderObject::create(layer->renderer());
    9979    m_isReflection = layer->isReflection();
    10080
  • trunk/Source/WebKit2/Shared/WebRenderLayer.h

    r110397 r121584  
    2727#define WebRenderLayer_h
    2828
    29 #include "APIObject.h"
    30 #include "MutableArray.h"
    31 #include <WebCore/IntRect.h>
    32 #include <wtf/PassRefPtr.h>
    33 #include <wtf/Vector.h>
    34 #include <wtf/text/WTFString.h>
     29#include "WebRenderObject.h"
    3530
    3631namespace WebCore {
     
    4944
    5045    static PassRefPtr<WebRenderLayer> create(WebPage*);
    51     static PassRefPtr<WebRenderLayer> create(const String& renderObjectName, const String& elementTagName, const String& elementID, PassRefPtr<MutableArray> elementClassNames,
    52         bool isReflection, bool isClipping, bool isClipped, CompositingLayerType type, WebCore::IntRect absoluteBoundingBox,
    53         PassRefPtr<MutableArray> negativeZOrderList, PassRefPtr<MutableArray> normalFlowList, PassRefPtr<MutableArray> positiveZOrderList)
     46    static PassRefPtr<WebRenderLayer> create(PassRefPtr<WebRenderObject> renderer, bool isReflection, bool isClipping, bool isClipped, CompositingLayerType type,
     47        WebCore::IntRect absoluteBoundingBox, PassRefPtr<MutableArray> negativeZOrderList, PassRefPtr<MutableArray> normalFlowList, PassRefPtr<MutableArray> positiveZOrderList)
    5448    {
    55         return adoptRef(new WebRenderLayer(renderObjectName, elementTagName, elementID, elementClassNames, isReflection, isClipping, isClipped,
    56             type, absoluteBoundingBox, negativeZOrderList, normalFlowList, positiveZOrderList));
     49        return adoptRef(new WebRenderLayer(renderer, isReflection, isClipping, isClipped, type, absoluteBoundingBox, negativeZOrderList, normalFlowList, positiveZOrderList));
    5750    }
    5851
     
    6154    ImmutableArray* positiveZOrderList() const { return m_positiveZOrderList.get(); }
    6255
    63     const String& renderObjectName() const { return m_renderObjectName; }
    64     const String& elementTagName() const { return m_elementTagName; }
    65     const String& elementID() const { return m_elementID; }
    66     ImmutableArray* elementClassNames() const { return m_elementClassNames.get(); }
     56    WebRenderObject* renderer() const { return m_renderer.get(); }
    6757    bool isReflection() const { return m_isReflection; }
    6858    bool isClipping() const { return m_isClipping; }
     
    7363private:
    7464    WebRenderLayer(WebCore::RenderLayer*);
    75     WebRenderLayer(const String& renderObjectName, const String& elementTagName, const String& elementID, PassRefPtr<MutableArray> elementClassNames,
    76         bool isReflection, bool isClipping, bool isClipped, CompositingLayerType type, WebCore::IntRect absoluteBoundingBox,
     65    WebRenderLayer(PassRefPtr<WebRenderObject> renderer, bool isReflection, bool isClipping, bool isClipped, CompositingLayerType type, WebCore::IntRect absoluteBoundingBox,
    7766        PassRefPtr<MutableArray> negativeZOrderList, PassRefPtr<MutableArray> normalFlowList, PassRefPtr<MutableArray> positiveZOrderList)
    78         : m_renderObjectName(renderObjectName)
    79         , m_elementTagName(elementTagName)
    80         , m_elementID(elementID)
    81         , m_elementClassNames(elementClassNames)
     67        : m_renderer(renderer)
    8268        , m_isReflection(isReflection)
    8369        , m_isClipping(isClipping)
     
    9581    static PassRefPtr<MutableArray> createArrayFromLayerList(Vector<WebCore::RenderLayer*>*);
    9682
    97     String m_renderObjectName;
    98     String m_elementTagName;
    99     String m_elementID;
    100     RefPtr<MutableArray> m_elementClassNames;
     83    RefPtr<WebRenderObject> m_renderer;
    10184    bool m_isReflection;
    10285    bool m_isClipping;
  • trunk/Source/WebKit2/Shared/WebRenderObject.cpp

    r112758 r121584  
    2828
    2929#include "WebPage.h"
     30#include "WebString.h"
    3031#include <WebCore/Frame.h>
    3132#include <WebCore/FrameLoaderClient.h>
     
    5152        return 0;
    5253
    53     return adoptRef(new WebRenderObject(contentRenderer));
     54    return adoptRef(new WebRenderObject(contentRenderer, true));
    5455}
    5556
    56 WebRenderObject::WebRenderObject(RenderObject* renderer)
     57WebRenderObject::WebRenderObject(RenderObject* renderer, bool shouldIncludeDescendants)
    5758{
    5859    m_name = renderer->renderName();
     60
     61    if (Node* node = renderer->node()) {
     62        if (node->isElementNode()) {
     63            Element* element = toElement(node);
     64            m_elementTagName = element->tagName();
     65            m_elementID = element->getIdAttribute();
     66            if (element->isStyledElement() && element->hasClass()) {
     67                StyledElement* styledElement = static_cast<StyledElement*>(element);
     68                if (size_t classNameCount = styledElement->classNames().size()) {
     69                    m_elementClassNames = MutableArray::create();
     70                    for (size_t i = 0; i < classNameCount; ++i)
     71                        m_elementClassNames->append(WebString::create(styledElement->classNames()[i]).get());
     72                }
     73            }
     74        }
     75    }
    5976
    6077    // FIXME: broken with transforms
     
    7087        m_frameRect = toRenderBoxModelObject(renderer)->borderBoundingBox();
    7188
     89    if (!shouldIncludeDescendants)
     90        return;
     91
    7292    m_children = MutableArray::create();
    7393    for (RenderObject* coreChild = renderer->firstChild(); coreChild; coreChild = coreChild->nextSibling()) {
    74         RefPtr<WebRenderObject> child = adoptRef(new WebRenderObject(coreChild));
     94        RefPtr<WebRenderObject> child = adoptRef(new WebRenderObject(coreChild, shouldIncludeDescendants));
    7595        m_children->append(child.get());
    7696    }
     
    85105    FrameView* frameView = static_cast<FrameView*>(widget);
    86106    if (RenderView* coreContentRenderer = frameView->frame()->contentRenderer()) {
    87         RefPtr<WebRenderObject> contentRenderer = adoptRef(new WebRenderObject(coreContentRenderer));
     107        RefPtr<WebRenderObject> contentRenderer = adoptRef(new WebRenderObject(coreContentRenderer, shouldIncludeDescendants));
    88108        m_children->append(contentRenderer.get());
    89109    }
  • trunk/Source/WebKit2/Shared/WebRenderObject.h

    r110085 r121584  
    3131#include <WebCore/IntRect.h>
    3232#include <wtf/PassRefPtr.h>
    33 #include <wtf/Vector.h>
    3433#include <wtf/text/WTFString.h>
    3534
     
    4746
    4847    static PassRefPtr<WebRenderObject> create(WebPage*);
    49     static PassRefPtr<WebRenderObject> create(const String& name, WebCore::IntPoint absolutePosition, WebCore::IntRect frameRect, PassRefPtr<MutableArray> children)
     48    static PassRefPtr<WebRenderObject> create(WebCore::RenderObject* renderer)
    5049    {
    51         return adoptRef(new WebRenderObject(name, absolutePosition, frameRect, children));
     50        return adoptRef(new WebRenderObject(renderer, false));
     51    }
     52
     53    static PassRefPtr<WebRenderObject> create(const String& name, const String& elementTagName, const String& elementID,
     54        PassRefPtr<MutableArray> elementClassNames, WebCore::IntPoint absolutePosition, WebCore::IntRect frameRect, PassRefPtr<MutableArray> children)
     55    {
     56        return adoptRef(new WebRenderObject(name, elementTagName, elementID, elementClassNames, absolutePosition, frameRect, children));
    5257    }
    5358
     
    5560
    5661    const String& name() const { return m_name; }
     62    const String& elementTagName() const { return m_elementTagName; }
     63    const String& elementID() const { return m_elementID; }
     64    ImmutableArray* elementClassNames() const { return m_elementClassNames.get(); }
    5765    WebCore::IntPoint absolutePosition() const { return m_absolutePosition; }
    5866    WebCore::IntRect frameRect() const { return m_frameRect; }
    5967
    6068private:
    61     WebRenderObject(WebCore::RenderObject*);
    62     WebRenderObject(const String& name, WebCore::IntPoint absolutePosition, WebCore::IntRect frameRect, PassRefPtr<MutableArray> children)
     69    WebRenderObject(WebCore::RenderObject*, bool shouldIncludeDescendants);
     70    WebRenderObject(const String& name, const String& elementTagName, const String& elementID, PassRefPtr<MutableArray> elementClassNames,
     71        WebCore::IntPoint absolutePosition, WebCore::IntRect frameRect, PassRefPtr<MutableArray> children)
    6372        : m_children(children)
    6473        , m_name(name)
     74        , m_elementTagName(elementTagName)
     75        , m_elementID(elementID)
     76        , m_elementClassNames(elementClassNames)
    6577        , m_absolutePosition(absolutePosition)
    6678        , m_frameRect(frameRect)
     
    7385
    7486    String m_name;
     87    String m_elementTagName;
     88    String m_elementID;
     89    RefPtr<MutableArray> m_elementClassNames;
    7590    WebCore::IntPoint m_absolutePosition;
    7691    WebCore::IntRect m_frameRect;
Note: See TracChangeset for help on using the changeset viewer.