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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLVideoElement.cpp

Issue 1767633002: Support canvas size as default object size (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pass-default-object-size
Patch Set: Rebase Created 4 years, 9 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 /* 1 /*
2 * Copyright (C) 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 } 278 }
279 279
280 KURL HTMLVideoElement::posterImageURL() const 280 KURL HTMLVideoElement::posterImageURL() const
281 { 281 {
282 String url = stripLeadingAndTrailingHTMLSpaces(imageSourceURL()); 282 String url = stripLeadingAndTrailingHTMLSpaces(imageSourceURL());
283 if (url.isEmpty()) 283 if (url.isEmpty())
284 return KURL(); 284 return KURL();
285 return document().completeURL(url); 285 return document().completeURL(url);
286 } 286 }
287 287
288 PassRefPtr<Image> HTMLVideoElement::getSourceImageForCanvas(SourceImageStatus* s tatus, AccelerationHint, SnapshotReason) const 288 PassRefPtr<Image> HTMLVideoElement::getSourceImageForCanvas(SourceImageStatus* s tatus, AccelerationHint, SnapshotReason, const FloatSize&) const
289 { 289 {
290 if (!hasAvailableVideoFrame()) { 290 if (!hasAvailableVideoFrame()) {
291 *status = InvalidSourceImageStatus; 291 *status = InvalidSourceImageStatus;
292 return nullptr; 292 return nullptr;
293 } 293 }
294 294
295 IntSize intrinsicSize(videoWidth(), videoHeight()); 295 IntSize intrinsicSize(videoWidth(), videoHeight());
296 // FIXME: Not sure if we dhould we be doing anything with the AccelerationHi nt argument here? 296 // FIXME: Not sure if we dhould we be doing anything with the AccelerationHi nt argument here?
297 OwnPtr<ImageBuffer> imageBuffer = ImageBuffer::create(intrinsicSize); 297 OwnPtr<ImageBuffer> imageBuffer = ImageBuffer::create(intrinsicSize);
298 if (!imageBuffer) { 298 if (!imageBuffer) {
(...skipping 10 matching lines...) Expand all
309 309
310 *status = NormalSourceImageStatus; 310 *status = NormalSourceImageStatus;
311 return snapshot.release(); 311 return snapshot.release();
312 } 312 }
313 313
314 bool HTMLVideoElement::wouldTaintOrigin(SecurityOrigin* destinationSecurityOrigi n) const 314 bool HTMLVideoElement::wouldTaintOrigin(SecurityOrigin* destinationSecurityOrigi n) const
315 { 315 {
316 return !isMediaDataCORSSameOrigin(destinationSecurityOrigin); 316 return !isMediaDataCORSSameOrigin(destinationSecurityOrigin);
317 } 317 }
318 318
319 FloatSize HTMLVideoElement::elementSize() const 319 FloatSize HTMLVideoElement::elementSize(const FloatSize&) const
320 { 320 {
321 return FloatSize(videoWidth(), videoHeight()); 321 return FloatSize(videoWidth(), videoHeight());
322 } 322 }
323 323
324 IntSize HTMLVideoElement::bitmapSourceSize() const 324 IntSize HTMLVideoElement::bitmapSourceSize() const
325 { 325 {
326 return IntSize(videoWidth(), videoHeight()); 326 return IntSize(videoWidth(), videoHeight());
327 } 327 }
328 328
329 ScriptPromise HTMLVideoElement::createImageBitmap(ScriptState* scriptState, Even tTarget& eventTarget, int sx, int sy, int sw, int sh, const ImageBitmapOptions& options, ExceptionState& exceptionState) 329 ScriptPromise HTMLVideoElement::createImageBitmap(ScriptState* scriptState, Even tTarget& eventTarget, int sx, int sy, int sw, int sh, const ImageBitmapOptions& options, ExceptionState& exceptionState)
330 { 330 {
331 ASSERT(eventTarget.toDOMWindow()); 331 ASSERT(eventTarget.toDOMWindow());
332 if (networkState() == HTMLMediaElement::NETWORK_EMPTY) { 332 if (networkState() == HTMLMediaElement::NETWORK_EMPTY) {
333 exceptionState.throwDOMException(InvalidStateError, "The provided elemen t has not retrieved data."); 333 exceptionState.throwDOMException(InvalidStateError, "The provided elemen t has not retrieved data.");
334 return ScriptPromise(); 334 return ScriptPromise();
335 } 335 }
336 if (readyState() <= HTMLMediaElement::HAVE_METADATA) { 336 if (readyState() <= HTMLMediaElement::HAVE_METADATA) {
337 exceptionState.throwDOMException(InvalidStateError, "The provided elemen t's player has no current data."); 337 exceptionState.throwDOMException(InvalidStateError, "The provided elemen t's player has no current data.");
338 return ScriptPromise(); 338 return ScriptPromise();
339 } 339 }
340 if (!sw || !sh) { 340 if (!sw || !sh) {
341 exceptionState.throwDOMException(IndexSizeError, String::format("The sou rce %s provided is 0.", sw ? "height" : "width")); 341 exceptionState.throwDOMException(IndexSizeError, String::format("The sou rce %s provided is 0.", sw ? "height" : "width"));
342 return ScriptPromise(); 342 return ScriptPromise();
343 } 343 }
344 return ImageBitmapSource::fulfillImageBitmap(scriptState, ImageBitmap::creat e(this, IntRect(sx, sy, sw, sh), eventTarget.toDOMWindow()->document(), options) ); 344 return ImageBitmapSource::fulfillImageBitmap(scriptState, ImageBitmap::creat e(this, IntRect(sx, sy, sw, sh), eventTarget.toDOMWindow()->document(), options) );
345 } 345 }
346 346
347 } // namespace blink 347 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698