tab_closeable_state_watcher.cc revision 3345a6884c488ff3a535c2c9acdd33d74b37e311
1// Copyright (c) 2010 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/tab_closeable_state_watcher.h"
6
7#include "base/command_line.h"
8#include "chrome/common/chrome_switches.h"
9
10#if defined(OS_CHROMEOS)
11#include "chrome/browser/chromeos/tab_closeable_state_watcher.h"
12#endif  // defined(OS_CHROMEOS)
13
14////////////////////////////////////////////////////////////////////////////////
15// TabCloseableStateWatcher, static:
16
17::TabCloseableStateWatcher* ::TabCloseableStateWatcher::Create() {
18  ::TabCloseableStateWatcher* watcher = NULL;
19#if defined(OS_CHROMEOS)
20  // We only watch closeable state of tab on chromeos, and only when it's not
21  // disabled (tests will have the disable switch).
22  if (!CommandLine::ForCurrentProcess()->HasSwitch(
23      switches::kDisableTabCloseableStateWatcher))
24    watcher = new chromeos::TabCloseableStateWatcher();
25#endif  // OS_CHROMEOS
26  if (!watcher)
27    watcher = new ::TabCloseableStateWatcher();
28  return watcher;
29}
30