summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/trace-viewer/src/tracing/record_selection_dialog.js
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/trace-viewer/src/tracing/record_selection_dialog.js')
-rw-r--r--chromium/third_party/trace-viewer/src/tracing/record_selection_dialog.js272
1 files changed, 0 insertions, 272 deletions
diff --git a/chromium/third_party/trace-viewer/src/tracing/record_selection_dialog.js b/chromium/third_party/trace-viewer/src/tracing/record_selection_dialog.js
deleted file mode 100644
index 3f7e85e68c2..00000000000
--- a/chromium/third_party/trace-viewer/src/tracing/record_selection_dialog.js
+++ /dev/null
@@ -1,272 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-'use strict';
-
-/**
- * @fileoverview RecordSelectionDialog presents the available categories
- * to be enabled/disabled during tracing.
- */
-base.requireTemplate('tracing.record_selection_dialog');
-
-base.require('base.utils');
-base.require('tracing.filter');
-base.require('ui.overlay');
-base.require('ui.dom_helpers');
-
-base.exportTo('tracing', function() {
- var RecordSelectionDialog = ui.define('div');
-
- RecordSelectionDialog.prototype = {
- __proto__: ui.Overlay.prototype,
-
- decorate: function() {
- ui.Overlay.prototype.decorate.call(this);
- this.title = 'Record a new trace...';
-
- this.classList.add('record-dialog-overlay');
-
- var node = base.instantiateTemplate('#record-selection-dialog-template');
- this.appendChild(node);
-
- this.recordButtonEl_ = document.createElement('button');
- this.recordButtonEl_.textContent = 'Record';
- this.recordButtonEl_.addEventListener(
- 'click',
- this.onRecordButtonClicked_.bind(this));
- this.recordButtonEl_.style.fontSize = '110%';
- this.rightButtons.appendChild(this.recordButtonEl_);
-
- this.continuousTracingBn_ = ui.createCheckBox(
- undefined, undefined,
- 'recordSelectionDialog.useContinuousTracing', true,
- 'Continuous tracing');
- this.systemTracingBn_ = ui.createCheckBox(
- undefined, undefined,
- 'recordSelectionDialog.useSystemTracing', true,
- 'System tracing');
- this.samplingTracingBn_ = ui.createCheckBox(
- undefined, undefined,
- 'recordSelectionDialog.useSampling', false,
- 'State sampling');
- this.leftButtons.appendChild(this.continuousTracingBn_);
- this.leftButtons.appendChild(this.systemTracingBn_);
- this.leftButtons.appendChild(this.samplingTracingBn_);
-
- this.enabledCategoriesContainerEl_ =
- this.querySelector('.default-enabled-categories .categories');
-
- this.disabledCategoriesContainerEl_ =
- this.querySelector('.default-disabled-categories .categories');
-
- this.createGroupSelectButtons_(
- this.querySelector('.default-enabled-categories'));
- this.createGroupSelectButtons_(
- this.querySelector('.default-disabled-categories'));
-
- this.addEventListener('visibleChange', this.onVisibleChange_.bind(this));
- },
-
- set supportsSystemTracing(s) {
- if (s) {
- this.systemTracingBn_.style.display = undefined;
- } else {
- this.systemTracingBn_.style.display = 'none';
- this.useSystemTracing = false;
- }
- },
-
- get useContinuousTracing() {
- return this.continuousTracingBn_.checked;
- },
- set useContinuousTracing(value) {
- this.continuousTracingBn_.checked = !!value;
- },
-
- get useSystemTracing() {
- return this.systemTracingBn_.checked;
- },
- set useSystemTracing(value) {
- this.systemTracingBn_.checked = !!value;
- },
- get useSampling() {
- return this.samplingTracingBn_.checked;
- },
- set useSampling(value) {
- this.samplingTracingBn_.checked = !!value;
- },
-
- set categories(c) {
- this.categories_ = c;
- },
-
- set settings_key(k) {
- this.settings_key_ = k;
- },
-
- set settings(s) {
- throw new Error('Dont use this!');
- },
-
- categoryFilter: function() {
- var categories = this.unselectedCategories_();
- var categories_length = categories.length;
- var negated_categories = [];
- for (var i = 0; i < categories_length; ++i) {
- // Skip any category with a , as it will cause issues when we negate.
- // Both sides should have been added as separate categories, these can
- // only come from settings.
- if (categories[i].match(/,/))
- continue;
- negated_categories.push('-' + categories[i]);
- }
- categories = negated_categories.join(',');
-
- var disabledCategories = this.enabledDisabledByDefaultCategories_();
- disabledCategories = disabledCategories.join(',');
-
- var results = [];
- if (categories !== '')
- results.push(categories);
- if (disabledCategories !== '')
- results.push(disabledCategories);
-
- return results.join(',');
- },
-
- clickRecordButton: function() {
- this.recordButtonEl_.click();
- },
-
- onRecordButtonClicked_: function() {
- this.visible = false;
- base.dispatchSimpleEvent(this, 'recordclick');
- return false;
- },
-
- collectInputs_: function(inputs, isChecked) {
- var inputs_length = inputs.length;
- var categories = [];
- for (var i = 0; i < inputs_length; ++i) {
- var input = inputs[i];
- if (input.checked === isChecked)
- categories.push(input.value);
- }
- return categories;
- },
-
- unselectedCategories_: function() {
- var inputs =
- this.enabledCategoriesContainerEl_.querySelectorAll('input');
- return this.collectInputs_(inputs, false);
- },
-
- enabledDisabledByDefaultCategories_: function() {
- var inputs =
- this.disabledCategoriesContainerEl_.querySelectorAll('input');
- return this.collectInputs_(inputs, true);
- },
-
- onVisibleChange_: function() {
- if (this.visible)
- this.updateForm_();
- },
-
- buildInputs_: function(inputs, checkedDefault, parent) {
- var inputs_length = inputs.length;
- for (var i = 0; i < inputs_length; i++) {
- var category = inputs[i];
-
- var inputEl = document.createElement('input');
- inputEl.type = 'checkbox';
- inputEl.id = category;
- inputEl.value = category;
-
- inputEl.checked = base.Settings.get(
- category, checkedDefault, this.settings_key_);
- inputEl.onclick = this.updateSetting_.bind(this);
-
- var labelEl = document.createElement('label');
- labelEl.textContent = category.replace('disabled-by-default-', '');
- labelEl.setAttribute('for', category);
-
- var divEl = document.createElement('div');
- divEl.appendChild(inputEl);
- divEl.appendChild(labelEl);
-
- parent.appendChild(divEl);
- }
- },
-
- updateForm_: function() {
- this.enabledCategoriesContainerEl_.innerHTML = ''; // Clear old categories
- this.disabledCategoriesContainerEl_.innerHTML = '';
-
- this.recordButtonEl_.focus();
-
- // Dedup the categories. We may have things in settings that are also
- // returned when we query the category list.
- var set = {};
- var allCategories =
- this.categories_.concat(base.Settings.keys(this.settings_key_));
- var allCategoriesLength = allCategories.length;
- for (var i = 0; i < allCategoriesLength; ++i) {
- set[allCategories[i]] = true;
- }
-
- var categories = [];
- var disabledCategories = [];
- for (var category in set) {
- if (category.indexOf('disabled-by-default-') == 0)
- disabledCategories.push(category);
- else
- categories.push(category);
- }
- disabledCategories = disabledCategories.sort();
- categories = categories.sort();
-
- this.buildInputs_(categories, true, this.enabledCategoriesContainerEl_);
-
- if (disabledCategories.length > 0) {
- this.disabledCategoriesContainerEl_.hidden = false;
- this.buildInputs_(disabledCategories, false,
- this.disabledCategoriesContainerEl_);
- }
- },
-
- updateSetting_: function(e) {
- var checkbox = e.target;
- base.Settings.set(checkbox.value, checkbox.checked, this.settings_key_);
- },
-
- createGroupSelectButtons_: function(parent) {
- var flipInputs = function(dir) {
- var inputs = parent.querySelectorAll('input');
- for (var i = 0; i < inputs.length; i++) {
- if (inputs[i].checked === dir)
- continue;
- // click() is used so the settings will be correclty stored. Setting
- // checked does not trigger the onclick (or onchange) callback.
- inputs[i].click();
- }
- };
-
- var allBtn = parent.querySelector('.all-btn');
- allBtn.onclick = function(evt) {
- flipInputs(true);
- evt.preventDefault();
- };
-
- var noneBtn = parent.querySelector('.none-btn');
- noneBtn.onclick = function(evt) {
- flipInputs(false);
- evt.preventDefault();
- };
- }
- };
-
- return {
- RecordSelectionDialog: RecordSelectionDialog
- };
-});