Skip to content

Commit

Permalink
HTMLAreaElement should expose download and rel attributes.
Browse files Browse the repository at this point in the history
HTMLAreaElement should define IDL `download` and `rel` attributes for faster access.
Firefox implements both of them, Safari/Edge has only `rel` (WebKit has no `download` yet).

BUG=605552

Review-Url: https://codereview.chromium.org/2050643002
Cr-Commit-Position: refs/heads/master@{#406541}
  • Loading branch information
a.obzhirov authored and Commit bot committed Jul 20, 2016
1 parent 5e06bcd commit 0bf0830
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Downloading URL with suggested filename "foo"

Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilExternalURLLoad();
}
</script>
</head>
<body>
<map name="imagemap">
<area id="area" download="foo" shape="rect" coords="0, 0, 100, 100">
</map>
<img width="100" height="100" usemap="#imagemap"/>
<script>
function click(elmt)
{
if (!window.eventSender) {
alert('Click the area to run the test.');
return;
}
eventSender.mouseMoveTo(elmt.offsetLeft + elmt.offsetWidth / 2, elmt.offsetTop + elmt.offsetHeight / 2);
eventSender.mouseDown();
eventSender.mouseUp();
}

function runTest()
{
var string = "<!doctype html><html><head><title>Title</title><script>if (window.testRunner) testRunner.dumpAsText(); </" + "script></head><body>PASS</body></html>";
var blob = new Blob([string], {type: "text/html"});
var area = document.getElementById("area");
area.href = window.URL.createObjectURL(blob);
click(area);
}
runTest();
</script>
</body>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ html element applet
html element area
property alt
property coords
property download
property hash
property host
property hostname
Expand All @@ -263,6 +264,7 @@ html element area
property port
property protocol
property referrerPolicy
property rel
property search
property shape
property target
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1389,6 +1389,7 @@ interface HTMLAreaElement : HTMLElement
attribute @@toStringTag
getter alt
getter coords
getter download
getter hash
getter host
getter hostname
Expand All @@ -1401,6 +1402,7 @@ interface HTMLAreaElement : HTMLElement
getter port
getter protocol
getter referrerPolicy
getter rel
getter search
getter shape
getter target
Expand All @@ -1409,6 +1411,7 @@ interface HTMLAreaElement : HTMLElement
method toString
setter alt
setter coords
setter download
setter hash
setter host
setter hostname
Expand All @@ -1420,6 +1423,7 @@ interface HTMLAreaElement : HTMLElement
setter port
setter protocol
setter referrerPolicy
setter rel
setter search
setter shape
setter target
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@ html element applet
html element area
property alt
property coords
property download
property hash
property host
property hostname
Expand All @@ -289,6 +290,7 @@ html element area
property port
property protocol
property referrerPolicy
property rel
property search
property shape
property target
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1871,6 +1871,7 @@ interface HTMLAreaElement : HTMLElement
attribute @@toStringTag
getter alt
getter coords
getter download
getter hash
getter host
getter hostname
Expand All @@ -1883,6 +1884,7 @@ interface HTMLAreaElement : HTMLElement
getter port
getter protocol
getter referrerPolicy
getter rel
getter search
getter shape
getter target
Expand All @@ -1891,6 +1893,7 @@ interface HTMLAreaElement : HTMLElement
method toString
setter alt
setter coords
setter download
setter hash
setter host
setter hostname
Expand All @@ -1902,6 +1905,7 @@ interface HTMLAreaElement : HTMLElement
setter port
setter protocol
setter referrerPolicy
setter rel
setter search
setter shape
setter target
Expand Down
4 changes: 3 additions & 1 deletion third_party/WebKit/Source/core/html/HTMLAreaElement.idl
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,13 @@
interface HTMLAreaElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString alt;
[CEReactions, Reflect] attribute DOMString coords;
[CEReactions, Reflect] attribute DOMString download;
[CEReactions, Reflect] attribute DOMString shape;
[CEReactions, Reflect] attribute DOMString target;
// FIXME: ping should be a DOMTokenList.
[CEReactions, Reflect] attribute DOMString ping;
// FIXME: download, rel, relList are missing
[CEReactions, Reflect] attribute DOMString rel;
// FIXME: relList is missing
[CEReactions, Reflect, ReflectOnly=("","no-referrer","origin","no-referrer-when-downgrade","origin-when-cross-origin","unsafe-url"), ReflectMissing="", ReflectInvalid=""] attribute DOMString referrerPolicy;

// obsolete members
Expand Down

0 comments on commit 0bf0830

Please sign in to comment.