Commit Graph

25 Commits

Author SHA1 Message Date
Matt Howell
a856b42f0a 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
2017-01-09 08:14:00 -08:00
Chris Peterson
e1678e8f01 Bug 1331171 - Part 2: Remove Windows shell integration checks for Windows Vista. r=jimm
MozReview-Commit-ID: 8B6HnnpVP4L
2017-01-14 01:19:22 -08:00
Masatoshi Kimura
1c69ea1c75 Bug 1302023 - Disable a workaround for Windows 10 Default apps on build 14965 or later. r=jimm
MozReview-Commit-ID: 5mKkr12n9HP
2016-11-12 01:32:24 +09:00
Enes Goktas
9205ec54b0 Bug 1302855 - Fold browsercomps into xul; r=bsmedberg
MozReview-Commit-ID: 8oaVngXFfh3
2016-09-27 19:54:37 -07:00
Chris Peterson
6c0f810682 Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
Masatoshi Kimura
08e71caa64 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
86989f85a2 Bug 1250781 - Scroll "Default apps" into the default browser option. r=Gijs 2016-02-25 07:10:35 +09:00
Jared Wein
7ecc79a49f Bug 1240892 - Disable default-app hash storage. r=dolske 2016-01-22 10:12:00 +01:00
Jared Wein
c3f27c3b0d Bug 1238712 - Move duplicated shell-service code to a shared JSM. r=gijs 2016-01-15 12:35:15 -05:00
Jared Wein
83c49e4141 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
4e6d8f6705 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
2015-10-18 01:24:48 -04:00
Nathan Froyd
bf7f6dda03 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
39e8a487a7 Bug 1208000 - Default browser dialog appears only 2 times. r=Gijs 2015-09-24 14:18:00 +02:00
Jared Wein
c4afcb7809 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
e0c33baef8 Bug 1184508 - Remember registry hash for later use on Win8+. r=jimm 2015-07-22 19:31:06 +09:00
Jared Wein
e53109bd01 Bug 1183682 - Remove the default browser A/B test for Windows 10 (keep Settings approach). r=gijs 2015-07-15 10:36:55 -04:00
Emanuel Hoogeveen
b30abdc582 Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Brian R. Bondy
520dde756c Bug 791501 - Default Programs UI should select Firefox by default. r=jimm 2015-06-27 12:27:26 +09:00
Jared Wein
a1c57c5f23 Bug 1176112 - A/B test for default browser setting UI on Windows 10. r=Gijs 2015-06-20 01:16:05 -04:00
Masatoshi Kimura
0f65da1786 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
4c7fdf1b78 Bug 1167294 - Launch the modern Settings app when setting the default browser on Windows 10. r=jimm,Gijs 2015-06-03 11:40:40 -04:00
Hector Zhao
a42eba72dd Bug 1138807 - Treat user cancelling of HTTPHandlerPane as Success. r=jimm 2015-03-03 12:55:50 +08:00
Gavin Sharp
e9102c0a38 Bug 1041516 part 2: reset the "check for default browser" pref to true when setting ourselves as the default browser, r=Gijs 2014-10-13 21:15:43 -07:00
Gavin Sharp
24c06d7306 Bug 1041516 part 1: clean up pref code in shell service, r=bsmedberg 2014-10-13 21:10:47 -07:00
Birunthan Mohanathas
083a89ae95 Bug 1038458 - Part 7: Flatten browser/components/shell/{public,src}/ directories. r=mak 2014-07-26 09:32:14 -07:00