Title: [103671] trunk/Source/WebCore
- Revision
- 103671
- Author
- [email protected]
- Date
- 2011-12-25 11:03:16 -0800 (Sun, 25 Dec 2011)
Log Message
Change CSS canvas code that does HashMap get/set to use the more efficient add idiom
https://bugs.webkit.org/show_bug.cgi?id=75204
Reviewed by Dan Bernstein.
* dom/Document.cpp:
(WebCore::Document::getCSSCanvasContext): Change local variable name of element to
element; it's not the function result, so not good to name it result.
(WebCore::Document::getCSSCanvasElement): Use add instead of get/set so we only do
one hash table lookup.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (103670 => 103671)
--- trunk/Source/WebCore/ChangeLog 2011-12-25 17:08:08 UTC (rev 103670)
+++ trunk/Source/WebCore/ChangeLog 2011-12-25 19:03:16 UTC (rev 103671)
@@ -1,3 +1,16 @@
+2011-12-25 Darin Adler <[email protected]>
+
+ Change CSS canvas code that does HashMap get/set to use the more efficient add idiom
+ https://bugs.webkit.org/show_bug.cgi?id=75204
+
+ Reviewed by Dan Bernstein.
+
+ * dom/Document.cpp:
+ (WebCore::Document::getCSSCanvasContext): Change local variable name of element to
+ element; it's not the function result, so not good to name it result.
+ (WebCore::Document::getCSSCanvasElement): Use add instead of get/set so we only do
+ one hash table lookup.
+
2011-12-24 Andreas Kling <[email protected]>
CSSElementStyleDeclarations should never move between elements.
Modified: trunk/Source/WebCore/dom/Document.cpp (103670 => 103671)
--- trunk/Source/WebCore/dom/Document.cpp 2011-12-25 17:08:08 UTC (rev 103670)
+++ trunk/Source/WebCore/dom/Document.cpp 2011-12-25 19:03:16 UTC (rev 103671)
@@ -4674,21 +4674,19 @@
CanvasRenderingContext* Document::getCSSCanvasContext(const String& type, const String& name, int width, int height)
{
- HTMLCanvasElement* result = getCSSCanvasElement(name);
- if (!result)
+ HTMLCanvasElement* element = getCSSCanvasElement(name);
+ if (!element)
return 0;
- result->setSize(IntSize(width, height));
- return result->getContext(type);
+ element->setSize(IntSize(width, height));
+ return element->getContext(type);
}
HTMLCanvasElement* Document::getCSSCanvasElement(const String& name)
{
- RefPtr<HTMLCanvasElement> result = m_cssCanvasElements.get(name).get();
- if (!result) {
- result = HTMLCanvasElement::create(this);
- m_cssCanvasElements.set(name, result);
- }
- return result.get();
+ RefPtr<HTMLCanvasElement>& element = m_cssCanvasElements.add(name, 0).first->second;
+ if (!element)
+ element = HTMLCanvasElement::create(this);
+ return element.get();
}
void Document::initDNSPrefetch()
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes