| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 cr.define('options.contentSettings', function() { | 5 cr.define('options.contentSettings', function() { |
| 6 const DeletableItemList = options.DeletableItemList; | 6 const DeletableItemList = options.DeletableItemList; |
| 7 const DeletableItem = options.DeletableItem; | 7 const DeletableItem = options.DeletableItem; |
| 8 const ArrayDataModel = cr.ui.ArrayDataModel; | 8 const ArrayDataModel = cr.ui.ArrayDataModel; |
| 9 | 9 |
| 10 /** | 10 /** |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 | 417 |
| 418 var exceptionList = this; | 418 var exceptionList = this; |
| 419 function handleBlur(e) { | 419 function handleBlur(e) { |
| 420 // When the blur event happens we do not know who is getting focus so we | 420 // When the blur event happens we do not know who is getting focus so we |
| 421 // delay this a bit until we know if the new focus node is outside the | 421 // delay this a bit until we know if the new focus node is outside the |
| 422 // list. | 422 // list. |
| 423 var doc = e.target.ownerDocument; | 423 var doc = e.target.ownerDocument; |
| 424 window.setTimeout(function() { | 424 window.setTimeout(function() { |
| 425 var activeElement = doc.activeElement; | 425 var activeElement = doc.activeElement; |
| 426 if (!exceptionList.contains(activeElement)) | 426 if (!exceptionList.contains(activeElement)) |
| 427 exceptionList.selectionModel.clear(); | 427 exceptionList.selectionModel.unselectAll(); |
| 428 }, 50); | 428 }, 50); |
| 429 } | 429 } |
| 430 | 430 |
| 431 this.addEventListener('blur', handleBlur, true); | 431 this.addEventListener('blur', handleBlur, true); |
| 432 | 432 |
| 433 // Whether the exceptions in this list allow an 'Ask every time' option. | 433 // Whether the exceptions in this list allow an 'Ask every time' option. |
| 434 this.enableAskOption = (this.contentType == 'plugins' && | 434 this.enableAskOption = (this.contentType == 'plugins' && |
| 435 templateData.enable_click_to_play); | 435 templateData.enable_click_to_play); |
| 436 | 436 |
| 437 this.autoExpands = true; | 437 this.autoExpands = true; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 451 } else { | 451 } else { |
| 452 var addRowItem = new ExceptionsAddRowListItem(this.contentType, | 452 var addRowItem = new ExceptionsAddRowListItem(this.contentType, |
| 453 this.mode, | 453 this.mode, |
| 454 this.enableAskOption); | 454 this.enableAskOption); |
| 455 addRowItem.deletable = false; | 455 addRowItem.deletable = false; |
| 456 return addRowItem; | 456 return addRowItem; |
| 457 } | 457 } |
| 458 }, | 458 }, |
| 459 | 459 |
| 460 /** | 460 /** |
| 461 * Adds an exception to the js model. | 461 * Sets the exceptions in the js model. |
| 462 * @param {Object} entry A dictionary of values for the exception. | 462 * @param {Object} entries A list of dictionaries of values, each dictionary |
| 463 * represents an exception. |
| 463 */ | 464 */ |
| 464 addException: function(entry) { | 465 setExceptions: function(entries) { |
| 466 var deleteCount = this.dataModel.length; |
| 467 |
| 465 if (this.isEditable()) { | 468 if (this.isEditable()) { |
| 466 // We have to add it before the Add New Exception row. | 469 // We don't want to remove the Add New Exception row. |
| 467 this.dataModel.splice(this.dataModel.length - 1, 0, entry); | 470 deleteCount = deleteCount - 1; |
| 468 } else { | |
| 469 this.dataModel.push(entry); | |
| 470 } | 471 } |
| 472 |
| 473 var args = [0, deleteCount]; |
| 474 args.push.apply(args, entries); |
| 475 this.dataModel.splice.apply(this.dataModel, args); |
| 471 }, | 476 }, |
| 472 | 477 |
| 473 /** | 478 /** |
| 474 * The browser has finished checking a pattern for validity. Update the | 479 * The browser has finished checking a pattern for validity. Update the |
| 475 * list item to reflect this. | 480 * list item to reflect this. |
| 476 * @param {string} pattern The pattern. | 481 * @param {string} pattern The pattern. |
| 477 * @param {bool} valid Whether said pattern is valid in the context of | 482 * @param {bool} valid Whether said pattern is valid in the context of |
| 478 * a content exception setting. | 483 * a content exception setting. |
| 479 */ | 484 */ |
| 480 patternValidityCheckComplete: function(pattern, valid) { | 485 patternValidityCheckComplete: function(pattern, valid) { |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 602 } | 607 } |
| 603 }; | 608 }; |
| 604 | 609 |
| 605 return { | 610 return { |
| 606 ExceptionsListItem: ExceptionsListItem, | 611 ExceptionsListItem: ExceptionsListItem, |
| 607 ExceptionsAddRowListItem: ExceptionsAddRowListItem, | 612 ExceptionsAddRowListItem: ExceptionsAddRowListItem, |
| 608 ExceptionsList: ExceptionsList, | 613 ExceptionsList: ExceptionsList, |
| 609 ContentSettingsExceptionsArea: ContentSettingsExceptionsArea, | 614 ContentSettingsExceptionsArea: ContentSettingsExceptionsArea, |
| 610 }; | 615 }; |
| 611 }); | 616 }); |
| OLD | NEW |