summaryrefslogtreecommitdiff
path: root/hal
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2020-11-13 13:33:08 +0000
committerMoonchild <moonchild@palemoon.org>2020-11-13 13:33:08 +0000
commit13f505539c5c0deff72cc1c007eaa9be1979d294 (patch)
treeb115bf7f8c8933412282687146cd4f55118c4806 /hal
parent5262e01a4e56b8727fba5710320ccc74918f1300 (diff)
downloaduxp-13f505539c5c0deff72cc1c007eaa9be1979d294.tar.gz
Issue #1682 - Remove vibrator DOM interface and support code.
Resolves #1682
Diffstat (limited to 'hal')
-rw-r--r--hal/Hal.cpp79
-rw-r--r--hal/Hal.h35
-rw-r--r--hal/fallback/FallbackVibration.cpp22
-rw-r--r--hal/moz.build5
-rw-r--r--hal/sandbox/PHal.ipdl3
-rw-r--r--hal/sandbox/SandboxHal.cpp52
6 files changed, 0 insertions, 196 deletions
diff --git a/hal/Hal.cpp b/hal/Hal.cpp
index f0167f5756..88c1fa50bb 100644
--- a/hal/Hal.cpp
+++ b/hal/Hal.cpp
@@ -94,87 +94,8 @@ WindowIsActive(nsPIDOMWindowInner* aWindow)
return !document->Hidden();
}
-StaticAutoPtr<WindowIdentifier::IDArrayType> gLastIDToVibrate;
-
-void InitLastIDToVibrate()
-{
- gLastIDToVibrate = new WindowIdentifier::IDArrayType();
- ClearOnShutdown(&gLastIDToVibrate);
-}
-
} // namespace
-void
-Vibrate(const nsTArray<uint32_t>& pattern, nsPIDOMWindowInner* window)
-{
- Vibrate(pattern, WindowIdentifier(window));
-}
-
-void
-Vibrate(const nsTArray<uint32_t>& pattern, const WindowIdentifier &id)
-{
- AssertMainThread();
-
- // Only active windows may start vibrations. If |id| hasn't gone
- // through the IPC layer -- that is, if our caller is the outside
- // world, not hal_proxy -- check whether the window is active. If
- // |id| has gone through IPC, don't check the window's visibility;
- // only the window corresponding to the bottommost process has its
- // visibility state set correctly.
- if (!id.HasTraveledThroughIPC() && !WindowIsActive(id.GetWindow())) {
- HAL_LOG("Vibrate: Window is inactive, dropping vibrate.");
- return;
- }
-
- if (!InSandbox()) {
- if (!gLastIDToVibrate) {
- InitLastIDToVibrate();
- }
- *gLastIDToVibrate = id.AsArray();
- }
-
- // Don't forward our ID if we are not in the sandbox, because hal_impl
- // doesn't need it, and we don't want it to be tempted to read it. The
- // empty identifier will assert if it's used.
- PROXY_IF_SANDBOXED(Vibrate(pattern, InSandbox() ? id : WindowIdentifier()));
-}
-
-void
-CancelVibrate(nsPIDOMWindowInner* window)
-{
- CancelVibrate(WindowIdentifier(window));
-}
-
-void
-CancelVibrate(const WindowIdentifier &id)
-{
- AssertMainThread();
-
- // Although only active windows may start vibrations, a window may
- // cancel its own vibration even if it's no longer active.
- //
- // After a window is marked as inactive, it sends a CancelVibrate
- // request. We want this request to cancel a playing vibration
- // started by that window, so we certainly don't want to reject the
- // cancellation request because the window is now inactive.
- //
- // But it could be the case that, after this window became inactive,
- // some other window came along and started a vibration. We don't
- // want this window's cancellation request to cancel that window's
- // actively-playing vibration!
- //
- // To solve this problem, we keep track of the id of the last window
- // to start a vibration, and only accepts cancellation requests from
- // the same window. All other cancellation requests are ignored.
-
- if (InSandbox() || (gLastIDToVibrate && *gLastIDToVibrate == id.AsArray())) {
- // Don't forward our ID if we are not in the sandbox, because hal_impl
- // doesn't need it, and we don't want it to be tempted to read it. The
- // empty identifier will assert if it's used.
- PROXY_IF_SANDBOXED(CancelVibrate(InSandbox() ? id : WindowIdentifier()));
- }
-}
-
template <class InfoType>
class ObserversManager
{
diff --git a/hal/Hal.h b/hal/Hal.h
index e2e5717905..ced295ca4c 100644
--- a/hal/Hal.h
+++ b/hal/Hal.h
@@ -51,41 +51,6 @@ typedef Observer<SystemTimezoneChangeInformation> SystemTimezoneChangeObserver;
namespace MOZ_HAL_NAMESPACE {
/**
- * Turn the default vibrator device on/off per the pattern specified
- * by |pattern|. Each element in the pattern is the number of
- * milliseconds to turn the vibrator on or off. The first element in
- * |pattern| is an "on" element, the next is "off", and so on.
- *
- * If |pattern| is empty, any in-progress vibration is canceled.
- *
- * Only an active window within an active tab may call Vibrate; calls
- * from inactive windows and windows on inactive tabs do nothing.
- *
- * If you're calling hal::Vibrate from the outside world, pass an
- * nsIDOMWindow* in place of the WindowIdentifier parameter.
- * The method with WindowIdentifier will be called automatically.
- */
-void Vibrate(const nsTArray<uint32_t>& pattern,
- nsPIDOMWindowInner* aWindow);
-void Vibrate(const nsTArray<uint32_t>& pattern,
- const hal::WindowIdentifier &id);
-
-/**
- * Cancel a vibration started by the content window identified by
- * WindowIdentifier.
- *
- * If the window was the last window to start a vibration, the
- * cancellation request will go through even if the window is not
- * active.
- *
- * As with hal::Vibrate(), if you're calling hal::CancelVibrate from the outside
- * world, pass an nsIDOMWindow*. The method with WindowIdentifier will be called
- * automatically.
- */
-void CancelVibrate(nsPIDOMWindowInner* aWindow);
-void CancelVibrate(const hal::WindowIdentifier &id);
-
-/**
* Determine whether the device's screen is currently enabled.
*/
bool GetScreenEnabled();
diff --git a/hal/fallback/FallbackVibration.cpp b/hal/fallback/FallbackVibration.cpp
deleted file mode 100644
index 57379646da..0000000000
--- a/hal/fallback/FallbackVibration.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * 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 "Hal.h"
-
-using mozilla::hal::WindowIdentifier;
-
-namespace mozilla {
-namespace hal_impl {
-
-void
-Vibrate(const nsTArray<uint32_t>& pattern, const hal::WindowIdentifier &)
-{}
-
-void
-CancelVibrate(const hal::WindowIdentifier &)
-{}
-
-} // namespace hal_impl
-} // namespace mozilla
diff --git a/hal/moz.build b/hal/moz.build
index 84c017f089..fefd56fcf1 100644
--- a/hal/moz.build
+++ b/hal/moz.build
@@ -29,7 +29,6 @@ if CONFIG['OS_TARGET'] == 'Linux':
'fallback/FallbackAlarm.cpp',
'fallback/FallbackScreenConfiguration.cpp',
'fallback/FallbackSensor.cpp',
- 'fallback/FallbackVibration.cpp',
'linux/LinuxMemory.cpp',
'linux/LinuxPower.cpp',
]
@@ -39,7 +38,6 @@ elif CONFIG['OS_TARGET'] == 'WINNT':
'fallback/FallbackMemory.cpp',
'fallback/FallbackPower.cpp',
'fallback/FallbackScreenConfiguration.cpp',
- 'fallback/FallbackVibration.cpp',
'windows/WindowsSensor.cpp',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
@@ -48,7 +46,6 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
'fallback/FallbackMemory.cpp',
'fallback/FallbackPower.cpp',
'fallback/FallbackScreenConfiguration.cpp',
- 'fallback/FallbackVibration.cpp',
]
elif CONFIG['OS_TARGET'] in ('OpenBSD', 'NetBSD', 'FreeBSD', 'DragonFly'):
UNIFIED_SOURCES += [
@@ -57,7 +54,6 @@ elif CONFIG['OS_TARGET'] in ('OpenBSD', 'NetBSD', 'FreeBSD', 'DragonFly'):
'fallback/FallbackPower.cpp',
'fallback/FallbackScreenConfiguration.cpp',
'fallback/FallbackSensor.cpp',
- 'fallback/FallbackVibration.cpp',
]
else:
UNIFIED_SOURCES += [
@@ -66,7 +62,6 @@ else:
'fallback/FallbackPower.cpp',
'fallback/FallbackScreenConfiguration.cpp',
'fallback/FallbackSensor.cpp',
- 'fallback/FallbackVibration.cpp',
]
UNIFIED_SOURCES += [
diff --git a/hal/sandbox/PHal.ipdl b/hal/sandbox/PHal.ipdl
index cfd021c104..5fa2b2b971 100644
--- a/hal/sandbox/PHal.ipdl
+++ b/hal/sandbox/PHal.ipdl
@@ -69,9 +69,6 @@ child:
async NotifySystemTimezoneChange(SystemTimezoneChangeInformation aSystemTimezoneChangeInfo);
parent:
- async Vibrate(uint32_t[] pattern, uint64_t[] id, PBrowser browser);
- async CancelVibrate(uint64_t[] id, PBrowser browser);
-
async EnableNetworkNotifications();
async DisableNetworkNotifications();
sync GetCurrentNetworkInformation()
diff --git a/hal/sandbox/SandboxHal.cpp b/hal/sandbox/SandboxHal.cpp
index fd84f7c391..9a214f0851 100644
--- a/hal/sandbox/SandboxHal.cpp
+++ b/hal/sandbox/SandboxHal.cpp
@@ -46,28 +46,6 @@ Hal()
}
void
-Vibrate(const nsTArray<uint32_t>& pattern, const WindowIdentifier &id)
-{
- HAL_LOG("Vibrate: Sending to parent process.");
-
- AutoTArray<uint32_t, 8> p(pattern);
-
- WindowIdentifier newID(id);
- newID.AppendProcessID();
- Hal()->SendVibrate(p, newID.AsArray(), TabChild::GetFrom(newID.GetWindow()));
-}
-
-void
-CancelVibrate(const WindowIdentifier &id)
-{
- HAL_LOG("CancelVibrate: Sending to parent process.");
-
- WindowIdentifier newID(id);
- newID.AppendProcessID();
- Hal()->SendCancelVibrate(newID.AsArray(), TabChild::GetFrom(newID.GetWindow()));
-}
-
-void
EnableNetworkNotifications()
{
Hal()->SendEnableNetworkNotifications();
@@ -380,36 +358,6 @@ public:
}
virtual bool
- RecvVibrate(InfallibleTArray<unsigned int>&& pattern,
- InfallibleTArray<uint64_t>&& id,
- PBrowserParent *browserParent) override
- {
- // We give all content vibration permission.
- // TabParent *tabParent = TabParent::GetFrom(browserParent);
- /* xxxkhuey wtf
- nsCOMPtr<nsIDOMWindow> window =
- do_QueryInterface(tabParent->GetBrowserDOMWindow());
- */
- WindowIdentifier newID(id, nullptr);
- hal::Vibrate(pattern, newID);
- return true;
- }
-
- virtual bool
- RecvCancelVibrate(InfallibleTArray<uint64_t> &&id,
- PBrowserParent *browserParent) override
- {
- //TabParent *tabParent = TabParent::GetFrom(browserParent);
- /* XXXkhuey wtf
- nsCOMPtr<nsIDOMWindow> window =
- tabParent->GetBrowserDOMWindow();
- */
- WindowIdentifier newID(id, nullptr);
- hal::CancelVibrate(newID);
- return true;
- }
-
- virtual bool
RecvEnableNetworkNotifications() override {
// We give all content access to this network-status information.
hal::RegisterNetworkObserver(this);