OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_CUSTOM_HANDLERS_PROTOCOL_HANDLER_REGISTRY_H_ | 5 #ifndef CHROME_BROWSER_CUSTOM_HANDLERS_PROTOCOL_HANDLER_REGISTRY_H_ |
6 #define CHROME_BROWSER_CUSTOM_HANDLERS_PROTOCOL_HANDLER_REGISTRY_H_ | 6 #define CHROME_BROWSER_CUSTOM_HANDLERS_PROTOCOL_HANDLER_REGISTRY_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 : public shell_integration::DefaultWebClientObserver { | 46 : public shell_integration::DefaultWebClientObserver { |
47 public: | 47 public: |
48 explicit DefaultClientObserver(ProtocolHandlerRegistry* registry); | 48 explicit DefaultClientObserver(ProtocolHandlerRegistry* registry); |
49 ~DefaultClientObserver() override; | 49 ~DefaultClientObserver() override; |
50 | 50 |
51 // Get response from the worker regarding whether Chrome is the default | 51 // Get response from the worker regarding whether Chrome is the default |
52 // handler for the protocol. | 52 // handler for the protocol. |
53 void SetDefaultWebClientUIState( | 53 void SetDefaultWebClientUIState( |
54 shell_integration::DefaultWebClientUIState state) override; | 54 shell_integration::DefaultWebClientUIState state) override; |
55 | 55 |
56 bool IsInteractiveSetDefaultPermitted() override; | |
57 | |
58 // Give the observer a handle to the worker, so we can find out the protocol | 56 // Give the observer a handle to the worker, so we can find out the protocol |
59 // when we're called and also tell the worker if we get deleted. | 57 // when we're called and also tell the worker if we get deleted. |
60 void SetWorker(shell_integration::DefaultProtocolClientWorker* worker); | 58 void SetWorker(shell_integration::DefaultProtocolClientWorker* worker); |
61 | 59 |
62 protected: | 60 protected: |
63 shell_integration::DefaultProtocolClientWorker* worker_; | 61 shell_integration::DefaultProtocolClientWorker* worker_; |
64 | 62 |
65 private: | 63 private: |
66 bool IsOwnedByWorker() override; | |
67 | |
68 // This is a raw pointer, not reference counted, intentionally. In general | 64 // This is a raw pointer, not reference counted, intentionally. In general |
69 // subclasses of DefaultWebClientObserver are not able to be refcounted | 65 // subclasses of DefaultWebClientObserver are not able to be refcounted |
70 // e.g. the browser options page | 66 // e.g. the browser options page |
71 ProtocolHandlerRegistry* registry_; | 67 ProtocolHandlerRegistry* registry_; |
72 | 68 |
73 DISALLOW_COPY_AND_ASSIGN(DefaultClientObserver); | 69 DISALLOW_COPY_AND_ASSIGN(DefaultClientObserver); |
74 }; | 70 }; |
75 | 71 |
76 // |Delegate| provides an interface for interacting asynchronously | 72 // |Delegate| provides an interface for interacting asynchronously |
77 // with the underlying OS for the purposes of registering Chrome | 73 // with the underlying OS for the purposes of registering Chrome |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 | 382 |
387 // Copy of registry data for use on the IO thread. Changes to the registry | 383 // Copy of registry data for use on the IO thread. Changes to the registry |
388 // are posted to the IO thread where updates are applied to this object. | 384 // are posted to the IO thread where updates are applied to this object. |
389 scoped_refptr<IOThreadDelegate> io_thread_delegate_; | 385 scoped_refptr<IOThreadDelegate> io_thread_delegate_; |
390 | 386 |
391 DefaultClientObserverList default_client_observers_; | 387 DefaultClientObserverList default_client_observers_; |
392 | 388 |
393 DISALLOW_COPY_AND_ASSIGN(ProtocolHandlerRegistry); | 389 DISALLOW_COPY_AND_ASSIGN(ProtocolHandlerRegistry); |
394 }; | 390 }; |
395 #endif // CHROME_BROWSER_CUSTOM_HANDLERS_PROTOCOL_HANDLER_REGISTRY_H_ | 391 #endif // CHROME_BROWSER_CUSTOM_HANDLERS_PROTOCOL_HANDLER_REGISTRY_H_ |
OLD | NEW |