Chromium Code Reviews| Index: chrome/test/chromedriver/devtools_client_impl.cc |
| diff --git a/chrome/test/chromedriver/devtools_client_impl.cc b/chrome/test/chromedriver/devtools_client_impl.cc |
| index ea28aa96f589ec09c20fb2a956edc52428cfe8b2..92fdb96377dd3059ee06e2c05b339ff63aa06cf5 100644 |
| --- a/chrome/test/chromedriver/devtools_client_impl.cc |
| +++ b/chrome/test/chromedriver/devtools_client_impl.cc |
| @@ -27,11 +27,9 @@ InspectorCommandResponse::~InspectorCommandResponse() {} |
| DevToolsClientImpl::DevToolsClientImpl( |
| const SyncWebSocketFactory& factory, |
| - const std::string& url, |
| - DevToolsEventListener* listener) |
| + const std::string& url) |
| : socket_(factory.Run().Pass()), |
| url_(url), |
| - listener_(listener), |
| parser_func_(base::Bind(&internal::ParseInspectorMessage)), |
| connected_(false), |
| next_id_(1) {} |
| @@ -39,11 +37,9 @@ DevToolsClientImpl::DevToolsClientImpl( |
| DevToolsClientImpl::DevToolsClientImpl( |
| const SyncWebSocketFactory& factory, |
| const std::string& url, |
| - DevToolsEventListener* listener, |
| const ParserFunc& parser_func) |
| : socket_(factory.Run().Pass()), |
| url_(url), |
| - listener_(listener), |
| parser_func_(parser_func), |
| connected_(false), |
| next_id_(1) {} |
| @@ -71,6 +67,20 @@ Status DevToolsClientImpl::SendCommandAndGetResult( |
| return Status(kOk); |
| } |
| +void DevToolsClientImpl::AddListener(DevToolsEventListener* listener) { |
| + DCHECK(listener); |
| + listeners_.push_back(listener); |
| +} |
| + |
| +void DevToolsClientImpl::NotifyEventListeners( |
|
kkania
2013/01/16 16:57:33
i think style guide says follow order in .h
craigdh
2013/01/16 17:38:53
Good catch, thanks.
|
| + const std::string& method, |
| + const base::DictionaryValue& params) { |
| + for (std::list<DevToolsEventListener*>::iterator iter = listeners_.begin(); |
| + iter != listeners_.end(); ++iter) { |
| + (*iter)->OnEvent(method, params); |
| + } |
| +} |
| + |
| Status DevToolsClientImpl::SendCommandInternal( |
| const std::string& method, |
| const base::DictionaryValue& params, |
| @@ -102,8 +112,7 @@ Status DevToolsClientImpl::SendCommandInternal( |
| if (!parser_func_.Run(message, command_id, &type, &event, &response)) |
| return Status(kUnknownError, "bad inspector message: " + message); |
| if (type == internal::kEventMessageType) { |
| - if (listener_) |
| - listener_->OnEvent(event.method, *event.params); |
| + NotifyEventListeners(event.method, *event.params); |
|
kkania
2013/01/16 16:57:33
two spaces
craigdh
2013/01/16 17:38:53
Done.
|
| } else { |
| if (response.id != command_id) { |
| return Status(kUnknownError, |