Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Side by Side Diff: content/renderer/media/webmediaplayer_ms.cc

Issue 1915123002: Bug Fix: Resize Event Trigger (M51) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: \ Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/webmediaplayer_ms.h" 5 #include "content/renderer/media/webmediaplayer_ms.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 486
487 if (video_frame_provider_.get()) { 487 if (video_frame_provider_.get()) {
488 video_weblayer_.reset(new cc_blink::WebLayerImpl( 488 video_weblayer_.reset(new cc_blink::WebLayerImpl(
489 cc::VideoLayer::Create(compositor_.get(), media::VIDEO_ROTATION_0))); 489 cc::VideoLayer::Create(compositor_.get(), media::VIDEO_ROTATION_0)));
490 video_weblayer_->layer()->SetContentsOpaque(false); 490 video_weblayer_->layer()->SetContentsOpaque(false);
491 video_weblayer_->SetContentsOpaqueIsFixed(true); 491 video_weblayer_->SetContentsOpaqueIsFixed(true);
492 get_client()->setWebLayer(video_weblayer_.get()); 492 get_client()->setWebLayer(video_weblayer_.get());
493 } 493 }
494 } 494 }
495 495
496 // As EnqueueFrame can potentially change |current_frame_|, we need to do
497 // the size change check before it. Otherwise, we are running the risk of not
498 // detecting a size change event.
499 const bool size_changed =
500 compositor_->GetCurrentSize() != frame->natural_size();
501
502 compositor_->EnqueueFrame(frame); 496 compositor_->EnqueueFrame(frame);
503 if (size_changed)
504 get_client()->sizeChanged();
505 } 497 }
506 498
507 void WebMediaPlayerMS::RepaintInternal() { 499 void WebMediaPlayerMS::RepaintInternal() {
508 DVLOG(1) << __FUNCTION__; 500 DVLOG(1) << __FUNCTION__;
509 DCHECK(thread_checker_.CalledOnValidThread()); 501 DCHECK(thread_checker_.CalledOnValidThread());
510 get_client()->repaint(); 502 get_client()->repaint();
511 } 503 }
512 504
513 void WebMediaPlayerMS::OnSourceError() { 505 void WebMediaPlayerMS::OnSourceError() {
514 DCHECK(thread_checker_.CalledOnValidThread()); 506 DCHECK(thread_checker_.CalledOnValidThread());
(...skipping 17 matching lines...) Expand all
532 524
533 media::SkCanvasVideoRenderer* WebMediaPlayerMS::GetSkCanvasVideoRenderer() { 525 media::SkCanvasVideoRenderer* WebMediaPlayerMS::GetSkCanvasVideoRenderer() {
534 return &video_renderer_; 526 return &video_renderer_;
535 } 527 }
536 528
537 void WebMediaPlayerMS::ResetCanvasCache() { 529 void WebMediaPlayerMS::ResetCanvasCache() {
538 DCHECK(thread_checker_.CalledOnValidThread()); 530 DCHECK(thread_checker_.CalledOnValidThread());
539 video_renderer_.ResetCache(); 531 video_renderer_.ResetCache();
540 } 532 }
541 533
534 void WebMediaPlayerMS::TriggerResize() {
535 get_client()->sizeChanged();
536 }
537
542 } // namespace content 538 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/webmediaplayer_ms.h ('k') | content/renderer/media/webmediaplayer_ms_compositor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698