Changeset 269084 in webkit


Ignore:
Timestamp:
Oct 27, 2020 6:36:51 PM (3 years ago)
Author:
Said Abou-Hallawa
Message:

Make RenderingMode a bool enum and remove ShouldAccelerate
https://bugs.webkit.org/show_bug.cgi?id=218264

Reviewed by Tim Horton.

Source/WebCore:

Convert RenderingMode back to be a bool enum. ShouldAccelerate will be
removed so no conversion from RenderingMode to ShouldAccelerate and vice
versa is needed anymore. Only one instance of ImageBuffer::create() will
be handling creating the remote and display list ImageBuffers.

-- Remove unused createImageBuffer() method in HostWindow and ChromeClient.
-- Remove unused argument 'ShouldUseDisplayList' from createImageBuffer()

of HostWindow, ChromeClient and WebChromeClient.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer const):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::createBufferForPainting const):

  • html/HTMLVideoElement.h:
  • html/ImageBitmap.cpp:

(WebCore::ImageBitmap::createPromise):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::createPattern):

  • page/Chrome.cpp:

(WebCore::Chrome::createImageBuffer const):

  • page/Chrome.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::createImageBuffer const):

  • platform/HostWindow.h:
  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::create):

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/RenderingMode.h:

Source/WebKit:

When creating a remote ImageBuffer in WebKit, all we need to know is whether
the backend is accelerated or not. RemoteImageBufferProxy has to be backed
by a DisplayList. RemoteImageBuffer has to own the real backend. Two enum
values for RenderingMode is sufficient for creating the remote ImageBuffer.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::createImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • Shared/WebCoreArgumentCoders.h:
  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::createImageBuffer):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createImageBuffer const):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
