My favorites | Sign in
Logo
             
New issue | Search
for
| Advanced search | Search tips
Issue 22103: Automatically convert user scripts to extensions
19 people starred this issue and may be notified of changes. Back to list
Status:  Fixed
Owner:  aa@chromium.org
Closed:  Nov 03
Type-Feature
OS-All
Area-Extensions
Mstone-4
ReleaseBlock-Beta
Pri-3


Sign in to add a comment
 
Reported by aa@chromium.org, Sep 16, 2009
For background, see  bug 16344 .

We should be able to transparently support Greasemonkey user scripts by 
converting them into extensions at install time.

That way, we don't have to maintain two separate systems forever -- we just 
have a small compatibility shim at install time.

Design doc: http://code.google.com/p/chromium/wiki/DealingWithGreasemonkey
Comment 1 by mkterra, Sep 17, 2009
>3. Include a small Greasemonkey emulation layer for the Greasemonkey-specific APIs
(we already have this implemented).

Alas, this is incomplete.  See  Issue 4476 :
>I'm going to mark this closed now, even though we don't fully implement all the 
Greasemonkey APIs. We should open new bugs, for, eg, fully implementing 
GM_xmlhttpRequest, GM_setValue/GM_getValue, etc.
Comment 2 by aa@chromium.org, Sep 17, 2009
Yes, I'm aware of that. That seems to be orthogonal to this bug, though.
Comment 3 by brian@chromium.org, Sep 23, 2009
I like it. Does that mean that we'll show GM scrips as extensions in the extensions 
manager? One advantage would be that this would make it easy to manage (remove) them.
Comment 4 by aa@chromium.org, Oct 28, 2009
I'm going to try and get this in for beta.

Whee!
Status: Assigned
Owner: a...@chromium.org
Labels: Mstone-4 ReleaseBlock-Beta
Comment 5 by erikkay@chromium.org, Nov 03, 2009
Aaron's got this out for review.
Labels: Pri-3
Comment 6 by aa@chromium.org, Nov 03, 2009
Got lgtm, was fighting with linux/mac, finally figured out last issue. Landing shortly.
Comment 7 by bugdroid1@chromium.org, Nov 03, 2009
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=30925 

------------------------------------------------------------------------
r30925 | aa@chromium.org | 2009-11-03 18:15:20 -0800 (Tue, 03 Nov 2009) | 9 lines
Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/base/string_util.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/base/string_util.h?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/download/download_manager.cc?r1=30925&r2=30924
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/convert_user_script.cc
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/convert_user_script.h
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/convert_user_script_unittest.cc
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/crx_installer.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/crx_installer.h?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/user_script_master.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/user_script_master.h?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/extensions/user_script_master_unittest.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/buffered_resource_handler.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome.gyp?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/extension.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/extension.h?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/extension_constants.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/extension_constants.h?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/extension_error_utils.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/extension_error_utils.h?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/user_script.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/user_script.h?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/user_script_unittest.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/resources/greasemonkey_api.js?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/user_script_slave.cc?r1=30925&r2=30924
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/user_script_slave.h?r1=30925&r2=30924
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/user_script_basic.user.js
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/test/data/extensions/user_script_no_metadata.user.js

Add first class support for user scripts.

Original review: http://codereview.chromium.org/340057

TBR=mpcomplete@chromium.org
BUG=22103
TEST=Install a user script (such as from userscripts.org). You should get the extension install UI and the
script should show up in the extension management UI. It should also work, though some scripts use
Firefox-specific APIs and those won't work in Chromium.
------------------------------------------------------------------------

Comment 8 by aa@chromium.org, Nov 03, 2009
(No comment was entered for this change.)
Status: Fixed
Comment 9 by Satoshi.Matsuzaki, Nov 05, 2009
User scripts will not be installed, if "Ask where to save each file before downloading" 
is checked at Options > Under the Hood > Downloads.

In that case, confirmation of install is not displayed on the Download shelf,
and the *.user.js file is just downloaded as a file.
Tested with Developer Build 31081 on WinXP.
Comment 10 by aa@chromium.org, Nov 05, 2009
Thanks for the report, I have created  issue 26801  for this but. Please star that if 
you'd like to follow the progress.
Comment 11 by thegooddale, Dec 17, 2009
When a userscript is set to run on a subdomain, it seems to run twice when installed
as an extension.


e.g.
{{{
// ==UserScript==
// @name           GM Chrome Test
// @namespace      Chrome
// @description    GM Chrome Test
// @match        http://docs.jquery.com/*
// @version        0.1
// ==/UserScript==


alert('test');
}}}
Comment 12 by aa@chromium.org, Dec 17, 2009
@thegooddale: This was  bug 29644 , which is fixed on trunk and should go out in the dev 
and beta releases.
Comment 13 by mal.chromium, Dec 18, 2009
(No comment was entered for this change.)
Labels: Area-Internals Internals-Install
Comment 14 by mal.chromium, Dec 18, 2009
Fixing a bulk edit. Looks like the search query was not correct.
Labels: -Area-Internals -Internals-Install
Sign in to add a comment