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

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

Issue 2547053003: s/ passed(...) / WTF::passed(...) / to avoid future ambiguity w/ base::Passed. (Closed)
Patch Set: Rebasing... Created 4 years 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) 2004, 2006, 2007 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2006, 2007 Apple Inc. All rights reserved.
3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com>
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 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after
841 } 841 }
842 842
843 class UnacceleratedSurfaceFactory 843 class UnacceleratedSurfaceFactory
844 : public RecordingImageBufferFallbackSurfaceFactory { 844 : public RecordingImageBufferFallbackSurfaceFactory {
845 public: 845 public:
846 virtual std::unique_ptr<ImageBufferSurface> createSurface( 846 virtual std::unique_ptr<ImageBufferSurface> createSurface(
847 const IntSize& size, 847 const IntSize& size,
848 OpacityMode opacityMode, 848 OpacityMode opacityMode,
849 sk_sp<SkColorSpace> colorSpace, 849 sk_sp<SkColorSpace> colorSpace,
850 SkColorType colorType) { 850 SkColorType colorType) {
851 return wrapUnique(new UnacceleratedImageBufferSurface( 851 return WTF::wrapUnique(new UnacceleratedImageBufferSurface(
852 size, opacityMode, InitializeImagePixels, colorSpace, colorType)); 852 size, opacityMode, InitializeImagePixels, colorSpace, colorType));
853 } 853 }
854 854
855 virtual ~UnacceleratedSurfaceFactory() {} 855 virtual ~UnacceleratedSurfaceFactory() {}
856 }; 856 };
857 857
858 bool HTMLCanvasElement::shouldUseDisplayList(const IntSize& deviceSize) { 858 bool HTMLCanvasElement::shouldUseDisplayList(const IntSize& deviceSize) {
859 if (m_context->colorSpace() != kLegacyCanvasColorSpace) 859 if (m_context->colorSpace() != kLegacyCanvasColorSpace)
860 return false; 860 return false;
861 861
862 if (RuntimeEnabledFeatures::forceDisplayList2dCanvasEnabled()) 862 if (RuntimeEnabledFeatures::forceDisplayList2dCanvasEnabled())
863 return true; 863 return true;
864 864
865 if (!RuntimeEnabledFeatures::displayList2dCanvasEnabled()) 865 if (!RuntimeEnabledFeatures::displayList2dCanvasEnabled())
866 return false; 866 return false;
867 867
868 return true; 868 return true;
869 } 869 }
870 870
871 std::unique_ptr<ImageBufferSurface> 871 std::unique_ptr<ImageBufferSurface>
872 HTMLCanvasElement::createWebGLImageBufferSurface(const IntSize& deviceSize, 872 HTMLCanvasElement::createWebGLImageBufferSurface(const IntSize& deviceSize,
873 OpacityMode opacityMode) { 873 OpacityMode opacityMode) {
874 DCHECK(is3D()); 874 DCHECK(is3D());
875 // If 3d, but the use of the canvas will be for non-accelerated content 875 // If 3d, but the use of the canvas will be for non-accelerated content
876 // then make a non-accelerated ImageBuffer. This means copying the internal 876 // then make a non-accelerated ImageBuffer. This means copying the internal
877 // Image will require a pixel readback, but that is unavoidable in this case. 877 // Image will require a pixel readback, but that is unavoidable in this case.
878 auto surface = wrapUnique(new AcceleratedImageBufferSurface( 878 auto surface = WTF::wrapUnique(new AcceleratedImageBufferSurface(
879 deviceSize, opacityMode, m_context->skColorSpace(), 879 deviceSize, opacityMode, m_context->skColorSpace(),
880 m_context->colorType())); 880 m_context->colorType()));
881 if (surface->isValid()) 881 if (surface->isValid())
882 return std::move(surface); 882 return std::move(surface);
883 return nullptr; 883 return nullptr;
884 } 884 }
885 885
886 std::unique_ptr<ImageBufferSurface> 886 std::unique_ptr<ImageBufferSurface>
887 HTMLCanvasElement::createAcceleratedImageBufferSurface( 887 HTMLCanvasElement::createAcceleratedImageBufferSurface(
888 const IntSize& deviceSize, 888 const IntSize& deviceSize,
(...skipping 13 matching lines...) Expand all
902 if (!contextProvider) { 902 if (!contextProvider) {
903 CanvasMetrics::countCanvasContextUsage( 903 CanvasMetrics::countCanvasContextUsage(
904 CanvasMetrics::Accelerated2DCanvasGPUContextLost); 904 CanvasMetrics::Accelerated2DCanvasGPUContextLost);
905 return nullptr; 905 return nullptr;
906 } 906 }
907 907
908 if (contextProvider->isSoftwareRendering()) 908 if (contextProvider->isSoftwareRendering())
909 return nullptr; // Don't use accelerated canvas with swiftshader. 909 return nullptr; // Don't use accelerated canvas with swiftshader.
910 910
911 std::unique_ptr<ImageBufferSurface> surface = 911 std::unique_ptr<ImageBufferSurface> surface =
912 wrapUnique(new Canvas2DImageBufferSurface( 912 WTF::wrapUnique(new Canvas2DImageBufferSurface(
913 std::move(contextProvider), deviceSize, *msaaSampleCount, opacityMode, 913 std::move(contextProvider), deviceSize, *msaaSampleCount, opacityMode,
914 Canvas2DLayerBridge::EnableAcceleration, m_context->skColorSpace(), 914 Canvas2DLayerBridge::EnableAcceleration, m_context->skColorSpace(),
915 m_context->colorType())); 915 m_context->colorType()));
916 if (!surface->isValid()) { 916 if (!surface->isValid()) {
917 CanvasMetrics::countCanvasContextUsage( 917 CanvasMetrics::countCanvasContextUsage(
918 CanvasMetrics::GPUAccelerated2DCanvasImageBufferCreationFailed); 918 CanvasMetrics::GPUAccelerated2DCanvasImageBufferCreationFailed);
919 return nullptr; 919 return nullptr;
920 } 920 }
921 921
922 CanvasMetrics::countCanvasContextUsage( 922 CanvasMetrics::countCanvasContextUsage(
923 CanvasMetrics::GPUAccelerated2DCanvasImageBufferCreated); 923 CanvasMetrics::GPUAccelerated2DCanvasImageBufferCreated);
924 return surface; 924 return surface;
925 } 925 }
926 926
927 std::unique_ptr<ImageBufferSurface> 927 std::unique_ptr<ImageBufferSurface>
928 HTMLCanvasElement::createUnacceleratedImageBufferSurface( 928 HTMLCanvasElement::createUnacceleratedImageBufferSurface(
929 const IntSize& deviceSize, 929 const IntSize& deviceSize,
930 OpacityMode opacityMode) { 930 OpacityMode opacityMode) {
931 if (shouldUseDisplayList(deviceSize)) { 931 if (shouldUseDisplayList(deviceSize)) {
932 auto surface = wrapUnique(new RecordingImageBufferSurface( 932 auto surface = WTF::wrapUnique(new RecordingImageBufferSurface(
933 deviceSize, wrapUnique(new UnacceleratedSurfaceFactory), opacityMode, 933 deviceSize, WTF::wrapUnique(new UnacceleratedSurfaceFactory),
934 m_context->skColorSpace(), m_context->colorType())); 934 opacityMode, m_context->skColorSpace(), m_context->colorType()));
935 if (surface->isValid()) { 935 if (surface->isValid()) {
936 CanvasMetrics::countCanvasContextUsage( 936 CanvasMetrics::countCanvasContextUsage(
937 CanvasMetrics::DisplayList2DCanvasImageBufferCreated); 937 CanvasMetrics::DisplayList2DCanvasImageBufferCreated);
938 return std::move(surface); 938 return std::move(surface);
939 } 939 }
940 // We fallback to a non-display-list surface without recording a metric 940 // We fallback to a non-display-list surface without recording a metric
941 // here. 941 // here.
942 } 942 }
943 943
944 auto surfaceFactory = makeUnique<UnacceleratedSurfaceFactory>(); 944 auto surfaceFactory = WTF::makeUnique<UnacceleratedSurfaceFactory>();
945 auto surface = surfaceFactory->createSurface(deviceSize, opacityMode, 945 auto surface = surfaceFactory->createSurface(deviceSize, opacityMode,
946 m_context->skColorSpace(), 946 m_context->skColorSpace(),
947 m_context->colorType()); 947 m_context->colorType());
948 if (surface->isValid()) { 948 if (surface->isValid()) {
949 CanvasMetrics::countCanvasContextUsage( 949 CanvasMetrics::countCanvasContextUsage(
950 CanvasMetrics::Unaccelerated2DCanvasImageBufferCreated); 950 CanvasMetrics::Unaccelerated2DCanvasImageBufferCreated);
951 return surface; 951 return surface;
952 } 952 }
953 953
954 CanvasMetrics::countCanvasContextUsage( 954 CanvasMetrics::countCanvasContextUsage(
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
1381 return m_context->getIdFromControl(element); 1381 return m_context->getIdFromControl(element);
1382 return String(); 1382 return String();
1383 } 1383 }
1384 1384
1385 bool HTMLCanvasElement::createSurfaceLayer() { 1385 bool HTMLCanvasElement::createSurfaceLayer() {
1386 DCHECK(!m_surfaceLayerBridge); 1386 DCHECK(!m_surfaceLayerBridge);
1387 mojom::blink::OffscreenCanvasSurfacePtr service; 1387 mojom::blink::OffscreenCanvasSurfacePtr service;
1388 Platform::current()->interfaceProvider()->getInterface( 1388 Platform::current()->interfaceProvider()->getInterface(
1389 mojo::GetProxy(&service)); 1389 mojo::GetProxy(&service));
1390 m_surfaceLayerBridge = 1390 m_surfaceLayerBridge =
1391 wrapUnique(new CanvasSurfaceLayerBridge(std::move(service))); 1391 WTF::wrapUnique(new CanvasSurfaceLayerBridge(std::move(service)));
1392 return m_surfaceLayerBridge->createSurfaceLayer(this->width(), 1392 return m_surfaceLayerBridge->createSurfaceLayer(this->width(),
1393 this->height()); 1393 this->height());
1394 } 1394 }
1395 1395
1396 } // namespace blink 1396 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLAreaElement.cpp ('k') | third_party/WebKit/Source/core/html/HTMLLinkElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698