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

Unified Diff: sky/engine/core/html/HTMLCanvasElement.cpp

Issue 922893002: Merge the Sky Engine changes from the SkyDart branch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/engine/core/html/HTMLCanvasElement.h ('k') | sky/engine/core/html/HTMLCanvasElement.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/html/HTMLCanvasElement.cpp
diff --git a/sky/engine/core/html/HTMLCanvasElement.cpp b/sky/engine/core/html/HTMLCanvasElement.cpp
index e464aac49b564f1ef0c51d2d64dad3096733cda9..576ac23499e70fec4ee02b0d4772535f4d976b46 100644
--- a/sky/engine/core/html/HTMLCanvasElement.cpp
+++ b/sky/engine/core/html/HTMLCanvasElement.cpp
@@ -33,9 +33,8 @@
#include "base/bind.h"
#include "gen/sky/core/HTMLNames.h"
#include "gen/sky/platform/RuntimeEnabledFeatures.h"
-#include "sky/engine/bindings/core/v8/ExceptionMessages.h"
-#include "sky/engine/bindings/core/v8/ExceptionState.h"
-#include "sky/engine/bindings/core/v8/ScriptController.h"
+#include "sky/engine/bindings2/exception_messages.h"
+#include "sky/engine/bindings2/exception_state.h"
#include "sky/engine/core/dom/Document.h"
#include "sky/engine/core/dom/ExceptionCode.h"
#include "sky/engine/core/dom/Microtask.h"
@@ -57,7 +56,6 @@
#include "sky/engine/platform/graphics/gpu/WebGLImageBufferSurface.h"
#include "sky/engine/platform/transforms/AffineTransform.h"
#include "sky/engine/public/platform/Platform.h"
-#include "v8/include/v8.h"
namespace blink {
@@ -91,7 +89,6 @@ DEFINE_NODE_FACTORY(HTMLCanvasElement)
HTMLCanvasElement::~HTMLCanvasElement()
{
resetDirtyRect();
- v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(-m_externallyAllocatedMemory);
#if !ENABLE(OILPAN)
HashSet<RawPtr<CanvasObserver> >::iterator end = m_observers.end();
for (HashSet<RawPtr<CanvasObserver> >::iterator it = m_observers.begin(); it != end; ++it)
@@ -134,7 +131,7 @@ void HTMLCanvasElement::setWidth(int value)
setIntegralAttribute(HTMLNames::widthAttr, value);
}
-CanvasRenderingContext* HTMLCanvasElement::getContext(const String& type, CanvasContextAttributes* attrs)
+CanvasRenderingContext2D* HTMLCanvasElement::getContext(const String& type, CanvasContextAttributes* attrs)
{
// A Canvas can either be "2D" or "webgl" but never both. If you request a 2D canvas and the existing
// context is already 2D, just return that. If the existing context is WebGL, then destroy it
@@ -158,24 +155,24 @@ CanvasRenderingContext* HTMLCanvasElement::getContext(const String& type, Canvas
blink::Platform::current()->histogramEnumeration("Canvas.ContextType", Context2d, ContextTypeCount);
m_context = CanvasRenderingContext2D::create(this, static_cast<Canvas2DContextAttributes*>(attrs));
}
- return m_context.get();
+ return static_cast<CanvasRenderingContext2D*>(m_context.get());
}
// Accept the the provisional "experimental-webgl" or official "webgl" context ID.
- if (type == "webgl" || type == "experimental-webgl") {
- ContextType contextType = (type == "webgl") ? ContextWebgl : ContextExperimentalWebgl;
- if (!m_context) {
- blink::Platform::current()->histogramEnumeration("Canvas.ContextType", contextType, ContextTypeCount);
- m_context = WebGLRenderingContext::create(this, static_cast<WebGLContextAttributes*>(attrs));
- updateExternallyAllocatedMemory();
- } else if (!m_context->is3d()) {
- dispatchEvent(WebGLContextEvent::create(EventTypeNames::webglcontextcreationerror, false, true, "Canvas has an existing, non-WebGL context"));
- return 0;
- }
- return m_context.get();
- }
-
- return 0;
+ // if (type == "webgl" || type == "experimental-webgl") {
+ // ContextType contextType = (type == "webgl") ? ContextWebgl : ContextExperimentalWebgl;
+ // if (!m_context) {
+ // blink::Platform::current()->histogramEnumeration("Canvas.ContextType", contextType, ContextTypeCount);
+ // m_context = WebGLRenderingContext::create(this, static_cast<WebGLContextAttributes*>(attrs));
+ // updateExternallyAllocatedMemory();
+ // } else if (!m_context->is3d()) {
+ // dispatchEvent(WebGLContextEvent::create(EventTypeNames::webglcontextcreationerror, false, true, "Canvas has an existing, non-WebGL context"));
+ // return 0;
+ // }
+ // return m_context.get();
+ // }
+
+ return nullptr;
}
void HTMLCanvasElement::didDraw(const FloatRect& rect)
@@ -534,7 +531,6 @@ void HTMLCanvasElement::updateExternallyAllocatedMemory() const
externallyAllocatedMemory = std::numeric_limits<intptr_t>::max();
// Subtracting two intptr_t that are known to be positive will never underflow.
- v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(externallyAllocatedMemory - m_externallyAllocatedMemory);
m_externallyAllocatedMemory = externallyAllocatedMemory;
}
« no previous file with comments | « sky/engine/core/html/HTMLCanvasElement.h ('k') | sky/engine/core/html/HTMLCanvasElement.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698