diff options
Diffstat (limited to 'content/browser/android/ui_resource_provider_impl.h')
-rw-r--r-- | content/browser/android/ui_resource_provider_impl.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/content/browser/android/ui_resource_provider_impl.h b/content/browser/android/ui_resource_provider_impl.h new file mode 100644 index 0000000..79c2301 --- /dev/null +++ b/content/browser/android/ui_resource_provider_impl.h @@ -0,0 +1,46 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_BROWSER_ANDROID_UI_RESOURCE_PROVIDER_IMPL_H_ +#define CONTENT_BROWSER_ANDROID_UI_RESOURCE_PROVIDER_IMPL_H_ + +#include "base/containers/hash_tables.h" +#include "content/public/browser/android/ui_resource_provider.h" + +namespace cc { +class LayerTreeHost; +} + +namespace content { + +class UIResourceClientAndroid; + +class UIResourceProviderImpl : public UIResourceProvider { + public: + UIResourceProviderImpl(); + + virtual ~UIResourceProviderImpl(); + + void SetLayerTreeHost(cc::LayerTreeHost* host); + + void UIResourcesAreInvalid(); + + virtual cc::UIResourceId CreateUIResource( + UIResourceClientAndroid* client) OVERRIDE; + + virtual void DeleteUIResource(cc::UIResourceId resource_id) OVERRIDE; + + private: + typedef base::hash_map<cc::UIResourceId, UIResourceClientAndroid*> + UIResourceClientMap; + UIResourceClientMap ui_resource_client_map_; + + cc::LayerTreeHost* host_; + + DISALLOW_COPY_AND_ASSIGN(UIResourceProviderImpl); +}; + +} // namespace content + +#endif // CONTENT_BROWSER_ANDROID_UI_RESOURCE_PROVIDER_IMPL_H_ |