mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 14:30:27 +00:00
19b122873d
- Bug 1240985 - Always enqueue OnMaybeDequeueOne task when receiving a message (r=dvander) (a5056d5942) - Bug 1240985 - Null out mRecvd if message it corresponds to is cancelled (r=dvander) (3eb16e50b4) - Bug 1245649: Merge browser and toolkit eslint rule settings. r=felipe (fb8837edb9) - Bug 1189799 - Make sure that about:performance displays each add-on only once (more tests);r=felipe (67cc74db67) - Bug 1230471 - Basic eslint fixes in places. r=mconley (1460c46edc) - Bug 1142734: Allow unloading the loader sandbox module. r=jsantell (052f483a6d) - Bug 1047595 - make picking colors work in HCM / when author colors are disabled, r=jaws (728163434b) - Bug 1244647 fix typeof check, r=mikedeboer (72da15da21) - Bug 1229240 - make applyConstraints() reject instead of crash on non-gUM tracks. r=jesup (93d2abf43a) - Bug 1239893 - Add gonk SidebandStream handling to DOMHwMediaStream r=roc (86739bc7a4) - Bug 1189162 - Clamp gamepad.timestamp and VideoPlaybackQuality.creationTime. r=bz (daaa3cc0db) - Bug 1232348 - adjust nested-frame checking condition. r=baku. (e4d1930bef) - Bug 1166556 - Don't start geolocation provider if the cached position is being used. r=jdm (3ad2c5dfa9) - Bug 858827 - [Geolocation] Add a handling for getCurrentLocation when timeout is zero. r=jdm (63dd4ccaf3) - Bug 1216148 - Handle how geolocation acts when the app's visibility changes. r=kchen. (dbeb9ef51c) - Bug 1230209 - Add more telemetry for Geolocation usage f=bsmedberg r=tanvi,rbarnes,jdm (c32b195d25) - Bug 1238825: Add "dom.bluetooth.webbluetooth.enabled" preference for WebBluetooth API development. r=btian, r=bz (3298be0b87) - Bug 1223722: Transfer Bluetooth addresses in |BluetoothValue|, r=brsun (1cc507823b) - Bug 1223722: Transfer Bluetooth remote names in |BluetoothValue|, r=brsun (73a008b991) - Bug 789315, notify MutationObservers before running <script>, r=khuey (d2df797c54) - Bug 1214495 - Move CallerSubsumes checks in nsLocation into the WebIDL entry points. r=bz (69a2086836) - Bug 1239509: Move VisibilityChangeListener out of nsContentPermissionHelper's header. r=wchen (bb2e33a40c) - Bug 1183845 - Only send activation event if document is non-null. r=bz (4b81c3295d) - Bug 1208789, clear starting node before traversing backwards by document, r=smaug (94a6cdd891) - Bug 1240908 - Make the window reference in nsContentPermissionRequester weak. r=smaug (b5982ecb9e) - Bug 1234735 - Remove redundant spaces in nsGlobalWindow. r=baku (5f55b37486) - Bug 1180525. Run callbacks whose window is no longer current as long as its document is the active document in the browsing context. r=bholley (02e6d97a7b)
104 lines
3.1 KiB
C++
104 lines
3.1 KiB
C++
/* 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/. */
|
|
|
|
#ifndef mozilla_dom_BrowserElementAudioChannels_h
|
|
#define mozilla_dom_BrowserElementAudioChannels_h
|
|
|
|
#include "mozilla/dom/AudioChannelBinding.h"
|
|
#include "mozilla/dom/BindingDeclarations.h"
|
|
#include "mozilla/DOMEventTargetHelper.h"
|
|
#include "mozilla/ErrorResult.h"
|
|
#include "nsCycleCollectionParticipant.h"
|
|
#include "nsIObserver.h"
|
|
#include "nsIFrameLoader.h"
|
|
#include "nsWeakReference.h"
|
|
#include "nsWrapperCache.h"
|
|
|
|
class nsIBrowserElementAPI;
|
|
class nsITabParent;
|
|
class nsPIDOMWindow;
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
class DOMRequest;
|
|
|
|
class BrowserElementAudioChannel final : public DOMEventTargetHelper
|
|
, public nsSupportsWeakReference
|
|
, public nsIObserver
|
|
{
|
|
public:
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
NS_DECL_NSIOBSERVER
|
|
|
|
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(BrowserElementAudioChannel,
|
|
DOMEventTargetHelper)
|
|
|
|
static already_AddRefed<BrowserElementAudioChannel>
|
|
Create(nsPIDOMWindow* aWindow,
|
|
nsIFrameLoader* aFrameLoader,
|
|
nsIBrowserElementAPI* aAPI,
|
|
AudioChannel aAudioChannel,
|
|
const nsAString& aManifestURL,
|
|
ErrorResult& aRv);
|
|
|
|
// WebIDL methods
|
|
|
|
virtual JSObject* WrapObject(JSContext *aCx,
|
|
JS::Handle<JSObject*> aGivenProto) override;
|
|
|
|
AudioChannel Name() const;
|
|
|
|
already_AddRefed<dom::DOMRequest> GetVolume(ErrorResult& aRv);
|
|
already_AddRefed<dom::DOMRequest> SetVolume(float aVolume, ErrorResult& aRv);
|
|
|
|
already_AddRefed<dom::DOMRequest> GetMuted(ErrorResult& aRv);
|
|
already_AddRefed<dom::DOMRequest> SetMuted(bool aMuted, ErrorResult& aRv);
|
|
|
|
already_AddRefed<dom::DOMRequest> IsActive(ErrorResult& aRv);
|
|
|
|
already_AddRefed<dom::DOMRequest> NotifyChannel(const nsAString& aEvent,
|
|
ErrorResult& aRv);
|
|
|
|
IMPL_EVENT_HANDLER(activestatechanged);
|
|
|
|
private:
|
|
BrowserElementAudioChannel(nsPIDOMWindow* aWindow,
|
|
nsIFrameLoader* aFrameLoader,
|
|
nsIBrowserElementAPI* aAPI,
|
|
AudioChannel aAudioChannel,
|
|
const nsAString& aManifestURL);
|
|
|
|
bool IsSystemAppWindow(nsPIDOMWindow* aWindow) const;
|
|
|
|
// This method is used to check whether we're in the nested-mozbrower-frame
|
|
// situation, see bug1214148.
|
|
nsresult IsFromNestedFrame(nsISupports* aSubject,
|
|
bool& aIsNested) const;
|
|
|
|
~BrowserElementAudioChannel();
|
|
|
|
nsresult Initialize();
|
|
|
|
void ProcessStateChanged(const char16_t* aData);
|
|
|
|
nsCOMPtr<nsIFrameLoader> mFrameLoader;
|
|
nsCOMPtr<nsIBrowserElementAPI> mBrowserElementAPI;
|
|
nsCOMPtr<nsITabParent> mTabParent;
|
|
nsCOMPtr<nsPIDOMWindow> mFrameWindow;
|
|
AudioChannel mAudioChannel;
|
|
nsString mManifestURL;
|
|
|
|
enum {
|
|
eStateActive,
|
|
eStateInactive,
|
|
eStateUnknown
|
|
} mState;
|
|
};
|
|
|
|
} // dom namespace
|
|
} // mozilla namespace
|
|
|
|
#endif // mozilla_dom_BrowserElementAudioChannels_h
|