• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (c) 2011 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/**
6 * @fileoverview
7 **/
8
9goog.provide('google.cf.installer.Installer');
10
11goog.require('google.cf.ChromeFrame');
12goog.require('google.cf.installer.Prompt');
13
14/**
15 * @constructor
16 */
17google.cf.installer.Installer = function(prompt, chromeFrame) {
18  this.prompt_ = prompt;
19  this.chromeFrame_ = chromeFrame;
20};
21
22google.cf.installer.Installer.prototype.require =
23    function(opt_onInstall, opt_onFailure) {
24  if (this.chromeFrame_.isActiveRenderer())
25    return;
26
27  if (!this.chromeFrame_.isPlatformSupported()) {
28    if (opt_onFailure)
29      opt_onFailure();
30    return;
31  }
32
33  var successHandler = opt_onInstall || function() {
34    window.location.assign(window.location.href);
35  };
36
37  if (this.chromeFrame_.activate()) {
38    successHandler();
39    return;
40  }
41
42  this.prompt_.open(successHandler, opt_onFailure);
43};
44