Registering an extension by placing a file, with a name different from extension's GUID, in extensions\ doesn't work but it takes Firefox two restarts to figure it out

VERIFIED FIXED in mozilla1.9.3a5

Status

()

VERIFIED FIXED
14 years ago
8 years ago

People

(Reporter: asqueella, Assigned: mossop)

Tracking

Trunk
mozilla1.9.3a5
Points:
---
Bug Flags:
in-testsuite +
in-litmus -

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

14 years ago
This is a bug in feature introduced in bug 286034.

Creating a {GUID1} file pointing to C:\extension with guid={GUID2} creates a
{GUID2} subdirectory in profile\extensions\ and messes up Firefox

GUID1={3f0da09b-c1ab-40c5-8d7f-53f475ac3fe8}
GUID2={71e95839-6f7e-470d-be54-77012fec6313}

I get a two alerts on each startup (about absent install.rdf) and the following
messages in the JS console. First startup has an additional "Failure in Chrome
Registration" alert between the two alerts about install.rdf. A folder with
{GUID2} name is created in profile\extensions\. Uninstall doesn't work.

Item Installed via directory addition to Install Location: app-profile Item ID:
{3f0da09b-c1ab-40c5-8d7f-53f475ac3fe8}, attempting to register...

Item Installed/Upgraded at Install Location: app-profile Item ID:
{3f0da09b-c1ab-40c5-8d7f-53f475ac3fe8}, attempting to register...

... success, item is compatible

Installer::install: metadata datasource for extension
{71e95839-6f7e-470d-be54-77012fec6313} at C:\Documents and
Settings\Коля\Application
Data\Mozilla\Firefox\Profiles\p763f7tq.em-test\extensions\{71e95839-6f7e-470d-be54-77012fec6313}\install.rdf
could not be loaded.  Installation will not proceed.

ExtensionManager:_finishOperations - failure, catching exception... TypeError:
installManifest has no properties

extensions-startup.manifest is stuck with this line:
app-profile	{71e95839-6f7e-470d-be54-77012fec6313}
extensions/{71e95839-6f7e-470d-be54-77012fec6313}	1114463669	needs-install

Comment 1

13 years ago
Yes this sucks, we should check the install.rdf and prevent registration in this case (same thing happens if you add an extension directly and the directory name doesn't match the install.rdf name).
Assignee: bugs → robert.bugzilla
(Reporter)

Comment 2

13 years ago
It's better now (recent trunk build), I see the following messages at the first startup:

Item Installed via directory addition to Install Location: app-profile Item ID: a@d.c, attempting to register...
Item Installed/Upgraded at Install Location: app-profile Item ID: a@d.c, attempting to register...
... success, item installed but is not compatible

Error: installLocation has no properties
Source File: file:///J:/mozilla/firefox/dist/bin/components/nsExtensionManager.js
Line: 2035

- after that the extension appears in the EM window with status "will be installed after a restart". After a restart, it gets 'uninstalled', but its entry in extensions.cache is still there, so EM doesn't try to re-register it at subsequent startups.
Summary: Registering an extension by placing a file, with a name different from extension's GUID, in extensions\ doesn't work and messes up Firefox → Registering an extension by placing a file, with a name different from extension's GUID, in extensions\ doesn't work but it takes Firefox two restarts to figure it out
QA Contact: bugs → extension.manager

Comment 3

11 years ago
Dupe of bug 352847?
nope, this is different than bug 352847.
Assignee: robert.bugzilla → nobody
Product: Firefox → Toolkit
(Assignee)

Comment 5

8 years ago
This is fixed with the extension manager rewrite
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
Verified fixed with Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; en-US; rv:2.0b2pre) Gecko/20100704 Minefield/4.0b2pre
Assignee: nobody → dtownsend
Status: RESOLVED → VERIFIED
Depends on: 553169
Flags: in-testsuite?
Flags: in-litmus?
OS: Windows XP → All
Hardware: x86 → All
Target Milestone: --- → mozilla1.9.3a5
Dave, I would say it's not possible to test with an automated test, right? In that case I would simply create a Mozmill test instead of having a Litmus test.
(Assignee)

Comment 8

8 years ago
Should be possible to do automatically, I think it might already be there but I need to verify that.
Flags: in-litmus? → in-litmus-
(Assignee)

Comment 9

8 years ago
This already has a test in test_filepointer.js
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.