diff options
Diffstat (limited to 'chrome/browser/force_tls_persister.cc')
-rw-r--r-- | chrome/browser/force_tls_persister.cc | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/chrome/browser/force_tls_persister.cc b/chrome/browser/force_tls_persister.cc deleted file mode 100644 index a07f523..0000000 --- a/chrome/browser/force_tls_persister.cc +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright (c) 2006-2008 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/browser/force_tls_persister.h" - -#include "base/file_path.h" -#include "base/file_util.h" -#include "base/message_loop.h" -#include "base/path_service.h" -#include "base/thread.h" -#include "chrome/common/chrome_paths.h" -#include "net/base/force_tls_state.h" - -ForceTLSPersister::ForceTLSPersister(net::ForceTLSState* state, - base::Thread* file_thread) - : state_is_dirty_(false), - force_tls_state_(state), - file_thread_(file_thread) { - state->SetDelegate(this); - - Task* task = NewRunnableMethod(this, &ForceTLSPersister::LoadState); - file_thread->message_loop()->PostDelayedTask(FROM_HERE, task, - 1000 /* 1 second */); -} - -static FilePath GetStateFile() { - FilePath user_data_dir; - PathService::Get(chrome::DIR_USER_DATA, &user_data_dir); - return user_data_dir.Append("ForceTLSState"); -} - -void ForceTLSPersister::LoadState() { - // Runs on |file_thread_| - AutoLock locked_(lock_); - DCHECK(file_thread_->message_loop() == MessageLoop::current()); - - std::string state; - if (!file_util::ReadFileToString(GetStateFile(), &state)) - return; - - force_tls_state_->Deserialise(state); -} - -void ForceTLSPersister::StateIsDirty(net::ForceTLSState* state) { - // Runs on arbitary thread, may not block nor reenter |force_tls_state_| - AutoLock locked_(lock_); - DCHECK(state == force_tls_state_); - - if (state_is_dirty_) - return; // we already have a serialisation scheduled - - Task* task = NewRunnableMethod(this, &ForceTLSPersister::SerialiseState); - file_thread_->message_loop()->PostDelayedTask(FROM_HERE, task, - 1000 /* 1 second */); - state_is_dirty_ = true; -} - -void ForceTLSPersister::SerialiseState() { - // Runs on |file_thread_| - AutoLock locked_(lock_); - DCHECK(file_thread_->message_loop() == MessageLoop::current()); - - DCHECK(state_is_dirty_); - state_is_dirty_ = false; - - std::string state; - if (!force_tls_state_->Serialise(&state)) - return; - - file_util::WriteFile(GetStateFile(), state.data(), state.size()); -} |