author | Matt Woodrow <mwoodrow@mozilla.com> |
Wed, 27 Nov 2013 14:05:02 +1300 | |
changeset 159960 | e2a8de576daf9edd9138da4d6deb5c5b9228d42d |
parent 159959 | cde32f9a08c855d87ae9637713484b32ce4a511c |
child 159961 | c13412051f524172b096b138228246b9cf48bb0b |
push id | 37468 |
push user | mwoodrow@mozilla.com |
push date | Wed, 11 Dec 2013 21:06:07 +0000 |
treeherder | mozilla-inbound@491765fa039c [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | roc |
bugs | 948221 |
milestone | 29.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
content/html/content/public/HTMLMediaElement.h | file | annotate | diff | comparison | revisions | |
content/html/content/src/HTMLMediaElement.cpp | file | annotate | diff | comparison | revisions |
--- a/content/html/content/public/HTMLMediaElement.h +++ b/content/html/content/public/HTMLMediaElement.h @@ -202,20 +202,16 @@ public: // in the common case where we don't have a "MozAudioAvailable" listener. void NotifyAudioAvailableListener(); // Called by the media decoder and the video frame to get the // ImageContainer containing the video data. virtual VideoFrameContainer* GetVideoFrameContainer() MOZ_FINAL MOZ_OVERRIDE; layers::ImageContainer* GetImageContainer(); - // Called by the video frame to get the print surface, if this is - // a static document and we're not actually playing video - gfxASurface* GetPrintSurface() { return mPrintSurface; } - // Dispatch events using nsGenericHTMLElement::DispatchEvent; virtual nsresult DispatchEvent(const nsAString& aName) MOZ_FINAL MOZ_OVERRIDE; virtual nsresult DispatchAsyncEvent(const nsAString& aName) MOZ_FINAL MOZ_OVERRIDE; nsresult DispatchAudioAvailableEvent(float* aFrameBuffer, uint32_t aFrameBufferLength, float aTime); @@ -1008,18 +1004,16 @@ protected: // defaultPlaybackRate, then the implication is that the user is using a // feature such as fast forward or slow motion playback. double mPlaybackRate; // True if pitch correction is applied when playbackRate is set to a // non-intrinsic value. bool mPreservesPitch; - nsRefPtr<gfxASurface> mPrintSurface; - // Reference to the source element last returned by GetNextSource(). // This is the child source element which we're trying to load from. nsCOMPtr<nsIContent> mSourceLoadCandidate; // An audio stream for writing audio directly from JS. nsAutoPtr<AudioStream> mAudioStream; // Range of time played.
--- a/content/html/content/src/HTMLMediaElement.cpp +++ b/content/html/content/src/HTMLMediaElement.cpp @@ -3218,21 +3218,16 @@ VideoFrameContainer* HTMLMediaElement::G if (mReadyState >= nsIDOMHTMLMediaElement::HAVE_METADATA && mMediaSize == nsIntSize(-1, -1)) { return nullptr; } if (mVideoFrameContainer) return mVideoFrameContainer; - // If we have a print surface, this is just a static image so - // no image container is required - if (mPrintSurface) - return nullptr; - // Only video frames need an image container. nsCOMPtr<nsIDOMHTMLVideoElement> video = do_QueryObject(this); if (!video) return nullptr; mVideoFrameContainer = new VideoFrameContainer(this, LayerManager::CreateAsynchronousImageContainer()); @@ -3599,36 +3594,17 @@ already_AddRefed<nsILoadGroup> HTMLMedia nsresult HTMLMediaElement::CopyInnerTo(Element* aDest) { nsresult rv = nsGenericHTMLElement::CopyInnerTo(aDest); NS_ENSURE_SUCCESS(rv, rv); if (aDest->OwnerDoc()->IsStaticDocument()) { HTMLMediaElement* dest = static_cast<HTMLMediaElement*>(aDest); - if (mPrintSurface) { - dest->mPrintSurface = mPrintSurface; - dest->mMediaSize = mMediaSize; - } else { - nsIFrame* frame = GetPrimaryFrame(); - Element* element; - if (frame && frame->GetType() == nsGkAtoms::HTMLVideoFrame && - static_cast<nsVideoFrame*>(frame)->ShouldDisplayPoster()) { - nsIContent* content = static_cast<nsVideoFrame*>(frame)->GetPosterImage(); - element = content ? content->AsElement() : nullptr; - } else { - element = const_cast<HTMLMediaElement*>(this); - } - - nsLayoutUtils::SurfaceFromElementResult res = - nsLayoutUtils::SurfaceFromElement(element, - nsLayoutUtils::SFE_WANT_NEW_SURFACE); - dest->mPrintSurface = res.mSurface; - dest->mMediaSize = nsIntSize(res.mSize.width, res.mSize.height); - } + dest->mMediaSize = mMediaSize; } return rv; } already_AddRefed<TimeRanges> HTMLMediaElement::Buffered() const { nsRefPtr<TimeRanges> ranges = new TimeRanges();