Index: chrome/browser/custom_handlers/protocol_handler_registry.cc |
diff --git a/chrome/browser/custom_handlers/protocol_handler_registry.cc b/chrome/browser/custom_handlers/protocol_handler_registry.cc |
index a98610fac9e43a6bd93bef81643d0bad9c387002..c0e69ac0f57e5fed22383d5e5f2c86102e4c197b 100644 |
--- a/chrome/browser/custom_handlers/protocol_handler_registry.cc |
+++ b/chrome/browser/custom_handlers/protocol_handler_registry.cc |
@@ -261,20 +261,11 @@ void ProtocolHandlerRegistry::DefaultClientObserver::SetDefaultWebClientUIState( |
} |
} |
-bool ProtocolHandlerRegistry::DefaultClientObserver:: |
- IsInteractiveSetDefaultPermitted() { |
- return true; |
-} |
- |
void ProtocolHandlerRegistry::DefaultClientObserver::SetWorker( |
shell_integration::DefaultProtocolClientWorker* worker) { |
worker_ = worker; |
} |
-bool ProtocolHandlerRegistry::DefaultClientObserver::IsOwnedByWorker() { |
- return true; |
-} |
- |
// Delegate -------------------------------------------------------------------- |
ProtocolHandlerRegistry::Delegate::~Delegate() {} |
@@ -303,7 +294,8 @@ shell_integration::DefaultProtocolClientWorker* |
ProtocolHandlerRegistry::Delegate::CreateShellWorker( |
shell_integration::DefaultWebClientObserver* observer, |
const std::string& protocol) { |
- return new shell_integration::DefaultProtocolClientWorker(observer, protocol); |
+ return new shell_integration::DefaultProtocolClientWorker( |
+ observer, protocol, /*delete_observer=*/true); |
} |
ProtocolHandlerRegistry::DefaultClientObserver* |
@@ -315,7 +307,7 @@ ProtocolHandlerRegistry::Delegate::CreateShellObserver( |
void ProtocolHandlerRegistry::Delegate::RegisterWithOSAsDefaultClient( |
const std::string& protocol, ProtocolHandlerRegistry* registry) { |
DefaultClientObserver* observer = CreateShellObserver(registry); |
- // The worker pointer is reference counted. While it is running the |
+ // The worker pointer is reference counted. While it is running, the |
// message loops of the FILE and UI thread will hold references to it |
// and it will be automatically freed once all its tasks have finished. |
scoped_refptr<shell_integration::DefaultProtocolClientWorker> worker; |