Skip to content
This repository was archived by the owner on Sep 26, 2020. It is now read-only.

Commit acf6288

Browse files
committed
Add SafeUri overloads for setting properties used for navigation
Change-Id: I8ab7a472b0c0c4470f00f7178de216f7c7e4e415
1 parent 033960d commit acf6288

28 files changed

+329
-24
lines changed

tools/api-checker/config/gwt25_26userApi.conf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,3 +154,15 @@ com.google.gwt.benchmarks.client MISSING
154154
# Split BaseListenerWrapper
155155
com.google.gwt.user.client.BaseListenerWrapper::getSource(Lcom/google/gwt/event/shared/GwtEvent;) MISSING
156156
com.google.gwt.user.client.BaseListenerWrapper::setSource(Lcom/google/gwt/user/client/ui/Widget;) MISSING
157+
158+
# Add SafeUri variants of some existing String methods that
159+
# are used for navigation purposes.
160+
com.google.gwt.dom.client.AnchorElement::setHref(Ljava/lang/String;) OVERLOADED_METHOD_CALL
161+
com.google.gwt.dom.client.FormElement::setAction(Ljava/lang/String;) OVERLOADED_METHOD_CALL
162+
com.google.gwt.dom.client.FrameElement::setLongDesc(Ljava/lang/String;) OVERLOADED_METHOD_CALL
163+
com.google.gwt.dom.client.FrameElement::setSrc(Ljava/lang/String;) OVERLOADED_METHOD_CALL
164+
com.google.gwt.dom.client.IFrameElement::setSrc(Ljava/lang/String;) OVERLOADED_METHOD_CALL
165+
com.google.gwt.dom.client.ModElement::setCite(Ljava/lang/String;) OVERLOADED_METHOD_CALL
166+
com.google.gwt.dom.client.ObjectElement::setData(Ljava/lang/String;) OVERLOADED_METHOD_CALL
167+
com.google.gwt.dom.client.QuoteElement::setCite(Ljava/lang/String;) OVERLOADED_METHOD_CALL
168+
com.google.gwt.user.client.ui.Anchor::setHref(Ljava/lang/String;) OVERLOADED_METHOD_CALL

user/src/com/google/gwt/dom/builder/client/DomAnchorBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.google.gwt.dom.builder.shared.AnchorBuilder;
1919
import com.google.gwt.dom.client.AnchorElement;
20+
import com.google.gwt.safehtml.shared.SafeUri;
2021

