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

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 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 "content/public/browser/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();
26
27 if (host_)
28 system_ui_resource_manager_.RefreshResources();
25 } 29 }
26 30
27 void UIResourceProviderImpl::UIResourcesAreInvalid() { 31 void UIResourceProviderImpl::UIResourcesAreInvalid() {
28 UIResourceClientMap client_map = ui_resource_client_map_; 32 UIResourceClientMap client_map = ui_resource_client_map_;
29 ui_resource_client_map_.clear(); 33 ui_resource_client_map_.clear();
30 for (UIResourceClientMap::iterator iter = client_map.begin(); 34 for (UIResourceClientMap::iterator iter = client_map.begin();
31 iter != client_map.end(); 35 iter != client_map.end();
32 iter++) { 36 iter++) {
33 iter->second->UIResourceIsInvalid(); 37 iter->second->UIResourceIsInvalid();
34 } 38 }
(...skipping 15 matching lines...) Expand all
50 ui_resource_client_map_.find(ui_resource_id); 54 ui_resource_client_map_.find(ui_resource_id);
51 DCHECK(iter != ui_resource_client_map_.end()); 55 DCHECK(iter != ui_resource_client_map_.end());
52 56
53 ui_resource_client_map_.erase(iter); 57 ui_resource_client_map_.erase(iter);
54 58
55 if (!host_) 59 if (!host_)
56 return; 60 return;
57 host_->DeleteUIResource(ui_resource_id); 61 host_->DeleteUIResource(ui_resource_id);
58 } 62 }
59 63
64 ui::SystemUIResourceManager&
65 UIResourceProviderImpl::GetSystemUIResourceManager() {
66 return system_ui_resource_manager_;
67 }
68
60 } // namespace content 69 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698