| Index: chrome_frame/turndown_prompt/reshow_state.cc
|
| diff --git a/chrome_frame/turndown_prompt/reshow_state.cc b/chrome_frame/turndown_prompt/reshow_state.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cf7e2f9cbbaefff5c59650a7a628639837c03085
|
| --- /dev/null
|
| +++ b/chrome_frame/turndown_prompt/reshow_state.cc
|
| @@ -0,0 +1,39 @@
|
| +// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome_frame/turndown_prompt/reshow_state.h"
|
| +
|
| +#include "base/win/registry.h"
|
| +#include "chrome_frame/utils.h"
|
| +
|
| +namespace {
|
| +
|
| +const wchar_t kTurndownPromptLastShown[] = L"TurndownPromptLastShown";
|
| +
|
| +}
|
| +
|
| +namespace turndown_prompt {
|
| +
|
| +ReshowState::ReshowState(const base::TimeDelta& reshow_delta)
|
| + : reshow_delta_(reshow_delta) {
|
| +}
|
| +
|
| +ReshowState::~ReshowState() {
|
| +}
|
| +
|
| +bool ReshowState::HasReshowDeltaExpired(const base::Time& current_time) const {
|
| + int64 last_shown = GetConfigInt64(0LL, kTurndownPromptLastShown);
|
| + if (!last_shown)
|
| + return true;
|
| +
|
| + base::Time last_shown_time(base::Time::FromInternalValue(last_shown));
|
| +
|
| + return current_time - last_shown_time >= reshow_delta_;
|
| +}
|
| +
|
| +void ReshowState::MarkShown(const base::Time& last_shown_time) {
|
| + SetConfigInt64(kTurndownPromptLastShown, last_shown_time.ToInternalValue());
|
| +}
|
| +
|
| +} // namespace turndown_prompt
|
|
|