diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-01-09 13:22:29 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-01-11 13:45:17 +0100 |
commit | 00b8ab8be2ac97de7ccb22af499208a281afd161 (patch) | |
tree | 8393c6922ea78baa5b67c78d6349f62e499f9661 /widget/windows/TSFTextStore.cpp | |
parent | e338d996999867b5d4f66d47837c56dba73a7f6b (diff) | |
download | UXP-00b8ab8be2ac97de7ccb22af499208a281afd161.tar UXP-00b8ab8be2ac97de7ccb22af499208a281afd161.tar.gz UXP-00b8ab8be2ac97de7ccb22af499208a281afd161.tar.lz UXP-00b8ab8be2ac97de7ccb22af499208a281afd161.tar.xz UXP-00b8ab8be2ac97de7ccb22af499208a281afd161.zip |
Issue #1348 - Part 3: Set IS_PRIVATE input scope in private browsing.
Microsoft IME on Windows 10 20H1 (build 19025+) supports IME private
mode by input scope. Although previous Windows versions use an
undocumented API for Edge and IE only, the next Windows 10 release will
use a public API for it.
We pre-empt this potential privacy concern by setting the IS_PRIVATE
flag when in PB mode.
Diffstat (limited to 'widget/windows/TSFTextStore.cpp')
-rw-r--r-- | widget/windows/TSFTextStore.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/widget/windows/TSFTextStore.cpp b/widget/windows/TSFTextStore.cpp index c80de831c..12b8cd0c1 100644 --- a/widget/windows/TSFTextStore.cpp +++ b/widget/windows/TSFTextStore.cpp @@ -1355,7 +1355,9 @@ TSFTextStore::Init(nsWindowBase* aWidget, return false; } - SetInputScope(aContext.mHTMLInputType, aContext.mHTMLInputInputmode); + SetInputScope(aContext.mHTMLInputType, + aContext.mHTMLInputInputmode, + aContext.mInPrivateBrowsing); // Create document manager RefPtr<ITfThreadMgr> threadMgr = sThreadMgr; @@ -3205,9 +3207,15 @@ TSFTextStore::InsertEmbedded(DWORD dwFlags, void TSFTextStore::SetInputScope(const nsString& aHTMLInputType, - const nsString& aHTMLInputInputMode) + const nsString& aHTMLInputInputMode, + bool aInPrivateBrowsing) { mInputScopes.Clear(); + + if (aInPrivateBrowsing) { + mInputScopes.AppendElement(IS_PRIVATE); + } + if (aHTMLInputType.IsEmpty() || aHTMLInputType.EqualsLiteral("text")) { if (aHTMLInputInputMode.EqualsLiteral("url")) { mInputScopes.AppendElement(IS_URL); @@ -5688,7 +5696,8 @@ TSFTextStore::SetInputContext(nsWindowBase* aWidget, if (sEnabledTextStore) { RefPtr<TSFTextStore> textStore(sEnabledTextStore); textStore->SetInputScope(aContext.mHTMLInputType, - aContext.mHTMLInputInputmode); + aContext.mHTMLInputInputmode, + aContext.mInPrivateBrowsing); } return; } |