Thank for your reply, i have migrated to   2.8.2 but now i am facing new
issues

1. No RPC is call happened Ex: i existing Databasecall to load the data ,
save data ..etc but after we apply CSP (without unsafe-inline and
unsafe-eval) those are not working
2. Existing validations are not triggered ex: earlier my UI is throwing
error for mandatory data but now this is not working


On Thu, 7 Mar 2024 at 4:33 PM, paparao rambuddi <[email protected]>
wrote:

> Thank for your reply, i have migrated to   2.8.2 but now i am facing new
> issues
>
> 1. No RPC is call happened Ex: i existing Databasecall to load the data ,
> save data ..etc but after we apply CSP (without unsafe-inline and
> unsafe-eval) those are not working
> 2. Existing validations are not triggered ex: earlier my UI is throwing
> error for mandatory data but now this is not working
>
> On Thursday 7 March 2024 at 00:08:00 UTC+8 Thomas Broyer wrote:
>
>> The problem is not loading the nocache.js itself, but is triggered by the
>> setupInstallLocation function of the nocache.js, at line 71, specifically
>> the line:
>> $doc.body.appendChild(scriptFrame);
>> and probably due to that line:
>> scriptFrame.src = $intern_10;
>> because of:
>> $intern_10 = 'javascript:""'
>>
>> This was actually fixed in 2.8.2:
>> https://github.com/gwtproject/gwt/commit/f5df41df4016cd2ce4e6a15a637dbe2ddc4f3fab,
>> so you're probably using an older version.
>> One workaround, as described in the comments in that file is to extend
>> CrossSiteIframeLinker and override getJsInstallLocation() to return your
>> own script where you'd have applied the fix.
>>
>> …but then things will break in installCode and __installRunAsyncCode,
>> coming from
>> https://github.com/gwtproject/gwt/blob/2.8.2/dev/core/src/com/google/gwt/core/ext/linker/impl/installScriptDirect.js
>> and
>> https://github.com/gwtproject/gwt/blob/2.8.2/dev/core/src/com/google/gwt/core/ext/linker/impl/runAsync.js
>> respectively.
>> You'll want to replace those with modified versions (read
>> CrossSiteIframeLinker to see how to override them) that will add the nonce
>> to the dynamically created script (though as they're injected into the
>> iframe that's been dynamicallly created in setupInstallLocation, I'm not
>> sure how/which CSP applies there)
>> On Wednesday, March 6, 2024 at 4:47:29 PM UTC+1 [email protected]
>> wrote:
>>
>>> Hi Team
>>> Hope you are doing well
>>>
>>> i am using GWT version 2.8.2
>>> i am trying to apply content secure policy in GWT using  script-src
>>> 'self' and object-src 'self' without unsafe-inline and unsafe-eval but i am
>>> getting below
>>>
>>> setupInstallLocation @ AllDec.nocache.js?timeStamp=1709618887261:71
>>> AllDec.nocache.js?timeStamp=1709618887261:71 Refused to run the
>>> JavaScript URL because it violates the following Content Security Policy
>>> directive: "script-src 'self'  'nonce-alldec202403040001'
>>> 'nonce-alldec202403040002' 'nonce-trwFrame-202403040001'
>>> 'nonce-footer-202403040001' 'nonce-menu202403040001'
>>> 'nonce-Header2022092604' 'nonce-Header2022092603' 'nonce-Header2022092602'
>>> 'nonce-Header2022092601' 'nonce-header-momentjs-20221027'
>>> 'nonce-header-inline-2022102701' 'nonce-header-inline-2022102702'". Either
>>> the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce
>>> ('nonce-...') is required to enable inline execution. Note that hashes do
>>> not apply to event handlers, style attributes and javascript: navigations
>>> unless the 'unsafe-hashes' keyword is present.
>>>
>>> my code logic with different approaches and none of them work for me
>>>
>>>
>>> <script type="text/javascript" language="javascript"
>>> src="../trw4/alldec/AllDec.nocache.js?timeStamp=<%= "" + new
>>> java.util.Date().getTime() %>" nonce="alldec202403040001"></script>
>>>
>>>
>>> <script type="text/javascript" language="javascript"
>>> src="../trw4/alldec/AllDec.nocache.js?timeStamp=<%= "" + new
>>> java.util.Date().getTime() %>" nonce="nonce-alldec202403040001"></script>
>>>
>>> <script type="text/javascript" language="javascript"
>>> src="../trw4/alldec/AllDec.nocache.js?nonce=alldec202403040001&timeStamp=<%=
>>> "" + new java.util.Date().getTime() %>" nonce="alldec202403040001"></script>
>>>
>>>
>>> <script type="text/javascript" language="javascript"
>>> src="../trw4/alldec/AllDec.nocache.js?nonce=nonce-alldec202403040001&timeStamp=<%=
>>> "" + new java.util.Date().getTime() %>"
>>> nonce="nonce-alldec202403040001"></script>
>>>
>>> i tried this as well but not working
>>>
>>>    String scriptUrl =
>>> "../trw4/alldec/AllDec.nocache.js?nonce=alldec202403040001"
>>>    ScriptInjector.fromUrl(scriptUrl)
>>>         .setWindow(ScriptInjector.TOP_WINDOW)
>>>         .inject();
>>>
>>> Need your valuable inputs to achieve content secure policy in GWT using
>>>  script-src 'self' and object-src 'self' without unsafe-inline and
>>> unsafe-eval
>>> i suspect the inline java script code is not allowing  to apply
>>> script-src 'self' and object-src 'self' without unsafe-inline and
>>> unsafe-eval
>>>
>>>
>>> here is my AllDec.nocache.js
>>> function AllDec(){
>>>   var $intern_0 = 'bootstrap', $intern_1 = 'begin', $intern_2 =
>>> 'gwt.codesvr.AllDec=', $intern_3 = 'gwt.codesvr=', $intern_4 = 'AllDec',
>>> $intern_5 = 'startup', $intern_6 = 'DUMMY', $intern_7 = 0, $intern_8 = 1,
>>> $intern_9 = 'iframe', $intern_10 = 'javascript:""', $intern_11 =
>>> 'position:absolute; width:0; height:0; border:none; left: -1000px;',
>>> $intern_12 = ' top: -1000px;', $intern_13 = 'CSS1Compat', $intern_14 =
>>> '<!doctype html>', $intern_15 = '', $intern_16 =
>>> '<html><head><\/head><body><\/body><\/html>', $intern_17 = 'undefined',
>>> $intern_18 = 'readystatechange', $intern_19 = 10, $intern_20 = 'script',
>>> $intern_21 = 'javascript', $intern_22 = 'Failed to load ', $intern_23 =
>>> 'moduleStartup', $intern_24 = 'scriptTagAdded', $intern_25 =
>>> 'moduleRequested', $intern_26 = 'meta', $intern_27 = 'name', $intern_28 =
>>> 'AllDec::', $intern_29 = '::', $intern_30 = 'gwt:property', $intern_31 =
>>> 'content', $intern_32 = '=', $intern_33 = 'gwt:onPropertyErrorFn',
>>> $intern_34 = 'Bad handler "', $intern_35 = '" for "gwt:onPropertyErrorFn"',
>>> $intern_36 = 'gwt:onLoadErrorFn', $intern_37 = '" for "gwt:onLoadErrorFn"',
>>> $intern_38 = '#', $intern_39 = '?', $intern_40 = '/', $intern_41 = 'img',
>>> $intern_42 = 'clear.cache.gif', $intern_43 = 'baseUrl', $intern_44 =
>>> 'AllDec.nocache.js', $intern_45 = 'base', $intern_46 = '//', $intern_47 =
>>> 'user.agent', $intern_48 = 'webkit', $intern_49 = 'safari', $intern_50 =
>>> 'msie', $intern_51 = 11, $intern_52 = 'ie10', $intern_53 = 9, $intern_54 =
>>> 'ie9', $intern_55 = 8, $intern_56 = 'ie8', $intern_57 = 'gecko', $intern_58
>>> = 'gecko1_8', $intern_59 = 2, $intern_60 = 3, $intern_61 = 4, $intern_62 =
>>> 'selectingPermutation', $intern_63 = 'AllDec.devmode.js', $intern_64 =
>>> '0EF85E4190AC447E05897F96A6F99F47', $intern_65 =
>>> '4907B969BA14903A87055E501F608F15', $intern_66 =
>>> '9EE4E7BDFF866FF07E4C05A26DDA5C46', $intern_67 =
>>> 'CDC1ED083BDDEDA5A079F2A66A48A35D', $intern_68 =
>>> 'FD596E46A331AE61B689F91C1973282E', $intern_69 = ':', $intern_70 =
>>> '.cache.js', $intern_71 = 'link', $intern_72 = 'rel', $intern_73 =
>>> 'stylesheet', $intern_74 = 'href', $intern_75 = 'head', $intern_76 =
>>> 'loadExternalRefs', $intern_77 = 'Trw4gui.css', $intern_78 = 'end',
>>> $intern_79 = 'http:', $intern_80 = 'file:', $intern_81 = '_gwt_dummy_',
>>> $intern_82 = '__gwtDevModeHook:AllDec', $intern_83 = 'Ignoring
>>> non-whitelisted Dev Mode URL: ', $intern_84 = ':moduleBase';
>>>   var $wnd = window;
>>>   var $doc = document;
>>>   sendStats($intern_0, $intern_1);
>>>   function isHostedMode(){
>>>     var query = $wnd.location.search;
>>>     return query.indexOf($intern_2) != -1 || query.indexOf($intern_3) !=
>>> -1;
>>>   }
>>>
>>>   function sendStats(evtGroupString, typeString){
>>>     if ($wnd.__gwtStatsEvent) {
>>>       $wnd.__gwtStatsEvent({moduleName:$intern_4,
>>> sessionId:$wnd.__gwtStatsSessionId, subSystem:$intern_5,
>>> evtGroup:evtGroupString, millis:(new Date).getTime(), type:typeString});
>>>     }
>>>   }
>>>
>>>   AllDec.__sendStats = sendStats;
>>>   AllDec.__moduleName = $intern_4;
>>>   AllDec.__errFn = null;
>>>   AllDec.__moduleBase = $intern_6;
>>>   AllDec.__softPermutationId = $intern_7;
>>>   AllDec.__computePropValue = null;
>>>   AllDec.__getPropMap = null;
>>>   AllDec.__installRunAsyncCode = function(){
>>>   }
>>>   ;
>>>   AllDec.__gwtStartLoadingFragment = function(){
>>>     return null;
>>>   }
>>>   ;
>>>   AllDec.__gwt_isKnownPropertyValue = function(){
>>>     return false;
>>>   }
>>>   ;
>>>   AllDec.__gwt_getMetaProperty = function(){
>>>     return null;
>>>   }
>>>   ;
>>>   var __propertyErrorFunction = null;
>>>   var activeModules = $wnd.__gwt_activeModules =
>>> $wnd.__gwt_activeModules || {};
>>>   activeModules[$intern_4] = {moduleName:$intern_4};
>>>   AllDec.__moduleStartupDone = function(permProps){
>>>     var oldBindings = activeModules[$intern_4].bindings;
>>>     activeModules[$intern_4].bindings = function(){
>>>       var props = oldBindings?oldBindings():{};
>>>       var embeddedProps = permProps[AllDec.__softPermutationId];
>>>       for (var i = $intern_7; i < embeddedProps.length; i++) {
>>>         var pair = embeddedProps[i];
>>>         props[pair[$intern_7]] = pair[$intern_8];
>>>       }
>>>       return props;
>>>     }
>>>     ;
>>>   }
>>>   ;
>>>   var frameDoc;
>>>   function getInstallLocationDoc(){
>>>     setupInstallLocation();
>>>     return frameDoc;
>>>   }
>>>
>>>   function setupInstallLocation(){
>>>     if (frameDoc) {
>>>       return;
>>>     }
>>>     var scriptFrame = $doc.createElement($intern_9);
>>>     scriptFrame.src = $intern_10;
>>>     scriptFrame.id = $intern_4;
>>>     scriptFrame.style.cssText = $intern_11 + $intern_12;
>>>     scriptFrame.tabIndex = -1;
>>>     $doc.body.appendChild(scriptFrame);
>>>     frameDoc = scriptFrame.contentDocument;
>>>     if (!frameDoc) {
>>>       frameDoc = scriptFrame.contentWindow.document;
>>>     }
>>>     frameDoc.open();
>>>     var doctype = document.compatMode ==
>>> $intern_13?$intern_14:$intern_15;
>>>     frameDoc.write(doctype + $intern_16);
>>>     frameDoc.close();
>>>   }
>>>
>>>   function installScript(filename){
>>>     function setupWaitForBodyLoad(callback){
>>>       function isBodyLoaded(){
>>>         if (typeof $doc.readyState == $intern_17) {
>>>           return typeof $doc.body != $intern_17 && $doc.body != null;
>>>         }
>>>         return /loaded|complete/.test($doc.readyState);
>>>       }
>>>
>>>       var bodyDone = isBodyLoaded();
>>>       if (bodyDone) {
>>>         callback();
>>>         return;
>>>       }
>>>       function checkBodyDone(){
>>>         if (!bodyDone) {
>>>           if (!isBodyLoaded()) {
>>>             return;
>>>           }
>>>           bodyDone = true;
>>>           callback();
>>>           if ($doc.removeEventListener) {
>>>             $doc.removeEventListener($intern_18, checkBodyDone, false);
>>>           }
>>>           if (onBodyDoneTimerId) {
>>>             clearInterval(onBodyDoneTimerId);
>>>           }
>>>         }
>>>       }
>>>
>>>       if ($doc.addEventListener) {
>>>         $doc.addEventListener($intern_18, checkBodyDone, false);
>>>       }
>>>       var onBodyDoneTimerId = setInterval(function(){
>>>         checkBodyDone();
>>>       }
>>>       , $intern_19);
>>>     }
>>>
>>>     function installCode(code_0){
>>>       var doc = getInstallLocationDoc();
>>>       var docbody = doc.body;
>>>       var script = doc.createElement($intern_20);
>>>       script.language = $intern_21;
>>>       script.src = code_0;
>>>       if (AllDec.__errFn) {
>>>         script.onerror = function(){
>>>           AllDec.__errFn($intern_4, new Error($intern_22 + code_0));
>>>         }
>>>         ;
>>>       }
>>>       docbody.appendChild(script);
>>>       sendStats($intern_23, $intern_24);
>>>     }
>>>
>>>     sendStats($intern_23, $intern_25);
>>>     setupWaitForBodyLoad(function(){
>>>       installCode(filename);
>>>     }
>>>     );
>>>   }
>>>
>>>   AllDec.__startLoadingFragment = function(fragmentFile){
>>>     return computeUrlForResource(fragmentFile);
>>>   }
>>>   ;
>>>   AllDec.__installRunAsyncCode = function(code_0){
>>>     var doc = getInstallLocationDoc();
>>>     var docbody = doc.body;
>>>     var script = doc.createElement($intern_20);
>>>     script.language = $intern_21;
>>>     script.text = code_0;
>>>     docbody.appendChild(script);
>>>   }
>>>   ;
>>>   function processMetas(){
>>>     var metaProps = {};
>>>     var propertyErrorFunc;
>>>     var onLoadErrorFunc;
>>>     var metas = $doc.getElementsByTagName($intern_26);
>>>     for (var i = $intern_7, n = metas.length; i < n; ++i) {
>>>       var meta = metas[i], name_0 = meta.getAttribute($intern_27),
>>> content;
>>>       if (name_0) {
>>>         name_0 = name_0.replace($intern_28, $intern_15);
>>>         if (name_0.indexOf($intern_29) >= $intern_7) {
>>>           continue;
>>>         }
>>>         if (name_0 == $intern_30) {
>>>           content = meta.getAttribute($intern_31);
>>>           if (content) {
>>>             var value_0, eq = content.indexOf($intern_32);
>>>             if (eq >= $intern_7) {
>>>               name_0 = content.substring($intern_7, eq);
>>>               value_0 = content.substring(eq + $intern_8);
>>>             }
>>>              else {
>>>               name_0 = content;
>>>               value_0 = $intern_15;
>>>             }
>>>             metaProps[name_0] = value_0;
>>>           }
>>>         }
>>>          else if (name_0 == $intern_33) {
>>>           content = meta.getAttribute($intern_31);
>>>           if (content) {
>>>             try {
>>>               propertyErrorFunc = eval(content);
>>>             }
>>>              catch (e) {
>>>               alert($intern_34 + content + $intern_35);
>>>             }
>>>           }
>>>         }
>>>          else if (name_0 == $intern_36) {
>>>           content = meta.getAttribute($intern_31);
>>>           if (content) {
>>>             try {
>>>               onLoadErrorFunc = eval(content);
>>>             }
>>>              catch (e) {
>>>               alert($intern_34 + content + $intern_37);
>>>             }
>>>           }
>>>         }
>>>       }
>>>     }
>>>     __gwt_getMetaProperty = function(name_0){
>>>       var value_0 = metaProps[name_0];
>>>       return value_0 == null?null:value_0;
>>>     }
>>>     ;
>>>     __propertyErrorFunction = propertyErrorFunc;
>>>     AllDec.__errFn = onLoadErrorFunc;
>>>   }
>>>
>>>   function computeScriptBase(){
>>>     function getDirectoryOfFile(path){
>>>       var hashIndex = path.lastIndexOf($intern_38);
>>>       if (hashIndex == -1) {
>>>         hashIndex = path.length;
>>>       }
>>>       var queryIndex = path.indexOf($intern_39);
>>>       if (queryIndex == -1) {
>>>         queryIndex = path.length;
>>>       }
>>>       var slashIndex = path.lastIndexOf($intern_40, Math.min(queryIndex,
>>> hashIndex));
>>>       return slashIndex >= $intern_7?path.substring($intern_7,
>>> slashIndex + $intern_8):$intern_15;
>>>     }
>>>
>>>     function ensureAbsoluteUrl(url_0){
>>>       if (url_0.match(/^\w+:\/\//)) {
>>>       }
>>>        else {
>>>         var img = $doc.createElement($intern_41);
>>>         img.src = url_0 + $intern_42;
>>>         url_0 = getDirectoryOfFile(img.src);
>>>       }
>>>       return url_0;
>>>     }
>>>
>>>     function tryMetaTag(){
>>>       var metaVal = __gwt_getMetaProperty($intern_43);
>>>       if (metaVal != null) {
>>>         return metaVal;
>>>       }
>>>       return $intern_15;
>>>     }
>>>
>>>     function tryNocacheJsTag(){
>>>       var scriptTags = $doc.getElementsByTagName($intern_20);
>>>       for (var i = $intern_7; i < scriptTags.length; ++i) {
>>>         if (scriptTags[i].src.indexOf($intern_44) != -1) {
>>>           return getDirectoryOfFile(scriptTags[i].src);
>>>         }
>>>       }
>>>       return $intern_15;
>>>     }
>>>
>>>     function tryBaseTag(){
>>>       var baseElements = $doc.getElementsByTagName($intern_45);
>>>       if (baseElements.length > $intern_7) {
>>>         return baseElements[baseElements.length - $intern_8].href;
>>>       }
>>>       return $intern_15;
>>>     }
>>>
>>>     function isLocationOk(){
>>>       var loc = $doc.location;
>>>       return loc.href == loc.protocol + $intern_46 + loc.host +
>>> loc.pathname + loc.search + loc.hash;
>>>     }
>>>
>>>     var tempBase = tryMetaTag();
>>>     if (tempBase == $intern_15) {
>>>       tempBase = tryNocacheJsTag();
>>>     }
>>>     if (tempBase == $intern_15) {
>>>       tempBase = tryBaseTag();
>>>     }
>>>     if (tempBase == $intern_15 && isLocationOk()) {
>>>       tempBase = getDirectoryOfFile($doc.location.href);
>>>     }
>>>     tempBase = ensureAbsoluteUrl(tempBase);
>>>     return tempBase;
>>>   }
>>>
>>>   function computeUrlForResource(resource){
>>>     if (resource.match(/^\//)) {
>>>       return resource;
>>>     }
>>>     if (resource.match(/^[a-zA-Z]+:\/\//)) {
>>>       return resource;
>>>     }
>>>     return AllDec.__moduleBase + resource;
>>>   }
>>>
>>>   function getCompiledCodeFilename(){
>>>     var answers = [];
>>>     var softPermutationId = $intern_7;
>>>     function unflattenKeylistIntoAnswers(propValArray, value_0){
>>>       var answer = answers;
>>>       for (var i = $intern_7, n = propValArray.length - $intern_8; i <
>>> n; ++i) {
>>>         answer = answer[propValArray[i]] || (answer[propValArray[i]] =
>>> []);
>>>       }
>>>       answer[propValArray[n]] = value_0;
>>>     }
>>>
>>>     var values = [];
>>>     var providers = [];
>>>     function computePropValue(propName){
>>>       var value_0 = providers[propName](), allowedValuesMap =
>>> values[propName];
>>>       if (value_0 in allowedValuesMap) {
>>>         return value_0;
>>>       }
>>>       var allowedValuesList = [];
>>>       for (var k in allowedValuesMap) {
>>>         allowedValuesList[allowedValuesMap[k]] = k;
>>>       }
>>>       if (__propertyErrorFunction) {
>>>         __propertyErrorFunction(propName, allowedValuesList, value_0);
>>>       }
>>>       throw null;
>>>     }
>>>
>>>     providers[$intern_47] = function(){
>>>       var ua = navigator.userAgent.toLowerCase();
>>>       var docMode = $doc.documentMode;
>>>       if (function(){
>>>         return ua.indexOf($intern_48) != -1;
>>>       }
>>>       ())
>>>         return $intern_49;
>>>       if (function(){
>>>         return ua.indexOf($intern_50) != -1 && (docMode >= $intern_19 &&
>>> docMode < $intern_51);
>>>       }
>>>       ())
>>>         return $intern_52;
>>>       if (function(){
>>>         return ua.indexOf($intern_50) != -1 && (docMode >= $intern_53 &&
>>> docMode < $intern_51);
>>>       }
>>>       ())
>>>         return $intern_54;
>>>       if (function(){
>>>         return ua.indexOf($intern_50) != -1 && (docMode >= $intern_55 &&
>>> docMode < $intern_51);
>>>       }
>>>       ())
>>>         return $intern_56;
>>>       if (function(){
>>>         return ua.indexOf($intern_57) != -1 || docMode >= $intern_51;
>>>       }
>>>       ())
>>>         return $intern_58;
>>>       return $intern_15;
>>>     }
>>>     ;
>>>     values[$intern_47] = {'gecko1_8':$intern_7, 'ie10':$intern_8,
>>> 'ie8':$intern_59, 'ie9':$intern_60, 'safari':$intern_61};
>>>     __gwt_isKnownPropertyValue = function(propName, propValue){
>>>       return propValue in values[propName];
>>>     }
>>>     ;
>>>     AllDec.__getPropMap = function(){
>>>       var result = {};
>>>       for (var key in values) {
>>>         if (values.hasOwnProperty(key)) {
>>>           result[key] = computePropValue(key);
>>>         }
>>>       }
>>>       return result;
>>>     }
>>>     ;
>>>     AllDec.__computePropValue = computePropValue;
>>>     $wnd.__gwt_activeModules[$intern_4].bindings = AllDec.__getPropMap;
>>>     sendStats($intern_0, $intern_62);
>>>     if (isHostedMode()) {
>>>       return computeUrlForResource($intern_63);
>>>     }
>>>     var strongName;
>>>     try {
>>>       unflattenKeylistIntoAnswers([$intern_56], $intern_64);
>>>       unflattenKeylistIntoAnswers([$intern_52], $intern_65);
>>>       unflattenKeylistIntoAnswers([$intern_54], $intern_66);
>>>       unflattenKeylistIntoAnswers([$intern_58], $intern_67);
>>>       unflattenKeylistIntoAnswers([$intern_49], $intern_68);
>>>       strongName = answers[computePropValue($intern_47)];
>>>       var idx = strongName.indexOf($intern_69);
>>>       if (idx != -1) {
>>>         softPermutationId = parseInt(strongName.substring(idx +
>>> $intern_8), $intern_19);
>>>         strongName = strongName.substring($intern_7, idx);
>>>       }
>>>     }
>>>      catch (e) {
>>>     }
>>>     AllDec.__softPermutationId = softPermutationId;
>>>     return computeUrlForResource(strongName + $intern_70);
>>>   }
>>>
>>>   function loadExternalStylesheets(){
>>>     if (!$wnd.__gwt_stylesLoaded) {
>>>       $wnd.__gwt_stylesLoaded = {};
>>>     }
>>>     function installOneStylesheet(stylesheetUrl){
>>>       if (!__gwt_stylesLoaded[stylesheetUrl]) {
>>>         var l = $doc.createElement($intern_71);
>>>         l.setAttribute($intern_72, $intern_73);
>>>         l.setAttribute($intern_74, computeUrlForResource(stylesheetUrl));
>>>         $doc.getElementsByTagName($intern_75)[$intern_7].appendChild(l);
>>>         __gwt_stylesLoaded[stylesheetUrl] = true;
>>>       }
>>>     }
>>>
>>>     sendStats($intern_76, $intern_1);
>>>     installOneStylesheet($intern_77);
>>>     sendStats($intern_76, $intern_78);
>>>   }
>>>
>>>   processMetas();
>>>   AllDec.__moduleBase = computeScriptBase();
>>>   activeModules[$intern_4].moduleBase = AllDec.__moduleBase;
>>>   var filename = getCompiledCodeFilename();
>>>   if ($wnd) {
>>>     var devModePermitted = !!($wnd.location.protocol == $intern_79 ||
>>> $wnd.location.protocol == $intern_80);
>>>     $wnd.__gwt_activeModules[$intern_4].canRedirect = devModePermitted;
>>>     function supportsSessionStorage(){
>>>       var key = $intern_81;
>>>       try {
>>>         $wnd.sessionStorage.setItem(key, key);
>>>         $wnd.sessionStorage.removeItem(key);
>>>         return true;
>>>       }
>>>        catch (e) {
>>>         return false;
>>>       }
>>>     }
>>>
>>>     if (devModePermitted && supportsSessionStorage()) {
>>>       var devModeKey = $intern_82;
>>>       var devModeUrl = $wnd.sessionStorage[devModeKey];
>>>       if
>>> (!/^http:\/\/(localhost|127\.0\.0\.1)(:\d+)?\/.*$/.test(devModeUrl)) {
>>>         if (devModeUrl && (window.console && console.log)) {
>>>           console.log($intern_83 + devModeUrl);
>>>         }
>>>         devModeUrl = $intern_15;
>>>       }
>>>       if (devModeUrl && !$wnd[devModeKey]) {
>>>         $wnd[devModeKey] = true;
>>>         $wnd[devModeKey + $intern_84] = computeScriptBase();
>>>         var devModeScript = $doc.createElement($intern_20);
>>>         devModeScript.src = devModeUrl;
>>>         var head = $doc.getElementsByTagName($intern_75)[$intern_7];
>>>         head.insertBefore(devModeScript, head.firstElementChild ||
>>> head.children[$intern_7]);
>>>         return false;
>>>       }
>>>     }
>>>   }
>>>   loadExternalStylesheets();
>>>   sendStats($intern_0, $intern_78);
>>>   installScript(filename);
>>>   return true;
>>> }
>>>
>>> AllDec.succeeded = AllDec();
>>>
>>> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-web-toolkit/ef025b50-c9fd-41b3-b359-f077f5dc7134n%40googlegroups.com
> <https://groups.google.com/d/msgid/google-web-toolkit/ef025b50-c9fd-41b3-b359-f077f5dc7134n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/CADz9YnLOR6KLTMuykeFDCrB0GZmOBOKo4HBSvM%3Dt_-xXFhxpNw%40mail.gmail.com.

Reply via email to