blob: e01bb722d4e69d9d2a675eab38868fc070c24025 [file] [log] [blame]
Ben Murdochca12bfa2013-07-23 11:17:05 +01001// Copyright 2013 The Chromium Authors. All rights reserved.
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Ben Murdochca12bfa2013-07-23 11:17:05 +01005#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00006
7namespace extensions {
8
Ben Murdochbb1529c2013-08-08 10:24:53 +01009DisplayInfoProvider::DisplayInfoProvider() {
10}
11
12DisplayInfoProvider::~DisplayInfoProvider() {
13}
14
Ben Murdoch7dbb3d52013-07-17 14:55:54 +010015// Static member intialization.
Ben Murdochbb1529c2013-08-08 10:24:53 +010016base::LazyInstance<scoped_refptr<DisplayInfoProvider > >
17 DisplayInfoProvider::provider_ = LAZY_INSTANCE_INITIALIZER;
Ben Murdoch7dbb3d52013-07-17 14:55:54 +010018
19const DisplayInfo& DisplayInfoProvider::display_info() const {
20 return info_;
21}
22
Ben Murdochbb1529c2013-08-08 10:24:53 +010023void DisplayInfoProvider::InitializeForTesting(
24 scoped_refptr<DisplayInfoProvider> provider) {
25 DCHECK(provider.get() != NULL);
26 provider_.Get() = provider;
27}
28
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000029// static
Ben Murdochbb1529c2013-08-08 10:24:53 +010030DisplayInfoProvider* DisplayInfoProvider::Get() {
31 if (provider_.Get().get() == NULL)
32 provider_.Get() = new DisplayInfoProvider();
33 return provider_.Get();
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000034}
35
36} // namespace extensions