Fix error when beacon.enabled set to false.
parent
7d3ec22993
commit
0811addcc1
|
@ -94,6 +94,9 @@
|
||||||
#include "mozilla/DetailedPromise.h"
|
#include "mozilla/DetailedPromise.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static const char* sBeaconEnabledStr =
|
||||||
|
"beacon.enabled";
|
||||||
|
|
||||||
namespace mozilla {
|
namespace mozilla {
|
||||||
namespace dom {
|
namespace dom {
|
||||||
|
|
||||||
|
@ -861,6 +864,12 @@ Navigator::SendBeacon(const nsAString& aUrl,
|
||||||
const Nullable<ArrayBufferViewOrBlobOrStringOrFormData>& aData,
|
const Nullable<ArrayBufferViewOrBlobOrStringOrFormData>& aData,
|
||||||
ErrorResult& aRv)
|
ErrorResult& aRv)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (!Preferences::GetBool(sBeaconEnabledStr, false)) {
|
||||||
|
aRv = NS_OK;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (!mWindow) {
|
if (!mWindow) {
|
||||||
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
|
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -292,7 +292,7 @@ partial interface Navigator {
|
||||||
};
|
};
|
||||||
|
|
||||||
partial interface Navigator {
|
partial interface Navigator {
|
||||||
[Throws, Pref="beacon.enabled"]
|
[Throws]
|
||||||
boolean sendBeacon(DOMString url,
|
boolean sendBeacon(DOMString url,
|
||||||
optional (ArrayBufferView or Blob or DOMString or FormData)? data = null);
|
optional (ArrayBufferView or Blob or DOMString or FormData)? data = null);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue