This also fixes an issue where we'd calculate the same App ID for normal
and private browsing windows if taskbar.grouping.useprofile was set to
true.
Differential Revision: https://phabricator.services.mozilla.com/D205721
The overarching change here is that it's now possible to get an AUMID without first trying to fetch the current one that's set -- this allows us to obtain the Private Browsing one from a non-Private window, which we will need in a later patch to supporting adding a Private Browsing taskbar pin during onboarding.
Differential Revision: https://phabricator.services.mozilla.com/D138193
The overarching change here is that it's now possible to get an AUMID without first trying to fetch the current one that's set -- this allows us to obtain the Private Browsing one from a non-Private window, which we will need in a later patch to supporting adding a Private Browsing taskbar pin during onboarding.
Differential Revision: https://phabricator.services.mozilla.com/D138193
The overarching change here is that it's now possible to get an AUMID without first trying to fetch the current one that's set -- this allows us to obtain the Private Browsing one from a non-Private window, which we will need in a later patch to supporting adding a Private Browsing taskbar pin during onboarding.
Differential Revision: https://phabricator.services.mozilla.com/D138193
The overarching change here is that it's now possible to get an AUMID without first trying to fetch the current one that's set -- this allows us to obtain the Private Browsing one from a non-Private window, which we will need in a later patch to supporting adding a Private Browsing taskbar pin during onboarding.
Differential Revision: https://phabricator.services.mozilla.com/D138193
Our telemetry data showed `WinUtils::GetNSWindowPtr` returned nullptr
when constructing `TaskbarTabPreview`. We can't find a way to make such
a situation, but these crashes tell us we should not assume `GetNSWindowPtr`
always returns a valid pointer.
A proposed fix is to change the return value of `GetWindowHook()` from
a reference to a pointer so that the caller can decide what to do
when nullptr is returned.
Differential Revision: https://phabricator.services.mozilla.com/D91471
Once we start supporting different model IDs for different windows of the same
application we need to make sure that the normal windows have a model ID and
the jump lists and recent documents are tagged with the same ID. We do this by
always having an app default model ID, when no window specific model ID is set
the app default is used.
At some point we may want to extend the jump list stuff to support using a
different model ID but that isn't needed right now.
Differential Revision: https://phabricator.services.mozilla.com/D57152
Once we start supporting different model IDs for different windows of the same
application we need to make sure that the normal windows have a model ID and
the jump lists and recent documents are tagged with the same ID. We do this by
always having an app default model ID, when no window specific model ID is set
the app default is used.
At some point we may want to extend the jump list stuff to support using a
different model ID but that isn't needed right now.
Differential Revision: https://phabricator.services.mozilla.com/D57152
Once we start supporting different model IDs for different windows of the same
application we need to make sure that the normal windows have a model ID and
the jump lists and recent documents are tagged with the same ID. We do this by
always having an app default model ID, when no window specific model ID is set
the app default is used.
At some point we may want to extend the jump list stuff to support using a
different model ID but that isn't needed right now.
Differential Revision: https://phabricator.services.mozilla.com/D57152
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.
find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
if [ -n "$interfaces" ]; then
if [[ "$interfaces" == *$'\n'* ]]; then
regexp="\("
for i in $interfaces; do regexp="$regexp$i\|"; done
regexp="${regexp%%\\\|}\)"
else
regexp="$interfaces"
fi
interface=$(basename "$path")
rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
if [ $hits -eq 0 ]; then
echo "Removing ${interface} from ${path2}"
grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
mv -f "$path2".tmp "$path2"
fi
done
fi
done
Differential Revision: https://phabricator.services.mozilla.com/D55444
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.
MozReview-Commit-ID: 5UQVHElSpCr
I did my best to remove as much stuff as possible in this patch. The starting
point was to remove all the IsVistaOrLater() and IsWin7OrLater() calls, but I
also grepped for various strings and found some other removable stuff that way.
I may have still missed some things.
Notable things done by this patch.
- It removes numerous blocklist entries.
- It removes CanComputeVirtualKeyCodeFromScanCode(), because it's always true
now.
- It removes ShowXP{Folder,File}Picker(), even though these were available as
fallbacks on Vista+. The "when platform is built without the longhorn SDK"
condition in the comment above nsFilePicker::ShowXPFolderPicker() sounds like
it won't ever happen any more.
- It removes the config.trim_on_minimize preference. This requires adding a
bool sHaveInitializedPrefs variable; previously the lack of pref
initialization was indicated by the tri-state sTrimOnMinimize variable having
the value 2.
Notable things *not* done by this patch.
- ClearThemeRegion() still exists. The comment suggests that it is XP/Vista
only, but the code suggests otherwise. jimm thinks the comment is wrong.
- The comment in WinWakeLockListener::Callback() suggests that the StartTimer()
call is no longer needed to block the screen saver. I'm uncertain about this
and so I think it's best left to a follow-up.
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