mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
merge b2g-inbound to mozilla-central a=merge
This commit is contained in:
commit
1c98ad6726
@ -15,7 +15,7 @@
|
||||
<project name="platform_build" path="build" remote="b2g" revision="3ab0d9c70f0b2e1ededc679112c392303f037361">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
@ -116,8 +116,10 @@
|
||||
<project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="c24c8871173bf6aedcf236cab075edf092a7015c"/>
|
||||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="cfcef469537869947abb9aa1d656774cc2678d4c"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5a48c04c4bb5f079bc757e29864a42427378e051"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="449d3b2b2a0c87be2133deb72f2a8e939e33305d"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="10e78a05252b3de785f88c2d0b9ea8a428009c50"/>
|
||||
<project name="platform/system/media" path="system/media" revision="7ff72c2ea2496fa50b5e8a915e56e901c3ccd240"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="fe95bc6f83af5c18a73aa86c96e7fa7f79b91477"/>
|
||||
<project name="platform/system/netd" path="system/netd" revision="3ae56364946d4a5bf5a5f83f12f9a45a30398e33"/>
|
||||
<project name="platform/system/security" path="system/security" revision="ee8068b9e7bfb2770635062fc9c2035be2142bd8"/>
|
||||
<project name="platform/system/vold" path="system/vold" revision="2e43efe1b30d0b98574d293059556aebd2f46454"/>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d5d3f93914558b6f168447b805cd799c8233e300"/>
|
||||
|
@ -17,7 +17,7 @@
|
||||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="6499615ecece69e726657dc5caaeefa05fbb66bf"/>
|
||||
@ -118,8 +118,10 @@
|
||||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="842e33e43a55ea44833b9e23e4d180fa17c843af"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5db24726f0f42124304195a6bdea129039eeeaeb"/>
|
||||
<project name="platform/system/bluetooth" path="system/bluetooth" revision="930ae098543881f47eac054677726ee4b998b2f8"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="449d3b2b2a0c87be2133deb72f2a8e939e33305d"/>
|
||||
<project name="platform_system_core" path="system/core" remote="b2g" revision="542d1f59dc331b472307e5bd043101d14d5a3a3e"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="18c1180e848e7ab8691940481f5c1c8d22c37b3e"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="fe95bc6f83af5c18a73aa86c96e7fa7f79b91477"/>
|
||||
<project name="platform/system/media" path="system/media" revision="d90b836f66bf1d9627886c96f3a2d9c3007fbb80"/>
|
||||
<project name="platform/system/netd" path="system/netd" revision="56112dd7b811301b718d0643a82fd5cac9522073"/>
|
||||
<project name="platform/system/security" path="system/security" revision="f48ff68fedbcdc12b570b7699745abb6e7574907"/>
|
||||
|
@ -15,7 +15,7 @@
|
||||
<project name="platform_build" path="build" remote="b2g" revision="3ab0d9c70f0b2e1ededc679112c392303f037361">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
@ -116,8 +116,10 @@
|
||||
<project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="c24c8871173bf6aedcf236cab075edf092a7015c"/>
|
||||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="b562b01c93de9578d5db537b6a602a38e1aaa0ce"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="387f03e815f57d536dd922706db1622bddba8d81"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="449d3b2b2a0c87be2133deb72f2a8e939e33305d"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="5356165f67f4a81c2ef28671c13697f1657590df"/>
|
||||
<project name="platform/system/media" path="system/media" revision="be0e2fe59a8043fa5200f75697df9220a99abe9d"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="fe95bc6f83af5c18a73aa86c96e7fa7f79b91477"/>
|
||||
<project name="platform/system/netd" path="system/netd" revision="36704b0da24debcab8090156568ac236315036bb"/>
|
||||
<project name="platform/system/security" path="system/security" revision="583374f69f531ba68fc3dcbff1f74893d2a96406"/>
|
||||
<project name="platform/system/vold" path="system/vold" revision="d4455b8cf361f8353e8aebac15ffd64b4aedd2b9"/>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d5d3f93914558b6f168447b805cd799c8233e300"/>
|
||||
|
@ -15,7 +15,7 @@
|
||||
<project name="platform_build" path="build" remote="b2g" revision="3ab0d9c70f0b2e1ededc679112c392303f037361">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
@ -116,8 +116,10 @@
|
||||
<project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="c24c8871173bf6aedcf236cab075edf092a7015c"/>
|
||||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="69d524e80cdf3981006627c65ac85f3a871238a3"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5a48c04c4bb5f079bc757e29864a42427378e051"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="449d3b2b2a0c87be2133deb72f2a8e939e33305d"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="576f57b6510de59c08568b53c0fb60588be8689e"/>
|
||||
<project name="platform/system/media" path="system/media" revision="20c2fb4c896aa59f2e8379d755f439dc59a5cf9b"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="fe95bc6f83af5c18a73aa86c96e7fa7f79b91477"/>
|
||||
<project name="platform/system/netd" path="system/netd" revision="a6531f7befb49b1c81bc0de7e51c5482b308e1c5"/>
|
||||
<project name="platform/system/security" path="system/security" revision="ee8068b9e7bfb2770635062fc9c2035be2142bd8"/>
|
||||
<project name="platform/system/vold" path="system/vold" revision="42fa2a0f14f965970a4b629a176bbd2666edf017"/>
|
||||
|
@ -17,7 +17,7 @@
|
||||
</project>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="6499615ecece69e726657dc5caaeefa05fbb66bf"/>
|
||||
|
@ -4,6 +4,6 @@
|
||||
"remote": "",
|
||||
"branch": ""
|
||||
},
|
||||
"revision": "415520315b048f40979e9bac344bec99e18df901",
|
||||
"revision": "eb65c4355e0a16dc5cd203c5c007fd7e3bf0e4b2",
|
||||
"repo_path": "integration/gaia-central"
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/>
|
||||
|
@ -15,7 +15,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
|
@ -17,7 +17,7 @@
|
||||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="6499615ecece69e726657dc5caaeefa05fbb66bf"/>
|
||||
@ -118,8 +118,10 @@
|
||||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="842e33e43a55ea44833b9e23e4d180fa17c843af"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5db24726f0f42124304195a6bdea129039eeeaeb"/>
|
||||
<project name="platform/system/bluetooth" path="system/bluetooth" revision="930ae098543881f47eac054677726ee4b998b2f8"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="449d3b2b2a0c87be2133deb72f2a8e939e33305d"/>
|
||||
<project name="platform_system_core" path="system/core" remote="b2g" revision="542d1f59dc331b472307e5bd043101d14d5a3a3e"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="18c1180e848e7ab8691940481f5c1c8d22c37b3e"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="fe95bc6f83af5c18a73aa86c96e7fa7f79b91477"/>
|
||||
<project name="platform/system/media" path="system/media" revision="d90b836f66bf1d9627886c96f3a2d9c3007fbb80"/>
|
||||
<project name="platform/system/netd" path="system/netd" revision="56112dd7b811301b718d0643a82fd5cac9522073"/>
|
||||
<project name="platform/system/security" path="system/security" revision="f48ff68fedbcdc12b570b7699745abb6e7574907"/>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="1fff49c664f905f11a86426a9835e6df6b58e825"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="7cc460af0f6f491d1afa6b6043cdea5025f0e15f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="50ad16a280fe9cfa0716f8c6ba16afdf7f266b49"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "nsIClipboard.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "mozilla/BasicEvents.h"
|
||||
#include "mozilla/dom/Selection.h"
|
||||
|
||||
#include "nsIClipboardDragDropHooks.h"
|
||||
#include "nsIClipboardDragDropHookList.h"
|
||||
@ -482,7 +483,8 @@ nsClipboardCommand::IsCommandEnabled(const char* aCommandName, nsISupports *aCon
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
*outCmdEnabled = false;
|
||||
|
||||
if (strcmp(aCommandName, "cmd_copy"))
|
||||
if (strcmp(aCommandName, "cmd_copy") &&
|
||||
strcmp(aCommandName, "cmd_copyAndCollapseToEnd"))
|
||||
return NS_OK;
|
||||
|
||||
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aContext);
|
||||
@ -496,7 +498,8 @@ nsClipboardCommand::IsCommandEnabled(const char* aCommandName, nsISupports *aCon
|
||||
nsresult
|
||||
nsClipboardCommand::DoCommand(const char *aCommandName, nsISupports *aContext)
|
||||
{
|
||||
if (strcmp(aCommandName, "cmd_copy"))
|
||||
if (strcmp(aCommandName, "cmd_copy") &&
|
||||
strcmp(aCommandName, "cmd_copyAndCollapseToEnd"))
|
||||
return NS_OK;
|
||||
|
||||
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aContext);
|
||||
@ -509,6 +512,14 @@ nsClipboardCommand::DoCommand(const char *aCommandName, nsISupports *aContext)
|
||||
NS_ENSURE_TRUE(presShell, NS_ERROR_FAILURE);
|
||||
|
||||
nsCopySupport::FireClipboardEvent(NS_COPY, nsIClipboard::kGlobalClipboard, presShell, nullptr);
|
||||
|
||||
if (!strcmp(aCommandName, "cmd_copyAndCollapseToEnd")) {
|
||||
dom::Selection *sel =
|
||||
presShell->GetCurrentSelection(nsISelectionController::SELECTION_NORMAL);
|
||||
NS_ENSURE_TRUE(sel, NS_ERROR_FAILURE);
|
||||
sel->CollapseToEnd();
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -1045,6 +1056,7 @@ nsWindowCommandRegistration::RegisterWindowCommands(
|
||||
|
||||
NS_REGISTER_ONE_COMMAND(nsClipboardCommand, "cmd_cut");
|
||||
NS_REGISTER_ONE_COMMAND(nsClipboardCommand, "cmd_copy");
|
||||
NS_REGISTER_ONE_COMMAND(nsClipboardCommand, "cmd_copyAndCollapseToEnd");
|
||||
NS_REGISTER_ONE_COMMAND(nsClipboardCommand, "cmd_paste");
|
||||
NS_REGISTER_ONE_COMMAND(nsClipboardCopyLinkCommand, "cmd_copyLink");
|
||||
NS_REGISTER_FIRST_COMMAND(nsClipboardImageCommands, sCopyImageLocationString);
|
||||
|
@ -59,7 +59,7 @@ const OBSERVED_EVENTS = [
|
||||
|
||||
const COMMAND_MAP = {
|
||||
'cut': 'cmd_cut',
|
||||
'copy': 'cmd_copy',
|
||||
'copy': 'cmd_copyAndCollapseToEnd',
|
||||
'paste': 'cmd_paste',
|
||||
'selectall': 'cmd_selectAll'
|
||||
};
|
||||
|
@ -190,6 +190,7 @@ function testPaste1(e) {
|
||||
// Then paste it to child side.
|
||||
copyToClipboard(pasteData);
|
||||
|
||||
doCommand('selectall');
|
||||
doCommand("paste");
|
||||
SimpleTest.executeSoon(function() { testPaste2(e); });
|
||||
}
|
||||
|
@ -1936,7 +1936,9 @@ RadioInterface.prototype = {
|
||||
case "networkinfochanged":
|
||||
gMobileConnectionService.notifyNetworkInfoChanged(this.clientId,
|
||||
message);
|
||||
connHandler.updateRILNetworkInterface();
|
||||
if (message[RIL.NETWORK_INFO_DATA_REGISTRATION_STATE]) {
|
||||
connHandler.updateRILNetworkInterface();
|
||||
}
|
||||
break;
|
||||
case "networkselectionmodechange":
|
||||
gMobileConnectionService.notifyNetworkSelectModeChanged(this.clientId,
|
||||
|
@ -3,7 +3,6 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
|
||||
#include "mozFlushType.h"
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
#include "mozilla/Assertions.h"
|
||||
@ -28,27 +27,21 @@
|
||||
|
||||
class nsISupports;
|
||||
|
||||
|
||||
#define STATE_ENABLED "state_enabled"
|
||||
#define STATE_ENABLED "state_enabled"
|
||||
#define STATE_DATA "state_data"
|
||||
|
||||
|
||||
nsBaseEditorCommand::nsBaseEditorCommand()
|
||||
{
|
||||
}
|
||||
nsBaseEditorCommand::nsBaseEditorCommand() {}
|
||||
|
||||
NS_IMPL_ISUPPORTS(nsBaseEditorCommand, nsIControllerCommand)
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsUndoCommand::IsCommandEnabled(const char * aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
nsUndoCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
{
|
||||
if (editor) {
|
||||
bool isEnabled, isEditable = false;
|
||||
nsresult rv = editor->GetIsSelectionEditable(&isEditable);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@ -60,18 +53,17 @@ nsUndoCommand::IsCommandEnabled(const char * aCommandName,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsUndoCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
return editor->Undo(1);
|
||||
|
||||
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsUndoCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -79,25 +71,24 @@ nsUndoCommand::DoCommandParams(const char *aCommandName,
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsUndoCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsRedoCommand::IsCommandEnabled(const char * aCommandName,
|
||||
nsRedoCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
{
|
||||
if (editor) {
|
||||
bool isEnabled, isEditable = false;
|
||||
nsresult rv = editor->GetIsSelectionEditable(&isEditable);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@ -109,18 +100,17 @@ nsRedoCommand::IsCommandEnabled(const char * aCommandName,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsRedoCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
return editor->Redo(1);
|
||||
|
||||
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsRedoCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -128,20 +118,20 @@ nsRedoCommand::DoCommandParams(const char *aCommandName,
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsRedoCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsClearUndoCommand::IsCommandEnabled(const char * aCommandName,
|
||||
nsClearUndoCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *refCon, bool *outCmdEnabled)
|
||||
{
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
|
||||
if (editor)
|
||||
@ -150,51 +140,48 @@ nsClearUndoCommand::IsCommandEnabled(const char * aCommandName,
|
||||
*outCmdEnabled = false;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsClearUndoCommand::DoCommand(const char *aCommandName, nsISupports *refCon)
|
||||
{
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
|
||||
NS_ENSURE_TRUE(editor, NS_ERROR_NOT_IMPLEMENTED);
|
||||
|
||||
editor->EnableUndo(false); // Turning off undo clears undo/redo stacks.
|
||||
editor->EnableUndo(true); // This re-enables undo/redo.
|
||||
|
||||
|
||||
editor->EnableUndo(false); // Turning off undo clears undo/redo stacks.
|
||||
editor->EnableUndo(true); // This re-enables undo/redo.
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsClearUndoCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *refCon)
|
||||
{
|
||||
return DoCommand(aCommandName, refCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsClearUndoCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *refCon)
|
||||
{
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aParams);
|
||||
|
||||
|
||||
bool enabled;
|
||||
nsresult rv = IsCommandEnabled(aCommandName, refCon, &enabled);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, enabled);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCutCommand::IsCommandEnabled(const char * aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
nsCutCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon, bool *outCmdEnabled)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
{
|
||||
if (editor) {
|
||||
bool isEditable = false;
|
||||
nsresult rv = editor->GetIsSelectionEditable(&isEditable);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@ -206,18 +193,17 @@ nsCutCommand::IsCommandEnabled(const char * aCommandName,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCutCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
return editor->Cut();
|
||||
|
||||
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsCutCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -225,19 +211,18 @@ nsCutCommand::DoCommandParams(const char *aCommandName,
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsCutCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCutOrDeleteCommand::IsCommandEnabled(const char * aCommandName,
|
||||
nsCutOrDeleteCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
@ -250,14 +235,12 @@ nsCutOrDeleteCommand::IsCommandEnabled(const char * aCommandName,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCutOrDeleteCommand::DoCommand(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
{
|
||||
if (editor) {
|
||||
nsCOMPtr<nsISelection> selection;
|
||||
nsresult rv = editor->GetSelection(getter_AddRefs(selection));
|
||||
if (NS_SUCCEEDED(rv) && selection && selection->Collapsed()) {
|
||||
@ -265,11 +248,11 @@ nsCutOrDeleteCommand::DoCommand(const char *aCommandName,
|
||||
}
|
||||
return editor->Cut();
|
||||
}
|
||||
|
||||
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsCutOrDeleteCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -277,18 +260,18 @@ nsCutOrDeleteCommand::DoCommandParams(const char *aCommandName,
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsCutOrDeleteCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCopyCommand::IsCommandEnabled(const char * aCommandName,
|
||||
nsCopyCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
@ -301,18 +284,17 @@ nsCopyCommand::IsCommandEnabled(const char * aCommandName,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCopyCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
return editor->Copy();
|
||||
|
||||
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsCopyCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -320,18 +302,18 @@ nsCopyCommand::DoCommandParams(const char *aCommandName,
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsCopyCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCopyOrDeleteCommand::IsCommandEnabled(const char * aCommandName,
|
||||
nsCopyOrDeleteCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
@ -344,14 +326,12 @@ nsCopyOrDeleteCommand::IsCommandEnabled(const char * aCommandName,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCopyOrDeleteCommand::DoCommand(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
{
|
||||
if (editor) {
|
||||
nsCOMPtr<nsISelection> selection;
|
||||
nsresult rv = editor->GetSelection(getter_AddRefs(selection));
|
||||
if (NS_SUCCEEDED(rv) && selection && selection->Collapsed()) {
|
||||
@ -359,11 +339,11 @@ nsCopyOrDeleteCommand::DoCommand(const char *aCommandName,
|
||||
}
|
||||
return editor->Copy();
|
||||
}
|
||||
|
||||
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsCopyOrDeleteCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -371,14 +351,68 @@ nsCopyOrDeleteCommand::DoCommandParams(const char *aCommandName,
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsCopyOrDeleteCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCopyAndCollapseToEndCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
return editor->CanCopy(outCmdEnabled);
|
||||
|
||||
*outCmdEnabled = false;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCopyAndCollapseToEndCommand::DoCommand(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor) {
|
||||
nsresult rv = editor->Copy();
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsISelection> selection;
|
||||
rv = editor->GetSelection(getter_AddRefs(selection));
|
||||
if (NS_SUCCEEDED(rv) && selection) {
|
||||
selection->CollapseToEnd();
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCopyAndCollapseToEndCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCopyAndCollapseToEndCommand::GetCommandStateParams(
|
||||
const char *aCommandName, nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -388,8 +422,7 @@ nsPasteCommand::IsCommandEnabled(const char *aCommandName,
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
{
|
||||
if (editor) {
|
||||
bool isEditable = false;
|
||||
nsresult rv = editor->GetIsSelectionEditable(&isEditable);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@ -401,17 +434,16 @@ nsPasteCommand::IsCommandEnabled(const char *aCommandName,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsPasteCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
NS_ENSURE_TRUE(editor, NS_ERROR_FAILURE);
|
||||
|
||||
|
||||
return editor->Paste(nsIClipboard::kGlobalClipboard);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsPasteCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -419,14 +451,14 @@ nsPasteCommand::DoCommandParams(const char *aCommandName,
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsPasteCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -436,8 +468,7 @@ nsPasteTransferableCommand::IsCommandEnabled(const char *aCommandName,
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
{
|
||||
if (editor) {
|
||||
bool isEditable = false;
|
||||
nsresult rv = editor->GetIsSelectionEditable(&isEditable);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@ -450,19 +481,20 @@ nsPasteTransferableCommand::IsCommandEnabled(const char *aCommandName,
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsPasteTransferableCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
|
||||
nsPasteTransferableCommand::DoCommand(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsPasteTransferableCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
NS_ENSURE_TRUE(editor, NS_ERROR_FAILURE);
|
||||
|
||||
|
||||
nsCOMPtr<nsISupports> supports;
|
||||
aParams->GetISupportsValue("transferable", getter_AddRefs(supports));
|
||||
NS_ENSURE_TRUE(supports, NS_ERROR_FAILURE);
|
||||
@ -473,7 +505,7 @@ nsPasteTransferableCommand::DoCommandParams(const char *aCommandName,
|
||||
return editor->PasteTransferable(trans);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsPasteTransferableCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -499,8 +531,8 @@ nsPasteTransferableCommand::GetCommandStateParams(const char *aCommandName,
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSwitchTextDirectionCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
@ -512,7 +544,8 @@ nsSwitchTextDirectionCommand::IsCommandEnabled(const char *aCommandName,
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSwitchTextDirectionCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
|
||||
nsSwitchTextDirectionCommand::DoCommand(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
NS_ENSURE_TRUE(editor, NS_ERROR_FAILURE);
|
||||
@ -520,18 +553,18 @@ nsSwitchTextDirectionCommand::DoCommand(const char *aCommandName, nsISupports *a
|
||||
return editor->SwitchTextDirection();
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsSwitchTextDirectionCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsSwitchTextDirectionCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canSwitchTextDirection = true;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canSwitchTextDirection);
|
||||
@ -539,9 +572,9 @@ nsSwitchTextDirectionCommand::GetCommandStateParams(const char *aCommandName,
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDeleteCommand::IsCommandEnabled(const char* aCommandName,
|
||||
nsISupports* aCommandRefCon,
|
||||
bool* outCmdEnabled)
|
||||
nsDeleteCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
@ -563,10 +596,9 @@ nsDeleteCommand::IsCommandEnabled(const char* aCommandName,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDeleteCommand::DoCommand(const char* aCommandName,
|
||||
nsISupports* aCommandRefCon)
|
||||
nsDeleteCommand::DoCommand(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
NS_ENSURE_TRUE(editor, NS_ERROR_FAILURE);
|
||||
@ -597,7 +629,7 @@ nsDeleteCommand::DoCommand(const char* aCommandName,
|
||||
return editor->DeleteSelection(deleteDir, nsIEditor::eStrip);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsDeleteCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -605,18 +637,18 @@ nsDeleteCommand::DoCommandParams(const char *aCommandName,
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsDeleteCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSelectAllCommand::IsCommandEnabled(const char * aCommandName,
|
||||
nsSelectAllCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
@ -639,7 +671,6 @@ nsSelectAllCommand::IsCommandEnabled(const char * aCommandName,
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSelectAllCommand::DoCommand(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -647,11 +678,11 @@ nsSelectAllCommand::DoCommand(const char *aCommandName,
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
|
||||
if (editor)
|
||||
return editor->SelectAll();
|
||||
|
||||
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsSelectAllCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -659,19 +690,18 @@ nsSelectAllCommand::DoCommandParams(const char *aCommandName,
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsSelectAllCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSelectionMoveCommands::IsCommandEnabled(const char * aCommandName,
|
||||
nsSelectionMoveCommands::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *aCommandRefCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
@ -765,13 +795,13 @@ nsSelectionMoveCommands::DoCommand(const char *aCommandName,
|
||||
}
|
||||
|
||||
nsCOMPtr<nsISelectionController> selCont;
|
||||
nsresult rv = editor->GetSelectionController(getter_AddRefs(selCont));
|
||||
nsresult rv = editor->GetSelectionController(getter_AddRefs(selCont));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
NS_ENSURE_TRUE(selCont, NS_ERROR_FAILURE);
|
||||
|
||||
// scroll commands
|
||||
for (size_t i = 0; i < mozilla::ArrayLength(scrollCommands); i++) {
|
||||
const ScrollCommand& cmd = scrollCommands[i];
|
||||
const ScrollCommand &cmd = scrollCommands[i];
|
||||
if (!nsCRT::strcmp(aCommandName, cmd.reverseScroll)) {
|
||||
return (selCont->*(cmd.scroll))(false);
|
||||
} else if (!nsCRT::strcmp(aCommandName, cmd.forwardScroll)) {
|
||||
@ -781,7 +811,7 @@ nsSelectionMoveCommands::DoCommand(const char *aCommandName,
|
||||
|
||||
// caret movement/selection commands
|
||||
for (size_t i = 0; i < mozilla::ArrayLength(moveCommands); i++) {
|
||||
const MoveCommand& cmd = moveCommands[i];
|
||||
const MoveCommand &cmd = moveCommands[i];
|
||||
if (!nsCRT::strcmp(aCommandName, cmd.reverseMove)) {
|
||||
return (selCont->*(cmd.move))(false, false);
|
||||
} else if (!nsCRT::strcmp(aCommandName, cmd.forwardMove)) {
|
||||
@ -795,7 +825,7 @@ nsSelectionMoveCommands::DoCommand(const char *aCommandName,
|
||||
|
||||
// physical-direction movement/selection
|
||||
for (size_t i = 0; i < mozilla::ArrayLength(physicalCommands); i++) {
|
||||
const PhysicalCommand& cmd = physicalCommands[i];
|
||||
const PhysicalCommand &cmd = physicalCommands[i];
|
||||
if (!nsCRT::strcmp(aCommandName, cmd.move)) {
|
||||
return selCont->PhysicalMove(cmd.direction, cmd.amount, false);
|
||||
} else if (!nsCRT::strcmp(aCommandName, cmd.select)) {
|
||||
@ -806,7 +836,7 @@ nsSelectionMoveCommands::DoCommand(const char *aCommandName,
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsSelectionMoveCommands::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
@ -814,20 +844,19 @@ nsSelectionMoveCommands::DoCommandParams(const char *aCommandName,
|
||||
return DoCommand(aCommandName, aCommandRefCon);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
NS_IMETHODIMP
|
||||
nsSelectionMoveCommands::GetCommandStateParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *aCommandRefCon)
|
||||
{
|
||||
bool canUndo;
|
||||
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, canUndo);
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsInsertPlaintextCommand::IsCommandEnabled(const char * aCommandName,
|
||||
nsISupports *refCon,
|
||||
nsInsertPlaintextCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *refCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
@ -839,7 +868,6 @@ nsInsertPlaintextCommand::IsCommandEnabled(const char * aCommandName,
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsInsertPlaintextCommand::DoCommand(const char *aCommandName,
|
||||
nsISupports *refCon)
|
||||
@ -880,16 +908,15 @@ nsInsertPlaintextCommand::GetCommandStateParams(const char *aCommandName,
|
||||
return aParams->SetBooleanValue(STATE_ENABLED, outCmdEnabled);
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsPasteQuotationCommand::IsCommandEnabled(const char * aCommandName,
|
||||
nsPasteQuotationCommand::IsCommandEnabled(const char *aCommandName,
|
||||
nsISupports *refCon,
|
||||
bool *outCmdEnabled)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(outCmdEnabled);
|
||||
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
|
||||
nsCOMPtr<nsIEditorMailSupport> mailEditor = do_QueryInterface(refCon);
|
||||
nsCOMPtr<nsIEditorMailSupport> mailEditor = do_QueryInterface(refCon);
|
||||
if (editor && mailEditor) {
|
||||
uint32_t flags;
|
||||
editor->GetFlags(&flags);
|
||||
@ -901,12 +928,11 @@ nsPasteQuotationCommand::IsCommandEnabled(const char * aCommandName,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsPasteQuotationCommand::DoCommand(const char *aCommandName,
|
||||
nsISupports *refCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditorMailSupport> mailEditor = do_QueryInterface(refCon);
|
||||
nsCOMPtr<nsIEditorMailSupport> mailEditor = do_QueryInterface(refCon);
|
||||
if (mailEditor)
|
||||
return mailEditor->PasteAsQuotation(nsIClipboard::kGlobalClipboard);
|
||||
|
||||
@ -918,7 +944,7 @@ nsPasteQuotationCommand::DoCommandParams(const char *aCommandName,
|
||||
nsICommandParams *aParams,
|
||||
nsISupports *refCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditorMailSupport> mailEditor = do_QueryInterface(refCon);
|
||||
nsCOMPtr<nsIEditorMailSupport> mailEditor = do_QueryInterface(refCon);
|
||||
if (mailEditor)
|
||||
return mailEditor->PasteAsQuotation(nsIClipboard::kGlobalClipboard);
|
||||
|
||||
@ -931,13 +957,11 @@ nsPasteQuotationCommand::GetCommandStateParams(const char *aCommandName,
|
||||
nsISupports *refCon)
|
||||
{
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
|
||||
if (editor)
|
||||
{
|
||||
if (editor) {
|
||||
bool enabled = false;
|
||||
editor->CanPaste(nsIClipboard::kGlobalClipboard, &enabled);
|
||||
aParams->SetBooleanValue(STATE_ENABLED, enabled);
|
||||
}
|
||||
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -52,6 +52,7 @@ NS_DECL_EDITOR_COMMAND(nsCutCommand)
|
||||
NS_DECL_EDITOR_COMMAND(nsCutOrDeleteCommand)
|
||||
NS_DECL_EDITOR_COMMAND(nsCopyCommand)
|
||||
NS_DECL_EDITOR_COMMAND(nsCopyOrDeleteCommand)
|
||||
NS_DECL_EDITOR_COMMAND(nsCopyAndCollapseToEndCommand)
|
||||
NS_DECL_EDITOR_COMMAND(nsPasteCommand)
|
||||
NS_DECL_EDITOR_COMMAND(nsPasteTransferableCommand)
|
||||
NS_DECL_EDITOR_COMMAND(nsSwitchTextDirectionCommand)
|
||||
|
@ -53,6 +53,8 @@ nsresult nsEditorController::RegisterEditingCommands(nsIControllerCommandTable *
|
||||
NS_REGISTER_ONE_COMMAND(nsCutOrDeleteCommand, "cmd_cutOrDelete");
|
||||
NS_REGISTER_ONE_COMMAND(nsCopyCommand, "cmd_copy");
|
||||
NS_REGISTER_ONE_COMMAND(nsCopyOrDeleteCommand, "cmd_copyOrDelete");
|
||||
NS_REGISTER_ONE_COMMAND(nsCopyAndCollapseToEndCommand,
|
||||
"cmd_copyAndCollapseToEnd");
|
||||
NS_REGISTER_ONE_COMMAND(nsSelectAllCommand, "cmd_selectAll");
|
||||
|
||||
NS_REGISTER_ONE_COMMAND(nsPasteCommand, "cmd_paste");
|
||||
|
@ -20,6 +20,7 @@ skip-if = buildapp == 'mulet'
|
||||
[test_bug830600.html]
|
||||
[test_bug1053048.html]
|
||||
[test_bug1102906.html]
|
||||
[test_bug1101392.html]
|
||||
[test_composition_event_created_in_chrome.html]
|
||||
[test_contenteditable_text_input_handling.html]
|
||||
[test_dragdrop.html]
|
||||
|
77
editor/libeditor/tests/test_bug1101392.html
Normal file
77
editor/libeditor/tests/test_bug1101392.html
Normal file
@ -0,0 +1,77 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1101392
|
||||
-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Test for Bug 1101392</title>
|
||||
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
|
||||
<script type="application/javascript">
|
||||
|
||||
/** Test for Bug 1101392 **/
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
SimpleTest.waitForFocus(runTests);
|
||||
|
||||
function runCopyCommand(element, compareText, nextTest)
|
||||
{
|
||||
element.focus();
|
||||
if (element.editor) {
|
||||
var sel = element.editor.selection;
|
||||
element.select();
|
||||
} else {
|
||||
var sel = window.getSelection();
|
||||
sel.selectAllChildren(element.parentNode);
|
||||
}
|
||||
|
||||
var expectedEndpoint = [
|
||||
sel.getRangeAt(0).endContainer,
|
||||
sel.getRangeAt(0).endOffset
|
||||
];
|
||||
|
||||
function checkCollapse() {
|
||||
is(sel.isCollapsed, true, "collapsed after cmd_copyAndCollapseToEnd");
|
||||
is(sel.anchorNode, expectedEndpoint[0], "node after cmd_copyAndCollapseToEnd");
|
||||
is(sel.anchorOffset, expectedEndpoint[1], "offset after cmd_copyAndCollapseToEnd");
|
||||
|
||||
nextTest();
|
||||
}
|
||||
|
||||
const kCmd = "cmd_copyAndCollapseToEnd";
|
||||
var controller = top.document.commandDispatcher
|
||||
.getControllerForCommand(kCmd);
|
||||
ok((controller && controller.isCommandEnabled(kCmd)), "have cmd_copyAndCollapseToEnd command");
|
||||
SimpleTest.waitForClipboard(compareText,
|
||||
() => { controller.doCommand(kCmd); },
|
||||
checkCollapse, checkCollapse);
|
||||
}
|
||||
|
||||
function testDiv()
|
||||
{
|
||||
var content = document.getElementById("content");
|
||||
runCopyCommand(content, 'abc', testTextarea);
|
||||
}
|
||||
|
||||
function testTextarea()
|
||||
{
|
||||
var textarea = document.getElementById("textarea");
|
||||
runCopyCommand(textarea, 'def', SimpleTest.finish);
|
||||
}
|
||||
|
||||
function runTests()
|
||||
{
|
||||
testDiv();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1101392">Mozilla Bug 1101392</a>
|
||||
<div><div id="content">abc</div></div>
|
||||
|
||||
<textarea id="textarea">def</textarea>
|
||||
|
||||
<pre id="test">
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
@ -354,7 +354,10 @@ TouchCaret::NotifySelectionChanged(nsIDOMDocument* aDoc, nsISelection* aSel,
|
||||
|
||||
// Update touch caret position and visibility.
|
||||
// Hide touch caret while key event causes selection change.
|
||||
if (aReason & nsISelectionListener::KEYPRESS_REASON) {
|
||||
// Also hide touch caret when gecko or javascript collapse the selection.
|
||||
if (aReason & nsISelectionListener::KEYPRESS_REASON ||
|
||||
aReason & nsISelectionListener::COLLAPSETOSTART_REASON ||
|
||||
aReason & nsISelectionListener::COLLAPSETOEND_REASON) {
|
||||
TOUCHCARET_LOG("KEYPRESS_REASON");
|
||||
SetVisibility(false);
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user