diff options
author | Moonchild <moonchild@palemoon.org> | 2021-01-19 08:08:18 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2021-01-19 08:08:18 +0000 |
commit | c76214f0b54cf74b69d0fb4afa0d2eca2e898a98 (patch) | |
tree | 15ee2e9776727ecabcdc52d06de55dfd576485c1 /layout/generic/nsPluginFrame.cpp | |
parent | 810c2bf8080da2bc8ec4efb05223fea31817944b (diff) | |
parent | 75286e68d703b1d8a4e0a7c72ce45d089024c124 (diff) | |
download | UXP-c76214f0b54cf74b69d0fb4afa0d2eca2e898a98.tar UXP-c76214f0b54cf74b69d0fb4afa0d2eca2e898a98.tar.gz UXP-c76214f0b54cf74b69d0fb4afa0d2eca2e898a98.tar.lz UXP-c76214f0b54cf74b69d0fb4afa0d2eca2e898a98.tar.xz UXP-c76214f0b54cf74b69d0fb4afa0d2eca2e898a98.zip |
Master merge
This merges master into release to replace Redwood.
# Conflicts:
# CLOBBER
# build/moz.configure/old.configure
# config/milestone.txt
# config/moz.build
# config/system-headers
# dom/abort/AbortController.cpp
# dom/abort/AbortController.h
# dom/abort/AbortSignal.cpp
# dom/abort/AbortSignal.h
# dom/abort/moz.build
# dom/abort/tests/moz.build
# dom/animation/KeyframeEffect.cpp
# dom/base/CustomElementRegistry.cpp
# dom/base/DocGroup.cpp
# dom/base/ResizeObserverController.cpp
# dom/base/ResizeObserverController.h
# dom/base/nsContentUtils.cpp
# dom/base/nsContentUtils.h
# dom/base/nsDocument.cpp
# dom/base/nsIDocument.h
# dom/fetch/FetchObserver.cpp
# dom/fetch/FetchObserver.h
# dom/heapsnapshot/AutoMemMap.cpp
# dom/heapsnapshot/AutoMemMap.h
# dom/heapsnapshot/CoreDump.proto
# dom/heapsnapshot/HeapSnapshot.cpp
# dom/heapsnapshot/HeapSnapshotTempFileHelperChild.h
# dom/heapsnapshot/HeapSnapshotTempFileHelperParent.cpp
# dom/heapsnapshot/HeapSnapshotTempFileHelperParent.h
# dom/heapsnapshot/PHeapSnapshotTempFileHelper.ipdl
# dom/heapsnapshot/moz.build
# dom/heapsnapshot/tests/gtest/moz.build
# dom/html/nsGenericHTMLElement.h
# dom/media/platforms/PlatformDecoderModule.h
# dom/media/platforms/moz.build
# dom/script/ModuleLoadRequest.cpp
# dom/script/ModuleLoadRequest.h
# dom/script/ModuleScript.cpp
# dom/script/ModuleScript.h
# dom/script/ScriptElement.cpp
# dom/script/ScriptElement.h
# dom/script/ScriptLoadHandler.cpp
# dom/script/ScriptLoadHandler.h
# dom/script/ScriptLoader.cpp
# dom/script/ScriptLoader.h
# dom/script/ScriptSettings.cpp
# dom/script/ScriptSettings.h
# dom/script/nsIScriptElement.h
# dom/script/nsIScriptLoaderObserver.idl
# dom/webidl/HTMLLinkElement.webidl
# gfx/gl/moz.build
# gfx/graphite2/src/moz.build
# gfx/layers/moz.build
# js/ductwork/inspector/moz.build
# js/ductwork/moz.build
# js/src/gc/Heap.h
# js/src/moz.build
# js/src/vm/UnboxedObject-inl.h
# js/src/vm/UnboxedObject.cpp
# js/src/vm/UnboxedObject.h
# layout/base/crashtests/crashtests.list
# layout/build/moz.build
# layout/generic/AspectRatio.h
# layout/generic/crashtests/crashtests.list
# layout/reftests/bidi/reftest-stylo.list
# layout/reftests/reftest-stylo.list
# layout/reftests/table-bordercollapse/reftest.list
# layout/reftests/writing-mode/reftest-stylo.list
# layout/style/StyleSheet.cpp
# layout/style/nsRuleNode.cpp
# layout/style/nsStyleStruct.cpp
# layout/style/nsStyleStruct.h
# modules/libpref/init/all.js
# nsprpub/pr/src/linking/prlink.c
# parser/html/java/htmlparser/src/nu/validator/htmlparser/impl/AttributeName.java
# parser/html/java/htmlparser/src/nu/validator/htmlparser/impl/ElementName.java
# parser/html/nsHtml5AtomList.h
# parser/html/nsHtml5AttributeName.cpp
# parser/html/nsHtml5AttributeName.h
# parser/html/nsHtml5ElementName.cpp
# parser/html/nsHtml5ElementName.h
# parser/html/nsHtml5TreeBuilderCppSupplement.h
# parser/htmlparser/nsElementTable.cpp
# parser/htmlparser/nsHTMLTagList.h
# security/nss/lib/nss/nss.h
# security/nss/lib/softoken/pkcs11.c
# security/nss/lib/softoken/softkver.h
# security/nss/lib/util/nssutil.h
# testing/web-platform/tests/tools/html5lib/html5lib/html5parser.py
# testing/web-platform/tests/tools/html5lib/html5lib/treebuilders/_base.py
# toolkit/modules/AppConstants.jsm
Diffstat (limited to 'layout/generic/nsPluginFrame.cpp')
-rw-r--r-- | layout/generic/nsPluginFrame.cpp | 121 |
1 files changed, 1 insertions, 120 deletions
diff --git a/layout/generic/nsPluginFrame.cpp b/layout/generic/nsPluginFrame.cpp index 6e9e072e7..442f8ca26 100644 --- a/layout/generic/nsPluginFrame.cpp +++ b/layout/generic/nsPluginFrame.cpp @@ -84,11 +84,6 @@ using mozilla::DefaultXDisplay; #include <winuser.h> #endif -#ifdef MOZ_WIDGET_ANDROID -#include "AndroidBridge.h" -#include "GLContext.h" -#endif - #include "mozilla/dom/TabChild.h" #include "ClientLayerManager.h" @@ -938,55 +933,6 @@ nsDisplayPluginReadback::GetBounds(nsDisplayListBuilder* aBuilder, bool* aSnap) return GetDisplayItemBounds(aBuilder, this, mFrame); } -#ifdef MOZ_WIDGET_ANDROID - -class nsDisplayPluginVideo : public nsDisplayItem { -public: - nsDisplayPluginVideo(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame, nsNPAPIPluginInstance::VideoInfo* aVideoInfo) - : nsDisplayItem(aBuilder, aFrame), mVideoInfo(aVideoInfo) - { - MOZ_COUNT_CTOR(nsDisplayPluginVideo); - } -#ifdef NS_BUILD_REFCNT_LOGGING - virtual ~nsDisplayPluginVideo() { - MOZ_COUNT_DTOR(nsDisplayPluginVideo); - } -#endif - - virtual nsRect GetBounds(nsDisplayListBuilder* aBuilder, - bool* aSnap) override; - - NS_DISPLAY_DECL_NAME("PluginVideo", TYPE_PLUGIN_VIDEO) - - virtual already_AddRefed<Layer> BuildLayer(nsDisplayListBuilder* aBuilder, - LayerManager* aManager, - const ContainerLayerParameters& aContainerParameters) override - { - return static_cast<nsPluginFrame*>(mFrame)->BuildLayer(aBuilder, aManager, this, aContainerParameters); - } - - virtual LayerState GetLayerState(nsDisplayListBuilder* aBuilder, - LayerManager* aManager, - const ContainerLayerParameters& aParameters) override - { - return LAYER_ACTIVE; - } - - nsNPAPIPluginInstance::VideoInfo* VideoInfo() { return mVideoInfo; } - -private: - nsNPAPIPluginInstance::VideoInfo* mVideoInfo; -}; - -nsRect -nsDisplayPluginVideo::GetBounds(nsDisplayListBuilder* aBuilder, bool* aSnap) -{ - *aSnap = false; - return GetDisplayItemBounds(aBuilder, this, mFrame); -} - -#endif - nsRect nsDisplayPlugin::GetBounds(nsDisplayListBuilder* aBuilder, bool* aSnap) { @@ -1138,9 +1084,6 @@ nsPluginFrame::IsOpaque() const { #if defined(XP_MACOSX) return false; -#elif defined(MOZ_WIDGET_ANDROID) - // We don't know, so just assume transparent - return false; #else if (mInstanceOwner && mInstanceOwner->UseAsyncRendering()) { @@ -1239,29 +1182,12 @@ nsPluginFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, nsDisplayItem::ForceActiveLayers()) { state = LAYER_ACTIVE; } - // We don't need this on Android, and it just confuses things -#if !MOZ_WIDGET_ANDROID if (aBuilder->IsPaintingToWindow() && state == LAYER_ACTIVE && IsTransparentMode()) { aLists.Content()->AppendNewToTop(new (aBuilder) nsDisplayPluginReadback(aBuilder, this)); } -#endif - -#if MOZ_WIDGET_ANDROID - if (aBuilder->IsPaintingToWindow() && - state == LAYER_ACTIVE) { - - nsTArray<nsNPAPIPluginInstance::VideoInfo*> videos; - mInstanceOwner->GetVideos(videos); - - for (uint32_t i = 0; i < videos.Length(); i++) { - aLists.Content()->AppendNewToTop(new (aBuilder) - nsDisplayPluginVideo(aBuilder, this, videos[i])); - } - } -#endif aLists.Content()->AppendNewToTop(new (aBuilder) nsDisplayPlugin(aBuilder, this)); @@ -1399,10 +1325,6 @@ nsPluginFrame::GetLayerState(nsDisplayListBuilder* aBuilder, if (!mInstanceOwner) return LAYER_NONE; -#ifdef MOZ_WIDGET_ANDROID - // We always want a layer on Honeycomb and later - return LAYER_ACTIVE; -#else if (mInstanceOwner->NeedsScrollImageLayer()) { return LAYER_ACTIVE; } @@ -1412,7 +1334,6 @@ nsPluginFrame::GetLayerState(nsDisplayListBuilder* aBuilder, } return LAYER_ACTIVE_FORCE; -#endif } class PluginFrameDidCompositeObserver final : public ClientLayerManager:: @@ -1529,32 +1450,6 @@ nsPluginFrame::BuildLayer(nsDisplayListBuilder* aBuilder, } lm->AddDidCompositeObserver(mDidCompositeObserver.get()); } -#ifdef MOZ_WIDGET_ANDROID - } else if (aItem->GetType() == nsDisplayItem::TYPE_PLUGIN_VIDEO) { - nsDisplayPluginVideo* videoItem = reinterpret_cast<nsDisplayPluginVideo*>(aItem); - nsNPAPIPluginInstance::VideoInfo* videoInfo = videoItem->VideoInfo(); - - RefPtr<ImageContainer> container = mInstanceOwner->GetImageContainerForVideo(videoInfo); - if (!container) - return nullptr; - - if (!layer) { - // Initialize ImageLayer - layer = aManager->CreateImageLayer(); - if (!layer) - return nullptr; - } - - ImageLayer* imglayer = static_cast<ImageLayer*>(layer.get()); - imglayer->SetContainer(container); - - layer->SetContentFlags(IsOpaque() ? Layer::CONTENT_OPAQUE : 0); - - // Set the offset and size according to the video dimensions - r.MoveBy(videoInfo->mDimensions.TopLeft()); - size.width = videoInfo->mDimensions.width; - size.height = videoInfo->mDimensions.height; -#endif } else { NS_ASSERTION(aItem->GetType() == nsDisplayItem::TYPE_PLUGIN_READBACK, "Unknown item type"); @@ -1603,20 +1498,7 @@ nsPluginFrame::PaintPlugin(nsDisplayListBuilder* aBuilder, nsRenderingContext& aRenderingContext, const nsRect& aDirtyRect, const nsRect& aPluginRect) { -#if defined(MOZ_WIDGET_ANDROID) - if (mInstanceOwner) { - gfxRect frameGfxRect = - PresContext()->AppUnitsToGfxUnits(aPluginRect); - gfxRect dirtyGfxRect = - PresContext()->AppUnitsToGfxUnits(aDirtyRect); - - gfxContext* ctx = aRenderingContext.ThebesContext(); - - mInstanceOwner->Paint(ctx, frameGfxRect, dirtyGfxRect); - return; - } -#else -# if defined(DEBUG) +#if defined(DEBUG) // On Desktop, we should have built a layer as we no longer support in-process // plugins or synchronous painting. We can only get here for windowed plugins // (which draw themselves), or via some error/unload state. @@ -1625,7 +1507,6 @@ nsPluginFrame::PaintPlugin(nsDisplayListBuilder* aBuilder, mInstanceOwner->GetWindow(window); MOZ_ASSERT(!window || window->type == NPWindowTypeWindow); } -# endif #endif } |