Closed Bug 1354845 Opened 7 years ago Closed 7 years ago

Accessibility Installer rollup ports for c-c apps

Categories

(MailNews Core :: Build Config, enhancement)

Unspecified
Windows
enhancement
Not set
normal

Tracking

(seamonkey2.53 fixed)

RESOLVED FIXED
Thunderbird 56.0
Tracking Status
seamonkey2.53 --- fixed

People

(Reporter: frg, Assigned: frg)

Details

User Story

Bug 1275731 - Add IA2Marshal.dll to package and installer
Bug 1288841 - Add a typelib containing info for IServiceProvider and IEnumVARIAN
Bug 1354208 - Add AccessibleHandler.dll to installer

See also:
Bug 338878 - Only one install of AccessibleMarshal.dll can be registered at a time which can lead to it being unregistered
Bug 1303060 - Implement COM handler to reduce RPC round-trips

Attachments

(4 files, 12 obsolete files)

7.83 KB, patch
jorgk-bmo
: review+
Details | Diff | Splinter Review
7.79 KB, patch
jorgk-bmo
: review+
Details | Diff | Splinter Review
8.52 KB, patch
frg
: review+
Details | Diff | Splinter Review
6.29 KB, patch
frg
: review+
Details | Diff | Splinter Review
At least SeaMonkey and Thunderbird need to port a few recent installer fixes for the a11y Accessibility component. Instantbird is also missing them.
Attached patch 1354845-Accessibility-mail.patch (obsolete) — Splinter Review
Attachment #8856145 - Attachment is obsolete: true
User Story: (updated)
Attached patch 1354845-Accessibility-mail.patch (obsolete) — Splinter Review
Patch looked like mine. Only missing is the AccessibleHandler.dll in package-manifest.in.
Attachment #8856146 - Attachment is obsolete: true
>> Patch looked like mine. Only missing is the AccessibleHandler.dll in package-manifest.in.

Yes was sloppy.

Yours still has these in:

+@RESPATH@/components/UserAgentOverrides.js
+@RESPATH@/components/UserAgentOverrides.manifest
Attached patch 1354845-Accessibility-mail.patch (obsolete) — Splinter Review
Attachment #8856151 - Attachment is obsolete: true
Attached patch 1354845-Accessibility-IM.patch (obsolete) — Splinter Review
Who should check this one?
Aaron, please could you check the patches if we can do this or if not, how we could do it?
Flags: needinfo?(aklotz)
Attached patch 1354845-Accessibility-mail.patch (obsolete) — Splinter Review
Patch updated with bugs 1355968 and 1357194.

Bug 1355968 - Ensure AccessibleHandler.dll is registered in PostUpdate
Bug 1357194 - Use MOZ_UPDATE_CHANNEL to distinguish between local/nightly and beta/release builds for AccessibleHandler CLSIDs
Attachment #8856152 - Attachment is obsolete: true
Attached patch 1354845-Accessibility-mail.patch (obsolete) — Splinter Review
Updated to tip.

Matt, it seems Aaron has no time to look at this patch. Please could you look, if the patch is correct and should work for TB?
Attachment #8859727 - Attachment is obsolete: true
Attachment #8882855 - Flags: feedback?(mhowell)
Comment on attachment 8882855 [details] [diff] [review]
1354845-Accessibility-mail.patch

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

I can't confidently speak to the "should work for TB" part, because I'm unfortunately almost entirely unfamiliar with TB, but I don't know of anything different from FF that you'd run up against. I am confident that the patch is correctly doing the same things that the referenced FF patches do. You've also correctly left out bug 1358276, since it was reverted in bug 1372357, after bug 1354077 part 2 made it unnecessary.

::: mail/installer/windows/nsis/installer.nsi
@@ +327,5 @@
> +    ${LogUninstall} "DLLReg: \AccessibleHandler.dll"
> +    ${LogMsg} "Registered: $INSTDIR\AccessibleHandler.dll"
> +  ${EndIf}
> +
> +  ClearErrors

nit: This second ClearErrors isn't needed.
Attachment #8882855 - Flags: feedback?(mhowell) → feedback+
Thank you Matt for the feedback

