Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / net / network_portal_detector_test_impl.cc
1 // Copyright 2013 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/chromeos/net/network_portal_detector_test_impl.h"
6
7 #include "chromeos/network/network_state.h"
8
9 namespace chromeos {
10
11 NetworkPortalDetectorTestImpl::NetworkPortalDetectorTestImpl()
12     : strategy_id_(PortalDetectorStrategy::STRATEGY_ID_LOGIN_SCREEN) {
13 }
14
15 NetworkPortalDetectorTestImpl::~NetworkPortalDetectorTestImpl() {
16 }
17
18 void NetworkPortalDetectorTestImpl::SetDefaultNetworkPathForTesting(
19     const std::string& service_path) {
20   if (service_path.empty())
21     default_network_.reset();
22   else
23     default_network_.reset(new NetworkState(service_path));
24 }
25
26 void NetworkPortalDetectorTestImpl::SetDetectionResultsForTesting(
27     const std::string& service_path,
28     const CaptivePortalState& state) {
29   if (!service_path.empty())
30     portal_state_map_[service_path] = state;
31 }
32
33 void NetworkPortalDetectorTestImpl::NotifyObserversForTesting() {
34   CaptivePortalState state;
35   if (default_network_ &&
36       portal_state_map_.count(default_network_->path())) {
37     state = portal_state_map_[default_network_->path()];
38   }
39   FOR_EACH_OBSERVER(Observer, observers_,
40                     OnPortalDetectionCompleted(default_network_.get(), state));
41 }
42
43 void NetworkPortalDetectorTestImpl::AddObserver(Observer* observer) {
44   if (observer && !observers_.HasObserver(observer))
45     observers_.AddObserver(observer);
46 }
47
48 void NetworkPortalDetectorTestImpl::AddAndFireObserver(Observer* observer) {
49   AddObserver(observer);
50   if (!observer)
51     return;
52   if (!default_network_ ||
53       !portal_state_map_.count(default_network_->path())) {
54     observer->OnPortalDetectionCompleted(default_network_.get(),
55                                          CaptivePortalState());
56   } else {
57     observer->OnPortalDetectionCompleted(
58         default_network_.get(),
59         portal_state_map_[default_network_->path()]);
60   }
61 }
62
63 void NetworkPortalDetectorTestImpl::RemoveObserver(Observer* observer) {
64   if (observer)
65     observers_.RemoveObserver(observer);
66 }
67
68 NetworkPortalDetector::CaptivePortalState
69 NetworkPortalDetectorTestImpl::GetCaptivePortalState(
70     const std::string& service_path) {
71   CaptivePortalStateMap::iterator it = portal_state_map_.find(service_path);
72   if (it == portal_state_map_.end())
73     return CaptivePortalState();
74   return it->second;
75 }
76
77 bool NetworkPortalDetectorTestImpl::IsEnabled() {
78   return true;
79 }
80
81 void NetworkPortalDetectorTestImpl::Enable(bool start_detection) {
82 }
83
84 bool NetworkPortalDetectorTestImpl::StartDetectionIfIdle() {
85   return false;
86 }
87
88 void NetworkPortalDetectorTestImpl::SetStrategy(
89     PortalDetectorStrategy::StrategyId id) {
90   strategy_id_ = id;
91 }
92
93 }  // namespace chromeos