[gwt-contrib] [google-web-toolkit] r6369 committed - Rearrange ant test targets....
Revision: 6369 Author: j...@google.com Date: Tue Oct 13 23:49:20 2009 Log: Rearrange ant test targets. The continuous build systems need to have gwt.hosts.dev.remote and gwt.hosts.dev.selenium set to those hosts which have the devmode plugin installed for devmode tests to be run at all, until HtmlUnit is made reliable enough to enable by default. Patch by: jat Review by: amitmanjhi, jlabanca (TBR) http://code.google.com/p/google-web-toolkit/source/detail?r=6369 Modified: /changes/jat/noswt-merge6200/user/build.xml === --- /changes/jat/noswt-merge6200/user/build.xml Tue Sep 29 11:05:28 2009 +++ /changes/jat/noswt-merge6200/user/build.xml Tue Oct 13 23:49:20 2009 @@ -3,6 +3,14 @@ + + + + + + + + @@ -100,39 +108,137 @@ - - + + - - - - - + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -140,11 +246,11 @@ - + - - + + @@ -158,34 +264,34 @@ - + - - - + + + - - - + + + - - - + + + @@ -194,24 +300,84 @@ - - - - - - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : Make StyleInjector use Scheduler.scheduleFinally() API
LGTM with a typo fix. An idea for an incredibly trivial improvement if you just want to change something more for the heck of it. http://gwt-code-reviews.appspot.com/78816/diff/1/2 File user/src/com/google/gwt/dom/client/StyleInjector.java (right): http://gwt-code-reviews.appspot.com/78816/diff/1/2#newcode341 Line 341: * The with parameter is used to support the deprecated API. with => which http://gwt-code-reviews.appspot.com/78816/diff/1/4 File user/test/com/google/gwt/dom/client/StyleInjectorTest.java (right): http://gwt-code-reviews.appspot.com/78816/diff/1/4#newcode136 Line 136: delayTestFinish(500); (Ignore if you please) The '500' here seems like it wants to be a symbolic constants, along with the other bare '500's elsewhere in the file. http://gwt-code-reviews.appspot.com/78816 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : Add lightweight Scheduler API
Overall, very nice. The key, though ultimately superficial, design question is whether to make the main methods non-static. See the comment in Scheduler.java for details. There are a couple of other minor points. N.B. I didn't really scrutinize it for logical correctness, although the basic implementation approach makes sense. Nice use of overlays. Needs some tests soon after commit if not before. http://gwt-code-reviews.appspot.com/77820/diff/1004/1005 File user/src/com/google/gwt/core/client/Scheduler.java (right): http://gwt-code-reviews.appspot.com/77820/diff/1004/1005#newcode23 Line 23: public class Scheduler { Let's get Ray Ryan's opinion on this, but isn't The Right Thing To Do here to make the methods non-static and instead provide Scheduler.get(). That would leave the option open to make it injectible and mockable, which I could imagine being potentially useful in some testing situations. http://gwt-code-reviews.appspot.com/77820/diff/1004/1005#newcode123 Line 123: public static void schedulePause() { I'm inclined to leave this out. It's such a nice, clean API right now, and the value of this isn't proven. I know I argued that it had a reason to exist -- and it doesn in principle -- but why not let's rip it out for v1 and add it in the future if there is ever demand. The main reason I feel squirely about it is that it isn't clear which queue is getting the "pause". Sure, it's clear if you already grok the system, but it's a little hard to reason about otherwise. http://gwt-code-reviews.appspot.com/77820/diff/1004/1007 File user/src/com/google/gwt/core/client/impl/SchedulerImpl.java (right): http://gwt-code-reviews.appspot.com/77820/diff/1004/1007#newcode110 Line 110: * This is a sentinel object used to reschedule any following DeferredCommands DeferredCommands => deferred commands http://gwt-code-reviews.appspot.com/77820 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] RR : Make StyleInjector use Scheduler.scheduleFinally() API
Reviewers: jgw, bruce, Message: @Joel, Bruce, Ok, here's the patch that all of this work has been leading up to. Style injection can now be deferred until just before we return to the browser's event loop. Description: This patch changes StyleInjector to use Scheduler.scheduleFinally() so that the recommended inject-on-init pattern will perform better by reducing the number of DOM mutations performed. It also deprecates the existing injectStylesheet() methods and replaces them with void inject() variants because we can't implement the StyleElement consistently across all browsers. Specicially, IE returns not-quite-DOM-nodes from createStylesheet(). Please review this at http://gwt-code-reviews.appspot.com/78816 Affected files: M user/src/com/google/gwt/dom/client/StyleInjector.java M user/src/com/google/gwt/resources/rg/CssResourceGenerator.java M user/test/com/google/gwt/dom/client/StyleInjectorTest.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] RR : Add lightweight Scheduler API
Reviewers: jgw, bruce, Message: @Joel and Bruce, Please take a look at this API, which is similar to what we had discussed last week. I'll follow up tomorrow with a set of test cases. This is the last piece we need to make StyleInjector operate efficiently with the recommended UiBinder / inject-on-init pattern. Description: This change adds a scheduling API that has two new features: - a "finally" command, which allows work to be performed just before GWT code exits into the browser's event loop - a lightweight implementation of timers, deferred commends, and incremental commands which avoids using the JRE types. A test application (below) averages 5.7k when written with this new API. Writing a similar app that uses the existing DeferredCommand API averages 18k. public class Hello implements EntryPoint { private static class MyRepeatingCommand implements RepeatingCommand { int count = 0; String prefix; MyRepeatingCommand(String prefix) { this.prefix = prefix; } public boolean execute() { Scheduler.scheduleFinally(new MyScheduledCommand("F" + prefix + count)); add(prefix + count++); return count < 10; } } private static class MyScheduledCommand implements ScheduledCommand { String prefix; MyScheduledCommand(String prefix) { this.prefix = prefix; } public void execute() { add(prefix); } } private static void add(String str) { DivElement elt = Document.get().createDivElement(); elt.setInnerHTML(str); Document.get().getBody().appendChild(elt); } public void onModuleLoad() { Scheduler.scheduleFixedDelay(new MyRepeatingCommand("A"), 500); Scheduler.scheduleFixedPeriod(new MyRepeatingCommand("B"), 800); Scheduler.scheduleIncremental(new MyRepeatingCommand("C")); Scheduler.scheduleFinally(new MyScheduledCommand("D")); } } Please review this at http://gwt-code-reviews.appspot.com/77820 Affected files: A user/src/com/google/gwt/core/client/Scheduler.java M user/src/com/google/gwt/core/client/impl/Impl.java A user/src/com/google/gwt/core/client/impl/SchedulerImpl.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Refactor DisclosurePanel
Nevermind. I keep messing with this as I update the parser. Trying to do this in two passes isn't worth the trouble. I'll close this issue and open a new one when I'm ready. http://gwt-code-reviews.appspot.com/78814 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Comment on UsingOOPHM in google-web-toolkit
Comment by englep: In Windows XP, when I used Firefox/3.5.3 or Firefox/3.0.14, I always had problems below and then my firefox crushed, with an error msg said "Buffer too small". But IE is ok: com.google.gwt.dev.shell.HostedModeException: I/O error communicating with client at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:173) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:502) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeBoolean(ModuleSpace.java:190) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeBoolean(JavaScriptHost.java:35) at com.google.gwt.user.client.rpc.impl.RemoteServiceProxy.isStatsAvailable(RemoteServiceProxy.java) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:209) at com.google.gwt.http.client.Request.fireOnResponseReceivedImpl(Request.java:316) at com.google.gwt.http.client.Request.fireOnResponseReceivedAndCatch(Request.java:288) at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:270) at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:396) at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:146) at com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1660) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:338) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:195) at java.lang.Thread.run(Unknown Source) com.google.gwt.dev.shell.BrowserChannel$RemoteDeathError: Remote connection lostat com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1675) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:338) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:195) at java.lang.Thread.run(Unknown Source) Caused by: java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(Unknown Source) at java.net.SocketOutputStream.write(Unknown Source) at java.io.BufferedOutputStream.flushBuffer(Unknown Source)at java.io.BufferedOutputStream.flush(Unknown Source) at java.io.DataOutputStream.flush(Unknown Source) at com.google.gwt.dev.shell.BrowserChannel$ReturnMessage.send(BrowserChannel.java:1332) at com.google.gwt.dev.shell.BrowserChannel$ReturnMessage.send(BrowserChannel.java:1337) at com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1663) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:338) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:195) at java.lang.Thread.run(Unknown Source) How can I do with it? Thanks~ For more information: http://code.google.com/p/google-web-toolkit/wiki/UsingOOPHM --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Refactor DisclosurePanel
Updated again, with OpensAndCloses.Handler interface. UiBinder will use this to hook up custom disclosure panel headers. http://gwt-code-reviews.appspot.com/78814 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6368 committed - Fix merge failure for Eclipse project files.
Revision: 6368 Author: j...@google.com Date: Tue Oct 13 19:01:20 2009 Log: Fix merge failure for Eclipse project files. http://code.google.com/p/google-web-toolkit/source/detail?r=6368 Added: /trunk/eclipse/dev/.checkstyle /trunk/eclipse/dev/.classpath /trunk/eclipse/dev/.project Deleted: /trunk/eclipse/dev/linux === --- /dev/null +++ /trunk/eclipse/dev/.checkstyle Tue Oct 13 19:01:20 2009 @@ -0,0 +1,10 @@ + + + + + + + + + + === --- /dev/null +++ /trunk/eclipse/dev/.classpath Tue Oct 13 19:01:20 2009 @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + === --- /dev/null +++ /trunk/eclipse/dev/.project Tue Oct 13 19:01:20 2009 @@ -0,0 +1,29 @@ + + + gwt-dev + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + core + 2 + GWT_ROOT/dev/core + + + oophm + 2 + GWT_ROOT/dev/oophm + + + --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Remove @DoNotRunWith annotation of the passed test cases
Hi Frank, The farewellSwt branch is no longer active. John merged it back in trunk in r6366. Can you update this patch to be against trunk, post r6366? Also, can you double-check if the comments for tests that no longer use @DoNotRunWith need to be updated? Thanks, Amit On Tue, Oct 13, 2009 at 5:47 PM, wrote: > Reviewers: amitmanjhi, > > Description: > @DoNotRunWith({Platform.Htmlunit}) is the one gating the Htmlunit test > cases that failed. Since bug fixes in GWT and HtmlUnit, some of these > annotated test case are already passing. Need to remove these > annotations. > > Please review this at http://gwt-code-reviews.appspot.com/78815 > > Affected files: > user/test/com/google/gwt/dev/jjs/test/RunAsyncMetricsIntegrationTest.java > user/test/com/google/gwt/dom/client/ElementTest.java > user/test/com/google/gwt/dom/client/MapTests.java > user/test/com/google/gwt/dom/client/NodeTest.java > user/test/com/google/gwt/event/dom/client/DomEventTest.java > user/test/com/google/gwt/uibinder/sample/client/UiBinderTest.java > user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTest.java > user/test/com/google/gwt/user/client/ui/AnchorTest.java > user/test/com/google/gwt/user/client/ui/ButtonTest.java > user/test/com/google/gwt/user/client/ui/CheckBoxTest.java > user/test/com/google/gwt/user/client/ui/CreateEventTest.java > user/test/com/google/gwt/user/client/ui/DOMTest.java > user/test/com/google/gwt/user/client/ui/DialogBoxTest.java > user/test/com/google/gwt/user/client/ui/HistoryTest.java > user/test/com/google/gwt/user/client/ui/ImageTest.java > user/test/com/google/gwt/user/client/ui/MenuBarTest.java > user/test/com/google/gwt/user/client/ui/PopupTest.java > user/test/com/google/gwt/user/client/ui/SimpleRadioButtonTest.java > user/test/com/google/gwt/user/client/ui/SuggestBoxTest.java > user/test/com/google/gwt/user/client/ui/TreeTest.java > user/test/com/google/gwt/xml/client/XMLTest.java > > > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Remove @DoNotRunWith annotation of the passed test cases
Reviewers: amitmanjhi, Description: @DoNotRunWith({Platform.Htmlunit}) is the one gating the Htmlunit test cases that failed. Since bug fixes in GWT and HtmlUnit, some of these annotated test case are already passing. Need to remove these annotations. Please review this at http://gwt-code-reviews.appspot.com/78815 Affected files: user/test/com/google/gwt/dev/jjs/test/RunAsyncMetricsIntegrationTest.java user/test/com/google/gwt/dom/client/ElementTest.java user/test/com/google/gwt/dom/client/MapTests.java user/test/com/google/gwt/dom/client/NodeTest.java user/test/com/google/gwt/event/dom/client/DomEventTest.java user/test/com/google/gwt/uibinder/sample/client/UiBinderTest.java user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTest.java user/test/com/google/gwt/user/client/ui/AnchorTest.java user/test/com/google/gwt/user/client/ui/ButtonTest.java user/test/com/google/gwt/user/client/ui/CheckBoxTest.java user/test/com/google/gwt/user/client/ui/CreateEventTest.java user/test/com/google/gwt/user/client/ui/DOMTest.java user/test/com/google/gwt/user/client/ui/DialogBoxTest.java user/test/com/google/gwt/user/client/ui/HistoryTest.java user/test/com/google/gwt/user/client/ui/ImageTest.java user/test/com/google/gwt/user/client/ui/MenuBarTest.java user/test/com/google/gwt/user/client/ui/PopupTest.java user/test/com/google/gwt/user/client/ui/SimpleRadioButtonTest.java user/test/com/google/gwt/user/client/ui/SuggestBoxTest.java user/test/com/google/gwt/user/client/ui/TreeTest.java user/test/com/google/gwt/xml/client/XMLTest.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6367 committed - Edited wiki page through web user interface.
Revision: 6367 Author: tamplinjohn Date: Tue Oct 13 17:10:54 2009 Log: Edited wiki page through web user interface. http://code.google.com/p/google-web-toolkit/source/detail?r=6367 Modified: /wiki/UsingOOPHM.wiki === --- /wiki/UsingOOPHM.wiki Thu Oct 8 07:14:59 2009 +++ /wiki/UsingOOPHM.wiki Tue Oct 13 17:10:54 2009 @@ -15,7 +15,7 @@ You will need to install a plugin in each browser you intend to use with OOPHM. - * *Google Chrome* + * *Google Chrome (Windows x86 only, Dev channel)* _*Note: this is relatively untested, but appears to work.*_ If you are running the !DevChannel version of Google Chrome on Windows x86 ([http://dev.chromium.org/getting-involved/dev-channel instructions] for switching to !DevChannel), you can install the [http://google-web-toolkit.googlecode.com/svn/trunk/plugins/npapi/prebuilt/gwtdmp.crx GWT Chrome extension]. Note that performance is slower than the other browsers right now because the plugin runs in an isolated process, though we may be able to improve performance before the final release. Also, you may get a "plugin unresponsive" warning which is annoying but harmless. @@ -25,7 +25,7 @@ Install the appropriate XPI by clicking below while running Firefox: * [http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff2.xpi Firefox 2] (Mac PPC/x86, Linux x86/x86_64) * [http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff3.xpi Firefox 3] (Win x86, Mac PPC/x86, Linux x86/x86_64) - * If the above version doesn't work on Linux, you can try a [http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff3+.xpi version with alternate libraries], which is needed on at least Fedora 10 (Linux x86/x86_64 only) + * If the above version doesn't work on Linux, you can try a [http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff3+.xpi version with alternate libraries], which is needed on at least Fedora Core 10 (Linux x86/x86_64 only) * [http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff35.xpi Firefox 3.5] (Win x86, Mac PPC/x86, Linux x86/x86_64) If you are running multiple versions of Firefox, it is recommended to use different profiles for each version. @@ -33,8 +33,9 @@ * *Safari 3/4 on MacOSX (PPC/x86)* Run the installer from this [http://google-web-toolkit.googlecode.com/svn/trunk/plugins/webkit/prebuilt/oophm.dmg disk image]. Note that x86_64 is not yet supported, which means Safari on Snow Leopard is not yet supported. - * *IE6/7/8* - Download [http://google-web-toolkit.googlecode.com/svn/trunk/plugins/ie/prebuilt/oophm.dll oophm.dll] to local disk. Run regsvr32 oophm.dll and restart IE. + * *IE6/7/8 (32-bit IE only)* + _*Note: If you have previously manually registered the OOPHM DLL, you will need to deregister it first with regsvr32 /u oophm.dll.*_ + Download and run the [http://google-web-toolkit.googlecode.com/svn/trunk/plugins/ie/prebuilt/GwtDevModeIePluginInstaller.msi GWT Dev Mode Plugin for IE] installer. = Using OOPHM = OOPHM is currently in trunk (it is not and will not be available with any version of GWT earlier than 2.0), but is not enabled by default because the UI needs some work and some features are missing, plus it just hasn't had enough testing to be sure it is completely usable as a replacement. So, to use it now, you need to add gwt-dev-oophm.jar at the beginning of your classpath. There are a number of ways to do it: --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Refactor DisclosurePanel
Updated with checkstyle fixes. http://gwt-code-reviews.appspot.com/78814 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Refactor DisclosurePanel
http://gwt-code-reviews.appspot.com/78814 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Refactor DisclosurePanel
Reviewers: jlabanca, Message: John, can you take this? Description: Deprecates DisclosurePanels' use of ImageBundle, and bases it on ImageResource instead. This is done in part with an eye to making it easier use in ui.xml files. Extracts DisclosurePanelHeader into its own class, and introduces the OpensAndCloses characteristic interface. This allows a disclosure panel to be laid out separately from the widget that shows and hides it, a use case I've run into in previous projects, and which GWT hadn't supported. Various convenience constructors are deprecated, specifically the ones that take Widgets. The DisclosurePanelHeader widget requires that the panel it drives be a constructor argument of its own, making it impossible to use with the deprecated constructors. That seemed a sign that they weren't terribly useful, more noise than benefit. Please review this at http://gwt-code-reviews.appspot.com/78814 Affected files: M user/src/com/google/gwt/user/client/ui/DisclosurePanel.java A user/src/com/google/gwt/user/client/ui/DisclosurePanelHeader.java M user/src/com/google/gwt/user/client/ui/DisclosurePanelImages.java M user/src/com/google/gwt/user/client/ui/DisclosurePanelImagesRTL.java A user/src/com/google/gwt/user/client/ui/OpensAndCloses.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: break up our too-large RPCSuite
On Tue, Oct 13, 2009 at 4:26 PM, Freeland Abbott wrote: > Maybe next quarter. (N.B.: that's a joke, neither a commitment nor a > forever-refusal.) You mean Q5, right? -- Bob Vawter Google Web Toolkit Team --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Intraprocedural flow-based optimizations
LGTM, except with one small issue and one nit. I don't need to rereview it. http://gwt-code-reviews.appspot.com/66804/diff/1/3 File dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java (right): http://gwt-code-reviews.appspot.com/66804/diff/1/3#newcode239 Line 239: } while (didChange); This outer while loop can be left out, can't it, until a second optimizer is added? If Intraprocedural doesn't already loop on each method, then it would be better if it did. http://gwt-code-reviews.appspot.com/66804/diff/1/2 File dev/core/src/com/google/gwt/dev/jjs/impl/Intraprocedural.java (right): http://gwt-code-reviews.appspot.com/66804/diff/1/2#newcode54 Line 54: new DeadCodeElimination(program); The dce field could be made an instance field of IntraProcedural so that it doesn't have to be recreated all the time. http://gwt-code-reviews.appspot.com/66804 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6365 committed - Fix typos, move Windows plugin installer to prebuilt directory....
Revision: 6365 Author: j...@google.com Date: Tue Oct 13 14:01:24 2009 Log: Fix typos, move Windows plugin installer to prebuilt directory. Patch by: jat Review by: jlabanca (desk) http://code.google.com/p/google-web-toolkit/source/detail?r=6365 Added: /trunk/plugins/ie/prebuilt/GwtDevModeIePluginInstaller.msi Deleted: /trunk/plugins/ie/installer/GwtDevModeIePluginInstaller.msi Modified: /trunk/plugins/MissingBrowserPlugin.html /trunk/plugins/ie/installer/build.xml /trunk/plugins/ie/oophm/oophm/oophm.rc /trunk/plugins/npapi/npOOPHM.rc === --- /dev/null +++ /trunk/plugins/ie/prebuilt/GwtDevModeIePluginInstaller.msi Tue Oct 13 14:01:24 2009 Binary file, no diff available. === --- /trunk/plugins/ie/installer/GwtDevModeIePluginInstaller.msi Thu Oct 8 12:28:52 2009 +++ /dev/null Binary file, no diff available. === --- /trunk/plugins/MissingBrowserPlugin.htmlThu Oct 8 12:28:52 2009 +++ /trunk/plugins/MissingBrowserPlugin.htmlTue Oct 13 14:01:24 2009 @@ -33,9 +33,7 @@ note that some Linux distributions need a plugin built with alternate libraries which will be available soon - http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff35.xpi";>Version 3.5 (Win x86, Mac PPC/x86, Linux x86/x86_64) @@ -48,7 +46,7 @@ Internet Explorer on Windows (32-bit IE) - Download and run the "http://google-web-toolkit.googlecode.com/svn/trunk/plugins/ie/installer/GwtDevModeIePluginInstaller.msi";>GWT Dev Mode Plugin for IE" installer. + Download and run the "http://google-web-toolkit.googlecode.com/svn/trunk/plugins/ie/prebuilt/GwtDevModeIePluginInstaller.msi";>GWT Dev Mode Plugin for IE" installer. === --- /trunk/plugins/ie/installer/build.xml Thu Oct 8 12:28:52 2009 +++ /trunk/plugins/ie/installer/build.xml Tue Oct 13 14:01:24 2009 @@ -42,7 +42,8 @@ - + === --- /trunk/plugins/ie/oophm/oophm/oophm.rc Thu Sep 3 15:22:56 2009 +++ /trunk/plugins/ie/oophm/oophm/oophm.rc Tue Oct 13 14:01:24 2009 @@ -115,7 +115,7 @@ BEGIN CONTROL "Remember this decision for this server",IDC_REMEMBER_CHECKBOX, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,31,129,10 -LTEXT "This web server is trying to initiate a GWT Development\r\nMode Conncetion -- should it be allowed?",IDC_STATIC,10,7,167,19 +LTEXT "This web server is trying to initiate a GWT Development\r\nMode Connection -- should it be allowed?",IDC_STATIC,10,7,167,19 PUSHBUTTON "Allow",IDC_ALLOW_BUTTON,37,50,50,14 DEFPUSHBUTTON "Deny",IDCANCEL,100,50,50,14 END === --- /trunk/plugins/npapi/npOOPHM.rc Fri Sep 11 16:24:58 2009 +++ /trunk/plugins/npapi/npOOPHM.rc Tue Oct 13 14:01:24 2009 @@ -82,7 +82,7 @@ BEGIN CONTROL "Remember this decision for this server",IDC_REMEMBER_CHECKBOX, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,31,129,10 -LTEXT "This web server is trying to initiate a GWT Development\r\nMode Conncetion -- should it be allowed?",IDC_STATIC,10,7,167,19 +LTEXT "This web server is trying to initiate a GWT Development\r\nMode Connection -- should it be allowed?",IDC_STATIC,10,7,167,19 PUSHBUTTON "Allow",IDC_ALLOW_BUTTON,37,50,50,14 DEFPUSHBUTTON "Deny",IDCANCEL,100,50,50,14 END --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Allows multiple sources on a ui:style
Reviewers: jgw, Message: Another one for you, Joel. This allows multiple source files to be specified for a ui:style, just like any other CssResource. It also allows you to put body text on a ui:style that has sources. The body becomes just one more source file, the last one--nice for local tweaks on centrally defined styles, perhaps. That doesn't actually work yet, though. It exposes a bug on ResourceGeneratorUtil, logged separately. Bob and I figure that fix can happen post MS2, and needn't gate this one. Please review this at http://gwt-code-reviews.appspot.com/77819 Affected files: M user/src/com/google/gwt/uibinder/rebind/BundleWriter.java M user/src/com/google/gwt/uibinder/rebind/UiBinderParser.java M user/src/com/google/gwt/uibinder/rebind/XMLElement.java M user/src/com/google/gwt/uibinder/rebind/model/ImplicitCssResource.java A user/src/com/google/gwt/uibinder/sample/client/Menu.css M user/src/com/google/gwt/uibinder/sample/client/WidgetBasedUi.css M user/src/com/google/gwt/uibinder/sample/client/WidgetBasedUi.ui.xml M user/test/com/google/gwt/uibinder/sample/client/UiBinderTest.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6364 committed - Reverted c6310 (which created a temporary directory for updating HtmlU...
Revision: 6364 Author: amitman...@google.com Date: Tue Oct 13 13:52:35 2009 Log: Reverted c6310 (which created a temporary directory for updating HtmlUnit, possibly multiple times, without polluting TOOLS) svn merge -r6310:6309 . and (a) updated all references to htmlunit-2.5 to htmlunit-r5070, (b) updated the nekohtml depedency. Patch by: amitmanjhi http://code.google.com/p/google-web-toolkit/source/detail?r=6364 Deleted: /branches/farewellSwt/tools/do-not-commit-to-trunk Modified: /branches/farewellSwt/dev/build.xml /branches/farewellSwt/eclipse/dev/.classpath /branches/farewellSwt/eclipse/user/.classpath === --- /branches/farewellSwt/dev/build.xml Tue Oct 6 19:22:44 2009 +++ /branches/farewellSwt/dev/build.xml Tue Oct 13 13:52:35 2009 @@ -7,7 +7,6 @@ - @@ -75,6 +74,9 @@ + + + @@ -84,11 +86,6 @@ - - - - - @@ -132,9 +129,9 @@ - - - + + + === --- /branches/farewellSwt/eclipse/dev/.classpathTue Oct 6 19:22:44 2009 +++ /branches/farewellSwt/eclipse/dev/.classpathTue Oct 13 13:52:35 2009 @@ -40,7 +40,7 @@ - - + + === --- /branches/farewellSwt/eclipse/user/.classpath Tue Oct 6 19:22:44 2009 +++ /branches/farewellSwt/eclipse/user/.classpath Tue Oct 13 13:52:35 2009 @@ -16,7 +16,7 @@ - + @@ -25,7 +25,7 @@ - - + + --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6363 committed - UiBinder now understands CssResource's imported scopes, which...
Revision: 6363 Author: rj...@google.com Date: Tue Oct 13 13:41:12 2009 Log: UiBinder now understands CssResource's imported scopes, which is more than I can say for myself most of the time. Reviewed by jgw http://code.google.com/p/google-web-toolkit/source/detail?r=6363 Added: /trunk/user/src/com/google/gwt/uibinder/sample/client/CssImportScopeSample.css /trunk/user/src/com/google/gwt/uibinder/sample/client/CssImportScopeSample.java /trunk/user/src/com/google/gwt/uibinder/sample/client/CssImportScopeSample.ui.xml Deleted: /trunk/user/src/com/google/gwt/uibinder/client/AbstractUiBinder.java Modified: /trunk/user/src/com/google/gwt/uibinder/rebind/BundleWriter.java /trunk/user/src/com/google/gwt/uibinder/rebind/UiBinderParser.java /trunk/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java /trunk/user/src/com/google/gwt/uibinder/rebind/model/ImplicitClientBundle.java /trunk/user/src/com/google/gwt/uibinder/rebind/model/ImplicitCssResource.java /trunk/user/src/com/google/gwt/uibinder/sample/client/WidgetBasedUi.java /trunk/user/src/com/google/gwt/uibinder/sample/client/WidgetBasedUi.ui.xml /trunk/user/test/com/google/gwt/uibinder/sample/client/UiBinderTest.java === --- /dev/null +++ /trunk/user/src/com/google/gwt/uibinder/sample/client/CssImportScopeSample.css Tue Oct 13 13:41:12 2009 @@ -0,0 +1,3 @@ +.body { + background-color: pink; +} === --- /dev/null +++ /trunk/user/src/com/google/gwt/uibinder/sample/client/CssImportScopeSample.java Tue Oct 13 13:41:12 2009 @@ -0,0 +1,83 @@ +/* + * Copyright 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.uibinder.sample.client; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.DivElement; +import com.google.gwt.dom.client.Element; +import com.google.gwt.resources.client.ClientBundle; +import com.google.gwt.resources.client.CssResource; +import com.google.gwt.resources.client.CssResource.ImportedWithPrefix; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.user.client.ui.HasText; +import com.google.gwt.user.client.ui.Widget; + +/** + * Odd widget demonstrates UiBinder's integration with CssResource's obscure but + * crucial imported scopes feature. + */ +public class CssImportScopeSample extends Widget implements HasText { + interface Binder extends UiBinder { + } + private static final Binder binder = GWT.create(Binder.class); + + interface Bundle extends ClientBundle { +@Source("CssImportScopeSample.css") +InnerStyle innerStyle(); + +@Source("CssImportScopeSample.css") +OuterStyle style(); + } + + @ImportedWithPrefix("inner") + interface InnerStyle extends Style { + } + + @ImportedWithPrefix("outer") + interface OuterStyle extends Style { + } + + interface Style extends CssResource { +String body(); + } + + @UiField(provided = true) + Bundle bundle = GWT.create(Bundle.class); + @UiField + Element inner; + + @UiField + Element outer; + + CssImportScopeSample() { +bundle.style().ensureInjected(); +bundle.innerStyle().ensureInjected(); +setElement(binder.createAndBindUi(this)); + } + + public String getText() { +return outer.getInnerText(); + } + + public void setText(String text) { +outer.setInnerText(text); + } + + public void setWrappedText(String text) { +inner.setInnerText(text); + } +} === --- /dev/null +++ /trunk/user/src/com/google/gwt/uibinder/sample/client/CssImportScopeSample.ui.xml Tue Oct 13 13:41:12 2009 @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + +.outer-body .inner-body { width: 100px; background-color: red; } + + + + +Inner! + + === --- /trunk/user/src/com/google/gwt/uibinder/client/AbstractUiBinder.java Thu Sep 3 16:03:13 2009 +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2009 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
[gwt-contrib] Re: Integrates UiBinder with CssResource's imported scopes
Committed r6363 http://gwt-code-reviews.appspot.com/78811 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6362 committed - Updated htmlunit to a 2.7 snapshot, containing many of the recent fixe...
Revision: 6362 Author: amitman...@google.com Date: Tue Oct 13 13:31:38 2009 Log: Updated htmlunit to a 2.7 snapshot, containing many of the recent fixes. Added a README file http://code.google.com/p/google-web-toolkit/source/detail?r=6362 Added: /tools/lib/htmlunit/README /tools/lib/htmlunit/htmlunit-core-js-r5070-sources.jar /tools/lib/htmlunit/htmlunit-core-js-r5070.jar /tools/lib/htmlunit/htmlunit-r5070-sources.jar /tools/lib/htmlunit/htmlunit-r5070.jar /tools/lib/nekohtml/nekohtml-1.9.13.jar === --- /dev/null +++ /tools/lib/htmlunit/README Tue Oct 13 13:31:38 2009 @@ -0,0 +1,28 @@ +The custom jars hold the HtmlUnit jars while we upgrade to HtmlUnit-2.7 and +beyond, and revisit all the Gwt tests that are currently ignored on HtmlUnit. +The htmlunit jar names are to be removed of all identifying information because +we don't want multiple copies. + +For updating HtmlUnit, here is the algorithm to use (vetted by HtmlUnit +committers): + +* Check the main Cl page (http://build.canoo.com/htmlunit/). Find the last +build that was successful. Find the svn revision (click on the "XML Log File" +tab, and scroll down to the last "revision" XML tag. search for ). +Download the htmlunit.jar, htmlunit-sources.jar and htmlunit-core-js.jar (and +other dependencies if they have changed) from the artifacts page. Note that +SNAPSHOT artifacts only get generated if all unit tests pass. So the artifacts +correspond to the last successful build. + +* Download the htmlunit-core-js-sources.jar from +http://htmlunit.sourceforge.net/m2-repo-snapshots/net/sourceforge/htmlunit/htmlunit-core-js/2.7-SNAPSHOT/ +(verify that the core-js.jar are the same as in the previous step). + + +Files in this dir + htmlunit-r.jar + htmlunit-r-sources.jar + htmlunit-core-js-r.jar + htmlunit-core-js-r-sources.jar + +svn revision: 5070 === --- /dev/null +++ /tools/lib/htmlunit/htmlunit-core-js-r5070-sources.jar Tue Oct 13 13:31:38 2009 Binary file, no diff available. === --- /dev/null +++ /tools/lib/htmlunit/htmlunit-core-js-r5070.jar Tue Oct 13 13:31:38 2009 Binary file, no diff available. === --- /dev/null +++ /tools/lib/htmlunit/htmlunit-r5070-sources.jar Tue Oct 13 13:31:38 2009 Binary file, no diff available. === --- /dev/null +++ /tools/lib/htmlunit/htmlunit-r5070.jar Tue Oct 13 13:31:38 2009 Binary file, no diff available. === --- /dev/null +++ /tools/lib/nekohtml/nekohtml-1.9.13.jar Tue Oct 13 13:31:38 2009 Binary file, no diff available. --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: break up our too-large RPCSuite
Point, although CPU quotas is only the first of several reasons why AppEngine would actually be hard to use in practice for this. Maybe next quarter. (N.B.: that's a joke, neither a commitment nor a forever-refusal.) On Tue, Oct 13, 2009 at 4:11 PM, Isaac Truett wrote: > > > (@GWTC, even if successful, this is unlikely to help most external users, > > unless you happen to have an extra hundred machines available for a test > > run. Sorry. It should, however, let us break you less often, if only by > > shortening the build/test cycle of the robot builder.) > > Now if only there were a huge server farm somewhere with a little > spare CPU time to act as a build/test robot for the rest of us. Say, > something that ran Python and Java web apps. Wouldn't that be awesome? > ;D > > > > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6361 committed - Tree now no longer fires events from left- and middle mouse button cli...
Revision: 6361 Author: kpro...@google.com Date: Tue Oct 13 13:09:57 2009 Log: Tree now no longer fires events from left- and middle mouse button clicks. http://code.google.com/p/google-web-toolkit/source/detail?r=6361 Modified: /trunk/user/src/com/google/gwt/user/client/ui/Tree.java === --- /trunk/user/src/com/google/gwt/user/client/ui/Tree.java Wed Sep 23 10:15:52 2009 +++ /trunk/user/src/com/google/gwt/user/client/ui/Tree.java Tue Oct 13 13:09:57 2009 @@ -541,7 +541,9 @@ // Currently, the way we're using image bundles causes extraneous events // to be sunk on individual items' open/close images. This leads to an // extra event reaching the Tree, which we will ignore here. -if (DOM.eventGetCurrentTarget(event) == getElement()) { +// Also, ignore middle and right clicks here. +if ((DOM.eventGetCurrentTarget(event) == getElement()) +&& (event.getButton() == Event.BUTTON_LEFT)) { elementClicked(DOM.eventGetTarget(event)); } break; --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: break up our too-large RPCSuite
> (@GWTC, even if successful, this is unlikely to help most external users, > unless you happen to have an extra hundred machines available for a test > run. Sorry. It should, however, let us break you less often, if only by > shortening the build/test cycle of the robot builder.) Now if only there were a huge server farm somewhere with a little spare CPU time to act as a build/test robot for the rest of us. Say, something that ran Python and Java web apps. Wouldn't that be awesome? ;D --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: right-click for tree items
Thanks, committed at r6361. On Tue, Oct 13, 2009 at 3:01 PM, wrote: > LGTM > > > http://gwt-code-reviews.appspot.com/78813 > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : GWT 2.0: Initial thoughts on $entry
LGTM http://gwt-code-reviews.appspot.com/77810/diff/41/1023 File user/src/com/google/gwt/core/client/impl/Impl.java (right): http://gwt-code-reviews.appspot.com/77810/diff/41/1023#newcode163 Line 163: boolean outermost; Nitpick: this is somewhat confusing. What about a static int entryDepth? http://gwt-code-reviews.appspot.com/77810 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Abstract out UI interface
Thanks for the reviews, committed to abstractui and merged down to farewellSwt in r6360. http://gwt-code-reviews.appspot.com/77818/diff/1/24 File dev/core/src/com/google/gwt/dev/HostedModeBase.java (right): http://gwt-code-reviews.appspot.com/77818/diff/1/24#newcode630 Line 630: * Callback for the UI to indicate it is down. On 2009/10/13 19:16:52, rdayal wrote: > down --> done, or exited. Done. http://gwt-code-reviews.appspot.com/77818/diff/1/37 File dev/core/src/com/google/gwt/dev/ui/CloseModuleCallback.java (right): http://gwt-code-reviews.appspot.com/77818/diff/1/37#newcode26 Line 26: * The user has requested the a module should be closed. In the event the On 2009/10/13 19:16:52, rdayal wrote: > The user has requested the-->that a module should be closed. In the event > the... Done. http://gwt-code-reviews.appspot.com/77818/diff/1/33 File dev/core/src/com/google/gwt/dev/ui/DevModeUI.java (right): http://gwt-code-reviews.appspot.com/77818/diff/1/33#newcode47 Line 47: private final Map, UiCallback> callbacks = new HashMap< On 2009/10/13 19:16:52, rdayal wrote: > You can use ? instead of UICallback, can't you? ? extends UiCallback, done http://gwt-code-reviews.appspot.com/77818/diff/1/33#newcode149 Line 149: UiEvent.Type eventType) { On 2009/10/13 19:16:52, rdayal wrote: > Can't you use UIcallback instead of ? here? ? extends UiCallback, done http://gwt-code-reviews.appspot.com/77818/diff/1/33#newcode177 Line 177: protected final boolean hasCallback(UiEvent.Type eventType) { On 2009/10/13 19:16:52, rdayal wrote: > Can't you use UICallback instead of ? here? ? extends UiCallback, done http://gwt-code-reviews.appspot.com/77818/diff/1/32 File dev/core/src/com/google/gwt/dev/ui/UiEvent.java (right): http://gwt-code-reviews.appspot.com/77818/diff/1/32#newcode35 Line 35: private static int nextId = 0; On 2009/10/13 19:16:52, rdayal wrote: > Is this completely thread-safe? That is, are all instances of the Type object > created by the same thread? That could be an issue, and on further reflection we don't need the optimization that GwtEvent does, which is where this was copied from. Removing the id entirely and letting it fall back to the system identity hash code. http://gwt-code-reviews.appspot.com/77818/diff/1/32#newcode47 Line 47: // Since we require only one instance of each type object to be created, On 2009/10/13 19:16:52, rdayal wrote: > I agree with your invariant, but I could see someone making a mistake. Why not > create a static map with names and ids and use that to assign the same id for > those objects with the same names at construction time? New UI events will not be created by users, but only by GWT developers as part of the GWT code base. I don't think we want to protect against this sort of error. Removing a custom hash code also means we don't need the equals here. http://gwt-code-reviews.appspot.com/77818/diff/1/43 File user/src/com/google/gwt/junit/JUnitShell.java (left): http://gwt-code-reviews.appspot.com/77818/diff/1/43#oldcode557 Line 557: if (unitTestShell.thread != Thread.currentThread()) { On 2009/10/13 18:59:27, jlabanca wrote: > This was added intentionally to ensure we don't run a test outside of the main > thread that created JUnitShell. It may not matter anymore because it was > handling an exception in SWT Display, which is now gone. This is relative to the farewellSwt branch, where SWT has been removed, so this is no longer needed. http://gwt-code-reviews.appspot.com/77818/diff/1/42 File user/src/com/google/gwt/junit/RunStyleHtmlUnit.java (right): http://gwt-code-reviews.appspot.com/77818/diff/1/42#newcode198 Line 198: getLogger().log(TreeLogger.WARN, "RunStyleHtmlUnit: Ignoring unknown " On 2009/10/13 18:59:27, jlabanca wrote: > This should throw an ERROR. The WARN can be lost in the output, and a user may > not even realize that they accidently typed the wrong browser name. Done. http://gwt-code-reviews.appspot.com/77818 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : GWT 2.0: Initial thoughts on $entry
> That's fine for JS stack, but it's not fine for Uncaught EH. You really have to > fire the Uncaught EH *even in the reentrancy case* because if you're inside a > new event loop, the exception *won't* propagate to the outer stack, the browser > will swallow / report it. Now I understand what you're getting at. I've updated the patch so that we always try the UCE. http://gwt-code-reviews.appspot.com/77810 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6359 committed - Final changes from review feedback....
Revision: 6359 Author: j...@google.com Date: Tue Oct 13 12:43:03 2009 Log: Final changes from review feedback. Patch by: jat Review by: rdayal, jlabanca http://code.google.com/p/google-web-toolkit/source/detail?r=6359 Modified: /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/HostedModeBase.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/SwingUI.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/CloseModuleCallback.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/DevModeUI.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/UiEvent.java /changes/jat/abstractui/user/src/com/google/gwt/junit/RunStyleHtmlUnit.java === --- /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/HostedModeBase.java Tue Oct 13 11:08:52 2009 +++ /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/HostedModeBase.java Tue Oct 13 12:43:03 2009 @@ -108,6 +108,7 @@ String remoteSocket = serverChannel.getRemoteEndpoint(); ModuleHandle module = ui.loadModule(userAgent, remoteSocket, url, tabKey, moduleName, sessionKey, agentTag, userAgentIcon, maxLevel); + // TODO(jat): add support for closing an active module logger = module.getLogger(); try { // Try to find an existing loaded version of the module def. @@ -627,7 +628,7 @@ } /** - * Callback for the UI to indicate it is down. + * Callback for the UI to indicate it is done. */ public void onDone() { setDone(); === --- /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/SwingUI.java Tue Oct 13 11:08:52 2009 +++ /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/SwingUI.java Tue Oct 13 12:43:03 2009 @@ -210,6 +210,7 @@ public ModuleHandle loadModule(String userAgent, String remoteSocket, String url, String tabKey, String moduleName, String sessionKey, String agentTag, byte[] agentIcon, TreeLogger.Type logLevel) { +// TODO(jat): add support for closing an active module ModuleTabPanel tabPanel = null; ModulePanel tab = null; tabPanel = findModuleTab(userAgent, remoteSocket, url, tabKey, === --- /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/CloseModuleCallback.java Tue Oct 13 11:08:52 2009 +++ /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/CloseModuleCallback.java Tue Oct 13 12:43:03 2009 @@ -23,7 +23,7 @@ public interface CloseModuleCallback extends UiCallback { /** - * The user has requested the a module should be closed. In the event the + * The user has requested that a module should be closed. In the event the * user closes multiple modules at once (such as closing one window or tab in * the UI), there will be separate calls for each one. * === --- /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/DevModeUI.java Tue Oct 13 11:08:52 2009 +++ /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/DevModeUI.java Tue Oct 13 12:43:03 2009 @@ -44,8 +44,8 @@ /** * Map of callbacks. */ - private final Map, UiCallback> callbacks = new HashMap< - UiEvent.Type, UiCallback>(); + private final Map, UiCallback> callbacks + = new HashMap, UiCallback>(); /** * A lazily-initialized console logger - see {...@link #getConsoleLogger()}. @@ -99,6 +99,10 @@ /** * Show that a module is loaded in the UI. * + * Note that the {...@link CloseModuleEvent} should already have a callback + * registered when this is called if needed -- the UI is not required to + * change the UI if it is registered later. + * * @param userAgent full user agent name * @param remoteSocket name of remote socket endpoint in host:port format * @param url URL of top-level window @@ -174,7 +178,8 @@ * @param eventType type of event * @return true if a callback has been registered for event */ - protected final boolean hasCallback(UiEvent.Type eventType) { + protected final boolean hasCallback( + UiEvent.Type eventType) { return callbacks.get(eventType) != null; } } === --- /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/UiEvent.java Tue Oct 13 11:08:52 2009 +++ /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/UiEvent.java Tue Oct 13 12:43:03 2009 @@ -32,27 +32,11 @@ */ public static class Type { -private static int nextId = 0; - -private final int id; private final String name; protected Type(String name) { - id = nextId++; this.name = name; } - -@Override -public boolean equals(Object obj) { - // Since we require only one instance of each type object to be created, - // identity is saf
[gwt-contrib] Re: RR : GWT 2.0: Initial thoughts on $entry
http://gwt-code-reviews.appspot.com/77810/diff/34/1016 File user/src/com/google/gwt/core/client/impl/Impl.java (right): http://gwt-code-reviews.appspot.com/77810/diff/34/1016#newcode148 Line 148: _ = jsFunction.apply(thisObj, arguments); Nasty. Yeah, cromwellian, or maybe spoon. http://gwt-code-reviews.appspot.com/77810/diff/34/1016#newcode163 Line 163: if (hasEntered) { On 2009/10/13 19:26:24, bobv wrote: > When we did the emulated JS stack trace work, we decided to treat the reentrancy > situation as though it were one big stack. I think the same thing applies here. That's fine for JS stack, but it's not fine for Uncaught EH. You really have to fire the Uncaught EH *even in the reentrancy case* because if you're inside a new event loop, the exception *won't* propagate to the outer stack, the browser will swallow / report it. > Re: FinallyCommand, the way Joel and I have been defining it, it's spec'ed to > execute after all use code, but just before we release back to the browser's > event queue. In my mind, that means that FinallyCommands enqueued in reentrant > case execute in the same batch as those enqueued in the outermost execution > context. That makes complete sense, but I don't think it should be handled the same way as Uncaught EH. (That's why I make vague noise about moving it down into the FinallyCommand implementation, but I didn't think through it much and I guess you'd have to call something like FinallyCommand.enter() so it could do its own internal stack tracking.) http://gwt-code-reviews.appspot.com/77810 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : GWT 2.0: Initial thoughts on $entry
LGTM. http://gwt-code-reviews.appspot.com/77810/diff/34/1016 File user/src/com/google/gwt/core/client/impl/Impl.java (right): http://gwt-code-reviews.appspot.com/77810/diff/34/1016#newcode163 Line 163: if (hasEntered) { On 2009/10/13 19:26:24, bobv wrote: > When we did the emulated JS stack trace work, we decided to treat the reentrancy > situation as though it were one big stack. I think the same thing applies here. > You might really, really hope that you're code doesn't hit a reentrancy > situation, but we really can't mask what the browser is actually doing. If you > really care about masking it, that could be done at a higher-level API. > Re: FinallyCommand, the way Joel and I have been defining it, it's spec'ed to > execute after all use code, but just before we release back to the browser's > event queue. In my mind, that means that FinallyCommands enqueued in reentrant > case execute in the same batch as those enqueued in the outermost execution > context. > @Joel, will you be the decider? What's going to make the most sense (if > anything makes sense at all anymore)? Ah'm tha deecider today, yay! Seriously, I think the "one big stack" view of js reentrancy makes the most sense. It's almost definitely what's actually happening in most (all?) browsers in practice, and as you point out, it doesn't really matter much if a few FinallyCommands get executed slightly later under obscure circumstances. I expect this will pretty much never happen in practice anyway. http://gwt-code-reviews.appspot.com/77810 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : GWT 2.0: Initial thoughts on $entry
http://gwt-code-reviews.appspot.com/77810/diff/34/1016 File user/src/com/google/gwt/core/client/impl/Impl.java (right): http://gwt-code-reviews.appspot.com/77810/diff/34/1016#newcode148 Line 148: _ = jsFunction.apply(thisObj, arguments); On 2009/10/13 19:13:43, scottb wrote: > What's the motivation for this change? Declaring a temporary variable in the else block resulted in the following web-mode code: function apply() { return jsFunction.apply(thisObj, arguments); var toReturn; } Looks like we need something to reallocate js-local variables and prune unused ones. Is that something that RayC would be working on? http://gwt-code-reviews.appspot.com/77810/diff/34/1016#newcode163 Line 163: if (hasEntered) { When we did the emulated JS stack trace work, we decided to treat the reentrancy situation as though it were one big stack. I think the same thing applies here. You might really, really hope that you're code doesn't hit a reentrancy situation, but we really can't mask what the browser is actually doing. If you really care about masking it, that could be done at a higher-level API. Re: FinallyCommand, the way Joel and I have been defining it, it's spec'ed to execute after all use code, but just before we release back to the browser's event queue. In my mind, that means that FinallyCommands enqueued in reentrant case execute in the same batch as those enqueued in the outermost execution context. @Joel, will you be the decider? What's going to make the most sense (if anything makes sense at all anymore)? http://gwt-code-reviews.appspot.com/77810 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Abstract out UI interface
LGTM, with a couple comments to consider. Also, if more classes are ever put into the dev.ui package, we may want to move all of the callback classes to dev.ui.events http://gwt-code-reviews.appspot.com/77818/diff/1/24 File dev/core/src/com/google/gwt/dev/HostedModeBase.java (right): http://gwt-code-reviews.appspot.com/77818/diff/1/24#newcode630 Line 630: * Callback for the UI to indicate it is down. down --> done, or exited. http://gwt-code-reviews.appspot.com/77818/diff/1/37 File dev/core/src/com/google/gwt/dev/ui/CloseModuleCallback.java (right): http://gwt-code-reviews.appspot.com/77818/diff/1/37#newcode26 Line 26: * The user has requested the a module should be closed. In the event the The user has requested the-->that a module should be closed. In the event the... http://gwt-code-reviews.appspot.com/77818/diff/1/33 File dev/core/src/com/google/gwt/dev/ui/DevModeUI.java (right): http://gwt-code-reviews.appspot.com/77818/diff/1/33#newcode47 Line 47: private final Map, UiCallback> callbacks = new HashMap< You can use ? instead of UICallback, can't you? http://gwt-code-reviews.appspot.com/77818/diff/1/33#newcode149 Line 149: UiEvent.Type eventType) { Can't you use UIcallback instead of ? here? http://gwt-code-reviews.appspot.com/77818/diff/1/33#newcode177 Line 177: protected final boolean hasCallback(UiEvent.Type eventType) { Can't you use UICallback instead of ? here? http://gwt-code-reviews.appspot.com/77818/diff/1/32 File dev/core/src/com/google/gwt/dev/ui/UiEvent.java (right): http://gwt-code-reviews.appspot.com/77818/diff/1/32#newcode35 Line 35: private static int nextId = 0; Is this completely thread-safe? That is, are all instances of the Type object created by the same thread? http://gwt-code-reviews.appspot.com/77818/diff/1/32#newcode47 Line 47: // Since we require only one instance of each type object to be created, I agree with your invariant, but I could see someone making a mistake. Why not create a static map with names and ids and use that to assign the same id for those objects with the same names at construction time? http://gwt-code-reviews.appspot.com/77818 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Integrates UiBinder with CssResource's imported scopes
On 2009/10/13 18:36:15, Ray Ryan wrote: > Joel, can I turn this review over to you? Bob is swamped. Don't mind all the > blather above about possible ClientBundle bugs, the patch works as is. Now that I finally understand it, LGTM. Crazy stuff, but powerful. http://gwt-code-reviews.appspot.com/78811 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : GWT 2.0: Initial thoughts on $entry
http://gwt-code-reviews.appspot.com/77810/diff/34/1016 File user/src/com/google/gwt/core/client/impl/Impl.java (right): http://gwt-code-reviews.appspot.com/77810/diff/34/1016#newcode54 Line 54: public static native JavaScriptObject entry(JavaScriptObject jsFunction) /*-{ I think this should be a public API on the GWT class, and referenced via JSNI rather than $entry; but I'm willing to defer to jgw. http://gwt-code-reviews.appspot.com/77810/diff/34/1016#newcode148 Line 148: _ = jsFunction.apply(thisObj, arguments); What's the motivation for this change? http://gwt-code-reviews.appspot.com/77810/diff/34/1016#newcode163 Line 163: if (hasEntered) { This solution is error-prone, but I'm not sure there's a good one. In particular, the event loop *can* get reentered-- in which case, you'd really want to treat the inner stack as its own thing, catch uncaught exceptions, etc. But this code is going to treat it like it's all one stack, when it might not be. I think it'd be better not to bother with worrying about reentrancy here and specialize FinallyCommand.flush() instead. http://gwt-code-reviews.appspot.com/77810 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : Update user code to use $entry
Patch updated. http://gwt-code-reviews.appspot.com/77813/diff/52/53 File user/src/com/google/gwt/http/client/Request.java (right): http://gwt-code-reviews.appspot.com/77813/diff/52/53#newcode266 Line 266: fireOnResponseReceivedImpl(callback); On 2009/10/13 15:47:14, jgw wrote: > It is safe to not use $entry() here because it's being handled by > XMLHttpRequest, right? Yes, this Request class is a wrapped around the xhr package. http://gwt-code-reviews.appspot.com/77813/diff/52/55 File user/src/com/google/gwt/layout/client/LayoutImplIE6.java (right): http://gwt-code-reviews.appspot.com/77813/diff/52/55#newcode248 Line 248: parent.onresize = $entry(function() { Updated JavaDoc to indicate that $entry is intentionally skipped. http://gwt-code-reviews.appspot.com/77813/diff/52/57 File user/src/com/google/gwt/user/client/DOM.java (right): http://gwt-code-reviews.appspot.com/77813/diff/52/57#newcode1263 Line 1263: dispatchEventImpl(evt, elem, listener); On 2009/10/13 15:47:14, jgw wrote: > $entry() will have already been called by DOMImpl*, right? Yes. http://gwt-code-reviews.appspot.com/77813 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: right-click for tree items
LGTM http://gwt-code-reviews.appspot.com/78813 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Abstract out UI interface
JUnitShell and RunStyles LGTM Just a couple of nits. http://gwt-code-reviews.appspot.com/77818/diff/1/43 File user/src/com/google/gwt/junit/JUnitShell.java (left): http://gwt-code-reviews.appspot.com/77818/diff/1/43#oldcode557 Line 557: if (unitTestShell.thread != Thread.currentThread()) { This was added intentionally to ensure we don't run a test outside of the main thread that created JUnitShell. It may not matter anymore because it was handling an exception in SWT Display, which is now gone. http://gwt-code-reviews.appspot.com/77818/diff/1/42 File user/src/com/google/gwt/junit/RunStyleHtmlUnit.java (right): http://gwt-code-reviews.appspot.com/77818/diff/1/42#newcode198 Line 198: getLogger().log(TreeLogger.WARN, "RunStyleHtmlUnit: Ignoring unknown " This should throw an ERROR. The WARN can be lost in the output, and a user may not even realize that they accidently typed the wrong browser name. http://gwt-code-reviews.appspot.com/77818 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: break up our too-large RPCSuite
Trying to let my test-parallelization work have a shorter long pole to gate timing. But this, although the longest test suite, seems not to make as drastic a difference as I'd expected---I have to work how to reduce the infrastructure overhead more. (@GWTC, even if successful, this is unlikely to help most external users, unless you happen to have an extra hundred machines available for a test run. Sorry. It should, however, let us break you less often, if only by shortening the build/test cycle of the robot builder.) On Tue, Oct 13, 2009 at 1:41 PM, wrote: > What's the underlying motivation here? > > > http://gwt-code-reviews.appspot.com/77814/diff/1/2 > File user/test/com/google/gwt/user/DeRPCSuite.java (right): > > http://gwt-code-reviews.appspot.com/77814/diff/1/2#newcode16 > Line 16: package com.google.gwt.user; > Put this in gwt.rpc instead. > > http://gwt-code-reviews.appspot.com/77814/diff/1/2#newcode48 > Line 48: import com.google.gwt.user.server.Base64Test; > Fix imports. > > http://gwt-code-reviews.appspot.com/77814/diff/1/3 > File user/test/com/google/gwt/user/RPCSuite.java (right): > > http://gwt-code-reviews.appspot.com/77814/diff/1/3#newcode91 > Line 91: // moved to RpcValueSuite: > suite.addTestSuite(ValueTypesTest.class); > Are these comments part of the actual commit? > > > http://gwt-code-reviews.appspot.com/77814 > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] right-click for tree items
Reviewers: jlabanca, Description: Hi John, could you review this patch for me? It's very small. The problem we were seeing was that for tree items, right- and middle-clicks were handled and the associated event were fired. This patch checks that only left-clicks fire such events. Thanks! kathrin Please review this at http://gwt-code-reviews.appspot.com/78813 Affected files: user/src/com/google/gwt/user/client/ui/Tree.java Index: user/src/com/google/gwt/user/client/ui/Tree.java === --- user/src/com/google/gwt/user/client/ui/Tree.java(revision 6346) +++ user/src/com/google/gwt/user/client/ui/Tree.java(working copy) @@ -541,7 +541,9 @@ // Currently, the way we're using image bundles causes extraneous events // to be sunk on individual items' open/close images. This leads to an // extra event reaching the Tree, which we will ignore here. -if (DOM.eventGetCurrentTarget(event) == getElement()) { +// Also, ignore middle and right clicks here. +if ((DOM.eventGetCurrentTarget(event) == getElement()) +&& (event.getButton() == Event.BUTTON_LEFT)) { elementClicked(DOM.eventGetTarget(event)); } break; --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6357 committed - More changes from review feedback and checkstyle fixes....
Revision: 6357 Author: j...@google.com Date: Tue Oct 13 11:08:52 2009 Log: More changes from review feedback and checkstyle fixes. Patch by: jat Review by: rdayal (TBR) http://code.google.com/p/google-web-toolkit/source/detail?r=6357 Added: /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/CloseModuleCallback.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/CloseModuleEvent.java Modified: /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/HostedModeBase.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/SwingUI.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/shell/BrowserWidgetHost.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/DevModeUI.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/DoneCallback.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/UiCallback.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/UiEvent.java /changes/jat/abstractui/dev/oophm/overlay/com/google/gwt/dev/HostedMode.java /changes/jat/abstractui/dev/oophm/src/com/google/gwt/dev/shell/BrowserChannel.java /changes/jat/abstractui/dev/oophm/src/com/google/gwt/dev/shell/OophmSessionHandler.java /changes/jat/abstractui/dev/oophm/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java /changes/jat/abstractui/dev/oophm/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java /changes/jat/abstractui/user/src/com/google/gwt/junit/BatchingStrategy.java === --- /dev/null +++ /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/CloseModuleCallback.java Tue Oct 13 11:08:52 2009 @@ -0,0 +1,34 @@ +/* + * Copyright 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.dev.ui; + +import com.google.gwt.dev.ui.DevModeUI.ModuleHandle; + +/** + * Callback for a request to close an active module from the UI. + */ +public interface CloseModuleCallback extends UiCallback { + + /** + * The user has requested the a module should be closed. In the event the + * user closes multiple modules at once (such as closing one window or tab in + * the UI), there will be separate calls for each one. + * + * @param moduleHandle module handle returned from + * {...@link DevModeUI#loadModule}. + */ + void onCloseModule(ModuleHandle moduleHandle); +} === --- /dev/null +++ /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/CloseModuleEvent.java Tue Oct 13 11:08:52 2009 @@ -0,0 +1,33 @@ +/* + * Copyright 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.dev.ui; + +/** + * Event used to request closing an active module. + * + * Registering a callback for this event instructs the UI it can allow the + * user to close active modules -- if no callback is registered it should not + * do so. + */ +public class CloseModuleEvent extends UiEvent { + + private static final Type TYPE = new Type( + "close-module"); + + public static Type getType() { +return TYPE; + } +} === --- /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/HostedModeBase.java Tue Oct 13 09:24:19 2009 +++ /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/HostedModeBase.java Tue Oct 13 11:08:52 2009 @@ -23,6 +23,7 @@ import com.google.gwt.dev.cfg.ModuleDefLoader; import com.google.gwt.dev.jjs.JJSOptions; import com.google.gwt.dev.shell.ArtifactAcceptor; +import com.google.gwt.dev.shell.BrowserChannelServer; import com.google.gwt.dev.shell.BrowserListener; import com.google.gwt.dev.shell.BrowserWidgetHost; import com.google.gwt.dev.shell.BrowserWidgetHostChecker; @@ -68,12 +69,35 @@ */ abstract class HostedModeBase implements DoneCallback { - public class UiBrowserWidgetHostImpl extends BrowserWidgetHostImpl { + /**
[gwt-contrib] Re: Integrates UiBinder with CssResource's imported scopes
Joel, can I turn this review over to you? Bob is swamped. Don't mind all the blather above about possible ClientBundle bugs, the patch works as is. http://gwt-code-reviews.appspot.com/78811 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6358 committed - Merge up to r6357 from farewellSwt....
Revision: 6358 Author: j...@google.com Date: Tue Oct 13 11:30:26 2009 Log: Merge up to r6357 from farewellSwt. svn merge --ignore-ancestry -r6325:6357 \ https://google-web-toolkit.googlecode.com/svn/branches/farewellSwt . http://code.google.com/p/google-web-toolkit/source/detail?r=6358 Modified: /changes/jat/abstractui/branch-info.txt /changes/jat/abstractui/tools/do-not-commit-to-trunk/README /changes/jat/abstractui/tools/do-not-commit-to-trunk/htmlunit-sources.jar /changes/jat/abstractui/tools/do-not-commit-to-trunk/htmlunit.jar === --- /changes/jat/abstractui/branch-info.txt Thu Oct 8 11:27:39 2009 +++ /changes/jat/abstractui/branch-info.txt Tue Oct 13 11:30:26 2009 @@ -8,3 +8,5 @@ == svn merge --ignore-ancestry -r6280:6325 \ https://google-web-toolkit.googlecode.com/svn/branches/farewellSwt . +svn merge --ignore-ancestry -r6325:6357 \ +https://google-web-toolkit.googlecode.com/svn/branches/farewellSwt . === --- /changes/jat/abstractui/tools/do-not-commit-to-trunk/README Thu Oct 8 11:27:39 2009 +++ /changes/jat/abstractui/tools/do-not-commit-to-trunk/README Tue Oct 13 11:30:26 2009 @@ -30,5 +30,5 @@ HtmlUnit's dependencies (not already in GWT_TOOLS/lib): nekohtml-1.9.13.jar -svn revision: 5053 - +svn revision: 5070 + === --- /changes/jat/abstractui/tools/do-not-commit-to-trunk/htmlunit-sources.jar Thu Oct 8 11:27:39 2009 +++ /changes/jat/abstractui/tools/do-not-commit-to-trunk/htmlunit-sources.jar Tue Oct 13 11:30:26 2009 Binary file, no diff available. === --- /changes/jat/abstractui/tools/do-not-commit-to-trunk/htmlunit.jar Thu Oct 8 11:27:39 2009 +++ /changes/jat/abstractui/tools/do-not-commit-to-trunk/htmlunit.jar Tue Oct 13 11:30:26 2009 Binary file, no diff available. --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Abstract out UI interface
Reviewers: rdayal, jlabanca, Description: This allows the built-in Swing UI to be replaced by an external tool, such as the Eclipse plugin. @jlabanca: please review the JUnitShell portion of this change. This is relative to the farewellSwt branch (where it will be committed before that is merged down to trunk). Please review this at http://gwt-code-reviews.appspot.com/77818 Affected files: branch-info.txt dev/core/src/com/google/gwt/core/ext/TreeLogger.java dev/core/src/com/google/gwt/dev/HeadlessUI.java dev/core/src/com/google/gwt/dev/HostedModeBase.java dev/core/src/com/google/gwt/dev/SwingUI.java dev/core/src/com/google/gwt/dev/shell/BrowserWidgetHost.java dev/core/src/com/google/gwt/dev/shell/BrowserWindowController.java dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java dev/core/src/com/google/gwt/dev/shell/HostedHtmlVersion.java dev/core/src/com/google/gwt/dev/ui/CloseModuleCallback.java dev/core/src/com/google/gwt/dev/ui/CloseModuleEvent.java dev/core/src/com/google/gwt/dev/ui/DevModeUI.java dev/core/src/com/google/gwt/dev/ui/DoneCallback.java dev/core/src/com/google/gwt/dev/ui/DoneEvent.java dev/core/src/com/google/gwt/dev/ui/RestartServerCallback.java dev/core/src/com/google/gwt/dev/ui/RestartServerEvent.java dev/core/src/com/google/gwt/dev/ui/UiCallback.java dev/core/src/com/google/gwt/dev/ui/UiEvent.java dev/core/src/com/google/gwt/dev/util/TemporaryBufferStream.java dev/core/test/com/google/gwt/dev/shell/BrowserChannelServerTest.java dev/core/test/com/google/gwt/dev/shell/FailErrorLogger.java dev/core/test/com/google/gwt/dev/shell/TestBrowserChannel.java dev/core/test/com/google/gwt/dev/util/TemporaryBufferStream.java dev/oophm/overlay/com/google/gwt/dev/GWTShell.java dev/oophm/overlay/com/google/gwt/dev/HostedMode.java dev/oophm/src/com/google/gwt/dev/ModuleTabPanel.java dev/oophm/src/com/google/gwt/dev/OophmHostedModeBase.java dev/oophm/src/com/google/gwt/dev/shell/BrowserChannel.java dev/oophm/src/com/google/gwt/dev/shell/BrowserChannelClient.java dev/oophm/src/com/google/gwt/dev/shell/BrowserChannelServer.java dev/oophm/src/com/google/gwt/dev/shell/BrowserListener.java dev/oophm/src/com/google/gwt/dev/shell/HostedModePluginObject.java dev/oophm/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java dev/oophm/src/com/google/gwt/dev/shell/JavaObject.java dev/oophm/src/com/google/gwt/dev/shell/OophmSessionHandler.java dev/oophm/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java dev/oophm/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java dev/oophm/src/com/google/gwt/dev/util/BrowserInfo.java dev/oophm/test/com/google/gwt/dev/shell/BrowserChannelTest.java user/src/com/google/gwt/junit/JUnitShell.java user/src/com/google/gwt/junit/RunStyleExternalBrowser.java user/src/com/google/gwt/junit/RunStyleHtmlUnit.java user/src/com/google/gwt/junit/RunStyleManual.java user/src/com/google/gwt/junit/RunStyleRemoteWeb.java user/src/com/google/gwt/junit/RunStyleSelenium.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: abstractui changes to be merged into farewellSWT
I committed the requested changes in abstractui at r6357, though some of them are rather different since the type-safe event changes. I also realized we need to add an event type for the user closing an active module. There is more work to do to enable this (we were waiting on removing SWT), but the idea is if the server registers a callback for CloseModule then the UI should allow the user to close an active module while still leaving the UI running. http://gwt-code-reviews.appspot.com/77817/diff/1/35 File dev/core/src/com/google/gwt/dev/DevModeUI.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode32 Line 32: * Callback interface for events from the UI. On 2009/10/13 17:06:12, rdayal wrote: > Nit: instead of "from" the UI, you could say "initiated by" the UI. Done. http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode81 Line 81: protected Type logLevel; On 2009/10/13 17:06:12, rdayal wrote: > Could make this private, and expose the value via a protected getter. Done. http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode146 Line 146: public void setCallback(String event, Callback callback) { On 2009/10/13 17:06:12, rdayal wrote: > Could this be final? Done. http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode164 Line 164: protected void callback(String event, Object callbackData) { On 2009/10/13 17:06:12, rdayal wrote: > Could this be final? Done. http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode174 Line 174: protected TreeLogger getConsoleLogger() { On 2009/10/13 17:06:12, rdayal wrote: > Could this be final? Done. http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode188 Line 188: protected boolean hasCallback(String event) { On 2009/10/13 17:06:12, rdayal wrote: > Could this be final? Done. http://gwt-code-reviews.appspot.com/77817/diff/1/30 File dev/core/src/com/google/gwt/dev/HostedModeBase.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/30#newcode69 Line 69: public class UiBrowserWidgetHostImpl extends BrowserWidgetHostImpl { On 2009/10/13 17:06:12, rdayal wrote: > Add some javadoc here. Done. http://gwt-code-reviews.appspot.com/77817/diff/1/36 File dev/core/src/com/google/gwt/dev/SwingUI.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/36#newcode107 Line 107: static ImageIcon loadImageIcon(String name, boolean prependPackage) { On 2009/10/13 17:06:12, rdayal wrote: > Document the return behavior. Done. http://gwt-code-reviews.appspot.com/77817/diff/1/36#newcode229 Line 229: tab.disconnect(); On 2009/10/13 17:06:12, rdayal wrote: > Is this thread-safe? There is nothing here that isn't -- tab.disconnect() might need to protect any data structures it uses. http://gwt-code-reviews.appspot.com/77817/diff/1/36#newcode247 Line 247: return ++sessionCounter; On 2009/10/13 17:06:12, rdayal wrote: > Is this thread-safe? I think it is not, but since this is existing code and the worst that could happen is a log file can be overwritten with another it should not be fixed here. I will add a TODO. http://gwt-code-reviews.appspot.com/77817/diff/1/19 File dev/oophm/src/com/google/gwt/dev/shell/BrowserChannel.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/19#newcode1332 Line 1332: stream.flush(); On 2009/10/13 17:06:12, rdayal wrote: > spurious indent? Done. http://gwt-code-reviews.appspot.com/77817/diff/1/4 File user/src/com/google/gwt/junit/BatchingStrategy.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/4#newcode51 Line 51: // TODO(jat): merge problem? On 2009/10/13 17:06:12, rdayal wrote: > Not sure what this refers to. Left-over - removed. http://gwt-code-reviews.appspot.com/77817/diff/1/6 File user/src/com/google/gwt/junit/JUnitShell.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/6#newcode2 Line 2: * Copyright 2008 Google Inc. On 2009/10/13 17:06:12, rdayal wrote: > Might be good to have someone else review this file; I'm not very familiar with > this part of the code. Ok. http://gwt-code-reviews.appspot.com/77817 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Stricter XMLElement#consumeSingleChild, fixes NPE in DockLayoutPanelParser
Nope. Go figure. On Tue, Oct 13, 2009 at 2:03 PM, Ray Ryan wrote: > I thank you. > Shouldn't need to edit for that, though. Did the Reply and Publish+Mail > Comments links not work? > > > On Tue, Oct 13, 2009 at 10:57 AM, wrote: > >> On 2009/10/13 17:45:26, Ray Ryan wrote: >> >>> Why did you want to edit the issue? >>> >> >> Committed r6356 >>> >> >> So I could say this: LGTM :) >> >> >> http://gwt-code-reviews.appspot.com/77816 >> > > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Stricter XMLElement#consumeSingleChild, fixes NPE in DockLayoutPanelParser
I thank you. Shouldn't need to edit for that, though. Did the Reply and Publish+Mail Comments links not work? On Tue, Oct 13, 2009 at 10:57 AM, wrote: > On 2009/10/13 17:45:26, Ray Ryan wrote: > >> Why did you want to edit the issue? >> > > Committed r6356 >> > > So I could say this: LGTM :) > > > http://gwt-code-reviews.appspot.com/77816 > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Stricter XMLElement#consumeSingleChild, fixes NPE in DockLayoutPanelParser
On 2009/10/13 17:45:26, Ray Ryan wrote: > Why did you want to edit the issue? > Committed r6356 So I could say this: LGTM :) http://gwt-code-reviews.appspot.com/77816 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Stricter XMLElement#consumeSingleChild, fixes NPE in DockLayoutPanelParser
Reviewers: jgw, Message: Why did you want to edit the issue? Committed r6356 Please review this at http://gwt-code-reviews.appspot.com/77816 Affected files: M user/src/com/google/gwt/uibinder/parsers/CellPanelParser.java M user/src/com/google/gwt/uibinder/parsers/DockPanelParser.java M user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java M user/src/com/google/gwt/uibinder/rebind/XMLElement.java M user/test/com/google/gwt/uibinder/rebind/XMLElementTest.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6356 committed - Stricter XMLElement#consumeSingleChild, fixes NPE in DockLayoutPanelPa...
Revision: 6356 Author: rj...@google.com Date: Tue Oct 13 10:44:52 2009 Log: Stricter XMLElement#consumeSingleChild, fixes NPE in DockLayoutPanelParser. Also improves testing of XMLElement Reviewed by jgw http://code.google.com/p/google-web-toolkit/source/detail?r=6356 Modified: /trunk/user/src/com/google/gwt/uibinder/parsers/CellPanelParser.java /trunk/user/src/com/google/gwt/uibinder/parsers/DockPanelParser.java /trunk/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java /trunk/user/src/com/google/gwt/uibinder/rebind/XMLElement.java /trunk/user/test/com/google/gwt/uibinder/rebind/XMLElementTest.java === --- /trunk/user/src/com/google/gwt/uibinder/parsers/CellPanelParser.java Tue Sep 1 15:14:29 2009 +++ /trunk/user/src/com/google/gwt/uibinder/parsers/CellPanelParser.java Tue Oct 13 10:44:52 2009 @@ -87,9 +87,6 @@ if (ns.equals(elem.getNamespaceUri()) && tagName.equals(CELL_TAG)) { // It's a cell element, so parse its single child as a widget. XMLElement widget = child.consumeSingleChildElement(); -if (widget == null) { - writer.die("Cell must contain a single child widget"); -} String childFieldName = writer.parseElementToField(widget); writer.addStatement("%1$s.add(%2$s);", fieldName, childFieldName); === --- /trunk/user/src/com/google/gwt/uibinder/parsers/DockPanelParser.java Thu Oct 8 18:15:53 2009 +++ /trunk/user/src/com/google/gwt/uibinder/parsers/DockPanelParser.java Tue Oct 13 10:44:52 2009 @@ -68,9 +68,6 @@ // And they can only have a single child widget. XMLElement widget = child.consumeSingleChildElement(); - if (widget == null) { -writer.die("Dock must contain a single child widget."); - } String childFieldName = writer.parseElementToField(widget); writer.addStatement("%1$s.add(%2$s, %3$s);", fieldName, childFieldName, translated); === --- /trunk/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java Wed Oct 7 13:08:06 2009 +++ /trunk/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java Tue Oct 13 10:44:52 2009 @@ -1,12 +1,12 @@ /* * Copyright 2008 Google Inc. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -21,6 +21,7 @@ import com.google.gwt.core.ext.typeinfo.JPackage; import com.google.gwt.core.ext.typeinfo.JParameter; import com.google.gwt.core.ext.typeinfo.TypeOracle; +import com.google.gwt.dev.shell.log.TreeItemLogger; import com.google.gwt.dom.client.TagName; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.parsers.AttributeMessageParser; @@ -60,10 +61,10 @@ /** * Writer for UiBinder generated classes. - * + * * TODO(rdamazio): Refactor this, extract model classes, improve ordering * guarantees, etc. - * + * * TODO(rjrjr): Improve error messages */ @SuppressWarnings("deprecation") @@ -160,7 +161,7 @@ /** * Returns a list of the given type and all its superclasses and implemented * interfaces in a breadth-first traversal. - * + * * @param type the base type * @return a breadth-first collection of its type hierarchy */ @@ -193,7 +194,7 @@ /** * Class names of parsers for values of attributes with no namespace prefix, * keyed by method parameter signatures. - * + * * TODO(rjrjr) Seems like the attribute parsers belong in BeanParser, which is * the only thing that uses them. */ @@ -281,12 +282,31 @@ handlerEvaluator = new HandlerEvaluator(ownerClass, logger, oracle); fieldManager = new FieldManager(logger); } + + /** + * Hack for testing. Die method works, nothing else does + */ + UiBinderWriter() { +this.baseClass = null; +this.implClassName = null; +this.oracle = null; +this.logger = new MortalLogger(new TreeItemLogger()); +this.templatePath = null; +this.messages = null; +uiRootType = null; +uiOwnerType = null; + +ownerClass = null; +bundleClass = null; +handlerEvaluator = null; +fieldManager = null; + } /** * Statements to be excuted right after the current attached element is * detached. This is useful for doing things that might be expensive while the * element is attached to the DOM. - * + * * @param format * @param args */ @@ -313,7 +333,7 @@ /** * Begin a section where a new a
[gwt-contrib] Re: break up our too-large RPCSuite
What's the underlying motivation here? http://gwt-code-reviews.appspot.com/77814/diff/1/2 File user/test/com/google/gwt/user/DeRPCSuite.java (right): http://gwt-code-reviews.appspot.com/77814/diff/1/2#newcode16 Line 16: package com.google.gwt.user; Put this in gwt.rpc instead. http://gwt-code-reviews.appspot.com/77814/diff/1/2#newcode48 Line 48: import com.google.gwt.user.server.Base64Test; Fix imports. http://gwt-code-reviews.appspot.com/77814/diff/1/3 File user/test/com/google/gwt/user/RPCSuite.java (right): http://gwt-code-reviews.appspot.com/77814/diff/1/3#newcode91 Line 91: // moved to RpcValueSuite: suite.addTestSuite(ValueTypesTest.class); Are these comments part of the actual commit? http://gwt-code-reviews.appspot.com/77814 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: abstractui changes to be merged into farewellSWT
Version 2 of your changes looks pretty good. I only had some small nits. You should have someone else review the JunitShell changes; I'm not familiar with that system at all. I question whether some of these classes should be in the dev.shell package. It seems like we've got a mishmash of related functionality scattered between the dev and dev.shell package; the line definitely seems blurry here. http://gwt-code-reviews.appspot.com/77817/diff/1/35 File dev/core/src/com/google/gwt/dev/DevModeUI.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode32 Line 32: * Callback interface for events from the UI. Nit: instead of "from" the UI, you could say "initiated by" the UI. http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode81 Line 81: protected Type logLevel; Could make this private, and expose the value via a protected getter. http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode146 Line 146: public void setCallback(String event, Callback callback) { Could this be final? http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode164 Line 164: protected void callback(String event, Object callbackData) { Could this be final? http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode174 Line 174: protected TreeLogger getConsoleLogger() { Could this be final? http://gwt-code-reviews.appspot.com/77817/diff/1/35#newcode188 Line 188: protected boolean hasCallback(String event) { Could this be final? http://gwt-code-reviews.appspot.com/77817/diff/1/30 File dev/core/src/com/google/gwt/dev/HostedModeBase.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/30#newcode69 Line 69: public class UiBrowserWidgetHostImpl extends BrowserWidgetHostImpl { Add some javadoc here. http://gwt-code-reviews.appspot.com/77817/diff/1/36 File dev/core/src/com/google/gwt/dev/SwingUI.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/36#newcode107 Line 107: static ImageIcon loadImageIcon(String name, boolean prependPackage) { Document the return behavior. http://gwt-code-reviews.appspot.com/77817/diff/1/36#newcode229 Line 229: tab.disconnect(); Is this thread-safe? http://gwt-code-reviews.appspot.com/77817/diff/1/36#newcode247 Line 247: return ++sessionCounter; Is this thread-safe? http://gwt-code-reviews.appspot.com/77817/diff/1/19 File dev/oophm/src/com/google/gwt/dev/shell/BrowserChannel.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/19#newcode1332 Line 1332: stream.flush(); spurious indent? http://gwt-code-reviews.appspot.com/77817/diff/1/4 File user/src/com/google/gwt/junit/BatchingStrategy.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/4#newcode51 Line 51: // TODO(jat): merge problem? Not sure what this refers to. http://gwt-code-reviews.appspot.com/77817/diff/1/6 File user/src/com/google/gwt/junit/JUnitShell.java (right): http://gwt-code-reviews.appspot.com/77817/diff/1/6#newcode2 Line 2: * Copyright 2008 Google Inc. Might be good to have someone else review this file; I'm not very familiar with this part of the code. http://gwt-code-reviews.appspot.com/77817 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Fixed NPE in DockLayoutPanelParser
LVVGTM. But I can't edit the issue. On Tue, Oct 13, 2009 at 12:34 PM, wrote: > Turns out we make that mistake a lot, and never ever take advantage of a > null return for that method. So let me counter with > http://gwt-code-reviews.appspot.com/77816 > > > http://gwt-code-reviews.appspot.com/78812 > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit Contributors" group. To post to this group, send email to google-web-toolkit-contributors@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit-contributors+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-web-toolkit-contributors?hl=en -~--~~~~--~~--~--~---
[gwt-contrib] Re: DockLayoutPanel small improvement
Thanks for the patch. I disagree with adding the setCenter method, I think the override of add() is the right thing to do. Making the method more forgiving also seems wrong, with the potential to hide the user's mistakes. I agree that the must-add-center-last thing is annoying, but Joel will need to say whether this is the right fix for it. http://gwt-code-reviews.appspot.com/77809 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Fixed NPE in DockLayoutPanelParser
Turns out we make that mistake a lot, and never ever take advantage of a null return for that method. So let me counter with http://gwt-code-reviews.appspot.com/77816 http://gwt-code-reviews.appspot.com/78812 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] abstractui changes to be merged into farewellSWT
Reviewers: rdayal, Description: This is a code review of jat's changes to abstract out the OOPHM UI from the Swing UI. This will make it far easier to provide other implementations of UIs for the OOPHM Server. Please review this at http://gwt-code-reviews.appspot.com/77817 Affected files: branch-info.txt dev/core/src/com/google/gwt/core/ext/TreeLogger.java dev/core/src/com/google/gwt/dev/DevModeUI.java dev/core/src/com/google/gwt/dev/HeadlessUI.java dev/core/src/com/google/gwt/dev/HostedModeBase.java dev/core/src/com/google/gwt/dev/SwingUI.java dev/core/src/com/google/gwt/dev/shell/BrowserWidgetHost.java dev/core/src/com/google/gwt/dev/shell/BrowserWindowController.java dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java dev/core/src/com/google/gwt/dev/shell/HostedHtmlVersion.java dev/core/src/com/google/gwt/dev/util/TemporaryBufferStream.java dev/core/test/com/google/gwt/dev/shell/BrowserChannelServerTest.java dev/core/test/com/google/gwt/dev/shell/FailErrorLogger.java dev/core/test/com/google/gwt/dev/shell/TestBrowserChannel.java dev/core/test/com/google/gwt/dev/util/TemporaryBufferStream.java dev/oophm/overlay/com/google/gwt/dev/GWTShell.java dev/oophm/overlay/com/google/gwt/dev/HostedMode.java dev/oophm/src/com/google/gwt/dev/ModuleTabPanel.java dev/oophm/src/com/google/gwt/dev/OophmHostedModeBase.java dev/oophm/src/com/google/gwt/dev/shell/BrowserChannel.java dev/oophm/src/com/google/gwt/dev/shell/BrowserChannelClient.java dev/oophm/src/com/google/gwt/dev/shell/BrowserChannelServer.java dev/oophm/src/com/google/gwt/dev/shell/BrowserListener.java dev/oophm/src/com/google/gwt/dev/shell/HostedModePluginObject.java dev/oophm/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java dev/oophm/src/com/google/gwt/dev/shell/JavaObject.java dev/oophm/src/com/google/gwt/dev/shell/OophmSessionHandler.java dev/oophm/src/com/google/gwt/dev/util/BrowserInfo.java dev/oophm/test/com/google/gwt/dev/shell/BrowserChannelTest.java user/src/com/google/gwt/junit/BatchingStrategy.java user/src/com/google/gwt/junit/JUnitShell.java user/src/com/google/gwt/junit/RunStyleExternalBrowser.java user/src/com/google/gwt/junit/RunStyleHtmlUnit.java user/src/com/google/gwt/junit/RunStyleManual.java user/src/com/google/gwt/junit/RunStyleRemoteWeb.java user/src/com/google/gwt/junit/RunStyleSelenium.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6355 committed - Create type-safe callbacks for UI, moving UI types to a separate packa...
Revision: 6355 Author: j...@google.com Date: Tue Oct 13 09:24:19 2009 Log: Create type-safe callbacks for UI, moving UI types to a separate package. Patch by: jat Review by: rdayal (TBR) http://code.google.com/p/google-web-toolkit/source/detail?r=6355 Added: /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/DevModeUI.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/DoneCallback.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/DoneEvent.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/RestartServerCallback.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/RestartServerEvent.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/UiCallback.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/UiEvent.java Deleted: /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/DevModeUI.java Modified: /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/HeadlessUI.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/HostedModeBase.java /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/SwingUI.java /changes/jat/abstractui/dev/oophm/overlay/com/google/gwt/dev/HostedMode.java === --- /dev/null +++ /changes/jat/abstractui/dev/core/src/com/google/gwt/dev/ui/DevModeUI.java Tue Oct 13 09:24:19 2009 @@ -0,0 +1,171 @@ +/* + * Copyright 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.dev.ui; + +import com.google.gwt.core.ext.TreeLogger; +import com.google.gwt.core.ext.TreeLogger.Type; +import com.google.gwt.dev.util.log.PrintWriterTreeLogger; + +import java.util.HashMap; +import java.util.Map; + +/** + * Defines the interaction between DevelopmentMode and the UI, so that + * alternate UIs can be implemented. + */ +public abstract class DevModeUI { + + /** + * Opaque handle to a module - it is returned from loadModule and the client + * can only pass it to unloadModule or get a logger for messages about that + * module. + */ + public interface ModuleHandle { + +/** + * @return the logger for this module. + */ +TreeLogger getLogger(); + } + + /** + * Map of callbacks. + */ + private final Map, UiCallback> callbacks = new HashMap< + UiEvent.Type, UiCallback>(); + + /** + * Log level for all logging in this UI. + */ + protected Type logLevel; + + /** + * A lazily-initialized console logger - see {...@link #getConsoleLogger()}. + */ + private PrintWriterTreeLogger consoleLogger = null; + + /** + * Create a top-level logger for messages which are not associated with the + * web server or any module. Defaults to logging to stdout. + * + * @return TreeLogger instance to use + */ + public TreeLogger getTopLogger() { +return getConsoleLogger(); + } + + /** + * Create the web server portion of the UI if not already created, and + * return its TreeLogger instance. + * + * Note that the {...@link RestartServerEvent} should already have a callback + * registered when this is called -- the UI is not required to change the + * UI if it is registered later. + * + * @param serverName short name of the web server or null if only the icon + * should be used + * @param serverIcon byte array containing an icon (fitting into 24x24) to + * use for the server, or null if only the name should be used + * @return TreeLogger instance + */ + public abstract TreeLogger getWebServerLogger(String serverName, + byte[] serverIcon); + + /** + * Initialize the UI - must be called before any other method. + * + * Subclasses should call super.initialize(logLevel). + * + * @param logLevel log level for all logging + */ + public void initialize(Type logLevel) { +this.logLevel = logLevel; + } + + /** + * Show that a module is loaded in the UI. + * + * @param userAgent full user agent name + * @param remoteSocket name of remote socket endpoint in host:port format + * @param url URL of top-level window + * @param tabKey stable browser tab identifier, or the empty string if no + * such identifier is available + * @param moduleName the name of the module loaded + * @param sessionKey a unique session key + * @param agentTag short-form user agent identifier, suitable for use in + * a label for thi
[gwt-contrib] Re: GWT app on App Engine not working since today
Hi Daniel, We're not aware of any changes for this functionality. Can you give us your app-id so we can investigate further? (Feel free to use a private reply). On Tue, Oct 13, 2009 at 6:30 AM, dflorey wrote: > > Ok, I double checked with my app on several customers domains. All > apps running on the new 1.2.6 app engine backend are broken. > So gwt is definitely working, but it's not working in conjunction with > the new 1.2.6 backend. > While 1.2.5 was serving the welcome-page using a real redirect, the > new version seems to serve just the content of the welcome page so > that all subsequent requests from the gwt locale detection are broken > (they go to / instead of /modulename/). > My workaround is to implement a RedirectServlet simulating the real > redirect to the entry point html page. But this makes all url's look > ugly and all of my customers will have to redeploy the app to their > Google Apps domains :-( > > On 13 Okt., 11:42, dflorey wrote: > > I've a big problem. My GWT app is not working any more since today. > > This is what I see from the logs: > > Let's say my app module is renamed to "modulename" and I want to > > access the app on myapp.appspot.com I have to specify /modulename/ > > index.html as welcome page in order to load the app. > > This worked fine until today as now the page is accessed properly, but > > all gwt resources will not be loaded anymore as they of course reside > > in /modulename/... but the gwt loader tries to load them from /... > > I don't know if this is because of the upcoming app engine 1.2.6 > > release handling > > this in a different way or if the gwt-2.x behavior of loading > > resources has changed. > > > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : GWT 2.0: Initial thoughts on $entry
Still LGTM, modulo the clarification on return values from event handlers. http://gwt-code-reviews.appspot.com/77810/diff/1007/30 File user/src/com/google/gwt/core/client/impl/Impl.java (right): http://gwt-code-reviews.appspot.com/77810/diff/1007/30#newcode166 Line 166: // What is the correct return value here or should we re-throw? On 2009/10/12 20:42:07, scottb wrote: > Shouldn't this be a void method anyway? (and so on up the stack) I would argue the same thing, given that it's silly to return anything from event handlers in general (DOM events allow a boolean return value, but it's just a shortcut for preventDefault()). Except that there's exactly one case where the return value is necessary and vital: window.onbeforeunload(). Its return value must be either a string or undefined, and returning a string causes the browser to display the "are you sure you want to leave this page" message. So we have no choice but to forward the return value. In this case, 'undefined' is the appropriate response if an exception is thrown, and I think it's safe to say that we should always return undefined if the exception is caught, and point out that this behavior is possible (preferably with a suggestion to avoid return values in event handlers, because they're normally stupid). http://gwt-code-reviews.appspot.com/77810 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : Update user code to use $entry
LGTM, modulo one change I'd like to make in LayoutImplIE6. http://gwt-code-reviews.appspot.com/77813/diff/52/53 File user/src/com/google/gwt/http/client/Request.java (right): http://gwt-code-reviews.appspot.com/77813/diff/52/53#newcode266 Line 266: fireOnResponseReceivedImpl(callback); It is safe to not use $entry() here because it's being handled by XMLHttpRequest, right? http://gwt-code-reviews.appspot.com/77813/diff/52/55 File user/src/com/google/gwt/layout/client/LayoutImplIE6.java (right): http://gwt-code-reviews.appspot.com/77813/diff/52/55#newcode248 Line 248: parent.onresize = $entry(function() { Let's not use $entry() in these two cases. There is no chance of user code being called from this callback, and I don't want to allow the possibility of anything getting in the way of handling resize events here. http://gwt-code-reviews.appspot.com/77813/diff/52/57 File user/src/com/google/gwt/user/client/DOM.java (right): http://gwt-code-reviews.appspot.com/77813/diff/52/57#newcode1263 Line 1263: dispatchEventImpl(evt, elem, listener); $entry() will have already been called by DOMImpl*, right? http://gwt-code-reviews.appspot.com/77813 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Comment on UiBinderI18n in google-web-toolkit
Comment by rj...@google.com: @sami.jaber Stuff like setToken is handled by BeanParser For more information: http://code.google.com/p/google-web-toolkit/wiki/UiBinderI18n --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] test case for -soyc and SOYC dashboard
Reviewers: Lex, Description: Hi Lex, could you review this patch for me? It implements a simple test case that invokes the compiler with the -soyc flag, produces the dashboard files, and then checks whether the files exist. Getting this to work also required some build file magic (thanks to jlabanca). Thanks! Please review this at http://gwt-code-reviews.appspot.com/77815 Affected files: dev/core/build.xml dev/core/test/com/google/gwt/dev/CompilerTest.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Fixed NPE in DockLayoutPanelParser
Reviewers: Ray Ryan, Please review this at http://gwt-code-reviews.appspot.com/78812 Affected files: M user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java Index: user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java diff --git a/user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java b/user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java index c336ee8d8d2b17519ffd47a1149224a56205985a..2ec3bb32039df0fca6d29261d34d5837309e20ed 100644 --- a/user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java +++ b/user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java @@ -86,6 +86,9 @@ public class DockLayoutPanelParser implements ElementParser { // Consume the single widget element. XMLElement widget = child.consumeSingleChildElement(); + if (widget == null) { +writer.die("%s must have a single child widget", child); + } String childFieldName = writer.parseElementToField(widget); if (requiresSize(child)) { --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6354 committed - Fixes IE bug in ScrollPanel at 100% width; Adds Requires/ProvidesResiz...
Revision: 6354 Author: j...@google.com Date: Tue Oct 13 05:52:22 2009 Log: Fixes IE bug in ScrollPanel at 100% width; Adds Requires/ProvidesResize. Review: http://gwt-code-reviews.appspot.com/78810 http://code.google.com/p/google-web-toolkit/source/detail?r=6354 Modified: /trunk/user/src/com/google/gwt/user/client/ui/ScrollPanel.java === --- /trunk/user/src/com/google/gwt/user/client/ui/ScrollPanel.java Tue May 12 11:20:32 2009 +++ /trunk/user/src/com/google/gwt/user/client/ui/ScrollPanel.java Tue Oct 13 05:52:22 2009 @@ -27,15 +27,26 @@ */ @SuppressWarnings("deprecation") public class ScrollPanel extends SimplePanel implements SourcesScrollEvents, -HasScrollHandlers { +HasScrollHandlers, RequiresResize, ProvidesResize { + + private Element containerElem; /** * Creates an empty scroll panel. */ public ScrollPanel() { setAlwaysShowScrollBars(false); + +containerElem = DOM.createDiv(); +getElement().appendChild(containerElem); + // Prevent IE standard mode bug when a AbsolutePanel is contained. -DOM.setStyleAttribute(getElement(), "position", "relative"); +DOM.setStyleAttribute(containerElem, "position", "relative"); + +// Hack to account for the IE6/7 scrolling bug described here: +// http://stackoverflow.com/questions/139000/div-with-overflowauto-and-a-100-wide-table-problem +DOM.setStyleAttribute(getElement(), "zoom", "1"); +DOM.setStyleAttribute(containerElem, "zoom", "1"); } /** @@ -89,6 +100,13 @@ public int getScrollPosition() { return DOM.getElementPropertyInt(getElement(), "scrollTop"); } + + public void onResize() { +Widget child = getWidget(); +if ((child != null) && (child instanceof RequiresResize)) { + ((RequiresResize) child).onResize(); +} + } /** * @deprecated Use the {...@link HandlerRegistration#removeHandler} @@ -194,6 +212,10 @@ public void setWidth(String width) { super.setWidth(width); } + + protected Element getContainerElement() { +return containerElem; + } private native void ensureVisibleImpl(Element scroll, Element e) /*-{ if (!e) --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Fixes IE bug in ScrollPanel at 100% width; Adds Requires/ProvidesResize.
Committed at r6354. http://gwt-code-reviews.appspot.com/78810 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Fixes IE bug in ScrollPanel at 100% width; Adds Requires/ProvidesResize.
FWIW, I used the old DOM methods so as not to conflate updating the class with this patch. We'll come back and do a mass-update to the newer DOM methods in a separate pass. On 2009/10/12 21:04:54, jlabanca wrote: > LGTM > http://gwt-code-reviews.appspot.com/78810/diff/1/2 > File user/src/com/google/gwt/user/client/ui/ScrollPanel.java (right): > http://gwt-code-reviews.appspot.com/78810/diff/1/2#newcode44 > Line 44: DOM.setStyleAttribute(containerElem, "position", "relative"); > Might be better to use containerElem.getStyle().setPosition(Position.Relative) > http://gwt-code-reviews.appspot.com/78810/diff/1/2#newcode49 > Line 49: DOM.setStyleAttribute(containerElem, "zoom", "1"); > You could use getStyle() here too http://gwt-code-reviews.appspot.com/78810 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: GWT app on App Engine not working since today
Ok, I double checked with my app on several customers domains. All apps running on the new 1.2.6 app engine backend are broken. So gwt is definitely working, but it's not working in conjunction with the new 1.2.6 backend. While 1.2.5 was serving the welcome-page using a real redirect, the new version seems to serve just the content of the welcome page so that all subsequent requests from the gwt locale detection are broken (they go to / instead of /modulename/). My workaround is to implement a RedirectServlet simulating the real redirect to the entry point html page. But this makes all url's look ugly and all of my customers will have to redeploy the app to their Google Apps domains :-( On 13 Okt., 11:42, dflorey wrote: > I've a big problem. My GWT app is not working any more since today. > This is what I see from the logs: > Let's say my app module is renamed to "modulename" and I want to > access the app on myapp.appspot.com I have to specify /modulename/ > index.html as welcome page in order to load the app. > This worked fine until today as now the page is accessed properly, but > all gwt resources will not be loaded anymore as they of course reside > in /modulename/... but the gwt loader tries to load them from /... > I don't know if this is because of the upcoming app engine 1.2.6 > release handling > this in a different way or if the gwt-2.x behavior of loading > resources has changed. --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] GWT app on App Engine not working since today
I've a big problem. My GWT app is not working any more since today. This is what I see from the logs: Let's say my app module is renamed to "modulename" and I want to access the app on myapp.appspot.com I have to specify /modulename/ index.html as welcome page in order to load the app. This worked fine until today as now the page is accessed properly, but all gwt resources will not be loaded anymore as they of course reside in /modulename/... but the gwt loader tries to load them from /... I don't know if this is because of the upcoming app engine 1.2.6 release handling this in a different way or if the gwt-2.x behavior of loading resources has changed. --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---