Fix ChatZilla for SeaMonkey 2.57 based on ESR 60.

RESOLVED FIXED

Status

enhancement
RESOLVED FIXED
6 months ago
6 months ago

People

(Reporter: frg, Assigned: frg)

Tracking

(Blocks 1 bug)

Trunk
Dependency tree / graph

SeaMonkey Tracking Flags

(seamonkey2.49esr unaffected, seamonkey2.53 unaffected, seamonkey2.57esr fixed)

Details

Attachments

(5 attachments, 3 obsolete attachments)

(Assignee)

Description

6 months ago
Chatzilla is broken in SeaMonkey 2.54 because of several api changes.

It needs fixes for the following bugs to work in SeaMonkey 2.57: 

Bug 1402888 - nsIStreamTransportService::createInputTransport startOffset and readLimit is not used.
Bug 1428172 - Align mozIntl with Intl when working with constructors.
Bug 1432187 - Change code to use nsIStandardURLMutator.{init,setDefaultPort}
(Assignee)

Comment 1

6 months ago
Posted patch 1497352-port-1402888.patch (obsolete) — Splinter Review
Bug 1402888 removed 2 parameters in Gecko 58.
Attachment #9015364 - Flags: review?(gijskruitbosch+bugs)
(Assignee)

Comment 2

6 months ago
The new constructor actually works in 2.53 based on 56 and 2.57 based on 60 both.
Attachment #9015366 - Flags: review?(gijskruitbosch+bugs)
(Assignee)

Comment 3

6 months ago
Use nsIStandardURLMutator in gecko > 56
Attachment #9015372 - Flags: review?(gijskruitbosch+bugs)
(Assignee)

Comment 4

6 months ago
Hardcode the maximum versions. These are probably end of the line for cZ in both Fx and SeaMonkey.
Attachment #9015373 - Flags: review?(gijskruitbosch+bugs)
(Assignee)

Comment 5

6 months ago
Set new version. l10n unchanged.
Attachment #9015374 - Flags: review?(gijskruitbosch+bugs)
(Assignee)

Comment 6

6 months ago
A test version can be found here: http://www.wg9s.com/comm-257/

I also compiled it standalone via the provided python script and with SeaMonkey 2.57.
(Assignee)

Updated

6 months ago
Duplicate of this bug: 1407951
(Assignee)

Updated

6 months ago
Duplicate of this bug: 1392807

Comment 9

6 months ago
Comment on attachment 9015364 [details] [diff] [review]
1497352-port-1402888.patch

Review of attachment 9015364 [details] [diff] [review]:
-----------------------------------------------------------------

r=me with below addressed.

::: js/lib/connection-xpcom.js
@@ +579,5 @@
>      else
>      {
>          var cls = Components.classes["@mozilla.org/network/input-stream-pump;1"];
>          var pump = cls.createInstance(Components.interfaces.nsIInputStreamPump);
> +        if (Services.vc.compare(Services.appinfo.platformVersion, "58.0") < 0)

Feature-check instead, please:

`if (pump.init.length > 5)`

works just as well, AFAICT.

Also, please add a comment referencing the bug number before this code.
Attachment #9015364 - Flags: review?(gijskruitbosch+bugs) → review+

Comment 10

6 months ago
Comment on attachment 9015366 [details] [diff] [review]
1497352-port-1428172-part2.patch

Review of attachment 9015366 [details] [diff] [review]:
-----------------------------------------------------------------

This doesn't make sense - the referenced bug only landed in 59. How would it possibly work in 56? Are you sure you entered the `else` branch when testing?
Attachment #9015366 - Flags: review?(gijskruitbosch+bugs)

Comment 11

6 months ago
Comment on attachment 9015372 [details] [diff] [review]
1497352-port-1432187-nsIStandardMutator.patch

Review of attachment 9015372 [details] [diff] [review]:
-----------------------------------------------------------------

r=me with nits addressed.

::: js/lib/protocol-handlers.jsm
@@ +78,3 @@
>          const port = this.isSecure ? 9999 : 6667;
>  
> +        if (Services.vc.compare(Services.appinfo.platformVersion, "57.0") < 0) {

Again, please feature-check. In this case, `if (!Cc.hasOwnProperty("@mozilla.org/network/standard-url-mutator;1"))` should be a suitable replacement.

Then you can also omit the new import at the top of the file.

@@ +88,5 @@
> +        return Cc["@mozilla.org/network/standard-url-mutator;1"]
> +                 .createInstance(Ci.nsIStandardURLMutator)
> +                 .init(Ci.nsIStandardURL.URLTYPE_STANDARD, port, spec, charset, baseURI)
> +                 .finalize()
> +                 .QueryInterface(Ci.nsIURI);

`finalize()` returns an nsIURI, and so the QI isn't necessary.
Attachment #9015372 - Flags: review?(gijskruitbosch+bugs) → review+

Updated

6 months ago
Attachment #9015373 - Flags: review?(gijskruitbosch+bugs) → review+

Updated

6 months ago
Attachment #9015374 - Flags: review?(gijskruitbosch+bugs) → review+
(Assignee)

Comment 12

6 months ago
According to Bill the previous patch worked because it used 'new' already internally. But with the version check should be fine too.
Attachment #9015366 - Attachment is obsolete: true
Attachment #9016978 - Flags: review?(gijskruitbosch+bugs)
(Assignee)

Comment 13

6 months ago
Issues addressed. r+ from Gijs carried forward.
Attachment #9015372 - Attachment is obsolete: true
Attachment #9016979 - Flags: review+
(Assignee)

Comment 14

6 months ago
Issues addressed. r+ from Gijs carried forward.
Attachment #9015364 - Attachment is obsolete: true
Attachment #9016980 - Flags: review+

Comment 15

6 months ago
Comment on attachment 9016978 [details] [diff] [review]
1497352-port-1428172-part2.patch

Review of attachment 9016978 [details] [diff] [review]:
-----------------------------------------------------------------

::: xul/content/static.js
@@ +279,5 @@
> +                    undefined, { dateStyle: "full", timeStyle: "long" });
> +            }
> +            else {
> +                client.dtFormatter = new Services.intl.DateTimeFormat(
> +                     undefined, { dateStyle: "full", timeStyle: "long" });

The indenting should be the same in both blocks, and it isn't.
Attachment #9016978 - Flags: review?(gijskruitbosch+bugs) → review+
(Assignee)

Comment 16

6 months ago
Great. Indention fixed in the pushed patch.

Hardcode max versions for SeaMonkey and Firefox.
https://hg.mozilla.org/chatzilla/rev/3adf399a054ec99c661d98c108b574511f42b5c2

Port Bug 1432187 [Change code to use nsIStandardURLMutator.{init,setDefaultPort}] to ChatZilla.
https://hg.mozilla.org/chatzilla/rev/a8e14a8352ec558b500bbb3e23c3cc17af295bd0

Port Bug 1402888 to ChatZilla. Remove nsIStreamTransportService::createInputTransport startOffset and readLimit.
https://hg.mozilla.org/chatzilla/rev/75c8c75015bc5afdf7930a834f599fe1c04f6eca

Port Bug 1428172 [Align mozIntl with Intl when working with constructors] to ChatZilla.
https://hg.mozilla.org/chatzilla/rev/ded1d42cc8ed750b643c26c082fcd16ebf013d08

Bump Chatzilla version.
https://hg.mozilla.org/chatzilla/rev/123b577e241f133827e482674487cbb18025b833
Status: ASSIGNED → RESOLVED
Last Resolved: 6 months ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.