Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Side by Side Diff: Source/WebKit/chromium/src/WebNode.cpp

Issue 12463035: Moar RELEASE_ASSERTs (Closed) Base URL: https://chromium.googlesource.com/external/WebKit_trimmed.git@master
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 return m_private->isContentEditable(); 173 return m_private->isContentEditable();
174 } 174 }
175 175
176 bool WebNode::isElementNode() const 176 bool WebNode::isElementNode() const
177 { 177 {
178 return m_private->isElementNode(); 178 return m_private->isElementNode();
179 } 179 }
180 180
181 bool WebNode::hasEventListeners(const WebString& eventType) const 181 bool WebNode::hasEventListeners(const WebString& eventType) const
182 { 182 {
183 // FIXME: "permissionrequest" seems like an implementation detail of the
184 // the browser plug-in. Perhaps the browser plug-in should have
185 // a more special-purpose mechanism?
186 // See http://code.google.com/p/chromium/issues/detail?id=189561
187
188 // Please do not add more eventTypes to this list without an API review.
189 RELEASE_ASSERT(eventType == "permissionrequest");
183 return m_private->hasEventListeners(eventType); 190 return m_private->hasEventListeners(eventType);
184 } 191 }
185 192
186 void WebNode::addEventListener(const WebString& eventType, WebDOMEventListener* listener, bool useCapture) 193 void WebNode::addEventListener(const WebString& eventType, WebDOMEventListener* listener, bool useCapture)
187 { 194 {
188 EventListenerWrapper* listenerWrapper = 195 // Please do not add more eventTypes to this list without an API review.
189 listener->createEventListenerWrapper(eventType, useCapture, m_private.ge t()); 196 RELEASE_ASSERT(eventType == "mousedown");
197
198 EventListenerWrapper* listenerWrapper = listener->createEventListenerWrapper (eventType, useCapture, m_private.get());
190 // The listenerWrapper is only referenced by the actual Node. Once it goes 199 // The listenerWrapper is only referenced by the actual Node. Once it goes
191 // away, the wrapper notifies the WebEventListener so it can clear its 200 // away, the wrapper notifies the WebEventListener so it can clear its
192 // pointer to it. 201 // pointer to it.
193 m_private->addEventListener(eventType, adoptRef(listenerWrapper), useCapture ); 202 m_private->addEventListener(eventType, adoptRef(listenerWrapper), useCapture );
194 } 203 }
195 204
196 void WebNode::removeEventListener(const WebString& eventType, WebDOMEventListene r* listener, bool useCapture)
197 {
198 EventListenerWrapper* listenerWrapper =
199 listener->getEventListenerWrapper(eventType, useCapture, m_private.get() );
200 m_private->removeEventListener(eventType, listenerWrapper, useCapture);
201 // listenerWrapper is now deleted.
202 }
203
204 bool WebNode::dispatchEvent(const WebDOMEvent& event) 205 bool WebNode::dispatchEvent(const WebDOMEvent& event)
205 { 206 {
206 if (!event.isNull()) 207 if (!event.isNull())
207 return m_private->dispatchEvent(event); 208 return m_private->dispatchEvent(event);
208 return false; 209 return false;
209 } 210 }
210 211
211 void WebNode::simulateClick() 212 void WebNode::simulateClick()
212 { 213 {
213 m_private->dispatchSimulatedClick(0); 214 m_private->dispatchSimulatedClick(0);
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 m_private = node; 281 m_private = node;
281 return *this; 282 return *this;
282 } 283 }
283 284
284 WebNode::operator PassRefPtr<Node>() const 285 WebNode::operator PassRefPtr<Node>() const
285 { 286 {
286 return m_private.get(); 287 return m_private.get();
287 } 288 }
288 289
289 } // namespace WebKit 290 } // namespace WebKit
OLDNEW
« no previous file with comments | « Source/WebKit/chromium/public/WebNode.h ('k') | Source/WebKit/chromium/tests/EventListenerTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698