12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "content/common/gpu/gpu_memory_manager_client.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "content/common/gpu/gpu_memory_manager.h"
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace content {
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)GpuMemoryManagerClientState::GpuMemoryManagerClientState(
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    GpuMemoryManager* memory_manager,
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    GpuMemoryManagerClient* client,
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    GpuMemoryTrackingGroup* tracking_group,
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    bool has_surface,
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    bool visible)
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : memory_manager_(memory_manager),
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      client_(client),
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      tracking_group_(tracking_group),
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      has_surface_(has_surface),
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      visible_(visible),
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      list_iterator_valid_(false),
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      hibernated_(false) {
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)GpuMemoryManagerClientState::~GpuMemoryManagerClientState() {
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  memory_manager_->OnDestroyClientState(this);
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void GpuMemoryManagerClientState::SetVisible(bool visible) {
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  memory_manager_->SetClientStateVisible(this, visible);
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace content
35