Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(870)

Side by Side Diff: content/browser/android/ui_resource_provider_impl.cc

Issue 377013002: android: Use UIResource for overscroll glow (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments. moved system_ui_resource* implementation to content Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "content/browser/android/ui_resource_provider_impl.h" 5 #include "content/browser/android/ui_resource_provider_impl.h"
6 6
7 #include "cc/resources/ui_resource_client.h" 7 #include "cc/resources/ui_resource_client.h"
8 #include "cc/trees/layer_tree_host.h" 8 #include "cc/trees/layer_tree_host.h"
9 #include "content/public/browser/android/ui_resource_client_android.h" 9 #include "ui/base/android/ui_resource_client_android.h"
10 10
11 namespace content { 11 namespace content {
12 12
13 UIResourceProviderImpl::UIResourceProviderImpl() : host_(NULL) { 13 UIResourceProviderImpl::UIResourceProviderImpl()
14 : system_ui_resource_manager_(this), host_(NULL) {
14 } 15 }
15 16
16 UIResourceProviderImpl::~UIResourceProviderImpl() { 17 UIResourceProviderImpl::~UIResourceProviderImpl() {
17 SetLayerTreeHost(NULL); 18 SetLayerTreeHost(NULL);
18 } 19 }
19 20
20 void UIResourceProviderImpl::SetLayerTreeHost(cc::LayerTreeHost* host) { 21 void UIResourceProviderImpl::SetLayerTreeHost(cc::LayerTreeHost* host) {
21 if (host_ == host) 22 if (host_ == host)
22 return; 23 return;
23 host_ = host; 24 host_ = host;
24 UIResourcesAreInvalid(); 25 UIResourcesAreInvalid();
25 } 26 }
26 27
27 void UIResourceProviderImpl::UIResourcesAreInvalid() { 28 void UIResourceProviderImpl::UIResourcesAreInvalid() {
28 UIResourceClientMap client_map = ui_resource_client_map_; 29 UIResourceClientMap client_map = ui_resource_client_map_;
29 ui_resource_client_map_.clear(); 30 ui_resource_client_map_.clear();
30 for (UIResourceClientMap::iterator iter = client_map.begin(); 31 for (UIResourceClientMap::iterator iter = client_map.begin();
31 iter != client_map.end(); 32 iter != client_map.end();
32 iter++) { 33 iter++) {
33 iter->second->UIResourceIsInvalid(); 34 iter->second->UIResourceIsInvalid();
34 } 35 }
35 } 36 }
36 37
37 cc::UIResourceId UIResourceProviderImpl::CreateUIResource( 38 cc::UIResourceId UIResourceProviderImpl::CreateUIResource(
38 UIResourceClientAndroid* client) { 39 ui::UIResourceClientAndroid* client) {
39 if (!host_) 40 if (!host_)
40 return 0; 41 return 0;
41 cc::UIResourceId id = host_->CreateUIResource(client); 42 cc::UIResourceId id = host_->CreateUIResource(client);
42 DCHECK(ui_resource_client_map_.find(id) == ui_resource_client_map_.end()); 43 DCHECK(ui_resource_client_map_.find(id) == ui_resource_client_map_.end());
43 44
44 ui_resource_client_map_[id] = client; 45 ui_resource_client_map_[id] = client;
45 return id; 46 return id;
46 } 47 }
47 48
48 void UIResourceProviderImpl::DeleteUIResource(cc::UIResourceId ui_resource_id) { 49 void UIResourceProviderImpl::DeleteUIResource(cc::UIResourceId ui_resource_id) {
49 UIResourceClientMap::iterator iter = 50 UIResourceClientMap::iterator iter =
50 ui_resource_client_map_.find(ui_resource_id); 51 ui_resource_client_map_.find(ui_resource_id);
51 DCHECK(iter != ui_resource_client_map_.end()); 52 DCHECK(iter != ui_resource_client_map_.end());
52 53
53 ui_resource_client_map_.erase(iter); 54 ui_resource_client_map_.erase(iter);
54 55
55 if (!host_) 56 if (!host_)
56 return; 57 return;
57 host_->DeleteUIResource(ui_resource_id); 58 host_->DeleteUIResource(ui_resource_id);
58 } 59 }
59 60
61 ui::SystemUIResourceManager&
62 UIResourceProviderImpl::GetSystemUIResourceManager() {
63 return system_ui_resource_manager_;
64 }
65
60 } // namespace content 66 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698