| Index: lib/basedomain.js | 
| =================================================================== | 
| --- a/lib/basedomain.js | 
| +++ b/lib/basedomain.js | 
| @@ -158,6 +158,30 @@ | 
| } | 
|  | 
| /** | 
| + * Extracts host name from the URL of the given frame. If the URL don't have host | 
| + * information (like about:blank or data: URLs) it falls back to the parent frame. | 
| + */ | 
| +function extractHostFromFrame(frame) | 
| +{ | 
| +  var host = extractHostFromURL(frame.url); | 
| +  if (!host) | 
| +  { | 
| +    var parentFrame = frame.parent; | 
| +    if (parentFrame) | 
| +      return extractHostFromFrame(parentFrame); | 
| +  } | 
| +  return host; | 
| +} | 
| + | 
| +/** | 
| + * Strips the fragment from a URL. | 
| + */ | 
| +function stripFragmentFromURL(/**String*/ url) | 
| +{ | 
| +  return url.replace(/#.*/, ""); | 
| +} | 
| + | 
| +/** | 
| * Parses URLs and provides an interface similar to nsIURI in Gecko, see | 
| * https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIURI. | 
| * TODO: Make sure the parsing actually works the same as nsStandardURL. | 
|  |