@Hoa, that's a nice workaround! Could it be submitted as a pull request to
observe-js repository?


On Mon, Apr 7, 2014 at 12:08 PM, Hoa V. Dinh <[email protected]> wrote:

>  Hi,
>
> For Chrome Apps, I would usually apply a change to the following function
> in observe.js (
> https://github.com/Polymer/observe-js/blob/master/src/observe.js):
> Since eval is not supported in the Chrome platform and checking
> document.securityPolicy.allowsEval doesn’t help in Chrome Apps platform,
> I’m checking the presence of  chrome.app.runtime.
>
>  function detectEval() {
>     // don't test for eval if document has CSP securityPolicy object and we 
> can see that
>     // eval is not supported. This avoids an error message in console even 
> when the exception
>     // is caught
>     if (global.document &&
>         'securityPolicy' in global.document &&
>         !global.document.securityPolicy.allowsEval) {
>       return false;
>     }
>
> *       // Here’s the relevant change.*
> *       if (**chrome.app.runtime) { // could probably be improved and be: 
> **chrome && chrome.app && **chrome.app.runtime*
> *         return false;
>        }
> *
>
>
>     try {
>       var f = new Function('', 'return true;');
>       return f();
>     } catch (ex) {
>       return false;
>     }
>
>   }
>
>
> --
> Hoa V. Dinh
>
> On Monday, April 7, 2014 at 11:57 AM, Scott Miles wrote:
>
> We have to know more about what you did to provide any support.
>
>
> On Mon, Apr 7, 2014 at 11:53 AM, Martin Kleinschrodt <
> [email protected]> wrote:
>
> What's the status on this? I've tried using vulcanize with the --csp flag
> but I still get the 'unsafe-eval' error:
>
> Refused to evaluate a string as JavaScript because 'unsafe-eval' is notan 
> allowed source of script
> in the following Content Security Policy directive: "default-src 'self'
> chrome-extension-resource:". Note that 'script-src' was not explicitly set
> , so 'default-src' is used as a fallback.
>
> On Thursday, December 5, 2013 8:01:57 PM UTC+1, Scott Miles wrote:
>
> chrome-app-seed is deprecated now because the 
> 'vulcanize<https://github.com/Polymer/vulcanize>'
> tool can usually produce CSP-safe application code directly without special
> libraries.
>
> I believe there are some examples somewhere, I will make a note that we
> need to clean something up for demonstration. There is a very basic
> non-vulcanizer example here: https://github.com/Polymer/labs/tree/master/
> sjmiles/AppTracks.
>
> Also, there is work happening to better document Vulcanizer.
>
>
> On Sat, Nov 23, 2013 at 10:35 AM, <[email protected]> wrote:
>
> chrome-app-seed is no longer found under https://github.com/Polymer.  Is
> there a new starter for Chrome App with Polymer?
>
> Jun
>
> On Wednesday, August 21, 2013 5:24:36 PM UTC-7, Dominic Cooney wrote:
>
>
>
> On Thu, Aug 22, 2013 at 3:05 AM, Scott Miles <[email protected]> wrote:
>
> (Apologies to Hoa, I sent this same message directly to him by mistake.)
>
> The 'eval' warning is the binding code testing if eval is available for
> optimizations, it's harmless.
>
> The 'InvalidCharacterError' is blocking Polymer in Chrome Apps right now,
> see this bug that Daniel referenced earlier:
> https://code.google.com/p/chromium/issues/detail?id=273126
>
>
> FYI this should be fixed in the next Canary.
>
>
>  The 'TypeError' is fallout from the previous error.
>
>
> On Wed, Aug 21, 2013 at 9:57 AM, Hoa V. Dinh <[email protected]> wrote:
>
>  Hi,
> I'm now using the following version of Chrome:
> Google Chrome31.0.1606.2 (Official Build 218471) canary OSMac OS X  
> Blink537.36
> (@156363)
>
> It should include the fix you mentioned.
> And I still got the following logs in the console:
>
> <<
> Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an
> allowed source of script in the following Content Security Policy
> directive: "default-src 'self' chrome-extension-resource:". Note that
> 'script-src' was not explicitly set, so 'default-src' is used as a fallback.
>  deprecated.js:12
> Uncaught InvalidCharacterError: Failed to call 'register' on 'Document'
> for type 'polymer-element': : 'polymer-element' is not a valid name.
> deprecated.js:12
> Uncaught TypeError: Property 'Polymer' of object [object Object] is not a
> function build.js:29
> >>
>
> Let me know if there's something I'm missing here.
>
> Thanks!
>
> --
> Hoa V. Dinh
>
> On Tuesday, August 20, 2013 at 11:22 AM, Hoa V. Dinh wrote:
>
>  Cool! I'll try it tomorrow then.
> Currently, I'm using Chrome dev and Canary >= 30.
>
> --
> Hoa V. Dinh
>
> On Tuesday, August 20, 2013 at 11:17 AM, Daniel Freedman wrote:
>
> Ah, this looks like https://code.google.com/p/chromium/issues/detail?id=
> 273126. In Canary, document.register is heavily restricted in the
> packaged apps environment. The CL to fix this: http://src.chromium.org/
> viewvc/blink?view=revision&revision=156336, should land in tomorrow's
> Canary.
>
> In the meantime, the sandbox <iframe> loader version is the only way to
> get a packaged app running on Canary.
>
> calendar-nosandbox-app works ok on M28, but has a few styling issues
> because it uses the unprefixed flexbox syntax.
>
>
> On Tue, Aug 20, 2013 at 11:05 AM, Hoa V. Dinh <[email protected]> wrote:
>
>  I also tried to use: calendar-nosandbox-app, which architecture is more
> similar to a chrome packaged app.
> It shown the same issues as my sample application:
>
> <<
> Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an
> allowed source of script in the following Content Security Policy
> directive: "default-src 'self' chrome-extension-resource:". Note that
> 'script-src' was not explicitly set, so 'default-src' is used as a fallback.
>  polymer.min.js:2215
> Uncaught InvalidCharacterError: Failed to call 'register' on 'Document'
> for type 'polymer-element': : 'polymer-element' is not a valid name.
> polymer.min.js:6787
> Uncaught TypeError: Property 'Polymer' of object [object Object] is not a
> function imports.js:19
> >>
>
> --
> Hoa V. Dinh
>
> On Tuesday, August 20, 2013 at 10:56 AM, Daniel Freedman wrote:
>
> Ok, chrome-app-seed should be updated now. Also, our (now departed) intern
> Priyank made a good example (sandboxed) chrome packaged app here:
> https://github.com/Polymer/labs/tree/master/priyanks/calendar-chrome-app<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FPolymer%2Flabs%2Ftree%2Fmaster%2Fpriyanks%2Fcalendar-chrome-app&sa=D&sntz=1&usg=AFQjCNH-gA96_lTNc1_oDngxsjaGqozDLQ>
> .
>
>
> On Tue, Aug 20, 2013 at 10:52 AM, Daniel Freedman <[email protected]>wrote:
>
> Oops, that's a bug! I'll fix it now.
>
>
> On Tue, Aug 20, 2013 at 10:50 AM, Hoa V. Dinh <[email protected]> wrote:
>
> Could you describe how I can use it?
>
> I tried to use chrome-app-seed, which should be a chrome sample app using
> polymer-chrome-app and when I run it.
>
> 1/ Nothing shows in the window of the application
>
> 2/ When I open the console, I can see the following logs:
> Uncaught Error: Polymer.register is deprecated in declaration of my-app.
> Please see http://www.polymer-project.org/getting-started.htmldeprecated.js:12
>
> --
> Hoa V. Dinh
>
> On Tuesday, August 20, 2013 at 10:39 AM, Daniel Freedman wrote:
>
> Polymer-chrome-app is an up to date, but still uses the sandboxed build of
> polymer.
>
>
> On Tue, Aug 20, 2013 at 10:37 AM, Eric Bidelman <[email protected]> wrote:
>
> The "shadowRoot redefined" error usually comes from loading
> platform.min.js and polymer.min.js. You should only need polymer.min.js.
>
> There's also an old chrome app example here that uses polymer.sandbox.js:
> https://github.com/Polymer/polymer-chrome-app<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FPolymer%2Fpolymer-chrome-app&sa=D&sntz=1&usg=AFQjCNEOwdidR4HVMVWe7gGn0bHIS5__OA>
>
> Folks, what's the status of polymer-chrome-app?
>
>
>
>
> On Mon, Aug 19, 2013 at 3:00 PM, Hoa V. Dinh <[email protected]> wrote:
>
>   Hi polymer dev,
>
> I'm trying to run Polymer in a Chrome Packaged Apps in Chrome Canary.
>
> 1. I checkout the following:
> https://github.com/dinhviethoa/polymer-simple<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fdinhviethoa%2Fpolymer-simple&sa=D&sntz=1&usg=AFQjCNFbaljV1QanZ3nxXbJTuYg8N4ysnQ>
>
> polymer-simple/polymer/ folder contains the minified version of platform
> and polymer.
>
> 2. In chrome://flags, I enabled the following options:
>
> > Enable experimental Web Platform features. Mac, Windows, Linux, Chrome
> OS, Android
> Enable experimental Web Platform features that are in development.
> #enable-experimental-web-platform-features
>
> > Enable apps-devtool app. Mac, Windows, Linux, Chrome OS
> An app to develop apps / extensions. #enable-apps-devtool-app
>
> 3. Restart Chrome
>
> 4. In chrome://extensions, I checked enabled "Developer Mode".
>
> 5. In a new tab page, from the application list, I run "Apps Developer
> Tools".
>
> 6. I used "Load Unpacked" and chose the folder polymer-simple/
>
> 7. In the list of application, I used the "launch" option for "polymer
> simple".
>
> -> I don't see the polymer UI rendering.
>
> 8. Back in "Apps Developer Tools" window, polymer simple > Inspect views >
> simple.html.
> It opens the web inspector. I clicked on "Console".
>
> The following logs shown:
> Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an
> allowed source of script in the following Content Security Policy
> directive: "default-src 'self' chrome-extension-resource:". Note that
> 'script-src' was not explicitly set, so 'default-src' is used as a fallback.
>  tap.js:76
> (anonymous function) tap.js:76
> Uncaught TypeError: Cannot redefine property: shadowRoot deprecated.js:12
> Uncaught ReferenceError: Polymer is not defined build.js:1
>
> Could you help me investigate what's going on?
> Especially, "shadowRoot redefined" and "Polymer not defined" looks strange.
>
> Thanks!
>
> --
> Hoa V. Dinh
>
>  Follow Polymer on Google+: plus.google.com/107187849809354688692
> ---
> You received this message because you are subscribed to the Google Groups
> "Polymer" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>  Follow Polymer on Google+: plus.google.com/107187849809354688692
> ---
> You received this message because you are subscribed to the Google Groups
> "Polymer" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>
>
>
>  Follow Polymer on Google+: plus.google.com/107187849809354688692
> ---
> You received this message because you are subscribed to the Google Groups
> "Polymer" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>
>  Follow Polymer on Google+: plus.google.com/107187849809354688692
> ---
> You received this message because you are subscribed to the Google Groups
> "Polymer" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>  Follow Polymer on Google+: plus.google.com/107187849809354688692
> ---
> You received this message because you are subscribed to the Google Groups
> "Polymer" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>
> --
> <http://goto.google.com/dc-email-sla>
>
>
>  Follow Polymer on Google+: plus.google.com/107187849809354688692
> ---
> You received this message because you are subscribed to the Google Groups
> "Polymer" 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/polymer-dev/5474a3ea-2e87-4e51-bc32-de854b8e9f9d%40googlegroups.com<https://groups.google.com/d/msgid/polymer-dev/5474a3ea-2e87-4e51-bc32-de854b8e9f9d%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
>
>  Follow Polymer on Google+: plus.google.com/107187849809354688692
> ---
> You received this message because you are subscribed to the Google Groups
> "Polymer" 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/polymer-dev/D06341B87CD9459D94FF5B8F68FF60E6%40google.com<https://groups.google.com/d/msgid/polymer-dev/D06341B87CD9459D94FF5B8F68FF60E6%40google.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

Follow Polymer on Google+: plus.google.com/107187849809354688692
--- 
You received this message because you are subscribed to the Google Groups 
"Polymer" 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/polymer-dev/CAJup4OV6y9Hi7yCeiNsc9dbjK2ftC95HHbVJxjvC6_6wvPfnTg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to