diff --git a/dom/bluetooth2/BluetoothAdapter.cpp b/dom/bluetooth2/BluetoothAdapter.cpp index 0dd27e6bf61..4f7e9bf1b32 100644 --- a/dom/bluetooth2/BluetoothAdapter.cpp +++ b/dom/bluetooth2/BluetoothAdapter.cpp @@ -449,6 +449,11 @@ BluetoothAdapter::SetName(const nsAString& aName, ErrorResult& aRv) nsRefPtr promise = new Promise(global); + if (mState != BluetoothAdapterState::Enabled) { + promise->MaybeReject(NS_ERROR_DOM_INVALID_STATE_ERR); + return promise.forget(); + } + if (mName.Equals(aName)) { // Need to resolved with "undefined" since this method is Promise promise->MaybeResolve(JS::UndefinedHandleValue); @@ -488,6 +493,11 @@ BluetoothAdapter::SetDiscoverable(bool aDiscoverable, ErrorResult& aRv) nsRefPtr promise = new Promise(global); + if (mState != BluetoothAdapterState::Enabled) { + promise->MaybeReject(NS_ERROR_DOM_INVALID_STATE_ERR); + return promise.forget(); + } + if (aDiscoverable == mDiscoverable) { // Need to resolved with "undefined" since this method is Promise promise->MaybeResolve(JS::UndefinedHandleValue);