From 0de27439a6217b7edfe6636a6740e0a260e5513a Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Wed, 22 Dec 2010 16:27:43 +0000 Subject: [PATCH] Create a better placeholder for YT videos when flash is not installed. Only stretch the placeholder image in one dimension. This closer matches what the desktop browsers seem to do. Bug: 3125797 Change-Id: Id0a395c4b784d0b7368e1c7ba6544b25903430bb --- core/res/assets/webkit/youtube.html | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/core/res/assets/webkit/youtube.html b/core/res/assets/webkit/youtube.html index 289f8cfdb5009..d808bcf7789b0 100644 --- a/core/res/assets/webkit/youtube.html +++ b/core/res/assets/webkit/youtube.html @@ -38,19 +38,29 @@ // All images are loaded, so display them. // (Note that the images are loaded from javascript, so might load // after document.onload fires) - ctx.drawImage(background, 0, 0, width, height); + playWidth = play.width; playHeight = play.height; logoWidth = logo.width; logoHeight = logo.height; var ratio = 1; // If the page is smaller than it 'should' be in either dimension - // we scale the play button and logo according to the dimension that - // has been shrunk the most. + // we scale the background, play button and logo according to the + // dimension that has been shrunk the most. if (width / height > defWidth / defHeight && height < defHeight) { ratio = height / defHeight; + // Stretch the background in this dimension only. + backgroundHeight = background.height / ratio; + ctx.drawImage(background, 0, 0, background.width, background.height, + 0, (height - backgroundHeight) / 2, width, backgroundHeight); } else if (width / height < defWidth / defHeight && width < defWidth) { ratio = width / defWidth; + backgroundWidth = background.width / ratio; + ctx.drawImage(background, 0, 0, background.width, background.height, + (width - backgroundWidth) / 2, 0, backgroundWidth, height); + } else { + // In this case stretch the background in both dimensions to fill the space. + ctx.drawImage(background, 0, 0, width, height); } playWidth *= ratio; playHeight *= ratio;