Extend Greasemonkey with getter/setter properties

You have experience writing Mozilla Firefox extensions. Your code will probably become part of the open source project (and extension) Greasemonkey, and your work possibly be credited with your name, if you want to.

The task at hand consists of extending Greasemonkey's user script sandbox environment with global identifiers that provide lazy read access to computed data, so a user script running in Greasemonkey will only cause the result to be generated once the identifier is dereferenced.

The present code base provides a GM_getHeaders() method, which passes the lazy computation criterion but not the access method. The deliverable changes this to an access method of dereferencing a GM_headers identifier's properties, so what would be accessed as GM_getHeaders().x instead be reached as GM_headers.x.

For convenience reference, [the complete code implementing GM_getHeaders()][1]. [This GM-dev message][2] may provide useful related research.

A javascript only solution is suggested, but a C/C++ component part of the solution is acceptable too.

## Deliverables

1. Complete and fully-functional working program(s) in executable form as well as complete source code of all work done, as follows:

* New source code (not encompassing Greasemonkey's legacy code, which still in many places does not) follows [the Mozilla javascript style guide][3].

* Introduced global names, if any, are prefixed "GM_".

* The diff towards Greasemonkey is relevant, and does not change whitespace, indentation style, file encodings and similar, of any unrelated code.

2. Deliverables must be in ready-to-run condition, as follows:

* A unidiff (as produced by svn diff, diff -ru or TortoiseSVN's diff feature, for instance) towards [this subversion branch][4].

* A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.

3. All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

## Platform

Browser versions presently supported by the Greasemonkey extension (prominently, Mozilla Firefox). The deliverable is specifically not allowed to rely on end-of-lined APIs of the Firefox 1.5 or 2.0 branches, unless also providing solutions for the 2.0 and 3.0 branches, where such APIs may have gone missing or changed incompatibly.

Evner: C programmering, Javascript, PHP

Se mere: writing style guide, programming guide, produced of writing research, new hire solutions, new hire guide, legal research and method, guide solution, gm programming, global legal solutions, functional programming javascript, functional programming in javascript, c# useful, c# programming guide, c programming guide, component part, at properties, what is feature writing, tortoisesvn, criterion writing, greasemonkey

Om arbejdsgiveren:
( 0 bedømmelser ) Sweden

Projekt ID: #3319991

1 freelancer byder i gennemsnit $170 på dette job


See private message.

$170 USD in 14 dage
(2 bedømmelser)