Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / devtools / front_end / bindings / ResourceUtils.js
index 325a080..f42de1e 100644 (file)
@@ -96,9 +96,8 @@ WebInspector.displayNameForURL = function(url)
  */
 WebInspector.linkifyStringAsFragmentWithCustomLinkifier = function(string, linkifier)
 {
-    var container = document.createDocumentFragment();
+    var container = createDocumentFragment();
     var linkStringRegEx = /(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\/\/|data:|www\.)[\w$\-_+*'=\|\/\\(){}[\]^%@&#~,:;.!?]{2,}[\w$\-_+*=\|\/\\({^%@&#~]/;
-    var lineColumnRegEx = /:(\d+)(:(\d+))?$/;
 
     while (string) {
         var linkString = linkStringRegEx.exec(string);
@@ -108,31 +107,25 @@ WebInspector.linkifyStringAsFragmentWithCustomLinkifier = function(string, linki
         linkString = linkString[0];
         var linkIndex = string.indexOf(linkString);
         var nonLink = string.substring(0, linkIndex);
-        container.appendChild(document.createTextNode(nonLink));
+        container.appendChild(createTextNode(nonLink));
 
         var title = linkString;
         var realURL = (linkString.startsWith("www.") ? "http://" + linkString : linkString);
-        var lineColumnMatch = lineColumnRegEx.exec(realURL);
-        var lineNumber;
-        var columnNumber;
-        if (lineColumnMatch) {
-            realURL = realURL.substring(0, realURL.length - lineColumnMatch[0].length);
-            lineNumber = parseInt(lineColumnMatch[1], 10);
-            // Immediately convert line and column to 0-based numbers.
-            lineNumber = isNaN(lineNumber) ? undefined : lineNumber - 1;
-            if (typeof(lineColumnMatch[3]) === "string") {
-                columnNumber = parseInt(lineColumnMatch[3], 10);
-                columnNumber = isNaN(columnNumber) ? undefined : columnNumber - 1;
-            }
-        }
+        var parsedURL = new WebInspector.ParsedURL(realURL);
+        var splitResult = WebInspector.ParsedURL.splitLineAndColumn(parsedURL.lastPathComponent);
+        var linkNode;
+        if (splitResult) {
+            var link = realURL.substring(0, realURL.length - parsedURL.lastPathComponent.length + splitResult.url.length);
+            linkNode = linkifier(title, link, splitResult.lineNumber, splitResult.columnNumber);
+        } else
+            linkNode = linkifier(title, realURL);
 
-        var linkNode = linkifier(title, realURL, lineNumber, columnNumber);
         container.appendChild(linkNode);
         string = string.substring(linkIndex + linkString.length, string.length);
     }
 
     if (string)
-        container.appendChild(document.createTextNode(string));
+        container.appendChild(createTextNode(string));
 
     return container;
 }
@@ -181,7 +174,7 @@ WebInspector.linkifyURLAsNode = function(url, linkText, classes, isExternal, too
     classes = (classes ? classes + " " : "");
     classes += isExternal ? "webkit-html-external-link" : "webkit-html-resource-link";
 
-    var a = document.createElement("a");
+    var a = createElement("a");
     var href = sanitizeHref(url);
     if (href !== null)
         a.href = href;