Bug 1214571 - Only create mContextObserver once. r=baku

--HG--
extra : commitid : JlT1u9F257B
extra : rebase_source : 7898e6c864c6851e05f47425462d5048483c9633
This commit is contained in:
Morris Tseng 2015-10-16 10:01:53 +08:00
Родитель 33e9987516
Коммит aba970f2a8
1 изменённых файлов: 6 добавлений и 2 удалений

Просмотреть файл

@ -400,7 +400,9 @@ HTMLCanvasElement::CreateContext(CanvasContextType aContextType)
// Add Observer for webgl canvas.
if (aContextType == CanvasContextType::WebGL1 ||
aContextType == CanvasContextType::WebGL2) {
mContextObserver = new HTMLCanvasElementObserver(this);
if (!mContextObserver) {
mContextObserver = new HTMLCanvasElementObserver(this);
}
}
ret->SetCanvasElement(this);
@ -779,7 +781,9 @@ HTMLCanvasElement::TransferControlToOffscreen(ErrorResult& aRv)
sz.height,
GetCompositorBackendType(),
renderer);
mContextObserver = new HTMLCanvasElementObserver(this);
if (!mContextObserver) {
mContextObserver = new HTMLCanvasElementObserver(this);
}
} else {
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
}