Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Side by Side Diff: Source/devtools/front_end/settings/SettingsScreen.js

Issue 548323002: DevTools: Blackbox content scripts - frontend. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: added a test Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 873 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 if (!itemId) 884 if (!itemId)
885 return; 885 return;
886 var listItem = this.itemForId(itemId); 886 var listItem = this.itemForId(itemId);
887 if (!listItem) 887 if (!listItem)
888 return; 888 return;
889 for (var i = 0; i < this._columns.length; ++i) { 889 for (var i = 0; i < this._columns.length; ++i) {
890 var column = this._columns[i]; 890 var column = this._columns[i];
891 var columnId = column.id; 891 var columnId = column.id;
892 892
893 var value = this._valuesProvider(itemId, columnId); 893 var value = this._valuesProvider(itemId, columnId);
894 var textElement = this._textElements.get(itemId).get(columnId); 894 this._setTextElementContent(itemId, columnId, value);
895 textElement.textContent = value;
896 textElement.title = value;
897 895
898 var editElement = this._editInputElements.get(itemId).get(columnId); 896 var editElement = this._editInputElements.get(itemId).get(columnId);
899 this._setEditElementValue(editElement, value || ""); 897 this._setEditElementValue(editElement, value || "");
900 } 898 }
901 }, 899 },
902 900
903 /** 901 /**
902 * @param {?string} itemId
903 * @param {string} columnId
904 */
905 _textElementContent: function(itemId, columnId)
906 {
907 if (!itemId)
908 return "";
909 return this._textElements.get(itemId).get(columnId).textContent.replace( /\u200B/g, "");
910 },
911
912 /**
913 * @param {string} itemId
914 * @param {string} columnId
915 * @param {string} text
916 */
917 _setTextElementContent: function(itemId, columnId, text)
918 {
919 var textElement = this._textElements.get(itemId).get(columnId);
920 textElement.textContent = text.replace(/.{4}/g, "$&\u200B");
921 textElement.title = text;
922 },
923
924 /**
904 * @param {!Element} columnElement 925 * @param {!Element} columnElement
905 * @param {{id: string, placeholder: (string|undefined), options: (!Array.<s tring>|undefined)}} column 926 * @param {{id: string, placeholder: (string|undefined), options: (!Array.<s tring>|undefined)}} column
906 * @param {?string} itemId 927 * @param {?string} itemId
907 */ 928 */
908 _renderColumn: function(columnElement, column, itemId) 929 _renderColumn: function(columnElement, column, itemId)
909 { 930 {
910 var columnId = column.id; 931 var columnId = column.id;
911 if (itemId === null) { 932 if (itemId === null) {
912 this._createEditElement(columnElement, column, itemId); 933 this._createEditElement(columnElement, column, itemId);
913 return; 934 return;
914 } 935 }
915 var validItemId = itemId; 936 var validItemId = itemId;
916 937
917 if (!this._editInputElements.has(itemId)) 938 if (!this._editInputElements.has(itemId))
918 this._editInputElements.set(itemId, new StringMap()); 939 this._editInputElements.set(itemId, new StringMap());
919 if (!this._textElements.has(itemId)) 940 if (!this._textElements.has(itemId))
920 this._textElements.set(itemId, new StringMap()); 941 this._textElements.set(itemId, new StringMap());
921 942
922 var value = this._valuesProvider(itemId, columnId); 943 var value = this._valuesProvider(itemId, columnId);
923 944
924 var textElement = /** @type {!HTMLSpanElement} */ (columnElement.createC hild("span", "list-column-text")); 945 var textElement = /** @type {!HTMLSpanElement} */ (columnElement.createC hild("span", "list-column-text"));
925 textElement.textContent = value;
926 textElement.title = value;
927 columnElement.addEventListener("click", rowClicked.bind(this), false); 946 columnElement.addEventListener("click", rowClicked.bind(this), false);
928 this._textElements.get(itemId).set(columnId, textElement); 947 this._textElements.get(itemId).set(columnId, textElement);
948 this._setTextElementContent(itemId, columnId, value);
929 949
930 this._createEditElement(columnElement, column, itemId, value); 950 this._createEditElement(columnElement, column, itemId, value);
931 951
932 /** 952 /**
933 * @param {!Event} event 953 * @param {!Event} event
934 * @this {WebInspector.EditableSettingsList} 954 * @this {WebInspector.EditableSettingsList}
935 */ 955 */
936 function rowClicked(event) 956 function rowClicked(event)
937 { 957 {
938 if (itemId === this._editingId) 958 if (itemId === this._editingId)
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 1069
1050 /** 1070 /**
1051 * @param {?string} itemId 1071 * @param {?string} itemId
1052 * @return {boolean} 1072 * @return {boolean}
1053 */ 1073 */
1054 _hasChanges: function(itemId) 1074 _hasChanges: function(itemId)
1055 { 1075 {
1056 var columns = this.columns(); 1076 var columns = this.columns();
1057 for (var i = 0; i < columns.length; ++i) { 1077 for (var i = 0; i < columns.length; ++i) {
1058 var columnId = columns[i]; 1078 var columnId = columns[i];
1059 var oldValue = itemId ? this._textElements.get(itemId).get(columnId) .textContent : ""; 1079 var oldValue = this._textElementContent(itemId, columnId);
1060 var newValue = this._inputElements(itemId).get(columnId).value; 1080 var newValue = this._inputElements(itemId).get(columnId).value;
1061 if (oldValue !== newValue) 1081 if (oldValue !== newValue)
1062 return true; 1082 return true;
1063 } 1083 }
1064 return false; 1084 return false;
1065 }, 1085 },
1066 1086
1067 /** 1087 /**
1068 * @param {?string} itemId 1088 * @param {?string} itemId
1069 * @param {!Event} event 1089 * @param {!Event} event
(...skipping 14 matching lines...) Expand all
1084 delete this._editingId; 1104 delete this._editingId;
1085 1105
1086 if (!this._hasChanges(itemId)) 1106 if (!this._hasChanges(itemId))
1087 return; 1107 return;
1088 1108
1089 if (!this._validateEdit(itemId)) { 1109 if (!this._validateEdit(itemId)) {
1090 var columns = this.columns(); 1110 var columns = this.columns();
1091 for (var i = 0; i < columns.length; ++i) { 1111 for (var i = 0; i < columns.length; ++i) {
1092 var columnId = columns[i]; 1112 var columnId = columns[i];
1093 var editElement = this._editInputElements.get(itemId).get(column Id); 1113 var editElement = this._editInputElements.get(itemId).get(column Id);
1094 this._setEditElementValue(editElement, this._textElements.get(it emId).get(columnId).textContent); 1114 this._setEditElementValue(editElement, this._textElementContent( itemId, columnId));
1095 editElement.classList.remove("editable-item-error"); 1115 editElement.classList.remove("editable-item-error");
1096 } 1116 }
1097 return; 1117 return;
1098 } 1118 }
1099 this._editHandler(itemId, this._data(itemId)); 1119 this._editHandler(itemId, this._data(itemId));
1100 }, 1120 },
1101 1121
1102 /** 1122 /**
1103 * @param {!Event} event 1123 * @param {!Event} event
1104 */ 1124 */
(...skipping 15 matching lines...) Expand all
1120 var columnId = columns[i]; 1140 var columnId = columns[i];
1121 var editElement = this._addInputElements.get(columnId); 1141 var editElement = this._addInputElements.get(columnId);
1122 this._setEditElementValue(editElement, ""); 1142 this._setEditElementValue(editElement, "");
1123 } 1143 }
1124 }, 1144 },
1125 1145
1126 __proto__: WebInspector.SettingsList.prototype 1146 __proto__: WebInspector.SettingsList.prototype
1127 } 1147 }
1128 1148
1129 WebInspector._settingsController = new WebInspector.SettingsController(); 1149 WebInspector._settingsController = new WebInspector.SettingsController();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698