(In reply to Matt Howell [:mhowell] from comment #11)
> Comment on attachment 8882855 [details] [diff] [review]
> 1354845-Accessibility-mail.patch
> 
> Review of attachment 8882855 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: mail/installer/windows/nsis/installer.nsi
> @@ +327,5 @@
> > +    ${LogUninstall} "DLLReg: \AccessibleHandler.dll"
> > +    ${LogMsg} "Registered: $INSTDIR\AccessibleHandler.dll"
> > +  ${EndIf}
> > +
> > +  ClearErrors
> 
> nit: This second ClearErrors isn't needed.

Fixed.

Jörg, with Matt's feedback it should be easier for you to review this patch. I also made a try run and tested the installer. https://treeherder.mozilla.org/#/jobs?repo=try-comm-central&revision=c099115b33ab107bff8f9dafadb361bd523ab1c8
Attachment #8882855 - Attachment is obsolete: true
Attachment #8882920 - Flags: review?(jorgk)
Comment on attachment 8856168 [details] [diff] [review]
1354845-Accessibility-IM.patch

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

::: im/installer/windows/nsis/installer.nsi
@@ +232,5 @@
> +    ${LogUninstall} "DLLReg: \AccessibleHandler.dll"
> +    ${LogMsg} "Registered: $INSTDIR\AccessibleHandler.dll"
> +  ${EndIf}
> +
> +  ClearErrors

We took this second 'ClearErrors' out on suggestion of Matt in comment #11. Same goes for the suite patch.
Comment on attachment 8882920 [details] [diff] [review]
1354845-Accessibility-mail.patch [landed comment #16]

I'm the total installer expert (NOT!).
Anyway, this looks straight forward.
Flags: needinfo?(aklotz)
Attachment #8882920 - Flags: review?(jorgk) → review+
I set c-n for the mail patch. But leave this bug open for the other patches.
Keywords: checkin-needed
Whiteboard: leave open
Keywords: leave-open
Whiteboard: leave open
Comment on attachment 8882920 [details] [diff] [review]
1354845-Accessibility-mail.patch [landed comment #16]

https://hg.mozilla.org/comm-central/rev/873ddce7e8e6f9b9272789154752207cb6556652
Attachment #8882920 - Attachment description: 1354845-Accessibility-mail.patch → 1354845-Accessibility-mail.patch [landed comment #16]
Final patch for suite.

enable-official-branding needs to be set for release builds to match Fx and TB. It is only used in the installer for this right now.
Attachment #8856149 - Attachment is obsolete: true
Attachment #8885872 - Flags: review?(iann_bugzilla)
Attachment #8885872 - Flags: feedback?(ewong)
Attached patch 1354845-Accessibility-IM.patch (obsolete) — Splinter Review
Instantbird was missing a piece in shared.nsh.

Jorg do you want to review it? Untested but I believe it should work. 

This should all make a mess if 2 products with the same class id are installed but the mess shouldn't be worse as before this bug :)
Attachment #8856168 - Attachment is obsolete: true
Attachment #8885877 - Flags: review?(jorgk)
Attached patch 1354845-Accessibility-IM.patch (obsolete) — Splinter Review
Overlooked the clearerrors comment.
Attachment #8885877 - Attachment is obsolete: true
Attachment #8885877 - Flags: review?(jorgk)
Attachment #8885880 - Flags: review?(jorgk)
same here: two ClearErrors removed.
Attachment #8885872 - Attachment is obsolete: true
Attachment #8885872 - Flags: review?(iann_bugzilla)
Attachment #8885872 - Flags: feedback?(ewong)
Attachment #8885883 - Flags: review?(iann_bugzilla)
Attachment #8885883 - Flags: feedback?(ewong)
Comment on attachment 8885883 [details] [diff] [review]
1354845-Accessibility-suite.patch

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

aside for the minor nits,  it lgtm.

::: suite/config/mozconfigs/win32/release-l10n
@@ +4,5 @@
>  ac_add_options --with-l10n-base=../../l10n
>  ac_add_options --enable-application=suite
>  ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
> +ac_add_options --enable-official-branding
> +

you can remove that extra line in 8.

::: suite/installer/windows/nsis/shared.nsh
@@ +768,5 @@
>    StrCpy $0 "SOFTWARE\Classes"
>    ; Remove support for launching gopher urls from the shell during install or
>    ; update if the DefaultIcon is from seamonkey.exe.
>    ${RegCleanAppHandler} "gopher"
>    

while you're at it, can you remove this extra whitespace?

::: suite/installer/windows/nsis/uninstaller.nsi
@@ +355,5 @@
> +  ReadRegStr $R1 HKCR "CLSID\{0D68D6D0-D93D-4D08-A30D-F00DD1F45B24}\InProcServer32" ""
> +  ${If} "$INSTDIR\AccessibleMarshal.dll" == "$R1"
> +    ${UnregisterDLL} "$INSTDIR\AccessibleMarshal.dll"
> +  ${EndIf}
> + 

extra space nit.
Attachment #8885883 - Flags: feedback?(ewong) → feedback+
Comment on attachment 8885883 [details] [diff] [review]
1354845-Accessibility-suite.patch

r=me
Attachment #8885883 - Flags: review?(iann_bugzilla) → review+
Comparing the changes for TB and IM, I'm a bit confused.

TB:
+!if "@MOZ_UPDATE_CHANNEL@" == "default"
+#ifdef DEBUG
+!define AccessibleHandlerCLSID "{398FFD8D-5382-48F7-9E3B-19012762D39A}"
+#else
+!define AccessibleHandlerCLSID "{CE573FAF-7815-4FC2-A031-B092268ACE9E}"
+#endif
+!else if "@MOZ_UPDATE_CHANNEL@" == "nightly"
+!define AccessibleHandlerCLSID "{4629216B-8753-41BF-9527-5BFF51401671}"
+!else if "@MOZ_UPDATE_CHANNEL@" == "beta"
+!define AccessibleHandlerCLSID "{21E9F98D-A6C9-4CB5-B288-AE2FD2A96C58}"
+!else if "@MOZ_UPDATE_CHANNEL@" == "release"
+!define AccessibleHandlerCLSID "{1BAA303D-B4B9-45E5-9CCB-E3FCA3E274B6}"
+!else
+!define AccessibleHandlerCLSID "{4A195748-DCA2-45FB-9295-0A139E76A9E7}"
+!endif
+

IM and SM:
+#ifndef MOZ_OFFICIAL_BRANDING
+#ifdef DEBUG
+!define AccessibleHandlerCLSID "{398FFD8D-5382-48F7-9E3B-19012762D39A}"
+#else
+!define AccessibleHandlerCLSID "{CE573FAF-7815-4FC2-A031-B092268ACE9E}"
+#endif
+#elifdef NIGHTLY_BUILD
+!define AccessibleHandlerCLSID "{4629216B-8753-41BF-9527-5BFF51401671}"
+#elifdef RELEASE_OR_BETA
+!define AccessibleHandlerCLSID "{1BAA303D-B4B9-45E5-9CCB-E3FCA3E274B6}"
+#else
+!define AccessibleHandlerCLSID "{4A195748-DCA2-45FB-9295-0A139E76A9E7}"
+#endif
+

So what's the difference between |!if "@MOZ_UPDATE_CHANNEL@" == "default"| and |#ifndef MOZ_OFFICIAL_BRANDING| and why don't IM and SM put beta and release into a single CLSID?
Let me check. Has been awhile that I did the original patches.
> So what's the difference between |!if "@MOZ_UPDATE_CHANNEL@" == "default"| and |#ifndef 
> MOZ_OFFICIAL_BRANDING| and why don't IM and SM put beta and release into a single CLSID?

Sorry for the late reply. I based the changes on bug 1354208. Since then this has been changed in bug 1357194. I need to redo the patches. Thanks for chatching it.
Same block as TB/SM/Fx now
Attachment #8885880 - Attachment is obsolete: true
Attachment #8885880 - Flags: review?(jorgk)
Attachment #8892158 - Flags: review?(jorgk)
r+ from IanN retained. Config changes removed as per bug 1381211 comment 2.

Block with the ifdefs aligned with Fx and TB as per Jorgs comment.
Attachment #8885883 - Attachment is obsolete: true
Attachment #8892159 - Flags: review+
trailing blanks removed in suite installer as additional nitfix.
Attachment #8892160 - Flags: review+
Pushed by frgrahl@gmx.net:
https://hg.mozilla.org/comm-central/rev/da7456b68187
Add IA2Marshal and AccessibleHandler to SeaMonkey. r=IanN
https://hg.mozilla.org/comm-central/rev/33bf974fa8f8
Remove trailing blanks from SeaMonkey installer file. rs=whitespace-only
Done for SeaMonkey (hopefully).

Only IM left.
Attachment #8892158 - Flags: review?(jorgk) → review+
Keywords: leave-open
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/a5dcb54170ce
Add IA2Marshal and AccessibleHandler to Instantbird. r=jorgk DONTBUILD
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Assignee: nobody → frgrahl
Target Milestone: --- → Thunderbird 56.0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: