Changeset 55820 in webkit


Ignore:
Timestamp:
Mar 10, 2010 4:59:11 PM (14 years ago)
Author:
darin@chromium.org
Message:

2010-03-10 Darin Fisher <darin@chromium.org>

Reviewed by Jeremy Orlow.

Add API wrapper for WebCore::SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=35988

WebSerializedScriptValue is a wrapper around SerializedScriptValue.

WebPrivatePtr is used to simplify wrapping reference counted WebCore
types. This class is used to cleanup WebHistoryItem, and will be used
to clean up other classes in the WebKit API in a follow-up patch.

  • WebKit.gyp:
  • public/WebHistoryItem.h:
  • public/WebPrivatePtr.h: Added.
  • public/WebSerializedScriptValue.h: Added.
  • src/WebHistoryItem.cpp:
  • src/WebSerializedScriptValue.cpp: Added.
Location:
trunk/WebKit/chromium
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/chromium/ChangeLog

    r55814 r55820  
     12010-03-10  Darin Fisher  <darin@chromium.org>
     2
     3        Reviewed by Jeremy Orlow.
     4
     5        Add API wrapper for WebCore::SerializedScriptValue
     6        https://bugs.webkit.org/show_bug.cgi?id=35988
     7
     8        WebSerializedScriptValue is a wrapper around SerializedScriptValue.
     9
     10        WebPrivatePtr is used to simplify wrapping reference counted WebCore
     11        types.  This class is used to cleanup WebHistoryItem, and will be used
     12        to clean up other classes in the WebKit API in a follow-up patch.
     13
     14        * WebKit.gyp:
     15        * public/WebHistoryItem.h:
     16        * public/WebPrivatePtr.h: Added.
     17        * public/WebSerializedScriptValue.h: Added.
     18        * src/WebHistoryItem.cpp:
     19        * src/WebSerializedScriptValue.cpp: Added.
     20
    1212010-03-10  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
    222
  • trunk/WebKit/chromium/WebKit.gyp

    r55784 r55820  
    160160                'public/WebPopupMenu.h',
    161161                'public/WebPopupMenuInfo.h',
     162                'public/WebPrivatePtr.h',
    162163                'public/WebRange.h',
    163164                'public/WebRect.h',
     
    170171                'public/WebSecurityOrigin.h',
    171172                'public/WebSecurityPolicy.h',
     173                'public/WebSerializedScriptValue.h',
    172174                'public/WebSettings.h',
    173175                'public/WebSharedWorker.h',
     
    350352                'src/WebSecurityOrigin.cpp',
    351353                'src/WebSecurityPolicy.cpp',
     354                'src/WebSerializedScriptValue.cpp',
    352355                'src/WebSettingsImpl.cpp',
    353356                'src/WebSettingsImpl.h',
  • trunk/WebKit/chromium/public/WebHistoryItem.h

    r53971 r55820  
    3333
    3434#include "WebCommon.h"
     35#include "WebPrivatePtr.h"
    3536
    36 #if WEBKIT_IMPLEMENTATION
    3737namespace WebCore { class HistoryItem; }
    38 namespace WTF { template <typename T> class PassRefPtr; }
    39 #endif
    4038
    4139namespace WebKit {
    42 
    43 class WebHistoryItemPrivate;
    4440class WebHTTPBody;
    4541class WebString;
     42class WebSerializedScriptValue;
    4643struct WebPoint;
    4744template <typename T> class WebVector;
     
    5653    ~WebHistoryItem() { reset(); }
    5754
    58     WebHistoryItem() : m_private(0) { }
    59     WebHistoryItem(const WebHistoryItem& h) : m_private(0) { assign(h); }
     55    WebHistoryItem() { }
     56    WebHistoryItem(const WebHistoryItem& h) { assign(h); }
    6057    WebHistoryItem& operator=(const WebHistoryItem& h)
    6158    {
     
    6865    WEBKIT_API void assign(const WebHistoryItem&);
    6966
    70     bool isNull() const { return !m_private; }
     67    bool isNull() const { return m_private.isNull(); }
    7168
    7269    WEBKIT_API WebString urlString() const;
     
    109106    WEBKIT_API void setDocumentSequenceNumber(long long);
    110107
     108    WEBKIT_API WebSerializedScriptValue stateObject() const;
     109    WEBKIT_API void setStateObject(const WebSerializedScriptValue&);
     110
    111111    WEBKIT_API WebString httpContentType() const;
    112112    WEBKIT_API void setHTTPContentType(const WebString&);
     
    126126
    127127private:
    128     void assign(WebHistoryItemPrivate*);
    129128    void ensureMutable();
    130     WebHistoryItemPrivate* m_private;
     129    WebPrivatePtr<WebCore::HistoryItem> m_private;
    131130};
    132131
  • trunk/WebKit/chromium/src/WebHistoryItem.cpp

    r53971 r55820  
    3838#include "WebHTTPBody.h"
    3939#include "WebPoint.h"
     40#include "WebSerializedScriptValue.h"
    4041#include "WebString.h"
    4142#include "WebVector.h"
     
    4546namespace WebKit {
    4647
    47 class WebHistoryItemPrivate : public HistoryItem {
    48 };
    49 
    5048void WebHistoryItem::initialize()
    5149{
    52     assign(static_cast<WebHistoryItemPrivate*>(HistoryItem::create().releaseRef()));
     50    m_private = HistoryItem::create();
    5351}
    5452
    5553void WebHistoryItem::reset()
    5654{
    57     assign(0);
     55    m_private.reset();
    5856}
    5957
    6058void WebHistoryItem::assign(const WebHistoryItem& other)
    6159{
    62     WebHistoryItemPrivate* p = const_cast<WebHistoryItemPrivate*>(other.m_private);
    63     if (p)
    64         p->ref();
    65     assign(p);
     60    m_private = other.m_private;
    6661}
    6762
    6863WebString WebHistoryItem::urlString() const
    6964{
    70     ASSERT(!isNull());
    7165    return m_private->urlString();
    7266}
     
    8074WebString WebHistoryItem::originalURLString() const
    8175{
    82     ASSERT(!isNull());
    8376    return m_private->originalURLString();
    8477}
     
    9285WebString WebHistoryItem::referrer() const
    9386{
    94     ASSERT(!isNull());
    9587    return m_private->referrer();
    9688}
     
    10496WebString WebHistoryItem::target() const
    10597{
    106     ASSERT(!isNull());
    10798    return m_private->target();
    10899}
     
    116107WebString WebHistoryItem::parent() const
    117108{
    118     ASSERT(!isNull());
    119109    return m_private->parent();
    120110}
     
    128118WebString WebHistoryItem::title() const
    129119{
    130     ASSERT(!isNull());
    131120    return m_private->title();
    132121}
     
    140129WebString WebHistoryItem::alternateTitle() const
    141130{
    142     ASSERT(!isNull());
    143131    return m_private->alternateTitle();
    144132}
     
    152140double WebHistoryItem::lastVisitedTime() const
    153141{
    154     ASSERT(!isNull());
    155142    return m_private->lastVisitedTime();
    156143}
     
    169156WebPoint WebHistoryItem::scrollOffset() const
    170157{
    171     ASSERT(!isNull());
    172158    return m_private->scrollPoint();
    173159}
     
    181167bool WebHistoryItem::isTargetItem() const
    182168{
    183     ASSERT(!isNull());
    184169    return m_private->isTargetItem();
    185170}
     
    193178int WebHistoryItem::visitCount() const
    194179{
    195     ASSERT(!isNull());
    196180    return m_private->visitCount();
    197181}
     
    205189WebVector<WebString> WebHistoryItem::documentState() const
    206190{
    207     ASSERT(!isNull());
    208191    return m_private->documentState();
    209192}
     
    221204long long WebHistoryItem::documentSequenceNumber() const
    222205{
    223     ASSERT(!isNull());
    224206    return m_private->documentSequenceNumber();
    225207}
     
    231213}
    232214
     215WebSerializedScriptValue WebHistoryItem::stateObject() const
     216{
     217    return WebSerializedScriptValue(m_private->stateObject());
     218}
     219
     220void WebHistoryItem::setStateObject(const WebSerializedScriptValue& object)
     221{
     222    ensureMutable();
     223    m_private->setStateObject(object);
     224}
     225
    233226WebString WebHistoryItem::httpContentType() const
    234227{
    235     ASSERT(!isNull());
    236228    return m_private->formContentType();
    237229}
     
    245237WebHTTPBody WebHistoryItem::httpBody() const
    246238{
    247     ASSERT(!isNull());
    248239    return WebHTTPBody(m_private->formData());
    249240}
     
    257248WebVector<WebHistoryItem> WebHistoryItem::children() const
    258249{
    259     ASSERT(!isNull());
    260250    return m_private->children();
    261251}
     
    276266
    277267WebHistoryItem::WebHistoryItem(const PassRefPtr<HistoryItem>& item)
    278     : m_private(static_cast<WebHistoryItemPrivate*>(item.releaseRef()))
     268    : m_private(item)
    279269{
    280270}
     
    282272WebHistoryItem& WebHistoryItem::operator=(const PassRefPtr<HistoryItem>& item)
    283273{
    284     assign(static_cast<WebHistoryItemPrivate*>(item.releaseRef()));
     274    m_private = item;
    285275    return *this;
    286276}
     
    288278WebHistoryItem::operator PassRefPtr<HistoryItem>() const
    289279{
    290     return m_private;
    291 }
    292 
    293 void WebHistoryItem::assign(WebHistoryItemPrivate* p)
    294 {
    295     // p is already ref'd for us by the caller
    296     if (m_private)
    297         m_private->deref();
    298     m_private = p;
     280    return m_private.get();
    299281}
    300282
    301283void WebHistoryItem::ensureMutable()
    302284{
    303     ASSERT(!isNull());
    304285    if (!m_private->hasOneRef())
    305         assign(static_cast<WebHistoryItemPrivate*>(m_private->copy().releaseRef()));
     286        m_private = m_private->copy();
    306287}
    307288
Note: See TracChangeset for help on using the changeset viewer.