Skip to content
This repository has been archived by the owner on Feb 26, 2022. It is now read-only.

Bug 641215: Improve the SDK support for XUL-based extensions #124

Closed
wants to merge 20 commits into from
Closed

Bug 641215: Improve the SDK support for XUL-based extensions #124

wants to merge 20 commits into from

Conversation

nickolay
Copy link
Contributor

…s.py to store more information about the template, including paths of the files to create
…ts a lot of CSS warnings to the console.
… when package.json is updated with a generated id
…), plus a minor tweak to --templatedir cfx option's help text.
…cfx test' on these templates, this also serves as a unit-test for XUL extensions support in the SDK)
Conflicts:

	python-lib/cuddlefish/__init__.py
	python-lib/cuddlefish/templates.py
…t support UUID-style em:id as well. This helps with switching existing extensions to using the SDK.
…all.rdf: the default template has it set to true anyway, and non-bootstrapped extensions need to set it to false.
for dirname in examples:
print "Testing %s..." % dirname

def run_test(pkgdir):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test pgkdir is not empty?

mykmelez and others added 8 commits April 27, 2011 13:56
…that causes hangs on shutdown, horking SDK tests; r=warner, a=myk
Details from commit a020fa1:

For normal modules (i.e. user-written code and the SDK-provided modules
that it uses), the require() statement is now entirely driven by the
contents of the manifest. This allows reviewers to statically determine
what code will be used to build the module graph, and moves control of
the module search process out of the runtime code and into the linker.
Initial loader code and unit tests do not use the manifest, and instead
do a runtime search. The runtime code no longer does a "security policy"
lookup: instead the presence of a module name on the manifest indicates
that permission is granted, and a missing name causes an error (not a
mere warning).

The new manifest contains statements like "when module X does a
require(Y), it will get code Z", where X and Z are URIs (starting with
resource://JID), and Y is a module name (like "panel" or
"context-menu"). The manifest is a dictionary mapping from X to an
object full of of information about module X, including a
".requirements" property, which is a dictionary mapping from Y to an
object of "requirement data". For normal modules, the main property in
reqdata is "uri", which contains Z. For magic modules like "chrome" or
"self", reqdata may contain other information (like the base URI for
that package's data, allowing self.data.url() to work).

The main changes are in python-lib/cuddlefish/manifest.py (both the
linker-side module search logic and the manifest generation code), and
in packages/api-utils/lib/securable-module.js (runtime module-loading
code), followed by packages/api-utils/lib/cuddlefish.js (removing the
"security policy" code and handling "magic" modules differently), and
packages/api-utils/lib/self.js (which is now "magic" and provides a
"makeSelfModule" function).

A number of obsolete tests were removed. The async "define" statement
still works. E10S support is almost certainly broken.
…s.py to store more information about the template, including paths of the files to create
Conflicts:
	python-lib/cuddlefish/__init__.py
	python-lib/cuddlefish/templates.py
	python-lib/cuddlefish/tests/test_init.py

// Make sure the host application stays open for a minimum amount of time
// to reduce our chances of running into platform bug 468736.
// FIXME: remove this workaround once platform bug 468736 is fixed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ack, i'm pretty sure i've seen this. can you please file a jetpack bug for this change, dependent on 468736 and reference it here, so it doesn't stay just a comment forever?

@nickolay
Copy link
Contributor Author

Opened a new pull request for a rebased commit: #215

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants