The real log message (now correct in svn) for this change is:
Public (t.bro...@gmail.com): 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, <codesite-nore...@google.com> wrote: > Revision: 9640 > Author: rj...@google.com > Date: Thu Jan 27 09:39:02 2011 > Log: Public: (by t.bro...@gmail.com): > 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