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

Side by Side Diff: Source/devtools/front_end/documentation/DocumentationView.js

Issue 662793002: [DevTools] Replace usages of document with custom functions. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 /** 5 /**
6 * @constructor 6 * @constructor
7 * @extends {WebInspector.View} 7 * @extends {WebInspector.View}
8 */ 8 */
9 WebInspector.DocumentationView = function() 9 WebInspector.DocumentationView = function()
10 { 10 {
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 } 91 }
92 92
93 /** 93 /**
94 * @constructor 94 * @constructor
95 * @param {!WebInspector.JSArticle} article 95 * @param {!WebInspector.JSArticle} article
96 * @param {string} searchItem 96 * @param {string} searchItem
97 */ 97 */
98 WebInspector.DocumentationView.Renderer = function(article, searchItem) 98 WebInspector.DocumentationView.Renderer = function(article, searchItem)
99 { 99 {
100 this._searchItem = searchItem; 100 this._searchItem = searchItem;
101 this._element = document.createElement("div"); 101 this._element = createElement("div");
102 this._article = article; 102 this._article = article;
103 } 103 }
104 104
105 WebInspector.DocumentationView.Renderer.prototype = { 105 WebInspector.DocumentationView.Renderer.prototype = {
106 /** 106 /**
107 * @return {!Element} 107 * @return {!Element}
108 */ 108 */
109 renderJSArticle: function() 109 renderJSArticle: function()
110 { 110 {
111 this._element.appendChild(this._createPageTitle(this._article.pageTitle, this._searchItem)); 111 this._element.appendChild(this._createPageTitle(this._article.pageTitle, this._searchItem));
(...skipping 27 matching lines...) Expand all
139 return this._element; 139 return this._element;
140 }, 140 },
141 141
142 /** 142 /**
143 * @param {string} titleText 143 * @param {string} titleText
144 * @param {string} searchItem 144 * @param {string} searchItem
145 * @return {!Element} 145 * @return {!Element}
146 */ 146 */
147 _createPageTitle: function(titleText, searchItem) 147 _createPageTitle: function(titleText, searchItem)
148 { 148 {
149 var pageTitle = document.createElementWithClass("div", "documentation-pa ge-title"); 149 var pageTitle = createElementWithClass("div", "documentation-page-title" );
150 if (titleText) 150 if (titleText)
151 pageTitle.textContent = titleText; 151 pageTitle.textContent = titleText;
152 else if (searchItem) 152 else if (searchItem)
153 pageTitle.textContent = searchItem; 153 pageTitle.textContent = searchItem;
154 return pageTitle; 154 return pageTitle;
155 }, 155 },
156 156
157 /** 157 /**
158 * @param {!Array.<!WebInspector.JSArticle.Parameter>} parameters 158 * @param {!Array.<!WebInspector.JSArticle.Parameter>} parameters
159 * @param {?WebInspector.JSArticle.Method} method 159 * @param {?WebInspector.JSArticle.Method} method
160 * @return {?Element} 160 * @return {?Element}
161 */ 161 */
162 _createSignatureSection: function(parameters, method) 162 _createSignatureSection: function(parameters, method)
163 { 163 {
164 if (!parameters.length && !method) 164 if (!parameters.length && !method)
165 return null; 165 return null;
166 var signature = document.createElementWithClass("div", "documentation-me thod-signature monospace"); 166 var signature = createElementWithClass("div", "documentation-method-sign ature monospace");
167 if (method && method.returnValueName) { 167 if (method && method.returnValueName) {
168 var returnTypeElement = signature.createChild("span", "documentation -parameter-data-type-value"); 168 var returnTypeElement = signature.createChild("span", "documentation -parameter-data-type-value");
169 returnTypeElement.textContent = method.returnValueName; 169 returnTypeElement.textContent = method.returnValueName;
170 } 170 }
171 var methodName = signature.createChild("span", "documentation-method-nam e"); 171 var methodName = signature.createChild("span", "documentation-method-nam e");
172 methodName.textContent = this._searchItem.split(".").peekLast() + "("; 172 methodName.textContent = this._searchItem.split(".").peekLast() + "(";
173 for (var i = 0; i < parameters.length; ++i) { 173 for (var i = 0; i < parameters.length; ++i) {
174 if (i > 0) 174 if (i > 0)
175 signature.createTextChild(",") 175 signature.createTextChild(",")
176 var parameterType = signature.createChild("span", "documentation-par ameter-data-type-value"); 176 var parameterType = signature.createChild("span", "documentation-par ameter-data-type-value");
177 parameterType.textContent = parameters[i].dataType; 177 parameterType.textContent = parameters[i].dataType;
178 var parameterName = signature.createChild("span", "documentation-par ameter-name"); 178 var parameterName = signature.createChild("span", "documentation-par ameter-name");
179 parameterName.textContent = parameters[i].name; 179 parameterName.textContent = parameters[i].name;
180 } 180 }
181 181
182 signature.createTextChild(")"); 182 signature.createTextChild(")");
183 return signature; 183 return signature;
184 }, 184 },
185 185
186 /** 186 /**
187 * @param {!Array.<!WebInspector.JSArticle.Parameter>} parameters 187 * @param {!Array.<!WebInspector.JSArticle.Parameter>} parameters
188 * @return {?Element} 188 * @return {?Element}
189 */ 189 */
190 _createParametersSection: function(parameters) 190 _createParametersSection: function(parameters)
191 { 191 {
192 if (!parameters.length) 192 if (!parameters.length)
193 return null; 193 return null;
194 var table = document.createElementWithClass("table", "documentation-tabl e"); 194 var table = createElementWithClass("table", "documentation-table");
195 var tableBody = table.createChild("tbody"); 195 var tableBody = table.createChild("tbody");
196 var headerRow = tableBody.createChild("tr", "documentation-table-row"); 196 var headerRow = tableBody.createChild("tr", "documentation-table-row");
197 var tableHeader = headerRow.createChild("th", "documentation-table-heade r"); 197 var tableHeader = headerRow.createChild("th", "documentation-table-heade r");
198 tableHeader.textContent = WebInspector.UIString("Parameters"); 198 tableHeader.textContent = WebInspector.UIString("Parameters");
199 tableHeader.colSpan = 3; 199 tableHeader.colSpan = 3;
200 for (var i = 0; i < parameters.length; ++i) { 200 for (var i = 0; i < parameters.length; ++i) {
201 var tableRow = tableBody.createChild("tr", "documentation-table-row" ); 201 var tableRow = tableBody.createChild("tr", "documentation-table-row" );
202 var type = tableRow.createChild("td", "documentation-table-cell"); 202 var type = tableRow.createChild("td", "documentation-table-cell");
203 type.textContent = parameters[i].dataType; 203 type.textContent = parameters[i].dataType;
204 var name = tableRow.createChild("td", "documentation-table-cell"); 204 var name = tableRow.createChild("td", "documentation-table-cell");
205 name.textContent = parameters[i].optional ? WebInspector.UIString("( optional)\n") : ""; 205 name.textContent = parameters[i].optional ? WebInspector.UIString("( optional)\n") : "";
206 name.textContent += parameters[i].name; 206 name.textContent += parameters[i].name;
207 var description = tableRow.createChild("td", "documentation-table-ce ll"); 207 var description = tableRow.createChild("td", "documentation-table-ce ll");
208 if (parameters[i].description) 208 if (parameters[i].description)
209 description.appendChild(this._renderBlock(/** @type {!WebInspect or.WikiParser.Block} */(parameters[i].description))); 209 description.appendChild(this._renderBlock(/** @type {!WebInspect or.WikiParser.Block} */(parameters[i].description)));
210 } 210 }
211 return table; 211 return table;
212 }, 212 },
213 213
214 /** 214 /**
215 * @param {!Array.<!WebInspector.JSArticle.Example>} examples 215 * @param {!Array.<!WebInspector.JSArticle.Example>} examples
216 */ 216 */
217 _createExamplesSection: function(examples) 217 _createExamplesSection: function(examples)
218 { 218 {
219 if (!examples.length) 219 if (!examples.length)
220 return; 220 return;
221 221
222 var section = document.createElementWithClass("div", "documentation-sect ion"); 222 var section = createElementWithClass("div", "documentation-section");
223 223
224 for (var i = 0; i < examples.length; ++i) { 224 for (var i = 0; i < examples.length; ++i) {
225 var example = section.createChild("div", "documentation-example"); 225 var example = section.createChild("div", "documentation-example");
226 var exampleDescription = example.createChild("div", "documentation-e xample-description-section"); 226 var exampleDescription = example.createChild("div", "documentation-e xample-description-section");
227 if (examples[i].description) { 227 if (examples[i].description) {
228 var description = this._renderBlock(/** @type {!WebInspector.Wik iParser.Block} */(examples[i].description)); 228 var description = this._renderBlock(/** @type {!WebInspector.Wik iParser.Block} */(examples[i].description));
229 description.classList.add("documentation-text"); 229 description.classList.add("documentation-text");
230 exampleDescription.appendChild(description); 230 exampleDescription.appendChild(description);
231 } 231 }
232 var code = example.createChild("div", "documentation-code source-cod e"); 232 var code = example.createChild("div", "documentation-code source-cod e");
(...skipping 10 matching lines...) Expand all
243 * @param {!WebInspector.WikiParser.ArticleElement} article 243 * @param {!WebInspector.WikiParser.ArticleElement} article
244 * @return {!Element} 244 * @return {!Element}
245 */ 245 */
246 _renderBlock: function(article) 246 _renderBlock: function(article)
247 { 247 {
248 var element; 248 var element;
249 var elementTypes = WebInspector.WikiParser.ArticleElement.Type; 249 var elementTypes = WebInspector.WikiParser.ArticleElement.Type;
250 250
251 switch (article.type()) { 251 switch (article.type()) {
252 case elementTypes.Inline: 252 case elementTypes.Inline:
253 element = document.createElement("span"); 253 element = createElement("span");
254 break; 254 break;
255 case elementTypes.Link: 255 case elementTypes.Link:
256 element = document.createElementWithClass("a", "documentation-link") ; 256 element = createElementWithClass("a", "documentation-link");
257 element.href = article.url(); 257 element.href = article.url();
258 if (!article.children().length) 258 if (!article.children().length)
259 element.textContent = article.url(); 259 element.textContent = article.url();
260 break; 260 break;
261 case elementTypes.Code: 261 case elementTypes.Code:
262 element = document.createElementWithClass("span", "documentation-cod e-tag"); 262 element = createElementWithClass("span", "documentation-code-tag");
263 break; 263 break;
264 case elementTypes.CodeBlock: 264 case elementTypes.CodeBlock:
265 element = document.createElementWithClass("pre", "documentation-code source-code"); 265 element = createElementWithClass("pre", "documentation-code source-c ode");
266 element.textContent = article.code(); 266 element.textContent = article.code();
267 break; 267 break;
268 case elementTypes.PlainText: 268 case elementTypes.PlainText:
269 element = document.createElement("span"); 269 element = createElement("span");
270 element.textContent = article.text(); 270 element.textContent = article.text();
271 if (article.isHighlighted()) 271 if (article.isHighlighted())
272 element.classList.add("documentation-highlighted-text"); 272 element.classList.add("documentation-highlighted-text");
273 break; 273 break;
274 case elementTypes.Block: 274 case elementTypes.Block:
275 element = document.createElement(article.hasBullet() ? "li" : "div") ; 275 element = createElement(article.hasBullet() ? "li" : "div");
276 if (!article.hasBullet()) 276 if (!article.hasBullet())
277 element.classList.add("documentation-paragraph"); 277 element.classList.add("documentation-paragraph");
278 break; 278 break;
279 case elementTypes.Table: 279 case elementTypes.Table:
280 return this._renderTable(/** @type {!WebInspector.WikiParser.Table} */(article)); 280 return this._renderTable(/** @type {!WebInspector.WikiParser.Table} */(article));
281 default: 281 default:
282 throw new Error("Unknown ArticleElement type " + article.type()); 282 throw new Error("Unknown ArticleElement type " + article.type());
283 } 283 }
284 284
285 if (article.type() === WebInspector.WikiParser.ArticleElement.Type.Block 285 if (article.type() === WebInspector.WikiParser.ArticleElement.Type.Block
286 || article.type() === WebInspector.WikiParser.ArticleElement.Type.Co de 286 || article.type() === WebInspector.WikiParser.ArticleElement.Type.Co de
287 || article.type() === WebInspector.WikiParser.ArticleElement.Type.In line) { 287 || article.type() === WebInspector.WikiParser.ArticleElement.Type.In line) {
288 for (var i = 0; i < article.children().length; ++i) { 288 for (var i = 0; i < article.children().length; ++i) {
289 var child = this._renderBlock(article.children()[i]); 289 var child = this._renderBlock(article.children()[i]);
290 if (child) 290 if (child)
291 element.appendChild(child); 291 element.appendChild(child);
292 } 292 }
293 } 293 }
294 294
295 return element; 295 return element;
296 }, 296 },
297 297
298 /** 298 /**
299 * @param {!WebInspector.WikiParser.Table} table 299 * @param {!WebInspector.WikiParser.Table} table
300 * @return {!Element} 300 * @return {!Element}
301 */ 301 */
302 _renderTable: function(table) 302 _renderTable: function(table)
303 { 303 {
304 var tableElement = document.createElementWithClass("table", "documentati on-table"); 304 var tableElement = createElementWithClass("table", "documentation-table" );
305 var tableBody = tableElement.createChild("tbody"); 305 var tableBody = tableElement.createChild("tbody");
306 var headerRow = tableBody.createChild("tr", "documentation-table-row"); 306 var headerRow = tableBody.createChild("tr", "documentation-table-row");
307 for (var i = 0; i < table.columnNames().length; ++i) { 307 for (var i = 0; i < table.columnNames().length; ++i) {
308 var tableHeader = headerRow.createChild("th", "documentation-table-h eader"); 308 var tableHeader = headerRow.createChild("th", "documentation-table-h eader");
309 tableHeader.appendChild(this._renderBlock(table.columnNames()[i])); 309 tableHeader.appendChild(this._renderBlock(table.columnNames()[i]));
310 } 310 }
311 for (var i = 0; i < table.rows().length; ++i) { 311 for (var i = 0; i < table.rows().length; ++i) {
312 var tableRow = tableBody.createChild("tr", "documentation-table-row" ); 312 var tableRow = tableBody.createChild("tr", "documentation-table-row" );
313 var row = table.rows()[i]; 313 var row = table.rows()[i];
314 for (var j = 0; j < row.length; ++j) { 314 for (var j = 0; j < row.length; ++j) {
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 function findPreviousToken(textRange) 420 function findPreviousToken(textRange)
421 { 421 {
422 var line = textEditor.line(textRange.startLine); 422 var line = textEditor.line(textRange.startLine);
423 if (textRange.startColumn < 3 || line[textRange.startColumn - 1] !== ".") 423 if (textRange.startColumn < 3 || line[textRange.startColumn - 1] !== ".")
424 return null; 424 return null;
425 var token = textEditor.tokenAtTextPosition(textRange.startLine, text Range.startColumn - 2); 425 var token = textEditor.tokenAtTextPosition(textRange.startLine, text Range.startColumn - 2);
426 return token ? line.substring(token.startColumn, token.endColumn) : null; 426 return token ? line.substring(token.startColumn, token.endColumn) : null;
427 } 427 }
428 } 428 }
429 } 429 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/devices/DevicesView.js ('k') | Source/devtools/front_end/elements/AnimationsSidebarPane.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698