12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 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)cr.define('options', function() {
65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  /** @const */ var Page = cr.ui.pageManager.Page;
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /**
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   * Encapsulated handling of the BrowserOptions calls from
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   * BluetoothOptionsHandler that is registered by the webUI,
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   * ie, BluetoothPairingUI.
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   * @constructor
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   */
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  function BrowserOptions() {
155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    Page.call(this, 'bluetooth', '', 'bluetooth-container');
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  cr.addSingletonGetter(BrowserOptions);
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  BrowserOptions.prototype = {
215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    __proto__: Page.prototype,
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  };
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  BrowserOptions.showBluetoothSettings = function() {
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  };
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  BrowserOptions.setBluetoothState = function() {
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  };
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  /**
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   * Handles addBluetoothDevice call, display the Bluetooth pairing overlay
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   * for the pairing device.
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   * @param {{name: string,
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   *          address: string,
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   *          paired: boolean,
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   *          pairing: string | undefined
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   *          pincode: string | undefined
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   *          passkey: number | undefined
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   *          connected: boolean}} device
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)   */
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  BrowserOptions.addBluetoothDevice = function(device) {
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // One device can be in the process of pairing.  If found, display
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // the Bluetooth pairing overlay.
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    if (device.pairing)
452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      BluetoothPairing.showDialog(device);
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  };
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  BrowserOptions.removeBluetoothDevice = function(address) {
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  };
502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // Export
522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return {
532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    BrowserOptions: BrowserOptions
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  };
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)});
56