⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 98381 in webkit


Ignore:
Timestamp:
Oct 25, 2011, 1:01:34 PM (15 years ago)
Author:
commit-queue@webkit.org
Message:

Make it possible to create and dispatch a message event through chromium API

Removed messageChannels parameter, since it's hard to get right and I don't need it. Changed message_data->messageData. Reordered includes.

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

Patch by Dave Michael <dmichael@chromium.org> on 2011-10-25
Reviewed by David Levin.

  • WebKit.gyp:
  • public/WebDOMEvent.h:
  • public/WebDOMMessageEvent.h: Added.
  • public/WebDocument.h:
  • public/WebNode.h:
  • src/PlatformMessagePortChannel.cpp:

(WebCore::PlatformMessagePortChannel::hasPendingActivity):

  • src/WebDOMEvent.cpp:

(WebKit::WebDOMEvent::operator WTF::PassRefPtr<WebCore::Event>):

  • src/WebDOMMessageEvent.cpp: Added.

(WebKit::WebDOMMessageEvent::initMessageEvent):

  • src/WebDocument.cpp:

(WebKit::WebDocument::createEvent):

  • src/WebNode.cpp:

(WebKit::WebNode::dispatchEvent):

Location:
trunk/Source/WebKit/chromium
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/chromium/ChangeLog

    r98357 r98381  
     12011-10-25  Dave Michael  <dmichael@chromium.org>
     2
     3        Make it possible to create and dispatch a message event through chromium API
     4
     5        Removed messageChannels parameter, since it's hard to get right and I don't need it. Changed message_data->messageData. Reordered includes.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=69962
     8
     9        Reviewed by David Levin.
     10
     11        * WebKit.gyp:
     12        * public/WebDOMEvent.h:
     13        * public/WebDOMMessageEvent.h: Added.
     14        * public/WebDocument.h:
     15        * public/WebNode.h:
     16        * src/PlatformMessagePortChannel.cpp:
     17        (WebCore::PlatformMessagePortChannel::hasPendingActivity):
     18        * src/WebDOMEvent.cpp:
     19        (WebKit::WebDOMEvent::operator WTF::PassRefPtr<WebCore::Event>):
     20        * src/WebDOMMessageEvent.cpp: Added.
     21        (WebKit::WebDOMMessageEvent::initMessageEvent):
     22        * src/WebDocument.cpp:
     23        (WebKit::WebDocument::createEvent):
     24        * src/WebNode.cpp:
     25        (WebKit::WebNode::dispatchEvent):
     26
    1272011-10-25  Gene Girard  <girard@chromium.org>
    228
  • trunk/Source/WebKit/chromium/WebKit.gyp

    r97998 r98381  
    141141                'public/WebDOMEvent.h',
    142142                'public/WebDOMEventListener.h',
     143                'public/WebDOMMessageEvent.h',
    143144                'public/WebDOMMouseEvent.h',
    144145                'public/WebDOMMutationEvent.h',
     
    463464                'src/WebDOMEventListenerPrivate.cpp',
    464465                'src/WebDOMEventListenerPrivate.h',
     466                'src/WebDOMMessageEvent.cpp',
    465467                'src/WebDOMMouseEvent.cpp',
    466468                'src/WebDOMMutationEvent.cpp',
  • trunk/Source/WebKit/chromium/public/WebDOMEvent.h

    r95901 r98381  
    9696#if WEBKIT_IMPLEMENTATION
    9797    WebDOMEvent(const WTF::PassRefPtr<WebCore::Event>&);
     98    operator WTF::PassRefPtr<WebCore::Event>() const;
    9899#endif
    99100
  • trunk/Source/WebKit/chromium/public/WebDocument.h

    r97447 r98381  
    104104    WEBKIT_EXPORT void cancelFullScreen();
    105105    WEBKIT_EXPORT WebElement fullScreenElement() const;
     106    WEBKIT_EXPORT WebDOMEvent createEvent(const WebString& eventType);
    106107
    107108    // Accessibility support. These methods should only be called on the
  • trunk/Source/WebKit/chromium/public/WebNode.h

    r95901 r98381  
    3939
    4040namespace WebKit {
     41class WebDOMEvent;
    4142class WebDOMEventListener;
    4243class WebDOMEventListenerPrivate;
     
    104105    WEBKIT_EXPORT void addEventListener(const WebString& eventType, WebDOMEventListener* listener, bool useCapture);
    105106    WEBKIT_EXPORT void removeEventListener(const WebString& eventType, WebDOMEventListener* listener, bool useCapture);
     107    WEBKIT_EXPORT bool dispatchEvent(const WebDOMEvent&);
    106108    WEBKIT_EXPORT void simulateClick();
    107109    WEBKIT_EXPORT WebNodeList getElementsByTagName(const WebString&) const;
  • trunk/Source/WebKit/chromium/src/PlatformMessagePortChannel.cpp

    r95901 r98381  
    237237{
    238238    MutexLocker lock(m_mutex);
    239     return m_localPort;
     239    return m_localPort && m_localPort->hasPendingActivity();
    240240}
    241241
  • trunk/Source/WebKit/chromium/src/WebDOMEvent.cpp

    r98164 r98381  
    7070}
    7171
     72WebDOMEvent::operator WTF::PassRefPtr<WebCore::Event>() const
     73{
     74    return static_cast<WebCore::Event*>(m_private);
     75}
     76
    7277WebString WebDOMEvent::type() const
    7378{
  • trunk/Source/WebKit/chromium/src/WebDocument.cpp

    r97447 r98381  
    4747#include "SecurityOrigin.h"
    4848#include "WebAccessibilityObject.h"
     49#include "WebDOMEvent.h"
    4950#include "WebDocumentType.h"
    5051#include "WebElement.h"
     
    199200}
    200201
     202WebDOMEvent WebDocument::createEvent(const WebString& eventType)
     203{
     204    ExceptionCode ec = 0;
     205    WebDOMEvent event(unwrap<Document>()->createEvent(eventType, ec));
     206    if (!ec)
     207        return WebDOMEvent();
     208    return event;
     209}
     210
    201211WebAccessibilityObject WebDocument::accessibilityObject() const
    202212{
  • trunk/Source/WebKit/chromium/src/WebNode.cpp

    r95901 r98381  
    185185}
    186186
     187bool WebNode::dispatchEvent(const WebDOMEvent& event)
     188{
     189    if (!event.isNull())
     190        return m_private->dispatchEvent(event);
     191    return false;
     192}
     193
    187194void WebNode::simulateClick()
    188195{
Note: See TracChangeset for help on using the changeset viewer.