Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_impl.cc |
| diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc |
| index 1861547b675da8c5cc57c337586765c50e043a12..395bd1bb5c7bb5fcdfa7c2b5b301cec78d51f456 100644 |
| --- a/content/browser/renderer_host/render_widget_host_impl.cc |
| +++ b/content/browser/renderer_host/render_widget_host_impl.cc |
| @@ -1241,15 +1241,14 @@ void RenderWidgetHostImpl::ForwardTouchEvent( |
| } |
| void RenderWidgetHostImpl::AddKeyboardListener(KeyboardListener* listener) { |
| - keyboard_listeners_.push_back(listener); |
| + keyboard_listeners_.AddObserver(listener); |
| } |
| void RenderWidgetHostImpl::RemoveKeyboardListener( |
| KeyboardListener* listener) { |
| - // Ensure that the element is actually in the list. |
| - DCHECK(std::find(keyboard_listeners_.begin(), keyboard_listeners_.end(), |
| - listener) != keyboard_listeners_.end()); |
| - keyboard_listeners_.remove(listener); |
| + // Ensure that the element is actually an observer. |
| + DCHECK(keyboard_listeners_.HasObserver(listener)); |
| + keyboard_listeners_.RemoveObserver(listener); |
| } |
| void RenderWidgetHostImpl::GetWebScreenInfo(WebKit::WebScreenInfo* result) { |
| @@ -2205,9 +2204,10 @@ bool RenderWidgetHostImpl::KeyPressListenersHandleEvent( |
| if (event.skip_in_browser || event.type != WebKeyboardEvent::RawKeyDown) |
| return false; |
| - for (std::list<KeyboardListener*>::iterator it = keyboard_listeners_.begin(); |
| - it != keyboard_listeners_.end(); ++it) { |
| - if ((*it)->HandleKeyPressEvent(event)) |
| + ObserverList<KeyboardListener>::Iterator it(keyboard_listeners_); |
| + KeyboardListener* listener; |
| + while ((listener = it.GetNext()) != NULL) { |
|
jam
2013/04/19 17:02:41
!= NULL seems redundant?
csharp
2013/04/19 18:04:43
Yup, but all the instances in the code base that m
|
| + if (listener->HandleKeyPressEvent(event)) |
| return true; |
| } |