Bug 1842773 - Part 13: Remove TypedArrayObject::{length,byteLength}Value. r=sfink
[gecko.git] / widget / android / InProcessAndroidCompositorWidget.cpp
blob1ae221acb983ebcaf8407554d759f6d560b77f60
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "HeadlessCompositorWidget.h"
7 #include "HeadlessWidget.h"
8 #include "mozilla/widget/PlatformWidgetTypes.h"
10 #include "InProcessAndroidCompositorWidget.h"
11 #include "nsWindow.h"
13 namespace mozilla {
14 namespace widget {
16 /* static */
17 RefPtr<CompositorWidget> CompositorWidget::CreateLocal(
18 const CompositorWidgetInitData& aInitData,
19 const layers::CompositorOptions& aOptions, nsIWidget* aWidget) {
20 if (aInitData.type() ==
21 CompositorWidgetInitData::THeadlessCompositorWidgetInitData) {
22 return new HeadlessCompositorWidget(
23 aInitData.get_HeadlessCompositorWidgetInitData(), aOptions,
24 static_cast<HeadlessWidget*>(aWidget));
25 } else {
26 return new InProcessAndroidCompositorWidget(
27 aInitData.get_AndroidCompositorWidgetInitData(), aOptions,
28 static_cast<nsWindow*>(aWidget));
32 InProcessAndroidCompositorWidget::InProcessAndroidCompositorWidget(
33 const AndroidCompositorWidgetInitData& aInitData,
34 const layers::CompositorOptions& aOptions, nsWindow* aWindow)
35 : AndroidCompositorWidget(aInitData, aOptions), mWindow(aWindow) {}
37 void InProcessAndroidCompositorWidget::ObserveVsync(VsyncObserver* aObserver) {
38 if (RefPtr<CompositorVsyncDispatcher> cvd =
39 mWindow->GetCompositorVsyncDispatcher()) {
40 cvd->SetCompositorVsyncObserver(aObserver);
44 nsIWidget* InProcessAndroidCompositorWidget::RealWidget() { return mWindow; }
46 void InProcessAndroidCompositorWidget::OnCompositorSurfaceChanged() {
47 mSurface = java::sdk::Surface::Ref::From(
48 static_cast<jobject>(mWindow->GetNativeData(NS_JAVA_SURFACE)));
51 void InProcessAndroidCompositorWidget::NotifyClientSizeChanged(
52 const LayoutDeviceIntSize& aClientSize) {
53 AndroidCompositorWidget::NotifyClientSizeChanged(aClientSize);
56 } // namespace widget
57 } // namespace mozilla