| Index: ui/aura/env.cc
|
| diff --git a/ui/aura/env.cc b/ui/aura/env.cc
|
| index 1799a59d9eb6718df033557d642377692c35319d..9436b2be50f4a95bc40322d8bef9a0a43b4b202c 100644
|
| --- a/ui/aura/env.cc
|
| +++ b/ui/aura/env.cc
|
| @@ -76,7 +76,7 @@ class Env::ActiveFocusClientWindowObserver : public WindowObserver {
|
| // Env, public:
|
|
|
| Env::~Env() {
|
| - if (RunningInsideMus())
|
| + if (is_os_exchange_data_provider_factory_)
|
| ui::OSExchangeDataProviderFactory::SetFactory(nullptr);
|
|
|
| for (EnvObserver& observer : observers_)
|
| @@ -197,7 +197,7 @@ Env::Env(Mode mode)
|
|
|
| void Env::Init() {
|
| if (RunningInsideMus()) {
|
| - ui::OSExchangeDataProviderFactory::SetFactory(this);
|
| + EnableMusOSExchangeDataProvider();
|
| return;
|
| }
|
|
|
| @@ -211,6 +211,13 @@ void Env::Init() {
|
| event_source_ = ui::PlatformEventSource::CreateDefault();
|
| }
|
|
|
| +void Env::EnableMusOSExchangeDataProvider() {
|
| + if (!is_os_exchange_data_provider_factory_) {
|
| + ui::OSExchangeDataProviderFactory::SetFactory(this);
|
| + is_os_exchange_data_provider_factory_ = true;
|
| + }
|
| +}
|
| +
|
| void Env::NotifyWindowInitialized(Window* window) {
|
| for (EnvObserver& observer : observers_)
|
| observer.OnWindowInitialized(window);
|
|
|