12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_PAIRING_DIALOG_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_PAIRING_DIALOG_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <string> 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/compiler_specific.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/values.h" 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/gfx/native_widget_types.h" 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/web_dialogs/web_dialog_delegate.h" 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace device { 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class BluetoothDevice; 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace chromeos { 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Bluetooth device pairing dialog shown form ash tray bubble. 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class BluetoothPairingDialog : public ui::WebDialogDelegate { 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BluetoothPairingDialog(gfx::NativeWindow parent_window, 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const device::BluetoothDevice* device); 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual ~BluetoothPairingDialog(); 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void Show(); 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) protected: 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // ui::WebDialogDelegate implementation. 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual ui::ModalType GetDialogModalType() const OVERRIDE; 33a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) virtual base::string16 GetDialogTitle() const OVERRIDE; 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual GURL GetDialogContentURL() const OVERRIDE; 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void GetWebUIMessageHandlers( 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::vector<content::WebUIMessageHandler*>* handlers) const OVERRIDE; 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void GetDialogSize(gfx::Size* size) const OVERRIDE; 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual std::string GetDialogArgs() const OVERRIDE; 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // NOTE: This function deletes this object at the end. 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void OnDialogClosed(const std::string& json_retval) OVERRIDE; 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void OnCloseContents( 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content::WebContents* source, bool* out_close_dialog) OVERRIDE; 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool ShouldShowDialogTitle() const OVERRIDE; 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool HandleContextMenu( 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const content::ContextMenuParams& params) OVERRIDE; 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) gfx::NativeWindow parent_window_; 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) base::DictionaryValue device_data_; 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(BluetoothPairingDialog); 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace chromeos 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_PAIRING_DIALOG_H_ 57