Changeset 326

Show
Ignore:
Timestamp:
2007-05-23 22:22:51 (2 years ago)
Author:
MaierMan
Message:

Add an URL composer for embeds.
Fixed: #170

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/chrome/content/common/overlayFunctions.js

    r316 r326  
    396396                } 
    397397                catch (ex) { 
     398                        // no op! 
    398399                } 
    399400                return false; 
     401        }, 
     402         
     403        composeURL: function UM_compose(doc, rel) { 
     404                // find <base href> 
     405                var base = doc.location.href; 
     406                var bases = doc.getElementsByTagName('base'); 
     407                for (var i = 0; i < bases.length; ++i) { 
     408                        if (bases[i].hasAttribute('href')) { 
     409                                base = bases[i].getAttribute('href'); 
     410                                break; 
     411                        } 
     412                } 
     413                return this.ios.newURI(rel, doc.characterSet, this.ios.newURI(base, doc.characterSet, null)).spec; 
    400414        }, 
    401415 
  • trunk/chrome/content/integration/menu.js

    r274 r326  
    8181 
    8282                for (var i = 0; i<lnks.length; ++i) { 
     83                        var src = lnks[i].src; 
     84                        if (!DTA_AddingFunctions.isLinkOpenable(src)) { 
     85                                try { 
     86                                        src = DTA_AddingFunctions.composeURL(doc, src); 
     87                                } 
     88                                catch (ex) { 
     89                                        DTA_debug.dump("failed to compose: " + src, ex); 
     90                                        continue; 
     91                                } 
     92                        } 
    8393                        // if it's valid and it's new 
    84                         if (DTA_AddingFunctions.isLinkOpenable(lnks[i].src) && !(lnks[i].src in images)) { 
     94                        // better double check :p 
     95                        if (DTA_AddingFunctions.isLinkOpenable(src) && !(lnks[i].src in images)) { 
    8596                                // add to array 
    8697                                var desc = ''; 
     
    91102                                } 
    92103                                images[lnks[i].src] = { 
    93                                         'url': new DTA_URL(lnks[i].src, doc.characterSet), 
     104                                        'url': new DTA_URL(src, doc.characterSet), 
    94105                                        'refPage': ref, 
    95106                                        'description': desc