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

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

Issue 15271012: Clean up WebDOMEvent ownership of WebCore::Event. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink@master
Patch Set: Revise WebPrivatePtr copy-ctor comment Created 7 years, 7 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) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 class WebDOMEventPrivate : public WebCore::Event { 43 class WebDOMEventPrivate : public WebCore::Event {
44 }; 44 };
45 45
46 void WebDOMEvent::reset() 46 void WebDOMEvent::reset()
47 { 47 {
48 assign(0); 48 assign(0);
49 } 49 }
50 50
51 void WebDOMEvent::assign(const WebDOMEvent& other) 51 void WebDOMEvent::assign(const WebDOMEvent& other)
52 { 52 {
53 WebDOMEventPrivate* p = const_cast<WebDOMEventPrivate*>(other.m_private); 53 m_private = other.m_private;
54 if (p)
55 p->ref();
56 assign(p);
57 } 54 }
58 55
59 void WebDOMEvent::assign(WebDOMEventPrivate* p) 56 void WebDOMEvent::assign(const WTF::PassRefPtr<WebDOMEventPrivate>& event)
60 { 57 {
61 // p is already ref'd for us by the caller 58 m_private = event;
62 if (m_private)
63 m_private->deref();
64 m_private = p;
65 } 59 }
66 60
67 WebDOMEvent::WebDOMEvent(const WTF::PassRefPtr<WebCore::Event>& event) 61 WebDOMEvent::WebDOMEvent(const WTF::PassRefPtr<WebCore::Event>& event)
68 : m_private(static_cast<WebDOMEventPrivate*>(event.leakRef())) 62 : m_private(event)
69 { 63 {
70 } 64 }
71 65
72 WebDOMEvent::operator WTF::PassRefPtr<WebCore::Event>() const 66 WebDOMEvent::operator WTF::PassRefPtr<WebCore::Event>() const
73 { 67 {
74 return static_cast<WebCore::Event*>(m_private); 68 return m_private.get();
75 } 69 }
76 70
77 WebString WebDOMEvent::type() const 71 WebString WebDOMEvent::type() const
78 { 72 {
79 ASSERT(m_private); 73 ASSERT(m_private.get());
80 return m_private->type(); 74 return m_private->type();
81 } 75 }
82 76
83 WebNode WebDOMEvent::target() const 77 WebNode WebDOMEvent::target() const
84 { 78 {
85 ASSERT(m_private); 79 ASSERT(m_private.get());
86 return WebNode(m_private->target()->toNode()); 80 return WebNode(m_private->target()->toNode());
87 } 81 }
88 82
89 WebNode WebDOMEvent::currentTarget() const 83 WebNode WebDOMEvent::currentTarget() const
90 { 84 {
91 ASSERT(m_private); 85 ASSERT(m_private.get());
92 return WebNode(m_private->currentTarget()->toNode()); 86 return WebNode(m_private->currentTarget()->toNode());
93 } 87 }
94 88
95 WebDOMEvent::PhaseType WebDOMEvent::eventPhase() const 89 WebDOMEvent::PhaseType WebDOMEvent::eventPhase() const
96 { 90 {
97 ASSERT(m_private); 91 ASSERT(m_private.get());
98 return static_cast<WebDOMEvent::PhaseType>(m_private->eventPhase()); 92 return static_cast<WebDOMEvent::PhaseType>(m_private->eventPhase());
99 } 93 }
100 94
101 bool WebDOMEvent::bubbles() const 95 bool WebDOMEvent::bubbles() const
102 { 96 {
103 ASSERT(m_private); 97 ASSERT(m_private.get());
104 return m_private->bubbles(); 98 return m_private->bubbles();
105 } 99 }
106 100
107 bool WebDOMEvent::cancelable() const 101 bool WebDOMEvent::cancelable() const
108 { 102 {
109 ASSERT(m_private); 103 ASSERT(m_private.get());
110 return m_private->cancelable(); 104 return m_private->cancelable();
111 } 105 }
112 106
113 bool WebDOMEvent::isUIEvent() const 107 bool WebDOMEvent::isUIEvent() const
114 { 108 {
115 ASSERT(m_private); 109 ASSERT(m_private.get());
116 return m_private->isUIEvent(); 110 return m_private->isUIEvent();
117 } 111 }
118 112
119 bool WebDOMEvent::isMouseEvent() const 113 bool WebDOMEvent::isMouseEvent() const
120 { 114 {
121 ASSERT(m_private); 115 ASSERT(m_private.get());
122 return m_private->isMouseEvent(); 116 return m_private->isMouseEvent();
123 } 117 }
124 118
125 bool WebDOMEvent::isKeyboardEvent() const 119 bool WebDOMEvent::isKeyboardEvent() const
126 { 120 {
127 ASSERT(m_private); 121 ASSERT(m_private.get());
128 return m_private->isKeyboardEvent(); 122 return m_private->isKeyboardEvent();
129 } 123 }
130 124
131 bool WebDOMEvent::isMutationEvent() const 125 bool WebDOMEvent::isMutationEvent() const
132 { 126 {
133 ASSERT(m_private); 127 ASSERT(m_private.get());
134 return m_private->hasInterface(WebCore::eventNames().interfaceForMutationEve nt); 128 return m_private->hasInterface(WebCore::eventNames().interfaceForMutationEve nt);
135 } 129 }
136 130
137 bool WebDOMEvent::isTextEvent() const 131 bool WebDOMEvent::isTextEvent() const
138 { 132 {
139 ASSERT(m_private); 133 ASSERT(m_private.get());
140 return m_private->hasInterface(eventNames().interfaceForTextEvent); 134 return m_private->hasInterface(eventNames().interfaceForTextEvent);
141 } 135 }
142 136
143 bool WebDOMEvent::isCompositionEvent() const 137 bool WebDOMEvent::isCompositionEvent() const
144 { 138 {
145 ASSERT(m_private); 139 ASSERT(m_private.get());
146 return m_private->hasInterface(eventNames().interfaceForCompositionEvent); 140 return m_private->hasInterface(eventNames().interfaceForCompositionEvent);
147 } 141 }
148 142
149 bool WebDOMEvent::isDragEvent() const 143 bool WebDOMEvent::isDragEvent() const
150 { 144 {
151 ASSERT(m_private); 145 ASSERT(m_private.get());
152 return m_private->isDragEvent(); 146 return m_private->isDragEvent();
153 } 147 }
154 148
155 bool WebDOMEvent::isClipboardEvent() const 149 bool WebDOMEvent::isClipboardEvent() const
156 { 150 {
157 ASSERT(m_private); 151 ASSERT(m_private.get());
158 return m_private->isClipboardEvent(); 152 return m_private->isClipboardEvent();
159 } 153 }
160 154
161 bool WebDOMEvent::isMessageEvent() const 155 bool WebDOMEvent::isMessageEvent() const
162 { 156 {
163 ASSERT(m_private); 157 ASSERT(m_private.get());
164 return m_private->hasInterface(eventNames().interfaceForMessageEvent); 158 return m_private->hasInterface(eventNames().interfaceForMessageEvent);
165 } 159 }
166 160
167 bool WebDOMEvent::isWheelEvent() const 161 bool WebDOMEvent::isWheelEvent() const
168 { 162 {
169 ASSERT(m_private); 163 ASSERT(m_private.get());
170 return m_private->hasInterface(eventNames().interfaceForWheelEvent); 164 return m_private->hasInterface(eventNames().interfaceForWheelEvent);
171 } 165 }
172 166
173 bool WebDOMEvent::isBeforeTextInsertedEvent() const 167 bool WebDOMEvent::isBeforeTextInsertedEvent() const
174 { 168 {
175 ASSERT(m_private); 169 ASSERT(m_private.get());
176 return m_private->isBeforeTextInsertedEvent(); 170 return m_private->isBeforeTextInsertedEvent();
177 } 171 }
178 172
179 bool WebDOMEvent::isOverflowEvent() const 173 bool WebDOMEvent::isOverflowEvent() const
180 { 174 {
181 ASSERT(m_private); 175 ASSERT(m_private.get());
182 return m_private->hasInterface(eventNames().interfaceForOverflowEvent); 176 return m_private->hasInterface(eventNames().interfaceForOverflowEvent);
183 } 177 }
184 178
185 bool WebDOMEvent::isPageTransitionEvent() const 179 bool WebDOMEvent::isPageTransitionEvent() const
186 { 180 {
187 ASSERT(m_private); 181 ASSERT(m_private.get());
188 return m_private->hasInterface(eventNames().interfaceForPageTransitionEvent) ; 182 return m_private->hasInterface(eventNames().interfaceForPageTransitionEvent) ;
189 } 183 }
190 184
191 bool WebDOMEvent::isPopStateEvent() const 185 bool WebDOMEvent::isPopStateEvent() const
192 { 186 {
193 ASSERT(m_private); 187 ASSERT(m_private.get());
194 return m_private->hasInterface(eventNames().interfaceForPopStateEvent); 188 return m_private->hasInterface(eventNames().interfaceForPopStateEvent);
195 } 189 }
196 190
197 bool WebDOMEvent::isProgressEvent() const 191 bool WebDOMEvent::isProgressEvent() const
198 { 192 {
199 ASSERT(m_private); 193 ASSERT(m_private.get());
200 return m_private->hasInterface(eventNames().interfaceForProgressEvent); 194 return m_private->hasInterface(eventNames().interfaceForProgressEvent);
201 } 195 }
202 196
203 bool WebDOMEvent::isXMLHttpRequestProgressEvent() const 197 bool WebDOMEvent::isXMLHttpRequestProgressEvent() const
204 { 198 {
205 ASSERT(m_private); 199 ASSERT(m_private.get());
206 return m_private->hasInterface(eventNames().interfaceForXMLHttpRequestProgre ssEvent); 200 return m_private->hasInterface(eventNames().interfaceForXMLHttpRequestProgre ssEvent);
207 } 201 }
208 202
209 bool WebDOMEvent::isBeforeLoadEvent() const 203 bool WebDOMEvent::isBeforeLoadEvent() const
210 { 204 {
211 ASSERT(m_private); 205 ASSERT(m_private.get());
212 return m_private->hasInterface(eventNames().interfaceForBeforeLoadEvent); 206 return m_private->hasInterface(eventNames().interfaceForBeforeLoadEvent);
213 } 207 }
214 208
215 } // namespace WebKit 209 } // namespace WebKit
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698