| Index: chrome/browser/extensions/extension_browsertest.cc
 | 
| diff --git a/chrome/browser/extensions/extension_browsertest.cc b/chrome/browser/extensions/extension_browsertest.cc
 | 
| index f8358fa173e148a59a0eeb3c9c1b298914e8e316..0bab1eabf2b929e2451db63e8ec097dea9d2ac6f 100644
 | 
| --- a/chrome/browser/extensions/extension_browsertest.cc
 | 
| +++ b/chrome/browser/extensions/extension_browsertest.cc
 | 
| @@ -31,6 +31,7 @@
 | 
|  #include "chrome/test/base/ui_test_utils.h"
 | 
|  #include "content/public/browser/notification_registrar.h"
 | 
|  #include "content/public/browser/notification_service.h"
 | 
| +#include "content/public/browser/web_contents.h"
 | 
|  
 | 
|  ExtensionBrowserTest::ExtensionBrowserTest()
 | 
|      : loaded_(false),
 | 
| @@ -395,9 +396,11 @@ bool ExtensionBrowserTest::WaitForExtensionHostsToLoad() {
 | 
|  
 | 
|    ExtensionProcessManager* manager =
 | 
|          browser()->profile()->GetExtensionProcessManager();
 | 
| -  for (ExtensionProcessManager::const_iterator iter = manager->begin();
 | 
| -       iter != manager->end();) {
 | 
| -    if ((*iter)->did_stop_loading()) {
 | 
| +  ExtensionProcessManager::ContentsSet all_contents = manager->GetAllContents();
 | 
| +  for (ExtensionProcessManager::ContentsSet::const_iterator iter =
 | 
| +           all_contents.begin();
 | 
| +       iter != all_contents.end();) {
 | 
| +    if (!(*iter)->IsLoading()) {
 | 
|        ++iter;
 | 
|      } else {
 | 
|        ui_test_utils::RunMessageLoop();
 | 
| @@ -405,7 +408,7 @@ bool ExtensionBrowserTest::WaitForExtensionHostsToLoad() {
 | 
|        // Test activity may have modified the set of extension processes during
 | 
|        // message processing, so re-start the iteration to catch added/removed
 | 
|        // processes.
 | 
| -      iter = manager->begin();
 | 
| +      iter = all_contents.begin();
 | 
|      }
 | 
|    }
 | 
|    return true;
 | 
| 
 |