зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1119527 - Implement canvas clearHitRegions. r=gw280, r=bz
This commit is contained in:
Родитель
a097a74c33
Коммит
e486771afa
|
@ -3230,6 +3230,12 @@ CanvasRenderingContext2D::RemoveHitRegion(const nsAString& id)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
CanvasRenderingContext2D::ClearHitRegions()
|
||||
{
|
||||
mHitRegionsOptions.Clear();
|
||||
}
|
||||
|
||||
bool
|
||||
CanvasRenderingContext2D::GetHitRegionRect(Element* aElement, nsRect& aRect)
|
||||
{
|
||||
|
|
|
@ -269,6 +269,7 @@ public:
|
|||
|
||||
void AddHitRegion(const HitRegionOptions& options, mozilla::ErrorResult& error);
|
||||
void RemoveHitRegion(const nsAString& id);
|
||||
void ClearHitRegions();
|
||||
|
||||
void DrawImage(const HTMLImageOrCanvasOrVideoElement& image,
|
||||
double dx, double dy, mozilla::ErrorResult& error)
|
||||
|
|
|
@ -33,10 +33,26 @@ function test_hitregions() {
|
|||
ctx.addHitRegion({control: e});
|
||||
ctx.addHitRegion({id: "a", control: d});
|
||||
ctx.addHitRegion({id: "a", control: d});
|
||||
|
||||
|
||||
ctx.removeHitRegion("a");
|
||||
ctx.removeHitRegion("a");
|
||||
ctx.removeHitRegion("b");
|
||||
|
||||
ctx.clearHitRegions();
|
||||
} catch (e) {
|
||||
_thrown_outer = true;
|
||||
}
|
||||
ok(!_thrown_outer, ctx.canvas.id + ' should not throw exception');
|
||||
|
||||
var _thrown_outer = false;
|
||||
try {
|
||||
ctx.rect(10,10,100,100);
|
||||
ctx.addHitRegion({control: d});
|
||||
ctx.addHitRegion({control: e});
|
||||
ctx.addHitRegion({id: "a", control: d});
|
||||
ctx.addHitRegion({id: "a", control: d});
|
||||
|
||||
ctx.clearHitRegions();
|
||||
} catch (e) {
|
||||
_thrown_outer = true;
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@ interface CanvasRenderingContext2D {
|
|||
// hit regions
|
||||
[Pref="canvas.hitregions.enabled", Throws] void addHitRegion(optional HitRegionOptions options);
|
||||
[Pref="canvas.hitregions.enabled"] void removeHitRegion(DOMString id);
|
||||
[Pref="canvas.hitregions.enabled"] void clearHitRegions();
|
||||
|
||||
// pixel manipulation
|
||||
[NewObject, Throws]
|
||||
|
|
Загрузка…
Ссылка в новой задаче