diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2016-08-25 19:20:41 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2017-02-02 12:30:55 +0000 |
commit | 6882a04fb36642862b11efe514251d32070c3d65 (patch) | |
tree | b7959826000b061fd5ccc7512035c7478742f7b0 /Source/WebCore/css/CSSCanvasValue.cpp | |
parent | ab6df191029eeeb0b0f16f127d553265659f739e (diff) | |
download | qtwebkit-6882a04fb36642862b11efe514251d32070c3d65.tar.gz |
Imported QtWebKit TP3 (git b57bc6801f1876c3220d5a4bfea33d620d477443)
Change-Id: I3b1d8a2808782c9f34d50240000e20cb38d3680f
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/WebCore/css/CSSCanvasValue.cpp')
-rw-r--r-- | Source/WebCore/css/CSSCanvasValue.cpp | 61 |
1 files changed, 27 insertions, 34 deletions
diff --git a/Source/WebCore/css/CSSCanvasValue.cpp b/Source/WebCore/css/CSSCanvasValue.cpp index e2841007f..4b2019313 100644 --- a/Source/WebCore/css/CSSCanvasValue.cpp +++ b/Source/WebCore/css/CSSCanvasValue.cpp @@ -10,10 +10,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -27,72 +27,65 @@ #include "CSSCanvasValue.h" #include "ImageBuffer.h" -#include "RenderObject.h" -#include <wtf/text/StringBuilder.h> +#include "RenderElement.h" namespace WebCore { CSSCanvasValue::~CSSCanvasValue() { if (m_element) - m_element->removeObserver(&m_canvasObserver); + m_element->removeObserver(m_canvasObserver); } -String CSSCanvasValue::customCssText() const +String CSSCanvasValue::customCSSText() const { - StringBuilder result; - result.appendLiteral("-webkit-canvas("); - result.append(m_name); - result.append(')'); - return result.toString(); + return makeString("-webkit-canvas(", m_name, ')'); } -void CSSCanvasValue::canvasChanged(HTMLCanvasElement*, const FloatRect& changedRect) +void CSSCanvasValue::canvasChanged(HTMLCanvasElement&, const FloatRect& changedRect) { IntRect imageChangeRect = enclosingIntRect(changedRect); - HashCountedSet<RenderObject*>::const_iterator end = clients().end(); - for (HashCountedSet<RenderObject*>::const_iterator curr = clients().begin(); curr != end; ++curr) - const_cast<RenderObject*>(curr->key)->imageChanged(static_cast<WrappedImagePtr>(this), &imageChangeRect); + for (auto it = clients().begin(), end = clients().end(); it != end; ++it) + it->key->imageChanged(static_cast<WrappedImagePtr>(this), &imageChangeRect); } -void CSSCanvasValue::canvasResized(HTMLCanvasElement*) +void CSSCanvasValue::canvasResized(HTMLCanvasElement&) { - HashCountedSet<RenderObject*>::const_iterator end = clients().end(); - for (HashCountedSet<RenderObject*>::const_iterator curr = clients().begin(); curr != end; ++curr) - const_cast<RenderObject*>(curr->key)->imageChanged(static_cast<WrappedImagePtr>(this)); + for (auto it = clients().begin(), end = clients().end(); it != end; ++it) + it->key->imageChanged(static_cast<WrappedImagePtr>(this)); } -void CSSCanvasValue::canvasDestroyed(HTMLCanvasElement* element) +void CSSCanvasValue::canvasDestroyed(HTMLCanvasElement& element) { - ASSERT_UNUSED(element, element == m_element); - m_element = 0; + ASSERT_UNUSED(&element, &element == m_element); + m_element = nullptr; } -IntSize CSSCanvasValue::fixedSize(const RenderObject* renderer) +FloatSize CSSCanvasValue::fixedSize(const RenderElement* renderer) { if (HTMLCanvasElement* elt = element(renderer->document())) - return IntSize(elt->width(), elt->height()); - return IntSize(); + return FloatSize(elt->width(), elt->height()); + return FloatSize(); } -HTMLCanvasElement* CSSCanvasValue::element(Document* document) +HTMLCanvasElement* CSSCanvasValue::element(Document& document) { if (!m_element) { - m_element = document->getCSSCanvasElement(m_name); + m_element = document.getCSSCanvasElement(m_name); if (!m_element) - return 0; - m_element->addObserver(&m_canvasObserver); + return nullptr; + m_element->addObserver(m_canvasObserver); } return m_element; } -PassRefPtr<Image> CSSCanvasValue::image(RenderObject* renderer, const IntSize& /*size*/) +RefPtr<Image> CSSCanvasValue::image(RenderElement* renderer, const FloatSize& /*size*/) { ASSERT(clients().contains(renderer)); - HTMLCanvasElement* elt = element(renderer->document()); - if (!elt || !elt->buffer()) - return 0; - return elt->copiedImage(); + HTMLCanvasElement* element = this->element(renderer->document()); + if (!element || !element->buffer()) + return nullptr; + return element->copiedImage(); } bool CSSCanvasValue::equals(const CSSCanvasValue& other) const |