OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2008, Google Inc. All rights reserved. | 2 * Copyright (c) 2008, Google Inc. All rights reserved. |
3 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> | 3 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> |
4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. | 4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions are | 7 * modification, are permitted provided that the following conditions are |
8 * met: | 8 * met: |
9 * | 9 * |
10 * * Redistributions of source code must retain the above copyright | 10 * * Redistributions of source code must retain the above copyright |
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
525 } | 525 } |
526 } | 526 } |
527 | 527 |
528 void ImageBuffer::DisableAcceleration() { | 528 void ImageBuffer::DisableAcceleration() { |
529 if (!IsAccelerated()) | 529 if (!IsAccelerated()) |
530 return; | 530 return; |
531 | 531 |
532 // Create and configure a recording (unaccelerated) surface. | 532 // Create and configure a recording (unaccelerated) surface. |
533 std::unique_ptr<ImageBufferSurface> surface = | 533 std::unique_ptr<ImageBufferSurface> surface = |
534 WTF::WrapUnique(new RecordingImageBufferSurface( | 534 WTF::WrapUnique(new RecordingImageBufferSurface( |
535 surface_->size(), surface_->GetOpacityMode(), | 535 surface_->size(), RecordingImageBufferSurface::kAllowFallback, |
536 surface_->color_params())); | 536 surface_->GetOpacityMode(), surface_->color_params())); |
537 SetSurface(std::move(surface)); | 537 SetSurface(std::move(surface)); |
538 } | 538 } |
539 | 539 |
540 void ImageBuffer::SetSurface(std::unique_ptr<ImageBufferSurface> surface) { | 540 void ImageBuffer::SetSurface(std::unique_ptr<ImageBufferSurface> surface) { |
541 sk_sp<SkImage> image = | 541 sk_sp<SkImage> image = |
542 surface_->NewImageSnapshot(kPreferNoAcceleration, kSnapshotReasonPaint); | 542 surface_->NewImageSnapshot(kPreferNoAcceleration, kSnapshotReasonPaint); |
543 | 543 |
544 // image can be null if alloaction failed in which case we should just | 544 // image can be null if alloaction failed in which case we should just |
545 // abort the surface switch to reatain the old surface which is still | 545 // abort the surface switch to reatain the old surface which is still |
546 // functional. | 546 // functional. |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
597 DCHECK(MIMETypeRegistry::IsSupportedImageMIMETypeForEncoding(mime_type)); | 597 DCHECK(MIMETypeRegistry::IsSupportedImageMIMETypeForEncoding(mime_type)); |
598 | 598 |
599 Vector<unsigned char> result; | 599 Vector<unsigned char> result; |
600 if (!EncodeImage(mime_type, quality, &result)) | 600 if (!EncodeImage(mime_type, quality, &result)) |
601 return "data:,"; | 601 return "data:,"; |
602 | 602 |
603 return "data:" + mime_type + ";base64," + Base64Encode(result); | 603 return "data:" + mime_type + ";base64," + Base64Encode(result); |
604 } | 604 } |
605 | 605 |
606 } // namespace blink | 606 } // namespace blink |
OLD | NEW |