Index: chrome/browser/automation/automation_provider.cc |
diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc |
index bd3fac189ad9a2446cb972e909a2a3b7dedb1ab1..14600417f8980f93228ffb5da5118c033ea8e840 100644 |
--- a/chrome/browser/automation/automation_provider.cc |
+++ b/chrome/browser/automation/automation_provider.cc |
@@ -83,6 +83,7 @@ |
#include "chrome/common/automation_constants.h" |
#include "chrome/common/chrome_constants.h" |
#include "chrome/common/chrome_paths.h" |
+#include "chrome/common/chrome_switches.h" |
#include "chrome/common/extensions/extension.h" |
#include "chrome/common/json_value_serializer.h" |
#include "chrome/common/net/url_request_context_getter.h" |
@@ -3341,7 +3342,8 @@ void TestingAutomationProvider::OnBrowserRemoving(const Browser* browser) { |
// For backwards compatibility with the testing automation interface, we |
// want the automation provider (and hence the process) to go away when the |
// last browser goes away. |
- if (BrowserList::size() == 1) { |
+ if (BrowserList::size() == 1 && !CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kKeepAliveForTest)) { |
// If you change this, update Observer for NotificationType::SESSION_END |
// below. |
MessageLoop::current()->PostTask(FROM_HERE, |