Changeset 53934 in webkit


Ignore:
Timestamp:
Jan 27, 2010 7:15:23 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-01-27 Jay Campan <jcampan@google.com>

Reviewed by Darin Fisher.

Adding EventListeners to the chromium API.

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

  • WebKit.gyp:
  • public/WebEvent.h: Added.
  • public/WebEventListener.h: Added.
  • public/WebMutationEvent.h: Added.
  • public/WebNode.h:
  • public/WebString.h: (WebKit::operator==): (WebKit::operator!=):
  • src/EventListenerWrapper.cpp: Added.
  • src/EventListenerWrapper.h: Added.
  • src/WebEvent.cpp: Added.
  • src/WebEventListener.cpp: Added.
  • src/WebEventListenerPrivate.cpp: Added.
  • src/WebEventListenerPrivate.h: Added.
  • src/WebNode.cpp: (WebKit::WebNode::addEventListener): (WebKit::WebNode::removeEventListener):
  • src/WebString.cpp: (WebKit::WebString::equals):
Location:
trunk/WebKit/chromium
Files:
9 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/chromium/ChangeLog

    r53898 r53934  
     12010-01-27  Jay Campan  <jcampan@google.com>
     2
     3        Reviewed by Darin Fisher.
     4
     5        Adding EventListeners to the chromium API.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=33882
     8
     9        * WebKit.gyp:
     10        * public/WebEvent.h: Added.
     11        * public/WebEventListener.h: Added.
     12        * public/WebMutationEvent.h: Added.
     13        * public/WebNode.h:
     14        * public/WebString.h:
     15        (WebKit::operator==):
     16        (WebKit::operator!=):
     17        * src/EventListenerWrapper.cpp: Added.
     18        * src/EventListenerWrapper.h: Added.
     19        * src/WebEvent.cpp: Added.
     20        * src/WebEventListener.cpp: Added.
     21        * src/WebEventListenerPrivate.cpp: Added.
     22        * src/WebEventListenerPrivate.h: Added.
     23        * src/WebNode.cpp:
     24        (WebKit::WebNode::addEventListener):
     25        (WebKit::WebNode::removeEventListener):
     26        * src/WebString.cpp:
     27        (WebKit::WebString::equals):
     28
    1292010-01-26  Yaar Schnitman  <yaar@chromium.org>
    230
  • trunk/WebKit/chromium/WebKit.gyp

    r53898 r53934  
    108108                'public/WebEditingAction.h',
    109109                'public/WebElement.h',
     110                'public/WebEvent.h',
     111                'public/WebEventListener.h',
    110112                'public/WebFileChooserCompletion.h',
    111113                'public/WebFileChooserParams.h',
     
    131133                'public/WebMessagePortChannelClient.h',
    132134                'public/WebMimeRegistry.h',
     135                'public/WebMutationEvent.h',
    133136                'public/WebNavigationType.h',
    134137                'public/WebNode.h',
     
    211214                'src/EditorClientImpl.cpp',
    212215                'src/EditorClientImpl.h',
     216                'src/EventListenerWrapper.cpp',
     217                'src/EventListenerWrapper.h',
    213218                'src/FrameLoaderClientImpl.cpp',
    214219                'src/FrameLoaderClientImpl.h',
     
    260265                'src/WebEntities.cpp',
    261266                'src/WebEntities.h',
     267                'src/WebEvent.cpp',
     268                'src/WebEventListener.cpp',
     269                'src/WebEventListenerPrivate.cpp',
     270                'src/WebEventListenerPrivate.h',
    262271                'src/WebFileChooserCompletionImpl.cpp',
    263272                'src/WebFileChooserCompletionImpl.h',
     
    278287                'src/WebMediaPlayerClientImpl.cpp',
    279288                'src/WebMediaPlayerClientImpl.h',
     289                'src/WebMutationEvent.cpp',
    280290                'src/WebNode.cpp',
    281291                'src/WebNodeCollection.cpp',
  • trunk/WebKit/chromium/public/WebNode.h

    r53678 r53934  
    4242namespace WebKit {
    4343class WebDocument;
     44class WebEventListener;
     45class WebEventListenerPrivate;
    4446class WebFrame;
    4547class WebNodeList;
     
    101103    WEBKIT_API bool isTextNode() const;
    102104    WEBKIT_API bool isElementNode() const;
     105    WEBKIT_API void addEventListener(const WebString& eventType, WebEventListener* listener, bool useCapture);
     106    WEBKIT_API void removeEventListener(const WebString& eventType, WebEventListener* listener, bool useCapture);
    103107
    104108    template<typename T> T toElement()
  • trunk/WebKit/chromium/public/WebString.h

    r52268 r53934  
    7676    WEBKIT_API void assign(const WebString&);
    7777    WEBKIT_API void assign(const WebUChar* data, size_t len);
     78
     79    WEBKIT_API bool equals(const WebString& s) const;
    7880
    7981    WEBKIT_API size_t length() const;
     
    164166};
    165167
     168inline bool operator==(const WebString& a, const WebString& b)
     169{
     170    return a.equals(b);
     171}
     172
     173inline bool operator!=(const WebString& a, const WebString& b)
     174{
     175    return !(a == b);
     176}
     177
    166178} // namespace WebKit
    167179
  • trunk/WebKit/chromium/src/WebNode.cpp

    r52774 r53934  
    3838#include "NodeList.h"
    3939
     40#include "EventListenerWrapper.h"
    4041#include "WebDocument.h"
     42#include "WebEvent.h"
     43#include "WebEventListener.h"
    4144#include "WebFrameImpl.h"
    4245#include "WebNodeList.h"
     
    174177}
    175178
     179void WebNode::addEventListener(const WebString& eventType, WebEventListener* listener, bool useCapture)
     180{
     181    EventListenerWrapper* listenerWrapper =
     182        listener->createEventListenerWrapper(eventType, useCapture, m_private);
     183    // The listenerWrapper is only referenced by the actual Node.  Once it goes
     184    // away, the wrapper notifies the WebEventListener so it can clear its
     185    // pointer to it.
     186    m_private->addEventListener(eventType, adoptRef(listenerWrapper), useCapture);
     187}
     188
     189void WebNode::removeEventListener(const WebString& eventType, WebEventListener* listener, bool useCapture)
     190{
     191    EventListenerWrapper* listenerWrapper =
     192        listener->getEventListenerWrapper(eventType, useCapture, m_private);
     193    m_private->removeEventListener(eventType, listenerWrapper, useCapture);
     194    // listenerWrapper is now deleted.
     195}
     196
    176197} // namespace WebKit
  • trunk/WebKit/chromium/src/WebString.cpp

    r50739 r53934  
    8787}
    8888
     89bool WebString::equals(const WebString& s) const
     90{
     91    return equal(m_private, s.m_private);
     92}
     93
    8994WebString::WebString(const WebCore::String& s)
    9095    : m_private(static_cast<WebStringPrivate*>(s.impl()))
Note: See TracChangeset for help on using the changeset viewer.