"Exposing chrome JS objects to content without __exposedProps__ is insecure and deprecated" warning #1637

Closed
bananastalktome opened this Issue Sep 21, 2012 · 1 comment

2 participants

@bananastalktome

(New issue created from comment in #1595 as requested by arantius)

I am getting the same __exposedProps__ error when attempting to iterate over the array returned by GM_listValues().

The following simple script shows the issue:

// ==UserScript==
// @name        Demonstrate __exposedProps__ warning
// @namespace   personal
// @include     SITE_URL
// @require     https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js
// @require      https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js
// @grant        GM_listValues
// @version     1
// ==/UserScript==

var gmValues = GM_listValues();

gmValues.forEach(function(val, index){
  console.log(val);
});

The console shows:

Exposing chrome JS objects to content without __exposedProps__ is insecure and deprecated. See https://developer.mozilla.org/en/XPConnect_wrappers for more information.

draftKeys.forEach(function(val, index){

Additional Details: OSX 10.8.1, Firefox 15.0.1, GreaseMonkey 1.1

Thanks

@arantius
Collaborator

Confirmed. Accessing the length property works without logging this, but setting it exposed makes forEach stop logging.

@arantius arantius closed this in b03ac3b Sep 27, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment