correction
Public (by [email protected]):
Description:
http://code.google.com/p/google-web-toolkit/issues/detail?id=4916
<http://www.google.com/url?sa=D&q=http%3A//code.google.com/p/google-web-toolkit/issues/detail%3Fid%3D4916>
Remove old workaround code from DOMImplSafari for something that's been
fixed in Safari for a while makes it hard to work with optgroups in
select elements.
Reviewed by [email protected]
http://gwt-code-reviews.appspot.com/1313801/show
<http://www.google.com/url?sa=D&q=http%3A//gwt-code-reviews.appspot.com/1313801/show>
is the right description
The GIN friendliness change is r9603.
On Thu, Jan 27, 2011 at 6:56 PM, Chris Conroy <[email protected]> wrote:
> The real log message (now correct in svn) for this change is:
>
>
> Public ([email protected]):
>
> Addresses http://code.google.com/p/google-web-toolkit/issues/detail?id=5563
>
> For GIN friendliness, make the PlaceHistoryMapperGenerator return null
> when it encounters a concrete implementation. (Returning null from
> a code generator results in a new Foo() call.)
>
>
> On Thu, Jan 27, 2011 at 6:25 PM, <[email protected]> wrote:
>
>> Revision: 9640
>> Author: [email protected]
>> Date: Thu Jan 27 09:39:02 2011
>> Log: Public: (by [email protected]):
>> http://code.google.com/p/google-web-toolkit/source/detail?r=9640
>>
>> Modified:
>> /trunk/user/src/com/google/gwt/dom/client/DOMImplSafari.java
>> /trunk/user/test/com/google/gwt/dom/client/SelectTests.java
>>
>> =======================================
>> --- /trunk/user/src/com/google/gwt/dom/client/DOMImplSafari.java
>> Wed Dec 1 10:08:22 2010
>> +++ /trunk/user/src/com/google/gwt/dom/client/DOMImplSafari.java
>> Thu Jan 27 09:39:02 2011
>> @@ -276,36 +276,6 @@
>> return false;
>> }-*/;
>>
>> - /*
>> - * The 'options' array cannot be used due to a bug in the version of
>> WebKit
>> - * that ships with GWT (http://bugs.webkit.org/show_bug.cgi?id=10472).
>> The
>> - * 'children' array, which is common for all DOM elements in Safari,
>> does not
>> - * suffer from the same problem. Ideally, the 'children' array should
>> be used
>> - * in all of the traversal methods in the DOM classes. Unfortunately,
>> due to a
>> - * bug in Safari 2 (http://bugs.webkit.org/show_bug.cgi?id=3330), this
>> will
>> - * not work. However, this bug does not cause problems in the case of
>> <SELECT>
>> - * elements, because their descendent elements are only one level deep.
>> - */
>> - @Override
>> - public void selectClear(SelectElement select) {
>> - select.setInnerText("");
>> - }
>> -
>> - @Override
>> - public native int selectGetLength(SelectElement select) /*-{
>> - return select.children.length;
>> - }-*/;
>> -
>> - @Override
>> - public native NodeList<OptionElement> selectGetOptions(SelectElement
>> select) /*-{
>> - return select.children;
>> - }-*/;
>> -
>> - @Override
>> - public native void selectRemoveOption(SelectElement select, int index)
>> /*-{
>> - select.removeChild(select.children[index]);
>> - }-*/;
>> -
>> @Override
>> public void setScrollLeft(Document doc, int left) {
>> // Safari always applies document scrolling to the body element, even
>> in
>> =======================================
>> --- /trunk/user/test/com/google/gwt/dom/client/SelectTests.java Sun Jul 19
>> 11:17:55 2009
>> +++ /trunk/user/test/com/google/gwt/dom/client/SelectTests.java Thu Jan 27
>> 09:39:02 2011
>> @@ -15,6 +15,8 @@
>> */
>> package com.google.gwt.dom.client;
>>
>> +import com.google.gwt.junit.DoNotRunWith;
>> +import com.google.gwt.junit.Platform;
>> import com.google.gwt.junit.client.GWTTestCase;
>>
>> /**
>> @@ -127,4 +129,45 @@
>> assertTrue(opt1.isSelected());
>> assertTrue(opt2.isSelected());
>> }
>> -}
>> +
>> + /**
>> + * optgroups
>> + *
>> + * @see <a href="
>> http://code.google.com/p/google-web-toolkit/issues/detail?id=4916">Issue
>> 4916</a>
>> + */
>> + @DoNotRunWith(Platform.HtmlUnitBug)
>> + public void testOptGroups() {
>> + Document doc = Document.get();
>> + SelectElement select = doc.createSelectElement();
>> + doc.getBody().appendChild(select);
>> +
>> + OptionElement opt0 = doc.createOptionElement();
>> + OptionElement opt1 = doc.createOptionElement();
>> + OptionElement opt2 = doc.createOptionElement();
>> + OptGroupElement group1 = doc.createOptGroupElement();
>> + opt0.setText("foo");
>> + opt1.setText("bar");
>> + opt2.setText("baz");
>> + opt0.setValue("0");
>> + opt1.setValue("1");
>> + opt2.setValue("2");
>> + group1.setLabel("group1");
>> +
>> + select.appendChild(opt0);
>> + select.appendChild(group1);
>> + group1.appendChild(opt1);
>> + select.appendChild(opt2);
>> +
>> + assertEquals("3 options expected", 3,
>> select.getOptions().getLength());
>> + assertEquals("[0] == opt0", opt0, select.getOptions().getItem(0));
>> + assertEquals("[1] == opt1", opt1, select.getOptions().getItem(1));
>> + assertEquals("[2] == opt2", opt2, select.getOptions().getItem(2));
>> +
>> + select.remove(1);
>> + assertNull("null parent expected when removed",
>> opt1.getParentElement());
>> +
>> + select.add(opt1, opt0);
>> + assertEquals("[0] == opt1", opt1, select.getOptions().getItem(0));
>> + assertEquals("[1] == opt0", opt0, select.getOptions().getItem(1));
>> + }
>> +}
>>
>> --
>> http://groups.google.com/group/Google-Web-Toolkit-Contributors
>>
>
>
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors