bluetooth_pairing_dialog.cc revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
1// Copyright (c) 2012 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/bluetooth/bluetooth_pairing_dialog.h" 6 7#include "base/json/json_writer.h" 8#include "chrome/browser/profiles/profile_manager.h" 9#include "chrome/browser/ui/browser_dialogs.h" 10#include "chrome/common/url_constants.h" 11#include "device/bluetooth/bluetooth_device.h" 12#include "grit/generated_resources.h" 13#include "ui/base/l10n/l10n_util.h" 14#include "ui/gfx/size.h" 15 16using content::WebContents; 17using content::WebUIMessageHandler; 18 19namespace chromeos { 20 21namespace { 22 23// Default width/height ratio of screen size. 24const int kDefaultWidth = 480; 25const int kDefaultHeight = 280; 26 27} // namespace 28 29/////////////////////////////////////////////////////////////////////////////// 30// BluetoothPairingDialog, public: 31 32BluetoothPairingDialog::BluetoothPairingDialog( 33 gfx::NativeWindow parent_window, 34 const device::BluetoothDevice* device) 35 : parent_window_(parent_window) { 36 device_data_.SetString("address", device->GetAddress()); 37 device_data_.SetString("name", device->GetName()); 38 device_data_.SetBoolean("paired", device->IsPaired()); 39 device_data_.SetBoolean("connected", device->IsConnected()); 40} 41 42BluetoothPairingDialog::~BluetoothPairingDialog() { 43} 44 45void BluetoothPairingDialog::Show() { 46 chrome::ShowWebDialog(parent_window_, 47 ProfileManager::GetDefaultProfile(), 48 this); 49} 50 51/////////////////////////////////////////////////////////////////////////////// 52// LoginWebDialog, protected: 53 54ui::ModalType BluetoothPairingDialog::GetDialogModalType() const { 55 return ui::MODAL_TYPE_SYSTEM; 56} 57 58base::string16 BluetoothPairingDialog::GetDialogTitle() const { 59 return l10n_util::GetStringUTF16( 60 IDS_OPTIONS_SETTINGS_BLUETOOTH_ADD_DEVICE_TITLE); 61} 62 63GURL BluetoothPairingDialog::GetDialogContentURL() const { 64 return GURL(chrome::kChromeUIBluetoothPairingURL); 65} 66 67void BluetoothPairingDialog::GetWebUIMessageHandlers( 68 std::vector<WebUIMessageHandler*>* handlers) const { 69} 70 71void BluetoothPairingDialog::GetDialogSize(gfx::Size* size) const { 72 size->SetSize(kDefaultWidth, kDefaultHeight); 73} 74 75std::string BluetoothPairingDialog::GetDialogArgs() const { 76 std::string data; 77 base::JSONWriter::Write(&device_data_, &data); 78 return data; 79} 80 81void BluetoothPairingDialog::OnDialogClosed(const std::string& json_retval) { 82 delete this; 83} 84 85void BluetoothPairingDialog::OnCloseContents(WebContents* source, 86 bool* out_close_dialog) { 87 if (out_close_dialog) 88 *out_close_dialog = true; 89} 90 91bool BluetoothPairingDialog::ShouldShowDialogTitle() const { 92 return true; 93} 94 95bool BluetoothPairingDialog::HandleContextMenu( 96 const content::ContextMenuParams& params) { 97 // Disable context menu. 98 return true; 99} 100 101} // namespace chromeos 102