if (!dojo._hasResource["dojox.layout.ContentPane"]) { // _hasResource checks // added by build. Do // not use _hasResource // directly in your // code. dojo._hasResource["dojox.layout.ContentPane"] = true; dojo.provide("dojox.layout.ContentPane"); dojo.require("dijit.layout.ContentPane"); (function() { // private scope, sort of a namespace // TODO: should these methods be moved to dojox.html.cssPathAdjust or // something? // css at-rules must be set before any css declarations according to CSS // spec // match: // @import 'http://dojotoolkit.org/dojo.css'; // @import 'you/never/thought/' print; // @import url("it/would/work") tv, screen; // @import url(/did/you/now.css); // but not: // @namespace dojo "http://dojotoolkit.org/dojo.css"; /* namespace URL // should always be a absolute URI */ // @charset 'utf-8'; // @media print{ #menuRoot {display:none;} } // we adjust all paths that dont start on '/' or contains ':' // (?![a-z]+:|\/) if (dojo.isIE) { var alphaImageLoader = /(AlphaImageLoader\([^)]*?src=(['"]))(?![a-z]+:|\/)([^\r\n;}]+?)(\2[^)]*\)\s*[;}]?)/g; } var cssPaths = /(?:(?:@import\s*(['"])(?![a-z]+:|\/)([^\r\n;{]+?)\1)|url\(\s*(['"]?)(?![a-z]+:|\/)([^\r\n;]+?)\3\s*\))([a-z, \s]*[;}]?)/g; function adjustCssPaths(cssUrl, cssText) { // summary: // adjusts relative paths in cssText to be relative to cssUrl // a path is considered relative if it doesn't start with '/' and // not contains ':' // description: // Say we fetch a HTML page from level1/page.html // It has some inline CSS: // @import "css/page.css" tv, screen; // ... // background-image: url(images/aplhaimage.png); // // as we fetched this HTML and therefore this CSS // from level1/page.html, these paths needs to be adjusted to: // @import 'level1/css/page.css' tv, screen; // ... // background-image: url(level1/images/alphaimage.png); // // In IE it will also adjust relative paths in AlphaImageLoader() // filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/alphaimage.png'); // will be adjusted to: // filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='level1/images/alphaimage.png'); // // Please note that any relative paths in AlphaImageLoader in // external css files wont work, as // the paths in AlphaImageLoader is MUST be declared relative to the // HTML page, // not relative to the CSS file that declares it if (!cssText || !cssUrl) { return; } // support the ImageAlphaFilter if it exists, most people use it in // IE 6 for transparent PNGs // We are NOT going to kill it in IE 7 just because the PNGs work // there. Somebody might have // other uses for it. // If user want to disable css filter in IE6 he/she should // unset filter in a declaration that just IE 6 doesn't understands // like * > .myselector { filter:none; } if (alphaImageLoader) { cssText = cssText.replace(alphaImageLoader, function(ignore, pre, delim, url, post) { return pre + (new dojo._Url(cssUrl, './' + url) .toString()) + post; }); } return cssText.replace(cssPaths, function(ignore, delimStr, strUrl, delimUrl, urlUrl, media) { if (strUrl) { return '@import "' + (new dojo._Url(cssUrl, './' + strUrl) .toString()) + '"' + media; } else { return 'url(' + (new dojo._Url(cssUrl, './' + urlUrl) .toString()) + ')' + media; } }); } // attributepaths one tag can have multiple paths, example: // or // var htmlAttrPaths = /(<[a-z][a-z0-9]*\s[^>]*)(?:(href|src)=(['"]?)([^>]*?)\3|style=(['"]?)([^>]*?)\5)([^>]*>)/gi; function adjustHtmlPaths(htmlUrl, cont) { var url = htmlUrl || "./"; return cont.replace(htmlAttrPaths, function(tag, start, name, delim, relUrl, delim2, cssText, end) { return start + (name ? (name + '=' + delim + (new dojo._Url(url, relUrl) .toString()) + delim) : ('style=' + delim2 + adjustCssPaths(url, cssText) + delim2)) + end; }); } function secureForInnerHtml(cont) { /** ******* remove .. tag ********* */ // khtml is picky about dom faults, you can't attach a