Commit graph

28 commits

Author SHA1 Message Date
Matt Howell
4766e72aba Bug 1337530 - Fix Windows default browser detection. r=rstrong
In addition to fixing the bug, this patch takes the opportunity to remove a
bunch of registry handling code specific to XP and Vista, leaving only the one
officially supported default detection method for all versions above Vista.

MozReview-Commit-ID: 1I77ECJaOFk

--HG--
extra : rebase_source : d1a22f966df218e5a9030389dc2305f349d9bbd7
2017-02-08 08:37:20 -08:00
Matt Howell
ba8e2a22b0 Bug 1324617 - Allow any of multiple installations to be set as the Windows default browser; r=jimm,rstrong
Previously each new installation of any Firefox channel in any location would
just overwrite the Windows registry keys which register us as a candidate for
the default browser setting and for all of our potential file and protocol associations.

This meant that only the most recent installation (across all channels) was ever
selectable in those settings.

It also meant that creating a new installation when one was already present
tripped Windows 10's shenanigans alarm, because it saw the registration for an
existing application getting clobbered by a new one and couldn't tell that they
were really the same application.

The response to that alarm going off is to reset the default browser to Edge,
and maybe or maybe not generate a system notification about that. This is the
cause of bug 1324617. Obviously we would like to prevent that outcome.

So with this commit we generate new registration entries for each installation,
by adding a hash of the install path to the relevant identifiers.

MozReview-Commit-ID: Fz1xDtittMi

--HG--
extra : rebase_source : e0bc19e4abc1b32133f56458daf625527ce188b0
2017-01-09 08:14:00 -08:00
Sebastian Hengst
f3c9a45af9 Backed out changeset 5b0aa267bc53 (bug 1324617) for Windows build bustage (warning in CityHash.h). r=backout on a CLOSED TREE 2017-01-30 23:20:01 +01:00
Matt Howell
b50dd65754 Bug 1324617 - Allow any of multiple installations to be set as the Windows default browser; r=jimm,rstrong
Previously each new installation of any Firefox channel in any location would
just overwrite the Windows registry keys which register us as a candidate for
the default browser setting and for all of our potential file and protocol associations.

This meant that only the most recent installation (across all channels) was ever
selectable in those settings.

It also meant that creating a new installation when one was already present
tripped Windows 10's shenanigans alarm, because it saw the registration for an
existing application getting clobbered by a new one and couldn't tell that they
were really the same application.

The response to that alarm going off is to reset the default browser to Edge,
and maybe or maybe not generate a system notification about that. This is the
cause of bug 1324617. Obviously we would like to prevent that outcome.

So with this commit we generate new registration entries for each installation,
by adding a hash of the install path to the relevant identifiers.

MozReview-Commit-ID: Fz1xDtittMi

--HG--
extra : rebase_source : 3b3523c108502aebd08fd4912c3ab50baf3c0359
2017-01-09 08:14:00 -08:00
Chris Peterson
29bbf6d6b2 Bug 1331171 - Part 2: Remove Windows shell integration checks for Windows Vista. r=jimm
MozReview-Commit-ID: 8B6HnnpVP4L

--HG--
extra : rebase_source : 501ebb81dac3a56be9c64bf09d3261e570476a8d
2017-01-14 01:19:22 -08:00
Masatoshi Kimura
62f2dfa1be Bug 1302023 - Disable a workaround for Windows 10 Default apps on build 14965 or later. r=jimm
MozReview-Commit-ID: 5mKkr12n9HP

--HG--
extra : rebase_source : e66865b57232649b29401ab9a79a8346ea9efdf2
2016-11-12 01:32:24 +09:00
Enes Goktas
032c476db6 Bug 1302855 - Fold browsercomps into xul; r=bsmedberg
MozReview-Commit-ID: 8oaVngXFfh3

