| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 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 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * | 10 * |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 var pathRegex = /(\/[^#?]*)?/; | 93 var pathRegex = /(\/[^#?]*)?/; |
| 94 var queryRegex = /(?:\?([^#]*))?/; | 94 var queryRegex = /(?:\?([^#]*))?/; |
| 95 var fragmentRegex = /(?:#(.*))?/; | 95 var fragmentRegex = /(?:#(.*))?/; |
| 96 | 96 |
| 97 WebInspector.ParsedURL._urlRegexInstance = new RegExp("^" + schemeRegex.sour
ce + hostRegex.source + portRegex.source + pathRegex.source + queryRegex.source
+ fragmentRegex.source + "$"); | 97 WebInspector.ParsedURL._urlRegexInstance = new RegExp("^" + schemeRegex.sour
ce + hostRegex.source + portRegex.source + pathRegex.source + queryRegex.source
+ fragmentRegex.source + "$"); |
| 98 return WebInspector.ParsedURL._urlRegexInstance; | 98 return WebInspector.ParsedURL._urlRegexInstance; |
| 99 } | 99 } |
| 100 | 100 |
| 101 /** | 101 /** |
| 102 * @param {string} url | 102 * @param {string} url |
| 103 * @return {!Array.<string>} | 103 * @return {string} |
| 104 */ | 104 */ |
| 105 WebInspector.ParsedURL.splitURLIntoPathComponents = function(url) | 105 WebInspector.ParsedURL.extractPath = function(url) |
| 106 { | 106 { |
| 107 if (url.startsWith("/")) | 107 var parsedURL = url.asParsedURL(); |
| 108 url = "file://" + url; | 108 return parsedURL ? parsedURL.path : ""; |
| 109 var parsedURL = new WebInspector.ParsedURL(url); | |
| 110 var origin; | |
| 111 var folderPath; | |
| 112 var name; | |
| 113 if (parsedURL.isValid) { | |
| 114 origin = parsedURL.scheme + "://" + parsedURL.host; | |
| 115 if (parsedURL.port) | |
| 116 origin += ":" + parsedURL.port; | |
| 117 folderPath = parsedURL.folderPathComponents; | |
| 118 name = parsedURL.lastPathComponent; | |
| 119 if (parsedURL.queryParams) | |
| 120 name += "?" + parsedURL.queryParams; | |
| 121 } else { | |
| 122 origin = ""; | |
| 123 folderPath = ""; | |
| 124 name = url; | |
| 125 } | |
| 126 var result = [origin]; | |
| 127 var splittedPath = folderPath.split("/"); | |
| 128 for (var i = 1; i < splittedPath.length; ++i) { | |
| 129 if (!splittedPath[i]) | |
| 130 continue; | |
| 131 result.push(splittedPath[i]); | |
| 132 } | |
| 133 result.push(name); | |
| 134 return result; | |
| 135 } | 109 } |
| 136 | 110 |
| 137 /** | 111 /** |
| 138 * @param {string} url | 112 * @param {string} url |
| 139 * @return {string} | 113 * @return {string} |
| 140 */ | 114 */ |
| 141 WebInspector.ParsedURL.extractOrigin = function(url) | 115 WebInspector.ParsedURL.extractOrigin = function(url) |
| 142 { | 116 { |
| 143 var parsedURL = new WebInspector.ParsedURL(url); | 117 var parsedURL = url.asParsedURL(); |
| 144 if (!parsedURL.isValid) | 118 return parsedURL ? parsedURL.securityOrigin() : ""; |
| 145 return ""; | |
| 146 | |
| 147 var origin = parsedURL.scheme + "://" + parsedURL.host; | |
| 148 if (parsedURL.port) | |
| 149 origin += ":" + parsedURL.port; | |
| 150 return origin; | |
| 151 } | 119 } |
| 152 | 120 |
| 153 /** | 121 /** |
| 154 * @param {string} url | 122 * @param {string} url |
| 155 * @return {string} | 123 * @return {string} |
| 156 */ | 124 */ |
| 157 WebInspector.ParsedURL.extractExtension = function(url) | 125 WebInspector.ParsedURL.extractExtension = function(url) |
| 158 { | 126 { |
| 159 var lastIndexOfDot = url.lastIndexOf("."); | 127 var lastIndexOfDot = url.lastIndexOf("."); |
| 160 var extension = lastIndexOfDot !== -1 ? url.substr(lastIndexOfDot + 1) : ""; | 128 var extension = lastIndexOfDot !== -1 ? url.substr(lastIndexOfDot + 1) : ""; |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 348 /** | 316 /** |
| 349 * @return {?WebInspector.ParsedURL} | 317 * @return {?WebInspector.ParsedURL} |
| 350 */ | 318 */ |
| 351 String.prototype.asParsedURL = function() | 319 String.prototype.asParsedURL = function() |
| 352 { | 320 { |
| 353 var parsedURL = new WebInspector.ParsedURL(this.toString()); | 321 var parsedURL = new WebInspector.ParsedURL(this.toString()); |
| 354 if (parsedURL.isValid) | 322 if (parsedURL.isValid) |
| 355 return parsedURL; | 323 return parsedURL; |
| 356 return null; | 324 return null; |
| 357 } | 325 } |
| OLD | NEW |