Location:
trunk/Source
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r269081 r269084  
     12020-10-27  Said Abou-Hallawa  <said@apple.com>
     2
     3        Make RenderingMode a bool enum and remove ShouldAccelerate
     4        https://bugs.webkit.org/show_bug.cgi?id=218264
     5
     6        Reviewed by Tim Horton.
     7
     8        Convert RenderingMode back to be a bool enum. ShouldAccelerate will be
     9        removed so no conversion from RenderingMode to ShouldAccelerate and vice
     10        versa is needed anymore. Only one instance of ImageBuffer::create() will
     11        be handling creating the remote and display list ImageBuffers.
     12
     13        -- Remove unused createImageBuffer() method in HostWindow and ChromeClient.
     14        -- Remove unused argument 'ShouldUseDisplayList' from createImageBuffer()
     15           of HostWindow, ChromeClient and WebChromeClient.
     16
     17        * html/HTMLCanvasElement.cpp:
     18        (WebCore::HTMLCanvasElement::createImageBuffer const):
     19        * html/HTMLVideoElement.cpp:
     20        (WebCore::HTMLVideoElement::createBufferForPainting const):
     21        * html/HTMLVideoElement.h:
     22        * html/ImageBitmap.cpp:
     23        (WebCore::ImageBitmap::createPromise):
     24        * html/canvas/CanvasRenderingContext2DBase.cpp:
     25        (WebCore::CanvasRenderingContext2DBase::createPattern):
     26        * page/Chrome.cpp:
     27        (WebCore::Chrome::createImageBuffer const):
     28        * page/Chrome.h:
     29        * page/ChromeClient.h:
     30        (WebCore::ChromeClient::createImageBuffer const):
     31        * platform/HostWindow.h:
     32        * platform/graphics/ImageBuffer.cpp:
     33        (WebCore::ImageBuffer::create):
     34        * platform/graphics/ImageBuffer.h:
     35        * platform/graphics/RenderingMode.h:
     36
    1372020-10-27  Chris Dumez  <cdumez@apple.com>
    238
  • trunk/Source/WebCore/html/HTMLCanvasElement.cpp

    r268453 r269084  
    937937    auto hostWindow = (document().view() && document().view()->root()) ? document().view()->root()->hostWindow() : nullptr;
    938938
    939     auto accelerate = shouldAccelerate(size()) ? ShouldAccelerate::Yes : ShouldAccelerate::No;
     939    auto renderingMode = shouldAccelerate(size()) ? RenderingMode::Accelerated : RenderingMode::Unaccelerated;
    940940    // FIXME: Add a new setting for DisplayList drawing on canvas.
    941941    auto useDisplayList = m_usesDisplayListDrawing.valueOr(document().settings().displayListDrawingEnabled()) ? ShouldUseDisplayList::Yes : ShouldUseDisplayList::No;
    942     setImageBuffer(ImageBuffer::create(size(), accelerate, useDisplayList, RenderingPurpose::Canvas, 1, ColorSpace::SRGB, hostWindow));
     942    setImageBuffer(ImageBuffer::create(size(), renderingMode, useDisplayList, RenderingPurpose::Canvas, 1, ColorSpace::SRGB, hostWindow));
    943943
    944944    if (buffer() && buffer()->drawingContext())
  • trunk/Source/WebCore/html/HTMLVideoElement.cpp

    r268865 r269084  
    292292}
    293293
    294 std::unique_ptr<ImageBuffer> HTMLVideoElement::createBufferForPainting(const FloatSize& size, ShouldAccelerate shouldAccelerate) const
     294std::unique_ptr<ImageBuffer> HTMLVideoElement::createBufferForPainting(const FloatSize& size, RenderingMode renderingMode) const
    295295{
    296296    auto* hostWindow = document().view() && document().view()->root() ? document().view()->root()->hostWindow() : nullptr;
    297297    auto shouldUseDisplayList = document().settings().displayListDrawingEnabled() ? ShouldUseDisplayList::Yes : ShouldUseDisplayList::No;
    298     return ImageBuffer::create(size, shouldAccelerate, shouldUseDisplayList, RenderingPurpose::MediaPainting, 1, ColorSpace::SRGB, hostWindow);
     298    return ImageBuffer::create(size, renderingMode, shouldUseDisplayList, RenderingPurpose::MediaPainting, 1, ColorSpace::SRGB, hostWindow);
    299299}
    300300
  • trunk/Source/WebCore/html/HTMLVideoElement.h

    r268865 r269084  
    3939class PictureInPictureObserver;
    4040
    41 enum class ShouldAccelerate : bool;
     41enum class RenderingMode : bool;
    4242
    4343class HTMLVideoElement final : public HTMLMediaElement, public Supplementable<HTMLVideoElement> {
     
    7171#endif
    7272
    73     std::unique_ptr<ImageBuffer> createBufferForPainting(const FloatSize&, ShouldAccelerate) const;
     73    std::unique_ptr<ImageBuffer> createBufferForPainting(const FloatSize&, RenderingMode) const;
    7474
    7575    // Used by canvas to gain raw pixel access
  • trunk/Source/WebCore/html/ImageBitmap.cpp

    r268453 r269084  
    488488
    489489    auto outputSize = outputSizeForSourceRectangle(sourceRectangle, options);
    490     auto bitmapData = video->createBufferForPainting(outputSize, bufferRenderingMode == RenderingMode::Accelerated ? ShouldAccelerate::Yes : ShouldAccelerate::No);
     490    auto bitmapData = video->createBufferForPainting(outputSize, bufferRenderingMode);
    491491    if (!bitmapData) {
    492492        resolveWithBlankImageBuffer(!taintsOrigin(scriptExecutionContext.securityOrigin(), *video), WTFMove(promise));
  • trunk/Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp

    r268453 r269084  
    19461946#endif
    19471947
    1948     auto shouldAccelerate = !drawingContext() || drawingContext()->isAcceleratedContext() ? ShouldAccelerate::Yes : ShouldAccelerate::No;
    1949     auto imageBuffer = videoElement.createBufferForPainting(size(videoElement), shouldAccelerate);
     1948    auto renderingMode = !drawingContext() || drawingContext()->isAcceleratedContext() ? RenderingMode::Accelerated : RenderingMode::Unaccelerated;
     1949    auto imageBuffer = videoElement.createBufferForPainting(size(videoElement), renderingMode);
    19501950    if (!imageBuffer)
    19511951        return nullptr;
  • trunk/Source/WebCore/page/Chrome.cpp

    r268901 r269084  
    524524}
    525525
    526 std::unique_ptr<ImageBuffer> Chrome::createImageBuffer(const FloatSize& size, ShouldAccelerate shouldAccelerate, ShouldUseDisplayList shouldUseDisplayList, RenderingPurpose purpose, float resolutionScale, ColorSpace colorSpace) const
    527 {
    528     return m_client.createImageBuffer(size, shouldAccelerate, shouldUseDisplayList, purpose, resolutionScale, colorSpace);
    529 }
    530 
    531 std::unique_ptr<ImageBuffer> Chrome::createImageBuffer(const FloatSize& size, RenderingMode renderingMode, float resolutionScale, ColorSpace colorSpace) const
    532 {
    533     return m_client.createImageBuffer(size, renderingMode, resolutionScale, colorSpace);
     526std::unique_ptr<ImageBuffer> Chrome::createImageBuffer(const FloatSize& size, RenderingMode renderingMode, RenderingPurpose purpose, float resolutionScale, ColorSpace colorSpace) const
     527{
     528    return m_client.createImageBuffer(size, renderingMode, purpose, resolutionScale, colorSpace);
    534529}
    535530
  • trunk/Source/WebCore/page/Chrome.h

    r268901 r269084  
    8585    void setCursorHiddenUntilMouseMoves(bool) override;
    8686
    87     std::unique_ptr<ImageBuffer> createImageBuffer(const FloatSize&, ShouldAccelerate, ShouldUseDisplayList, RenderingPurpose, float resolutionScale, ColorSpace) const override;
    88     std::unique_ptr<ImageBuffer> createImageBuffer(const FloatSize&, RenderingMode, float resolutionScale, ColorSpace) const override;
     87    std::unique_ptr<ImageBuffer> createImageBuffer(const FloatSize&, RenderingMode, RenderingPurpose, float resolutionScale, ColorSpace) const override;
    8988
    9089    PlatformDisplayID displayID() const override;
  • trunk/Source/WebCore/page/ChromeClient.h

    r268901 r269084  
    324324    virtual RefPtr<DisplayRefreshMonitor> createDisplayRefreshMonitor(PlatformDisplayID) const { return nullptr; }
    325325
    326     virtual std::unique_ptr<ImageBuffer> createImageBuffer(const FloatSize&, ShouldAccelerate, ShouldUseDisplayList, RenderingPurpose, float, ColorSpace) const { return nullptr; }
    327     virtual std::unique_ptr<ImageBuffer> createImageBuffer(const FloatSize&, RenderingMode, float, ColorSpace) const { return nullptr; }
     326    virtual std::unique_ptr<ImageBuffer> createImageBuffer(const FloatSize&, RenderingMode, RenderingPurpose, float, ColorSpace) const { return nullptr; }
    328327
    329328    // Pass nullptr as the GraphicsLayer to detatch the root layer.
  • trunk/Source/WebCore/platform/HostWindow.h

    r268031 r269084  
    3434
    3535enum class ColorSpace : uint8_t;
    36 enum class RenderingMode : uint8_t;
    37 enum class ShouldAccelerate : bool;
    38 enum class ShouldUseDisplayList : bool;
     36enum class RenderingMode : bool;
    3937enum class RenderingPurpose : uint8_t;
    4038
     
    6361    virtual IntRect rootViewToAccessibilityScreen(const IntRect&) const = 0;
    6462
    65     virtual std::unique_ptr<ImageBuffer> createImageBuffer(const FloatSize&, ShouldAccelerate, ShouldUseDisplayList, RenderingPurpose, float resolutionScale, ColorSpace) const = 0;
    66     virtual std::unique_ptr<ImageBuffer> createImageBuffer(const FloatSize&, RenderingMode, float resolutionScale, ColorSpace) const = 0;
     63    virtual std::unique_ptr<ImageBuffer> createImageBuffer(const FloatSize&, RenderingMode, RenderingPurpose, float resolutionScale, ColorSpace) const = 0;
    6764
    6865    // Method for retrieving the native client of the page.
  • trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp

    r257677 r269084  
    3939static const float MaxClampedArea = MaxClampedLength * MaxClampedLength;
    4040
    41 std::unique_ptr<ImageBuffer> ImageBuffer::create(const FloatSize& size, ShouldAccelerate shouldAccelerate, ShouldUseDisplayList shouldUseDisplayList, RenderingPurpose purpose, float resolutionScale, ColorSpace colorSpace, const HostWindow* hostWindow)
     41std::unique_ptr<ImageBuffer> ImageBuffer::create(const FloatSize& size, RenderingMode renderingMode, ShouldUseDisplayList shouldUseDisplayList, RenderingPurpose purpose, float resolutionScale, ColorSpace colorSpace, const HostWindow* hostWindow)
    4242{
    4343    std::unique_ptr<ImageBuffer> imageBuffer;
    4444    if (hostWindow)
    45         imageBuffer = hostWindow->createImageBuffer(size, shouldAccelerate, shouldUseDisplayList, purpose, resolutionScale, colorSpace);
    46 
    47     if (!imageBuffer) {
    48         RenderingMode mode;
    49         if (shouldUseDisplayList == ShouldUseDisplayList::Yes)
    50             mode = shouldAccelerate == ShouldAccelerate::Yes ? RenderingMode::DisplayListAccelerated : RenderingMode::DisplayListUnaccelerated;
    51         else
    52             mode = shouldAccelerate == ShouldAccelerate::Yes ? RenderingMode::Accelerated : RenderingMode::Unaccelerated;
    53         imageBuffer = ImageBuffer::create(size, mode, resolutionScale, colorSpace, hostWindow);
    54     }
    55 
    56     return imageBuffer;
    57 }
    58 
    59 std::unique_ptr<ImageBuffer> ImageBuffer::create(const FloatSize& size, RenderingMode renderingMode, float resolutionScale, ColorSpace colorSpace, const HostWindow* hostWindow)
    60 {
    61     std::unique_ptr<ImageBuffer> imageBuffer;
    62 
    63     switch (renderingMode) {
    64     case RenderingMode::Accelerated:
    65         imageBuffer = AcceleratedImageBuffer::create(size, resolutionScale, colorSpace, hostWindow);
    66         FALLTHROUGH;
    67     case RenderingMode::Unaccelerated:
    68         if (!imageBuffer)
    69             imageBuffer = UnacceleratedImageBuffer::create(size, resolutionScale, colorSpace, hostWindow);
    70         break;
    71 
    72     case RenderingMode::DisplayListAccelerated:
    73         imageBuffer = DisplayListAcceleratedImageBuffer::create(size, resolutionScale, colorSpace, hostWindow);
    74         FALLTHROUGH;
    75     case RenderingMode::DisplayListUnaccelerated:
     45        imageBuffer = hostWindow->createImageBuffer(size, renderingMode, purpose, resolutionScale, colorSpace);
     46
     47    if (!imageBuffer && shouldUseDisplayList == ShouldUseDisplayList::Yes) {
     48        if (renderingMode == RenderingMode::Accelerated)
     49            imageBuffer = DisplayListAcceleratedImageBuffer::create(size, resolutionScale, colorSpace, hostWindow);
     50       
    7651        if (!imageBuffer)
    7752            imageBuffer = DisplayListUnacceleratedImageBuffer::create(size, resolutionScale, colorSpace, hostWindow);
    78         break;
    79 
    80     case RenderingMode::RemoteAccelerated:
    81     case RenderingMode::RemoteUnaccelerated:
    82         if (hostWindow)
    83             imageBuffer = hostWindow->createImageBuffer(size, renderingMode, resolutionScale, colorSpace);
    84         break;
    8553    }
    8654
     55    if (!imageBuffer)
     56        imageBuffer = ImageBuffer::create(size, renderingMode, resolutionScale, colorSpace, hostWindow);
     57
     58    return imageBuffer;
     59}
     60
     61std::unique_ptr<ImageBuffer> ImageBuffer::create(const FloatSize& size, RenderingMode renderingMode, float resolutionScale, ColorSpace colorSpace, const HostWindow* hostWindow)
     62{
     63    std::unique_ptr<ImageBuffer> imageBuffer;
     64   
     65    if (renderingMode == RenderingMode::Accelerated)
     66        imageBuffer = AcceleratedImageBuffer::create(size, resolutionScale, colorSpace, hostWindow);
     67   
     68    if (!imageBuffer)
     69        imageBuffer = UnacceleratedImageBuffer::create(size, resolutionScale, colorSpace, hostWindow);
     70
    8771    return imageBuffer;
    8872}
     
    9175{
    9276    std::unique_ptr<ImageBuffer> imageBuffer;
    93 
    94     switch (context.renderingMode()) {
    95     case RenderingMode::Accelerated:
     77   
     78    if (context.renderingMode() == RenderingMode::Accelerated)
    9679        imageBuffer = AcceleratedImageBuffer::create(size, context);
    97         FALLTHROUGH;
    98     case RenderingMode::Unaccelerated:
    99         if (!imageBuffer)
    100             imageBuffer = UnacceleratedImageBuffer::create(size, context);
    101         break;
    102 
    103     case RenderingMode::DisplayListAccelerated:
    104         imageBuffer = DisplayListAcceleratedImageBuffer::create(size, context);
    105         FALLTHROUGH;
    106     case RenderingMode::DisplayListUnaccelerated:
    107         if (!imageBuffer)
    108             imageBuffer = DisplayListUnacceleratedImageBuffer::create(size, context);
    109         break;
    110 
    111     case RenderingMode::RemoteUnaccelerated:
    112     case RenderingMode::RemoteAccelerated:
    113         ASSERT_NOT_REACHED();
    114         break;
    115     }
     80   
     81    if (!imageBuffer)
     82        imageBuffer = UnacceleratedImageBuffer::create(size, context);
    11683
    11784    return imageBuffer;
  • trunk/Source/WebCore/platform/graphics/ImageBuffer.h

    r269022 r269084  
    4242public:
    4343    // Will return a null pointer on allocation failure.
    44     WEBCORE_EXPORT static std::unique_ptr<ImageBuffer> create(const FloatSize&, ShouldAccelerate, ShouldUseDisplayList, RenderingPurpose, float resolutionScale = 1, ColorSpace = ColorSpace::SRGB, const HostWindow* = nullptr);
     44    WEBCORE_EXPORT static std::unique_ptr<ImageBuffer> create(const FloatSize&, RenderingMode, ShouldUseDisplayList, RenderingPurpose, float resolutionScale = 1, ColorSpace = ColorSpace::SRGB, const HostWindow* = nullptr);
    4545    WEBCORE_EXPORT static std::unique_ptr<ImageBuffer> create(const FloatSize&, RenderingMode, float resolutionScale = 1, ColorSpace = ColorSpace::SRGB, const HostWindow* = nullptr);
    4646    static std::unique_ptr<ImageBuffer> create(const FloatSize&, const GraphicsContext&);
  • trunk/Source/WebCore/platform/graphics/RenderingMode.h

    r268299 r269084  
    3434};
    3535
    36 enum class ShouldAccelerate : bool { No, Yes };
    3736enum class ShouldUseDisplayList : bool { No, Yes };
    38 
    39 enum class RenderingMode : uint8_t {
    40     Accelerated,
    41     Unaccelerated,
    42     DisplayListAccelerated,
    43     DisplayListUnaccelerated,
    44     RemoteAccelerated,
    45     RemoteUnaccelerated
    46 };
     37enum class RenderingMode : bool { Unaccelerated, Accelerated };
    4738
    4839} // namespace WebCore
  • trunk/Source/WebKit/ChangeLog

    r269082 r269084  
     12020-10-27  Said Abou-Hallawa  <said@apple.com>
     2
     3        Make RenderingMode a bool enum and remove ShouldAccelerate
     4        https://bugs.webkit.org/show_bug.cgi?id=218264
     5
     6        Reviewed by Tim Horton.
     7
     8        When creating a remote ImageBuffer in WebKit, all we need to know is whether
     9        the backend is accelerated or not. RemoteImageBufferProxy has to be backed
     10        by a DisplayList. RemoteImageBuffer has to own the real backend. Two enum
     11        values for RenderingMode is sufficient for creating the remote ImageBuffer.
     12
     13        * GPUProcess/graphics/RemoteRenderingBackend.cpp:
     14        (WebKit::RemoteRenderingBackend::createImageBuffer):
     15        * GPUProcess/graphics/RemoteRenderingBackend.h:
     16        * Shared/WebCoreArgumentCoders.h:
     17        * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
     18        (WebKit::RemoteRenderingBackendProxy::createImageBuffer):
     19        * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
     20        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
     21        (WebKit::WebChromeClient::createImageBuffer const):
     22        * WebProcess/WebCoreSupport/WebChromeClient.h:
     23
    1242020-10-27  Tim Horton  <timothy_horton@apple.com>
    225
  • trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp

    r269065 r269084  
    123123void RemoteRenderingBackend::createImageBuffer(const FloatSize& logicalSize, RenderingMode renderingMode, float resolutionScale, ColorSpace colorSpace, WebCore::RenderingResourceIdentifier renderingResourceIdentifier)
    124124{
    125     ASSERT(renderingMode == RenderingMode::RemoteAccelerated || renderingMode == RenderingMode::RemoteUnaccelerated);
     125    ASSERT(renderingMode == RenderingMode::Accelerated || renderingMode == RenderingMode::Unaccelerated);
    126126
    127127    std::unique_ptr<WebCore::ImageBuffer> image;
    128128
    129     if (renderingMode == RenderingMode::RemoteAccelerated)
     129    if (renderingMode == RenderingMode::Accelerated)
    130130        image = AcceleratedRemoteImageBuffer::create(logicalSize, resolutionScale, colorSpace, *this, renderingResourceIdentifier);
    131131
  • trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h

    r269065 r269084  
    4747class FloatSize;
    4848enum class ColorSpace : uint8_t;
    49 enum class RenderingMode : uint8_t;
     49enum class RenderingMode : bool;
    5050}
    5151
  • trunk/Source/WebKit/Shared/WebCoreArgumentCoders.h

    r268669 r269084  
    890890    using values = EnumValues<
    891891    WebCore::RenderingMode,
    892     WebCore::RenderingMode::Accelerated,
    893892    WebCore::RenderingMode::Unaccelerated,
    894     WebCore::RenderingMode::DisplayListAccelerated,
    895     WebCore::RenderingMode::DisplayListUnaccelerated,
    896     WebCore::RenderingMode::RemoteAccelerated,
    897     WebCore::RenderingMode::RemoteUnaccelerated
     893    WebCore::RenderingMode::Accelerated
    898894    >;
    899895};
  • trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp

    r269022 r269084  
    8888}
    8989
    90 std::unique_ptr<ImageBuffer> RemoteRenderingBackendProxy::createImageBuffer(const FloatSize& size, ShouldAccelerate shouldAccelerate, float resolutionScale, ColorSpace colorSpace)
     90std::unique_ptr<ImageBuffer> RemoteRenderingBackendProxy::createImageBuffer(const FloatSize& size, RenderingMode renderingMode, float resolutionScale, ColorSpace colorSpace)
    9191{
    92     RenderingMode renderingMode;
    9392    std::unique_ptr<WebCore::ImageBuffer> imageBuffer;
    9493
    95     if (shouldAccelerate == ShouldAccelerate::Yes) {
    96         renderingMode = RenderingMode::RemoteAccelerated;
     94    if (renderingMode == RenderingMode::Accelerated)
    9795        imageBuffer = AcceleratedRemoteImageBufferProxy::create(size, resolutionScale, *this);
    98     }
    9996
    100     if (!imageBuffer) {
    101         renderingMode = RenderingMode::RemoteUnaccelerated;
     97    if (!imageBuffer)
    10298        imageBuffer = UnacceleratedRemoteImageBufferProxy::create(size, resolutionScale, *this);
    103     }
    10499
    105100    if (imageBuffer) {
  • trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h

    r269022 r269084  
    4646enum class AlphaPremultiplication : uint8_t;
    4747enum class ColorSpace : uint8_t;
    48 enum class RenderingMode : uint8_t;
    49 enum class ShouldAccelerate : bool;
     48enum class RenderingMode : bool;
    5049}
    5150
     
    7170
    7271    // Messages to be sent.
    73     std::unique_ptr<WebCore::ImageBuffer> createImageBuffer(const WebCore::FloatSize&, WebCore::ShouldAccelerate, float resolutionScale, WebCore::ColorSpace);
     72    std::unique_ptr<WebCore::ImageBuffer> createImageBuffer(const WebCore::FloatSize&, WebCore::RenderingMode, float resolutionScale, WebCore::ColorSpace);
    7473    RefPtr<WebCore::ImageData> getImageData(WebCore::AlphaPremultiplication outputFormat, const WebCore::IntRect& srcRect, WebCore::RenderingResourceIdentifier);
    7574    void flushDisplayList(const WebCore::DisplayList::DisplayList&, WebCore::RenderingResourceIdentifier);
  • trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp

    r269027 r269084  
    907907}
    908908
    909 std::unique_ptr<ImageBuffer> WebChromeClient::createImageBuffer(const FloatSize& size, ShouldAccelerate shouldAccelerate, ShouldUseDisplayList shouldUseDisplayList, RenderingPurpose purpose, float resolutionScale, ColorSpace colorSpace) const
     909std::unique_ptr<ImageBuffer> WebChromeClient::createImageBuffer(const FloatSize& size, RenderingMode renderingMode, RenderingPurpose purpose, float resolutionScale, ColorSpace colorSpace) const
    910910{
    911911    if (!m_page.shouldUseRemoteRenderingFor(purpose))
    912912        return nullptr;
    913913
    914     return ensureRemoteRenderingBackendProxy().createImageBuffer(size, shouldAccelerate, resolutionScale, colorSpace);
     914    return ensureRemoteRenderingBackendProxy().createImageBuffer(size, renderingMode, resolutionScale, colorSpace);
    915915}
    916916
  • trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h

    r268901 r269084  
    245245#if ENABLE(GPU_PROCESS)
    246246    RemoteRenderingBackendProxy& ensureRemoteRenderingBackendProxy() const;
    247     std::unique_ptr<WebCore::ImageBuffer> createImageBuffer(const WebCore::FloatSize&, WebCore::ShouldAccelerate, WebCore::ShouldUseDisplayList, WebCore::RenderingPurpose, float resolutionScale, WebCore::ColorSpace) const final;
     247    std::unique_ptr<WebCore::ImageBuffer> createImageBuffer(const WebCore::FloatSize&, WebCore::RenderingMode, WebCore::RenderingPurpose, float resolutionScale, WebCore::ColorSpace) const final;
    248248#endif
    249249
Note: See TracChangeset for help on using the changeset viewer.