--HG--
extra : rebase_source : 2f5e770d04bd3f75778f242e3866b141df5bbff4
2016-09-27 19:54:37 -07:00
Chris Peterson
b175c9fdd5 Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
Masatoshi Kimura
24dc7a411b Bug 1251819 - Use the classic Control Panel if the Settings app believes the current Windows logon is a Microsoft account while actually it is not. r=jimm 2016-04-02 08:17:16 +09:00
Masatoshi Kimura
16881de41a Bug 1250781 - Scroll "Default apps" into the default browser option. r=Gijs 2016-02-25 07:10:35 +09:00
Jared Wein
d07d8912ea Bug 1240892 - Disable default-app hash storage. r=dolske 2016-01-22 10:12:00 +01:00
Jared Wein
b82fbe3699 Bug 1238712 - Move duplicated shell-service code to a shared JSM. r=gijs
--HG--
extra : commitid : 5Dm73Qky4vC
extra : rebase_source : 081f9eb19df15bcde305e87dbacea64cfe488249
2016-01-15 12:35:15 -05:00
Jared Wein
915b8a3c39 Bug 1225648 - Remove duplicate skipDefaultBrowser code and fix double-counting error when tracking prompt counts. r=Gijs 2015-11-18 11:37:29 -05:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd
583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Jared Wein
16291276a6 Bug 1208000 - Default browser dialog appears only 2 times. r=Gijs 2015-09-24 14:18:00 +02:00
Jared Wein
14a9ae9eba Bug 1191250 - Defer showing the default browser prompt to 2nd run (and only show it a maximum of three times). r=jimm 2015-08-28 16:30:00 -04:00
Masatoshi Kimura
da9449810b Bug 1184508 - Remember registry hash for later use on Win8+. r=jimm 2015-07-22 19:31:06 +09:00
Jared Wein
4c76119380 Bug 1183682 - Remove the default browser A/B test for Windows 10 (keep Settings approach). r=gijs
--HG--
extra : rebase_source : 8de483780e8e15b441c1fa0023d4afce4eefb91c
2015-07-15 10:36:55 -04:00
Emanuel Hoogeveen
7d1e52f2ff Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Brian R. Bondy
2516e68ef2 Bug 791501 - Default Programs UI should select Firefox by default. r=jimm 2015-06-27 12:27:26 +09:00
Jared Wein
afe10708a8 Bug 1176112 - A/B test for default browser setting UI on Windows 10. r=Gijs
--HG--
extra : rebase_source : 567e89eb9c618d01e943579ab06d9511dba2dc76
2015-06-20 01:16:05 -04:00
Masatoshi Kimura
734970163c Bug 1172724 - Use the "openas" verb to select the default HTTP handler on Windows 10. r=jaws, jimm 2015-06-19 08:16:52 +09:00
Jared Wein
f3d985358c Bug 1167294 - Launch the modern Settings app when setting the default browser on Windows 10. r=jimm,Gijs
--HG--
extra : rebase_source : 4739b173a9885404a6393f47416904f6f7604891
2015-06-03 11:40:40 -04:00
Hector Zhao
fa633b0513 Bug 1138807 - Treat user cancelling of HTTPHandlerPane as Success. r=jimm 2015-03-03 12:55:50 +08:00
Gavin Sharp
2e27e73486 Bug 1041516 part 2: reset the "check for default browser" pref to true when setting ourselves as the default browser, r=Gijs
--HG--
extra : transplant_source : %91r%EB%A5%9E%ED%15%3A9%EA%A98J%DBQH%DDt%8C%DF
2014-10-13 21:15:43 -07:00
Gavin Sharp
6907736c0d Bug 1041516 part 1: clean up pref code in shell service, r=bsmedberg
--HG--
extra : transplant_source : %B5%B9%11%7D%FE%86%85%7E%A5%10%11%5D%3B%1EZ%A4%B3%EF%0B%D8
2014-10-13 21:10:47 -07:00
Birunthan Mohanathas
a8756989dc Bug 1038458 - Part 7: Flatten browser/components/shell/{public,src}/ directories. r=mak
--HG--
rename : browser/components/shell/src/Makefile.in => browser/components/shell/Makefile.in
rename : browser/components/shell/src/nsGNOMEShellService.cpp => browser/components/shell/nsGNOMEShellService.cpp
rename : browser/components/shell/src/nsGNOMEShellService.h => browser/components/shell/nsGNOMEShellService.h
rename : browser/components/shell/public/nsIMacShellService.idl => browser/components/shell/nsIMacShellService.idl
rename : browser/components/shell/public/nsIShellService.idl => browser/components/shell/nsIShellService.idl
rename : browser/components/shell/public/nsIWindowsShellService.idl => browser/components/shell/nsIWindowsShellService.idl
rename : browser/components/shell/src/nsMacShellService.cpp => browser/components/shell/nsMacShellService.cpp
rename : browser/components/shell/src/nsMacShellService.h => browser/components/shell/nsMacShellService.h
rename : browser/components/shell/src/nsSetDefaultBrowser.js => browser/components/shell/nsSetDefaultBrowser.js
rename : browser/components/shell/src/nsSetDefaultBrowser.manifest => browser/components/shell/nsSetDefaultBrowser.manifest
rename : browser/components/shell/src/nsShellService.h => browser/components/shell/nsShellService.h
rename : browser/components/shell/src/nsWindowsShellService.cpp => browser/components/shell/nsWindowsShellService.cpp
rename : browser/components/shell/src/nsWindowsShellService.h => browser/components/shell/nsWindowsShellService.h
2014-07-26 09:32:14 -07:00
Renamed from browser/components/shell/src/nsWindowsShellService.cpp (Browse further)