| Index: chrome/test/chromedriver/chrome/chrome_impl.cc
|
| diff --git a/chrome/test/chromedriver/chrome/chrome_impl.cc b/chrome/test/chromedriver/chrome/chrome_impl.cc
|
| index d81d7d3e49e28e3a792aa5f8b2e3e07fb1f8b437..71ac288a821ff7f7675b95bf25c576548e75ed10 100644
|
| --- a/chrome/test/chromedriver/chrome/chrome_impl.cc
|
| +++ b/chrome/test/chromedriver/chrome/chrome_impl.cc
|
| @@ -52,31 +52,33 @@ Status ChromeImpl::GetWebViewIds(std::list<std::string>* web_view_ids) {
|
| // Check for newly-opened web views.
|
| for (size_t i = 0; i < views_info.GetSize(); ++i) {
|
| const WebViewInfo& view = views_info.Get(i);
|
| - if (view.type != WebViewInfo::kPage && view.type != WebViewInfo::kApp)
|
| - continue;
|
| -
|
| - bool found = false;
|
| - for (WebViewList::const_iterator web_view_iter = web_views_.begin();
|
| - web_view_iter != web_views_.end(); ++web_view_iter) {
|
| - if ((*web_view_iter)->GetId() == view.id) {
|
| - found = true;
|
| - break;
|
| + if (view.type == WebViewInfo::kPage ||
|
| + view.type == WebViewInfo::kApp ||
|
| + (view.type == WebViewInfo::kOther &&
|
| + view.url.find("chrome-extension://") == 0)) {
|
| + bool found = false;
|
| + for (WebViewList::const_iterator web_view_iter = web_views_.begin();
|
| + web_view_iter != web_views_.end(); ++web_view_iter) {
|
| + if ((*web_view_iter)->GetId() == view.id) {
|
| + found = true;
|
| + break;
|
| + }
|
| }
|
| - }
|
| - if (!found) {
|
| - scoped_ptr<DevToolsClient> client(
|
| - devtools_http_client_->CreateClient(view.id));
|
| - for (ScopedVector<DevToolsEventListener>::const_iterator listener =
|
| - devtools_event_listeners_.begin();
|
| - listener != devtools_event_listeners_.end(); ++listener) {
|
| - client->AddListener(*listener);
|
| - // OnConnected will fire when DevToolsClient connects later.
|
| + if (!found) {
|
| + scoped_ptr<DevToolsClient> client(
|
| + devtools_http_client_->CreateClient(view.id));
|
| + for (ScopedVector<DevToolsEventListener>::const_iterator listener =
|
| + devtools_event_listeners_.begin();
|
| + listener != devtools_event_listeners_.end(); ++listener) {
|
| + client->AddListener(*listener);
|
| + // OnConnected will fire when DevToolsClient connects later.
|
| + }
|
| + web_views_.push_back(make_linked_ptr(new WebViewImpl(
|
| + view.id,
|
| + devtools_http_client_->browser_info(),
|
| + client.Pass(),
|
| + devtools_http_client_->device_metrics())));
|
| }
|
| - web_views_.push_back(make_linked_ptr(new WebViewImpl(
|
| - view.id,
|
| - devtools_http_client_->browser_info(),
|
| - client.Pass(),
|
| - devtools_http_client_->device_metrics())));
|
| }
|
| }
|
|
|
|
|