summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/crypto_module_password_dialog.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/crypto_module_password_dialog.cc')
-rw-r--r--chrome/browser/ui/crypto_module_password_dialog.cc102
1 files changed, 0 insertions, 102 deletions
diff --git a/chrome/browser/ui/crypto_module_password_dialog.cc b/chrome/browser/ui/crypto_module_password_dialog.cc
deleted file mode 100644
index c8b1d0d..0000000
--- a/chrome/browser/ui/crypto_module_password_dialog.cc
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright (c) 2012 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/ui/crypto_module_password_dialog.h"
-
-#include "base/basictypes.h"
-#include "base/bind.h"
-#include "base/strings/utf_string_conversions.h"
-#include "base/synchronization/waitable_event.h"
-#include "content/public/browser/browser_thread.h"
-#include "crypto/crypto_module_blocking_password_delegate.h"
-#include "grit/generated_resources.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "url/gurl.h"
-
-using content::BrowserThread;
-
-namespace chrome {
-
-namespace {
-
-class CryptoModuleBlockingDialogDelegate
- : public crypto::CryptoModuleBlockingPasswordDelegate {
- public:
- CryptoModuleBlockingDialogDelegate(CryptoModulePasswordReason reason,
- const std::string& server)
- : event_(false, false),
- reason_(reason),
- server_(server),
- cancelled_(false) {
- }
-
- virtual ~CryptoModuleBlockingDialogDelegate() {
- // Make sure we clear the password in memory.
- password_.replace(0, password_.size(), password_.size(), 0);
- }
-
- // crypto::CryptoModuleBlockingDialogDelegate implementation.
- virtual std::string RequestPassword(const std::string& slot_name,
- bool retry,
- bool* cancelled) OVERRIDE {
- DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK(!event_.IsSignaled());
- event_.Reset();
-
- if (BrowserThread::PostTask(
- BrowserThread::UI, FROM_HERE,
- base::Bind(&CryptoModuleBlockingDialogDelegate::ShowDialog,
- // We block on event_ until the task completes, so
- // there's no need to ref-count.
- base::Unretained(this),
- slot_name,
- retry))) {
- event_.Wait();
- }
- *cancelled = cancelled_;
- return password_;
- }
-
- private:
- void ShowDialog(const std::string& slot_name,
- bool retry) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- ShowCryptoModulePasswordDialog(
- slot_name,
- retry,
- reason_,
- server_,
- NULL, // TODO(mattm): Supply parent window.
- base::Bind(&CryptoModuleBlockingDialogDelegate::GotPassword,
- // We block on event_ until the task completes, so
- // there's no need to ref-count.
- base::Unretained(this)));
- }
-
- void GotPassword(const char* password) {
- if (password)
- password_ = password;
- else
- cancelled_ = true;
- event_.Signal();
- }
-
- base::WaitableEvent event_;
- CryptoModulePasswordReason reason_;
- std::string server_;
- std::string password_;
- bool cancelled_;
-
- DISALLOW_COPY_AND_ASSIGN(CryptoModuleBlockingDialogDelegate);
-};
-
-} // namespace
-
-crypto::CryptoModuleBlockingPasswordDelegate*
- NewCryptoModuleBlockingDialogDelegate(CryptoModulePasswordReason reason,
- const std::string& server) {
- return new CryptoModuleBlockingDialogDelegate(reason, server);
-}
-
-} // namespace chrome