2122
/**
2223
* DOM-based implementation of {@link AnchorBuilder}.
@@ -34,6 +35,12 @@ public AnchorBuilder accessKey(String accessKey) {
3435
return this;
3536
}
3637

38+
@Override
39+
public AnchorBuilder href(SafeUri href) {
40+
assertCanAddAttribute().setHref(href);
41+
return this;
42+
}
43+
3744
@Override
3845
public AnchorBuilder href(String href) {
3946
assertCanAddAttribute().setHref(href);

user/src/com/google/gwt/dom/builder/client/DomFormBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.google.gwt.dom.builder.shared.FormBuilder;
1919
import com.google.gwt.dom.client.FormElement;
20+
import com.google.gwt.safehtml.shared.SafeUri;
2021

2122
/**
2223
* DOM-based implementation of {@link FormBuilder}.
@@ -34,6 +35,12 @@ public FormBuilder acceptCharset(String acceptCharset) {
3435
return this;
3536
}
3637

38+
@Override
39+
public FormBuilder action(SafeUri action) {
40+
assertCanAddAttribute().setAction(action);
41+
return this;
42+
}
43+
3744
@Override
3845
public FormBuilder action(String action) {
3946
assertCanAddAttribute().setAction(action);

user/src/com/google/gwt/dom/builder/client/DomFrameBuilder.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.google.gwt.dom.builder.shared.FrameBuilder;
1919
import com.google.gwt.dom.client.FrameElement;
20+
import com.google.gwt.safehtml.shared.SafeUri;
2021

2122
/**
2223
* DOM-based implementation of {@link FrameBuilder}.
@@ -34,6 +35,12 @@ public FrameBuilder frameBorder(int frameBorder) {
3435
return this;
3536
}
3637

38+
@Override
39+
public FrameBuilder longDesc(SafeUri longDesc) {
40+
assertCanAddAttribute().setLongDesc(longDesc);
41+
return this;
42+
}
43+
3744
@Override
3845
public FrameBuilder longDesc(String longDesc) {
3946
assertCanAddAttribute().setLongDesc(longDesc);
@@ -70,6 +77,12 @@ public FrameBuilder scrolling(String scrolling) {
7077
return this;
7178
}
7279

80+
@Override
81+
public FrameBuilder src(SafeUri src) {
82+
assertCanAddAttribute().setSrc(src);
83+
return this;
84+
}
85+
7386
@Override
7487
public FrameBuilder src(String src) {
7588
assertCanAddAttribute().setSrc(src);

user/src/com/google/gwt/dom/builder/client/DomIFrameBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.google.gwt.dom.builder.shared.IFrameBuilder;
2020
import com.google.gwt.dom.client.IFrameElement;
2121
import com.google.gwt.safehtml.shared.SafeHtml;
22+
import com.google.gwt.safehtml.shared.SafeUri;
2223

2324
/**
2425
* DOM-based implementation of {@link IFrameBuilder}.
@@ -76,6 +77,12 @@ public IFrameBuilder scrolling(String scrolling) {
7677
return this;
7778
}
7879

80+
@Override
81+
public IFrameBuilder src(SafeUri src) {
82+
assertCanAddAttribute().setSrc(src);
83+
return this;
84+
}
85+
7986
@Override
8087
public IFrameBuilder src(String src) {
8188
assertCanAddAttribute().setSrc(src);

user/src/com/google/gwt/dom/builder/client/DomModBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.google.gwt.dom.builder.shared.ModBuilder;
1919
import com.google.gwt.dom.client.ModElement;
20+
import com.google.gwt.safehtml.shared.SafeUri;
2021

2122
/**
2223
* DOM-based implementation of {@link ModBuilder}.
@@ -27,6 +28,12 @@ public class DomModBuilder extends DomElementBuilderBase<ModBuilder, ModElement>
2728
super(delegate);
2829
}
2930

31+
@Override
32+
public ModBuilder cite(SafeUri cite) {
33+
assertCanAddAttribute().setCite(cite);
34+
return this;
35+
}
36+
3037
@Override
3138
public ModBuilder cite(String cite) {
3239
assertCanAddAttribute().setCite(cite);

user/src/com/google/gwt/dom/builder/client/DomQuoteBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.google.gwt.dom.builder.shared.QuoteBuilder;
1919
import com.google.gwt.dom.client.QuoteElement;
20+
import com.google.gwt.safehtml.shared.SafeUri;
2021

2122
/**
2223
* DOM-based implementation of {@link QuoteBuilder}.
@@ -28,6 +29,12 @@ public class DomQuoteBuilder extends DomElementBuilderBase<QuoteBuilder, QuoteEl
2829
super(delegate);
2930
}
3031

32+
@Override
33+
public QuoteBuilder cite(SafeUri cite) {
34+
assertCanAddAttribute().setCite(cite);
35+
return this;
36+
}
37+
3138
@Override
3239
public QuoteBuilder cite(String cite) {
3340
assertCanAddAttribute().setCite(cite);

user/src/com/google/gwt/dom/builder/shared/AnchorBuilder.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package com.google.gwt.dom.builder.shared;
1717

18+
import com.google.gwt.safehtml.shared.SafeUri;
19+
1820
/**
1921
* Builds an anchor element.
2022
*/
@@ -31,7 +33,16 @@ public interface AnchorBuilder extends ElementBuilderBase<AnchorBuilder> {
3133

3234
/**
3335
* The absolute URI of the linked resource.
34-
*
36+
*
37+
* @see <a
38+
* href="http://www.w3.org/TR/1999/REC-html401-19991224/struct/links.html#adef-href">W3C
39+
* HTML Specification</a>
40+
*/
41+
AnchorBuilder href(SafeUri href);
42+
43+
/**
44+
* The absolute URI of the linked resource.
45+
*
3546
* @see <a
3647
* href="http://www.w3.org/TR/1999/REC-html401-19991224/struct/links.html#adef-href">W3C
3748
* HTML Specification</a>

user/src/com/google/gwt/dom/builder/shared/FormBuilder.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package com.google.gwt.dom.builder.shared;
1717

18+
import com.google.gwt.safehtml.shared.SafeUri;
19+
1820
/**
1921
* Builds an form element.
2022
*/
@@ -31,7 +33,16 @@ public interface FormBuilder extends ElementBuilderBase<FormBuilder> {
3133

3234
/**
3335
* Server-side form handler.
34-
*
36+
*
37+
* @see <a
38+
* href="http://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#adef-action">W3C
39+
* HTML Specification</a>
40+
*/
41+
FormBuilder action(SafeUri action);
42+
43+
/**
44+
* Server-side form handler.
45+
*
3546
* @see <a
3647
* href="http://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#adef-action">W3C
3748
* HTML Specification</a>

user/src/com/google/gwt/dom/builder/shared/FrameBuilder.java

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package com.google.gwt.dom.builder.shared;
1717

18+
import com.google.gwt.safehtml.shared.SafeUri;
19+
1820
/**
1921
* Builds an frame element.
2022
*/
@@ -31,7 +33,16 @@ public interface FrameBuilder extends ElementBuilderBase<FrameBuilder> {
3133

3234
/**
3335
* URI designating a long description of this image or frame.
34-
*
36+
*
37+
* @see <a
38+
* href="http://www.w3.org/TR/1999/REC-html401-19991224/present/frames.html#adef-longdesc-FRAME">W3C
39+
* HTML Specification</a>
40+
*/
41+
FrameBuilder longDesc(SafeUri longDesc);
42+
43+
/**
44+
* URI designating a long description of this image or frame.
45+
*
3546
* @see <a
3647
* href="http://www.w3.org/TR/1999/REC-html401-19991224/present/frames.html#adef-longdesc-FRAME">W3C
3748
* HTML Specification</a>
@@ -85,7 +96,16 @@ public interface FrameBuilder extends ElementBuilderBase<FrameBuilder> {
8596

8697
/**
8798
* A URI designating the initial frame contents.
88-
*
99+
*
100+
* @see <a
101+
* href="http://www.w3.org/TR/1999/REC-html401-19991224/present/frames.html#adef-src-FRAME">W3C
102+
* HTML Specification</a>
103+
*/
104+
FrameBuilder src(SafeUri src);
105+
106+
/**
107+
* A URI designating the initial frame contents.
108+
*
89109
* @see <a
90110
* href="http://www.w3.org/TR/1999/REC-html401-19991224/present/frames.html#adef-src-FRAME">W3C
91111
* HTML Specification</a>

user/src/com/google/gwt/dom/builder/shared/HtmlAnchorBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package com.google.gwt.dom.builder.shared;
1717

18+
import com.google.gwt.safehtml.shared.SafeUri;
19+
1820
/**
1921
* HTML-based implementation of {@link AnchorBuilder}.
2022
*/
@@ -30,6 +32,11 @@ public AnchorBuilder accessKey(String accessKey) {
3032
return trustedAttribute("accessKey", accessKey);
3133
}
3234

35+
@Override
36+
public AnchorBuilder href(SafeUri href) {
37+
return href(href.asString());
38+
}
39+
3340
@Override
3441
public AnchorBuilder href(String href) {
3542
return trustedAttribute("href", href);

user/src/com/google/gwt/dom/builder/shared/HtmlFormBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package com.google.gwt.dom.builder.shared;
1717

18+
import com.google.gwt.safehtml.shared.SafeUri;
19+
1820
/**
1921
* HTML-based implementation of {@link FormBuilder}.
2022
*/
@@ -29,6 +31,11 @@ public FormBuilder acceptCharset(String acceptCharset) {
2931
return trustedAttribute("acceptCharset", acceptCharset);
3032
}
3133

34+
@Override
35+
public FormBuilder action(SafeUri action) {
36+
return action(action.asString());
37+
}
38+
3239
@Override
3340
public FormBuilder action(String action) {
3441
return trustedAttribute("action", action);

user/src/com/google/gwt/dom/builder/shared/HtmlFrameBuilder.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package com.google.gwt.dom.builder.shared;
1717

18+
import com.google.gwt.safehtml.shared.SafeUri;
19+
1820
/**
1921
* HTML-based implementation of {@link FrameBuilder}.
2022
*/
@@ -29,6 +31,11 @@ public FrameBuilder frameBorder(int frameBorder) {
2931
return trustedAttribute("frameBorder", frameBorder);
3032
}
3133

34+
@Override
35+
public FrameBuilder longDesc(SafeUri longDesc) {
36+
return longDesc(longDesc.asString());
37+
}
38+
3239
@Override
3340
public FrameBuilder longDesc(String longDesc) {
3441
return trustedAttribute("longDesc", longDesc);
@@ -59,6 +66,11 @@ public FrameBuilder scrolling(String scrolling) {
5966
return trustedAttribute("scrolling", scrolling);
6067
}
6168

69+
@Override
70+
public FrameBuilder src(SafeUri src) {
71+
return src(src.asString());
72+
}
73+
6274
@Override
6375
public FrameBuilder src(String src) {
6476
return trustedAttribute("src", src);

user/src/com/google/gwt/dom/builder/shared/HtmlIFrameBuilder.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package com.google.gwt.dom.builder.shared;
1717

1818
import com.google.gwt.safehtml.shared.SafeHtml;
19+
import com.google.gwt.safehtml.shared.SafeUri;
1920

2021
/**
2122
* HTML-based implementation of {@link IFrameBuilder}.
@@ -67,6 +68,11 @@ public IFrameBuilder scrolling(String scrolling) {
6768
return trustedAttribute("scrolling", scrolling);
6869
}
6970

71+
@Override
72+
public IFrameBuilder src(SafeUri src) {
73+
return src(src.asString());
74+
}
75+
7076
@Override
7177
public IFrameBuilder src(String src) {
7278
return trustedAttribute("src", src);

user/src/com/google/gwt/dom/builder/shared/HtmlQuoteBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package com.google.gwt.dom.builder.shared;
1717

18+
import com.google.gwt.safehtml.shared.SafeUri;
19+
1820
/**
1921
* HTML-based implementation of {@link QuoteBuilder}.
2022
*/
@@ -24,6 +26,11 @@ public class HtmlQuoteBuilder extends HtmlElementBuilderBase<QuoteBuilder> imple
2426
super(delegate);
2527
}
2628

29+
@Override
30+
public QuoteBuilder cite(SafeUri cite) {
31+
return cite(cite.asString());
32+
}
33+
2734
@Override
2835
public QuoteBuilder cite(String cite) {
2936
return trustedAttribute("cite", cite);

user/src/com/google/gwt/dom/builder/shared/IFrameBuilder.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package com.google.gwt.dom.builder.shared;
1717

1818
import com.google.gwt.safehtml.shared.SafeHtml;
19+
import com.google.gwt.safehtml.shared.SafeUri;
1920

2021
/**
2122
* Builds an iframe element.
@@ -92,7 +93,16 @@ public interface IFrameBuilder extends ElementBuilderBase<IFrameBuilder> {
9293

9394
/**
9495
* A URI designating the initial frame contents.
95-
*
96+
*
97+
* @see <a
98+
* href="http://www.w3.org/TR/1999/REC-html401-19991224/present/frames.html#adef-src-FRAME">W3C
99+
* HTML Specification</a>
100+
*/
101+
IFrameBuilder src(SafeUri src);
102+
103+
/**
104+
* A URI designating the initial frame contents.
105+
*
96106
* @see <a
97107
* href="http://www.w3.org/TR/1999/REC-html401-19991224/present/frames.html#adef-src-FRAME">W3C
98108
* HTML Specification</a>

0 commit comments

Comments
 (0)