Add ICU message format support
[chromium-blink-merge.git] / tools / memory_inspector / chrome_app / template / background.js
blob7128ff1669aa43914e990a64f0a488997b65c717
1 // Copyright 2015 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.
5 'use strict';
7 /**
8  * Singleton object representing the Memory Inspector Chrome App.
9  * @constructor
10  */
11 var MemoryInspectorApp = function() {
12   this.window_ = undefined;
15 /** Main window parameters. */
16 MemoryInspectorApp.WINDOW_URL = 'main_window.html';
17 MemoryInspectorApp.WINDOW_ID = 'main';
18 MemoryInspectorApp.WINDOW_WIDTH = Math.min(screen.width, 1200);
19 MemoryInspectorApp.WINDOW_HEIGHT = Math.min(screen.height, 800);
21 /**
22  * Launch the Memory Inspector. If it is already running, focus the main window.
23  */
24 MemoryInspectorApp.prototype.launch = function() {
25   if (this.window_ === undefined) {
26     this.start_();
27   } else {
28     this.focus_();
29   }
32 /**
33  * Start the Memory Inspector by creating the main window.
34  * @private
35  */
36 MemoryInspectorApp.prototype.start_ = function() {
37   var options = {
38     'id': MemoryInspectorApp.WINDOW_ID,
39     'bounds': {
40       'width': MemoryInspectorApp.WINDOW_WIDTH,
41       'height': MemoryInspectorApp.WINDOW_HEIGHT
42     },
43     'hidden': true  // The main window shows itself after it retrieves settings.
44   };
45   chrome.app.window.create(MemoryInspectorApp.WINDOW_URL, options,
46       this.onWindowCreated_.bind(this));
49 /**
50  * Listener called when the main window is created.
51  * @private
52  * @param {AppWindow} createdWindow The created window.
53  */
54 MemoryInspectorApp.prototype.onWindowCreated_ = function(createdWindow) {
55   this.window_ = createdWindow;
56   this.window_.onClosed.addListener(this.onWindowClosed_.bind(this));
59 /**
60  * Listener called when the main window is closed.
61  * @private
62  */
63 MemoryInspectorApp.prototype.onWindowClosed_ = function() {
64   this.window_ = undefined;
67 /**
68  * Focus the main window.
69  * @private
70  */
71 MemoryInspectorApp.prototype.focus_ = function() {
72   if (this.window_ !== undefined) {
73     this.window_.focus();
74   }
77 window.addEventListener('load', function() {
78   // Create the singleton MemoryInspectorApp instance and hook it up with the
79   // app launcher.
80   var app = new MemoryInspectorApp();
81   chrome.app.runtime.onLaunched.addListener(app.launch.bind(app));
83   // Make the instance global for debugging purposes.
84   window.app = app;
85 });