[gwt-contrib] Re: RR: Adding Kelly's event dispatch app to reference on 1.5
Ah! makes perfect sense, sorry for the confusion. On Wed, Nov 5, 2008 at 6:30 PM, Ray Ryan <[EMAIL PROTECTED]> wrote: > Because it tests the 1.5 api. If we want to run it again, it will be > simplest if it lives with the 1.5 code. Adding it to reference should be > safe, since reference is not part of the product jars. > > > On Wed, Nov 5, 2008 at 3:26 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote: > >> Why 1.5 rather the 1.6? >> >> >> On Wed, Nov 5, 2008 at 5:32 PM, Ray Ryan <[EMAIL PROTECTED]> wrote: >> >>> Wait. What? When you said "the entire 1.6 branch", did you mean the >>> entire 1.5 branch? >>> Here's how I understand the plan: >>> >>> Put this benchmark app patch into 1.5 >>> 1.5 -> 1.6 >>> 1.6 -> 1.6_clean_event >>> Edit the benchmark app in 1.6_clean_event, to use the new calls. >>> >>> Can I get an LGTM from either Emily or Kelly on that? >>> >>> rjrjr >>> >>> On Wed, Nov 5, 2008 at 9:08 AM, Ray Ryan <[EMAIL PROTECTED]> wrote: >>> Sounds like a plan. On Tue, Nov 4, 2008 at 6:08 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote: > Ray, > >I think you actually want to merge the entire 1.6 branch into the > 1.6 clean events branch rather then copying the benchmark and update the > branch.txt file in clean events with that info. Otherwise, the merge back > from 1.6 is going to more painful then even today's fire drill was. > > Cheers, > > Emily > > > > > On Tue, Nov 4, 2008 at 6:51 PM, Ray Ryan <[EMAIL PROTECTED]> wrote: > >> Hey, Kelly. >> The attached is the 1.5 version of the event dispatch benchmark you >> wrote last week, and is intended to be committed to the references >> directory >> of the 1.5 branch. I plan to svn copy it from there >> to branches/1_6_clean_events/reference and there apply the diff between >> your >> 1.5 and 1.6 versions. >> >> What do you think? >> >> rjrjr >> >> >> >> > > > -- > "There are only 10 types of people in the world: Those who understand > binary, and those who don't" > > > >>> >>> >>> >> >> >> -- >> "There are only 10 types of people in the world: Those who understand >> binary, and those who don't" >> >> >> > > > > -- "There are only 10 types of people in the world: Those who understand binary, and those who don't" --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] [EMAIL PROTECTED] commented on branch /branches/1_6_clean_events.
[google-web-toolkit] [EMAIL PROTECTED] commented on branch /branches/1_6_clean_events. Details are at http://code.google.com/p/google-web-toolkit/source/branch?spec=issue3083&branch=%2Fbranches%2F1_6_clean_events General Comment: First round of comments covering mostly events/dom/client Line-by-line comments: File: /branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl/RawJsMapImpl.java (r3958) === Line 27: * then three versions of put and get, so do not use! --- I don't understand the last comment. Shouldn't this just say: "Do not use this, it is effectively private" Line 31: public class RawJsMapImpl { --- Why is this "RawJsMapImpl"? Shouldn't this be JsMapImpl? What does raw signify? I think I remember that we decided to favor single letter type parameters. I think this would be a good place for type T since this is just a simple container. I also have some general concerns about this class. Why are we using a java.util.HashMap when running bytecode and a JavaScriptObject for running in JavaScript? This seems like an unwelcome difference when running hosted mode vs. web mode. I seem to recall some discussion about being able to run this stuff on the server. However, I'm not sure that's a worthwhile goal and in fact it wasn't in the original design doc. Line 33: private static class KeyMap extends JavaScriptObject { --- KeyMap seems like a strange name. Isn't this just a JsMap or JsMapImpl? Line 36: return (RawJsMapImpl.KeyMap) JavaScriptObject.createObject(); --- I always use this because it keeps you from having to re-specify the type: JavaScriptObject.createObject().cast() Would that be better here than a real cast? Line 72: public final ValueType get(String key) { --- Do we actually use this one for anything? I could see some bugs creeping in at some point because of unfamiliarity with safeGet and safePut. Maybe these should be private. Line 110: return get(key + ":"); --- We've always used a ":" prefix in the past. It's not a big deal that we're using a suffix here, but I was just wondering if there was a reason why we did it differently? File: /branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/AllFocusHandlers.java (r3942) === Line 32: public static void addHandlers( --- This is strangely named. You are not adding multiple handlers, you are attaching a single handler to receive many event types. Line 33: HasAllFocusHandlers source, EventHandlerType handlers) { --- Similarly, this seems to make more sense as handler and not handlers. File: /branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/AllMouseHandlers.java (r3942) === Line 38: public static void addHandlers( --- This is strangely named. You are not adding multiple handlers, you are attaching a single handler to receive many event types. Line 39: HasAllMouseHandlers source, EventHandler handlers) { --- handler instead of handlers File: /branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/BlurEvent.java (r3942) === Line 29: private static Type TYPE = new Type(Event.ONBLUR, --- final Line 33:* Ensures the existence of the handler TYPE, so the system knows to start --- Is this up to date? I don't see where this ensures the existence of TYPE. Line 45:* to fire click events. --- update click to blur Line 47: protected BlurEvent() { --- What is the use case for creating subclasses of these type of events? File: /branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/ChangeEvent.java (r3942) ==
[gwt-contrib] [google-web-toolkit] [EMAIL PROTECTED] commented on branch /branches/1_6_clean_events.
[google-web-toolkit] [EMAIL PROTECTED] commented on branch /branches/1_6_clean_events. Details are at http://code.google.com/p/google-web-toolkit/source/branch?spec=issue3083&branch=%2Fbranches%2F1_6_clean_events Score: Neutral General Comment: Here are some comments about about the gwt/user/client package. Most of the changes look sensible, just a few notes on clarity. Line-by-line comments: File: /branches/1_6_clean_events/user/src/com/google/gwt/user/client/L.java (r3940) === Line 32: * Root of legacy listener support hierarchy. --- This could definitely use some more explanatory javadoc. File: /branches/1_6_clean_events/user/src/com/google/gwt/user/client/Window.java (r3937) === Line 61: * The message to display to the user in an attempt to keep them on the --- Kind of prescriptivist -- maybe more like "to see whether they really want to leave the page"? Line 310: public static class ScrollEvent extends AbstractEvent { --- In general, we could replace Window.InnerClass with just InnerClass (while inside Window). Line 792: if (GWT.isClient() && !closeHandlersInitialized) { --- The idea that the Window class would be running on a server is confusing -- why would this come up? File: /branches/1_6_clean_events/user/src/com/google/gwt/user/client/ui/CheckBox.java (r3937) === Line 230: if (eventsToSink == -1) { --- This could be clearer -- somebody who's not familiar with the event sinking magic wouldn't know what -1 means here. File: /branches/1_6_clean_events/user/src/com/google/gwt/user/client/ui/HasValue.java (r3941) === Line 3: * --- This file was created in 2008, yes? File: /branches/1_6_clean_events/user/src/com/google/gwt/user/client/ui/SuggestBox.java (r3940) === Line 90: * CSS Style Rules .gwt-SuggestBox { the suggest --- This is going to be hard to edit, with all the HTML in the javadoc bunched up like that. Does AutoFormat do this? File: /branches/1_6_clean_events/user/src/com/google/gwt/user/client/ui/Widget.java (r3961) === Line 75:* Is the given event handled by this widget? --- This could use an example here. Why would you want to call this? Line 289: final boolean isOrWasAttached() { --- A little explanatory comment about how this works would be much appreciated. Does eventsToSink always get set to something that's not -1 when the widget becomes attached? What if it doesn't sink any events? ... Respond to these comments at http://code.google.com/p/google-web-toolkit/source/branch?spec=issue3083&branch=%2Fbranches%2F1_6_clean_events -- You received this message because you starred this review, or because your project has directed all notifications to a mailing list that you subscribe to. You may adjust your review notification preferences at: http://code.google.com/hosting/settings --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR: Adding Kelly's event dispatch app to reference on 1.5
Because it tests the 1.5 api. If we want to run it again, it will be simplest if it lives with the 1.5 code. Adding it to reference should be safe, since reference is not part of the product jars. On Wed, Nov 5, 2008 at 3:26 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote: > Why 1.5 rather the 1.6? > > > On Wed, Nov 5, 2008 at 5:32 PM, Ray Ryan <[EMAIL PROTECTED]> wrote: > >> Wait. What? When you said "the entire 1.6 branch", did you mean the entire >> 1.5 branch? >> Here's how I understand the plan: >> >> Put this benchmark app patch into 1.5 >> 1.5 -> 1.6 >> 1.6 -> 1.6_clean_event >> Edit the benchmark app in 1.6_clean_event, to use the new calls. >> >> Can I get an LGTM from either Emily or Kelly on that? >> >> rjrjr >> >> On Wed, Nov 5, 2008 at 9:08 AM, Ray Ryan <[EMAIL PROTECTED]> wrote: >> >>> Sounds like a plan. >>> >>> On Tue, Nov 4, 2008 at 6:08 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote: >>> Ray, I think you actually want to merge the entire 1.6 branch into the 1.6 clean events branch rather then copying the benchmark and update the branch.txt file in clean events with that info. Otherwise, the merge back from 1.6 is going to more painful then even today's fire drill was. Cheers, Emily On Tue, Nov 4, 2008 at 6:51 PM, Ray Ryan <[EMAIL PROTECTED]> wrote: > Hey, Kelly. > The attached is the 1.5 version of the event dispatch benchmark you > wrote last week, and is intended to be committed to the references > directory > of the 1.5 branch. I plan to svn copy it from there > to branches/1_6_clean_events/reference and there apply the diff between > your > 1.5 and 1.6 versions. > > What do you think? > > rjrjr > > > > -- "There are only 10 types of people in the world: Those who understand binary, and those who don't" >>> >> >> >> > > > -- > "There are only 10 types of people in the world: Those who understand > binary, and those who don't" > > > > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR: Adding Kelly's event dispatch app to reference on 1.5
Why 1.5 rather the 1.6? On Wed, Nov 5, 2008 at 5:32 PM, Ray Ryan <[EMAIL PROTECTED]> wrote: > Wait. What? When you said "the entire 1.6 branch", did you mean the entire > 1.5 branch? > Here's how I understand the plan: > > Put this benchmark app patch into 1.5 > 1.5 -> 1.6 > 1.6 -> 1.6_clean_event > Edit the benchmark app in 1.6_clean_event, to use the new calls. > > Can I get an LGTM from either Emily or Kelly on that? > > rjrjr > > On Wed, Nov 5, 2008 at 9:08 AM, Ray Ryan <[EMAIL PROTECTED]> wrote: > >> Sounds like a plan. >> >> On Tue, Nov 4, 2008 at 6:08 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote: >> >>> Ray, >>> >>>I think you actually want to merge the entire 1.6 branch into the 1.6 >>> clean events branch rather then copying the benchmark and update the >>> branch.txt file in clean events with that info. Otherwise, the merge back >>> from 1.6 is going to more painful then even today's fire drill was. >>> >>> Cheers, >>> >>> Emily >>> >>> >>> >>> >>> On Tue, Nov 4, 2008 at 6:51 PM, Ray Ryan <[EMAIL PROTECTED]> wrote: >>> Hey, Kelly. The attached is the 1.5 version of the event dispatch benchmark you wrote last week, and is intended to be committed to the references directory of the 1.5 branch. I plan to svn copy it from there to branches/1_6_clean_events/reference and there apply the diff between your 1.5 and 1.6 versions. What do you think? rjrjr >>> >>> >>> -- >>> "There are only 10 types of people in the world: Those who understand >>> binary, and those who don't" >>> >>> >>> >> > > > > -- "There are only 10 types of people in the world: Those who understand binary, and those who don't" --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit commit] r3962 - branches/1_6_clean_events
Author: [EMAIL PROTECTED] Date: Wed Nov 5 14:35:13 2008 New Revision: 3962 Modified: branches/1_6_clean_events/branch-info.txt Log: Added "next merge" line Modified: branches/1_6_clean_events/branch-info.txt == --- branches/1_6_clean_events/branch-info.txt (original) +++ branches/1_6_clean_events/branch-info.txt Wed Nov 5 14:35:13 2008 @@ -6,4 +6,4 @@ /releases/1.6/1_6_clean_events was created from r3770 Merges: - \ No newline at end of file + -> The next merge into trunk will be r3770: --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR: Adding Kelly's event dispatch app to reference on 1.5
Wait. What? When you said "the entire 1.6 branch", did you mean the entire 1.5 branch? Here's how I understand the plan: Put this benchmark app patch into 1.5 1.5 -> 1.6 1.6 -> 1.6_clean_event Edit the benchmark app in 1.6_clean_event, to use the new calls. Can I get an LGTM from either Emily or Kelly on that? rjrjr On Wed, Nov 5, 2008 at 9:08 AM, Ray Ryan <[EMAIL PROTECTED]> wrote: > Sounds like a plan. > > On Tue, Nov 4, 2008 at 6:08 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote: > >> Ray, >> >>I think you actually want to merge the entire 1.6 branch into the 1.6 >> clean events branch rather then copying the benchmark and update the >> branch.txt file in clean events with that info. Otherwise, the merge back >> from 1.6 is going to more painful then even today's fire drill was. >> >> Cheers, >> >> Emily >> >> >> >> >> On Tue, Nov 4, 2008 at 6:51 PM, Ray Ryan <[EMAIL PROTECTED]> wrote: >> >>> Hey, Kelly. >>> The attached is the 1.5 version of the event dispatch benchmark you wrote >>> last week, and is intended to be committed to the references directory of >>> the 1.5 branch. I plan to svn copy it from there >>> to branches/1_6_clean_events/reference and there apply the diff between your >>> 1.5 and 1.6 versions. >>> >>> What do you think? >>> >>> rjrjr >>> >>> >>> >>> >> >> >> -- >> "There are only 10 types of people in the world: Those who understand >> binary, and those who don't" >> >> >> >> > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit commit] r3961 - in branches/1_6_clean_events/user: src/com/google/gwt/event/dom/client src/com/google/gwt...
Author: [EMAIL PROTECTED] Date: Wed Nov 5 14:17:59 2008 New Revision: 3961 Added: branches/1_6_clean_events/user/test/com/google/gwt/event/logical/ branches/1_6_clean_events/user/test/com/google/gwt/event/logical/shared/ branches/1_6_clean_events/user/test/com/google/gwt/event/logical/shared/LogicalEventsTest.java (contents, props changed) - copied, changed from r3946, /branches/1_6_clean_events/user/test/com/google/gwt/event/dom/client/EventsTest.java branches/1_6_clean_events/user/test/com/google/gwt/user/client/ui/DomHandlerBenchmark.java (contents, props changed) - copied, changed from r3946, /branches/1_6_clean_events/user/test/com/google/gwt/user/client/ui/DomEventBenchmarkV2.java Removed: branches/1_6_clean_events/user/test/com/google/gwt/event/dom/client/EventsTest.java branches/1_6_clean_events/user/test/com/google/gwt/user/client/ui/DomEventBenchmarkV2.java Modified: branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/DomEvent.java branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/MouseWheelEvent.java branches/1_6_clean_events/user/src/com/google/gwt/event/shared/AbstractEvent.java branches/1_6_clean_events/user/src/com/google/gwt/event/shared/HandlerManager.java branches/1_6_clean_events/user/src/com/google/gwt/event/shared/JsHandlerRegistry.java branches/1_6_clean_events/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java branches/1_6_clean_events/user/src/com/google/gwt/user/client/ui/Widget.java branches/1_6_clean_events/user/test/com/google/gwt/event/EventSuite.java branches/1_6_clean_events/user/test/com/google/gwt/event/shared/HandlerManagerTest.java Log: optimized addHandler removed events test, as dom events do not need to fire using junit. Added LogicalEventsTest instead. Fixed mouse scroll bug so both string event types are listened for. Renamed DomEventBenchmarkV2 to DomHandlerBenchmark Modified: branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/DomEvent.java == --- branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/DomEvent.java (original) +++ branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/DomEvent.java Wed Nov 5 14:17:59 2008 @@ -15,7 +15,7 @@ */ package com.google.gwt.event.dom.client; -import com.google.gwt.core.client.impl.RawJsMapImpl; +import com.google.gwt.core.client.impl.RawJsMapImpl; import com.google.gwt.event.shared.AbstractEvent; import com.google.gwt.event.shared.EventHandler; import com.google.gwt.event.shared.HandlerManager; @@ -50,19 +50,42 @@ this.nativeEventTypeInt = nativeEventTypeInt; } -Type(int nativeEventTypeInt, String nativeEventTypeString, +/** + * This is a highly dangerous method that allows dom event types to be + * triggered by the [EMAIL PROTECTED] DomEvent#fireNativeEvent(Event, HandlerManager)} + * method. It should only be used by implementors supporting new dom events. + * + * Any such dom event type must act as a flyweight around a native event + * object. + * + * + * + * @param nativeEventTypeInt the integer value used by sink events to set up + * event handling for this dom type + * @param eventName the raw js event name + * @param cached the cached object instance that will be used as a flyweight + * to wrap a native event + */ +protected Type(int nativeEventTypeInt, String eventName, DomEvent cached) { this.cached = cached; // All clinit activity should take place here for DomEvent. + this.nativeEventTypeInt = nativeEventTypeInt; if (registered == null) { -registered = new RawJsMapImpl>(); -reverseRegistered = new RawJsMapImpl>(); +init(); } - this.nativeEventTypeInt = nativeEventTypeInt; - registered.put(nativeEventTypeString, this); + registered.put(eventName, this); reverseRegistered.put(nativeEventTypeInt + "", this); } +Type(int nativeEventTypeInt, String[] eventNames, +DomEvent cached) { + this(nativeEventTypeInt, eventNames[0], cached); + for (int i = 1; i < eventNames.length; i++) { +registered.put(eventNames[i], this); + } +} + /** * Gets the native [EMAIL PROTECTED] Event} type integer corresponding to the native * event. @@ -85,10 +108,15 @@ * @param manager the event manager */ public static void fireNativeEvent(Event nativeEvent, HandlerManager manager) { -if (registered != null) { - final DomEvent.Type typeKey = registered.get(nativeEvent.getType()); - if (typeKey != null) { -fire(nativeEvent, manager, typeKey); +final DomEvent.Type typeKey = registered.get(nativeEvent.getType()); +
[gwt-contrib] Re: how to use GWT.runAsync()?
On Fri, Oct 31, 2008 at 11:50 AM, Ian Petersen <[EMAIL PROTECTED]> wrote: > The compiler already analyzes your code to do things like dead code > removal. In other words, it already removes code from the output that > it can prove will never be invoked. The support for runAsync is > similar in that the compiler constructs some kind of call graph of > your code and any subgraph that's entirely behind a call to runAsync > gets broken out into a separate "fragment". Each fragment is then > separately downloadable. That's it exactly. > Any > code that's called from startWorking and nowhere else should also be > separated from the main module, but anything that's called from > method2 would necessarily be included with the main module. The > analysis gets more complicated as you add calls to runAsync, but the > traffic I've seen describing the design of runAsync makes it sound > like the compiler should be able to handle any combination (barring, > of course, any bugs that might still be lingering). It's a new tool, so we'll have to figure out the best coding idioms to use it. I believe, though, that you're best off if you can factor your code so that you don't have much of the same code reachable via two runAsync calls. Instead, make one runAsync call, but let it take a callback as a parameter. That is, don't do this: void method1() { GWT.runAsync(/* ..method1 stuff.. */); } void method2() { GWT.runAsync(/* ..method2 stuff, similar to method1 stuff.. */); } Instead, do it like this: class MyModule { interface Callback { ... } static void runAsync(final Callback cb) { GWT.runAsync(new RunAsyncCallback() { void onSuccess() { cb.onSuccess(); } void onFailure() { Window.alert("doh!"); } } } void method1() { MyModule.runAsync(new Callback() { /*..method1 stuff..*/ }); } void method2() { MyModule.runAsync(new Callback() { /*..method2 stuff..*/ }); } The compiler associates code fragments with calls to runAsync. So, the idea here is that you help the compiler identify a good chunk of stuff to associate with the runAsync call in MyModule.runAsync. If you instead had method1 and method2 each call runAsync individually, then the compiler would not be able to assign code to each of those calls. If you try this idiom, do make sure that you make your own callback interface rather than usingRunAsyncCallback directly. You want the compiler to know that, within MyModule.runAsync, the call to cb.onSuccess() will only call the callbacks related to MyModule, not to any other callback in the system. Lex Spoon --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit commit] r3960 - branches/oophm/user/src/com/google/gwt/core/client
Author: [EMAIL PROTECTED] Date: Wed Nov 5 13:29:25 2008 New Revision: 3960 Added: branches/oophm/user/src/com/google/gwt/core/client/RunAsyncCallback.java (contents, props changed) Modified: branches/oophm/user/src/com/google/gwt/core/client/GWT.java Log: Merges revision 3664 from the trunk into the OOPHM branch. This revision adds a stub for GWT.runAsync that simply calls the callback. Review by: jat,scottb,bruce Modified: branches/oophm/user/src/com/google/gwt/core/client/GWT.java == --- branches/oophm/user/src/com/google/gwt/core/client/GWT.java (original) +++ branches/oophm/user/src/com/google/gwt/core/client/GWT.java Wed Nov 5 13:29:25 2008 @@ -1,5 +1,5 @@ /* - * Copyright 2007 Google Inc. + * 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 @@ -187,6 +187,15 @@ if (sGWTBridge != null) { sGWTBridge.log(message, e); } + } + + /** + * Run the supplied callback. The system is allowed to delay before running + * the callback while additional code is downloaded, but that feature is not + * yet implemented. Currently, the callback runs immediately. + */ + public static void runAsync(RunAsyncCallback callback) { +callback.onSuccess(); } /** Added: branches/oophm/user/src/com/google/gwt/core/client/RunAsyncCallback.java == --- (empty file) +++ branches/oophm/user/src/com/google/gwt/core/client/RunAsyncCallback.java Wed Nov 5 13:29:25 2008 @@ -0,0 +1,33 @@ +/* + * 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 + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.core.client; + +/** + * A callback meant to be used by + * [EMAIL PROTECTED] com.google.gwt.core.client.GWT#runAsync(RunAsyncCallback) }. + */ +public interface RunAsyncCallback { + /** + * Called when, for some reason, the necessary code cannot be loaded. For + * example, the user might no longer be on the network. + */ + void onFailure(Throwable caught); + + /** + * Called once the necessary code for it has been loaded. + */ + void onSuccess(); +} --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit commit] r3959 - in trunk: dev/core/src/com/google/gwt/dev/jjs dev/core/src/com/google/gwt/dev/jjs/ast dev...
Author: [EMAIL PROTECTED] Date: Wed Nov 5 11:21:13 2008 New Revision: 3959 Modified: trunk/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java trunk/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java trunk/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java trunk/dev/core/src/com/google/gwt/dev/jjs/impl/FragmentExtractor.java trunk/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java trunk/dev/core/src/com/google/gwt/dev/jjs/impl/Pruner.java trunk/dev/core/src/com/google/gwt/dev/jjs/impl/ReplaceRunAsyncs.java trunk/user/src/com/google/gwt/core/client/AsyncFragmentLoader.java Log: This patch adds a better code-splitting strategy for implementing GWT.runAsync. Instead of lumping all non-exclusive code atoms into the initial download, the initial download only includes the initially needed code. Additionally, a custom download is created for each split point that can be used if that split point is the first one to be reached. After the first download, a "leftovers" fragment is downloaded in the background. So, each call to runAsync causes three fragments to be created: the exclusive fragment as before, a new custom download, and a "leftovers" fragment. Review by: bobv (TBR) Modified: trunk/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java == --- trunk/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java (original) +++ trunk/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java Wed Nov 5 11:21:13 2008 @@ -211,7 +211,7 @@ // (10.5) Split up the program into fragments if (options.isAggressivelyOptimize()) { -CodeSplitter.exec(jprogram, jsProgram, postStringInterningMap); +CodeSplitter.exec(logger, jprogram, jsProgram, postStringInterningMap); } // (11) Perform any post-obfuscation normalizations. Modified: trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java == --- trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java (original) +++ trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.javaWed Nov 5 11:21:13 2008 @@ -43,6 +43,10 @@ } return null; } + + public JDeclarationStatement getDeclarationStatement() { +return declStmt; + } public JExpression getInitializer() { if (declStmt != null) { Modified: trunk/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java == --- trunk/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java (original) +++ trunk/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.javaWed Nov 5 11:21:13 2008 @@ -15,6 +15,7 @@ */ package com.google.gwt.dev.jjs.impl; +import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.dev.jjs.ast.Context; import com.google.gwt.dev.jjs.ast.JClassLiteral; import com.google.gwt.dev.jjs.ast.JExpression; @@ -25,6 +26,7 @@ import com.google.gwt.dev.jjs.ast.JReferenceType; import com.google.gwt.dev.jjs.ast.JStringLiteral; import com.google.gwt.dev.jjs.ast.JVisitor; +import com.google.gwt.dev.jjs.impl.FragmentExtractor.CfaLivenessPredicate; import com.google.gwt.dev.jjs.impl.FragmentExtractor.LivenessPredicate; import com.google.gwt.dev.jjs.impl.FragmentExtractor.NothingAlivePredicate; import com.google.gwt.dev.jjs.impl.FragmentExtractor.StatementLogger; @@ -59,12 +61,21 @@ * The precise way the program is fragmented is an implementation detail that is * subject to change. Whenever the fragment strategy changes, * AsyncFragmentLoader must be updated in tandem. That said, the - * current fragmentation strategy is to create one fragment for each call to - * runAsync(). Each such fragment holds the code that is - * exclusively needed by that particular call to runAsync(). Any - * code needed by two or more calls to runAsync() is placed in - * the initial fragment. + * current fragmentation strategy is to create an initial fragment and then + * three more fragments for each split point. For each split point, there is: * + * + * + * a secondary base fragment, which is downloaded if this split point is + * the first one reached. It contains enough code to continue running as soon as + * it downloads. + * an exclusively live fragment, which is downloaded if this split point is + * reached but is not the first one. It includes only that code that is + * exclusively needed by this split point. + * a leftovers fragment, which includes all code that is in none of: the + * initial download, any exclusive fragment, or the secondary base fragment for + * this split point. + * */ public class CodeSplitter { /** @@ -92,7 +103
[gwt-contrib] FYI: code reviews done through our googlecode project will CC this list.
I just wanted people to be aware of this. I've changed the settings in our project to always CC the code review comments to this list. /kel -- If you received this communication by mistake, you are entitled to one free ice cream cone on me. Simply print out this email including all relevant SMTP headers and present them at my desk to claim your creamy treat. We'll have a laugh at my emailing incompetence, and play a game of ping pong. (offer may not be valid in all States). --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit commit] r3958 - branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl
Author: [EMAIL PROTECTED] Date: Wed Nov 5 10:28:53 2008 New Revision: 3958 Modified: branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl/RawJsMapImpl.java Log: fixing RawJsMapImpl to use right line endings Modified: branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl/RawJsMapImpl.java == --- branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl/RawJsMapImpl.java (original) +++ branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl/RawJsMapImpl.java Wed Nov 5 10:28:53 2008 @@ -1,117 +1,117 @@ -/* - * 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 - * License for the specific language governing permissions and limitations under - * the License. - */ - -package com.google.gwt.core.client.impl; - -import com.google.gwt.core.client.GWT; -import com.google.gwt.core.client.JavaScriptObject; - -import java.util.HashMap; - -/** - * A raw js map implementation. public so we can avoid creating multiple - * versions for our internal code, the API is completely unsafe with no fewer - * then three versions of put and get, so do not use! - * - * @param value type - */ -public class RawJsMapImpl { - - private static class KeyMap extends JavaScriptObject { - -public static RawJsMapImpl.KeyMap create() { - return (RawJsMapImpl.KeyMap) JavaScriptObject.createObject(); -} - -protected KeyMap() { -} - -public final native ValueType get(String key) /*-{ - return this[key]; -}-*/; - -public final native ValueType get(int key) /*-{ - return this[key]; -}-*/; - -public final native void put(String key, ValueType value) /*-{ - this[key] = value; -}-*/; - -public final native void put(int key, ValueType value) /*-{ - this[key] = value; -}-*/; - } - - private RawJsMapImpl.KeyMap map; - private HashMap javaMap; - - public RawJsMapImpl() { -if (GWT.isScript()) { - map = KeyMap.create(); -} else { - javaMap = new HashMap(); -} - } - - // Raw get, only use for values that are known not to conflict with the - // browser's reserved keywords. - public final ValueType get(String key) { -if (GWT.isScript()) { - return map.get(key); -} else { - return javaMap.get(key); -} - } - - // int get only use with int get. - public final ValueType get(int key) { -if (GWT.isScript()) { - return map.get(key); -} else { - return javaMap.get(key + ""); -} - } - - // Raw put, only use with int get. - public final void put(int key, ValueType value) { -if (GWT.isScript()) { - map.put(key, value); -} else { - javaMap.put(key + "", value); -} - } - - // Raw put, only use for values that are known not to conflict with the - // browser's reserved keywords. - public final void put(String key, ValueType value) { -if (GWT.isScript()) { - map.put(key, value); -} else { - javaMap.put(key, value); -} - } - - // ONLY use this for values put with safePut. - public final ValueType safeGet(String key) { -return get(key + ":"); - } - - // ONLY use this for values that will be accessed with saveGet. - public final void safePut(String key, ValueType value) { -put(key + ":", value); - } +/* + * 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 + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.gwt.core.client.impl; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.core.client.JavaScriptObject; + +import java.util.HashMap; + +/** + * A raw js map implementation. public so we can avoid creating multiple + * versions for our internal code, the API is completely unsafe with no fewer + * then three versions of put and get, so do not use! + * + * @param value type + */ +public class RawJsMapImpl { + + private static class KeyMap extends JavaScriptObject { + +public static RawJsMapImpl.KeyMap create() { + return (RawJsMa
[gwt-contrib] Re: RR: Adding Kelly's event dispatch app to reference on 1.5
Sounds like a plan. On Tue, Nov 4, 2008 at 6:08 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote: > Ray, > >I think you actually want to merge the entire 1.6 branch into the 1.6 > clean events branch rather then copying the benchmark and update the > branch.txt file in clean events with that info. Otherwise, the merge back > from 1.6 is going to more painful then even today's fire drill was. > > Cheers, > > Emily > > > > > On Tue, Nov 4, 2008 at 6:51 PM, Ray Ryan <[EMAIL PROTECTED]> wrote: > >> Hey, Kelly. >> The attached is the 1.5 version of the event dispatch benchmark you wrote >> last week, and is intended to be committed to the references directory of >> the 1.5 branch. I plan to svn copy it from there >> to branches/1_6_clean_events/reference and there apply the diff between your >> 1.5 and 1.6 versions. >> >> What do you think? >> >> rjrjr >> >> >> >> > > > -- > "There are only 10 types of people in the world: Those who understand > binary, and those who don't" > > > > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Proposed change: allow logging/filtering of decoded requests
It's against trunk, rev 3809. If anything has fundamentally changed in the revisions since that one I can update and send a newer patch. On Wed, Nov 5, 2008 at 09:47, Miguel Méndez <[EMAIL PROTECTED]> wrote: > Is this patch against the trunk? If so, what revision is it against? > > > On Tue, Nov 4, 2008 at 3:48 PM, Rodrigo Damazio <[EMAIL PROTECTED]>wrote: > >> Thanks. Miguel, can you take a look? It's a small change. >> >> >> On Mon, Nov 3, 2008 at 18:04, Scott Blum <[EMAIL PROTECTED]> wrote: >> >>> This would be Bob Vawter, but he's out of town at the moment. Maybe >>> Miguel could also take a crack. >>> >>> >>> On Mon, Nov 3, 2008 at 4:57 PM, Rodrigo Damazio <[EMAIL PROTECTED]>wrote: >>> Hi all. With the purpose of allowing me to log GWT-RPC request signatures, I've made the attched patch - it adds a method on the servlet base class which can be overriden to be called after the request has been deserialized, and also adds a toString() method to RPCRequest so that it's easy to log. Thanks Rodrigo >>> >>> >>> >>> >> > > > -- > Miguel > --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit commit] r3957 - releases/1.6/user/src/com/google/gwt/junit
Author: [EMAIL PROTECTED] Date: Wed Nov 5 08:55:15 2008 New Revision: 3957 Modified: releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java Log: Removed unused import. Modified: releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java == --- releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java (original) +++ releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java Wed Nov 5 08:55:15 2008 @@ -20,7 +20,6 @@ import com.google.gwt.core.ext.TreeLogger.Type; import com.google.gwt.core.ext.typeinfo.JClassType; import com.google.gwt.core.ext.typeinfo.TypeOracle; -import com.google.gwt.dev.BootStrapPlatform; import com.google.gwt.dev.GWTShell; import com.google.gwt.dev.cfg.BindingProperty; import com.google.gwt.dev.cfg.ConfigurationProperty; --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit commit] r3956 - changes/bobv/soyc-reports-r3772/dev/core/src/com/google/gwt/core/linker/soyc
Author: [EMAIL PROTECTED] Date: Wed Nov 5 07:23:35 2008 New Revision: 3956 Modified: changes/bobv/soyc-reports-r3772/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java Log: Updates the SoycReportLinker not to use xerxes, but print everything directly to file. Modified: changes/bobv/soyc-reports-r3772/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java == --- changes/bobv/soyc-reports-r3772/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java (original) +++ changes/bobv/soyc-reports-r3772/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java Wed Nov 5 07:23:35 2008 @@ -24,35 +24,26 @@ import com.google.gwt.core.ext.linker.CompilationResult; import com.google.gwt.core.ext.linker.LinkerOrder; import com.google.gwt.core.ext.linker.SelectionProperty; -import com.google.gwt.core.ext.linker.SyntheticArtifact; import com.google.gwt.core.ext.linker.CompilationAnalysis.Snippit; import com.google.gwt.core.ext.linker.LinkerOrder.Order; import com.google.gwt.core.ext.soyc.ClassMember; import com.google.gwt.core.ext.soyc.FieldMember; import com.google.gwt.core.ext.soyc.FunctionMember; -import com.google.gwt.core.ext.soyc.HasAliases; -import com.google.gwt.core.ext.soyc.HasDependencies; -import com.google.gwt.core.ext.soyc.HasOverrides; import com.google.gwt.core.ext.soyc.Member; import com.google.gwt.core.ext.soyc.MethodMember; import com.google.gwt.core.ext.soyc.Range; import com.google.gwt.core.ext.soyc.Story; import com.google.gwt.core.ext.soyc.Story.Origin; -import com.google.gwt.util.tools.Utility; +import com.google.gwt.dev.util.HtmlTextOutput; -import org.w3c.dom.DOMImplementation; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.bootstrap.DOMImplementationRegistry; -import org.w3c.dom.ls.DOMImplementationLS; -import org.w3c.dom.ls.LSOutput; -import org.w3c.dom.ls.LSSerializer; - -import java.io.ByteArrayOutputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.io.Writer; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -72,8 +63,6 @@ @LinkerOrder(Order.PRE) public class SoycReportLinker extends AbstractLinker { - private DOMImplementation impl; - @Override public String getDescription() { return "Story of your compile report"; @@ -83,7 +72,8 @@ public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException { SortedSet reports = artifacts.find(CompilationAnalysis.class); - + + // Do nothing if there are no reports to be generated. if (reports.isEmpty()) { return artifacts; @@ -101,29 +91,30 @@ int reportNum = 0; SortedMap partialPathsByResult = new TreeMap(); + // TODO: This goes much faster in parallel, but what's the policy? ExecutorService executor = Executors.newSingleThreadExecutor(); -List> futures = new ArrayList>( +List> futures = new ArrayList>( reports.size()); for (final CompilationAnalysis report : reports) { final TreeLogger loopLogger = logger.branch(TreeLogger.SPAM, "Report for " + report.toString()); final String reportName = "report" + reportNum++ + ".xml.gz"; partialPathsByResult.put(report.getCompilationResult(), reportName); - Future future = executor.submit(new Callable() { -public SyntheticArtifact call() throws Exception { + Future future = executor.submit(new Callable() { +public Integer call() throws Exception { loopLogger.log(TreeLogger.INFO, "Started"); - return emitReport(loopLogger, report, reportName); + emitReport(loopLogger, report, reportName); + return 0; } }); futures.add(future); } executor.shutdown(); -for (Future future : futures) { - SyntheticArtifact artifact; +for (Future future : futures) { try { -artifact = future.get(); +future.get(); } catch (InterruptedException e) { logger.log(TreeLogger.ERROR, "Unable to process report", e); throw new UnableToCompleteException(); @@ -131,287 +122,519 @@ logger.log(TreeLogger.ERROR, "Unable to process report", e); throw new UnableToCompleteException(); } - artifact.setPrivate(true); - artifacts.add(artifact); } // Emit manifest -SyntheticArtifact artifact = emitManifest(logger, artifacts, -partialPathsByResult); -artifact.setPrivate(true); -artifacts.add(artifact); +emitManifest(logger, artifacts, partialPathsByResult); return artifacts; } - priv
[gwt-contrib] Re: Proposed change: allow logging/filtering of decoded requests
Is this patch against the trunk? If so, what revision is it against? On Tue, Nov 4, 2008 at 3:48 PM, Rodrigo Damazio <[EMAIL PROTECTED]> wrote: > Thanks. Miguel, can you take a look? It's a small change. > > > On Mon, Nov 3, 2008 at 18:04, Scott Blum <[EMAIL PROTECTED]> wrote: > >> This would be Bob Vawter, but he's out of town at the moment. Maybe >> Miguel could also take a crack. >> >> >> On Mon, Nov 3, 2008 at 4:57 PM, Rodrigo Damazio <[EMAIL PROTECTED]>wrote: >> >>>Hi all. With the purpose of allowing me to log GWT-RPC request >>> signatures, I've made the attched patch - it adds a method on the servlet >>> base class which can be overriden to be called after the request has been >>> deserialized, and also adds a toString() method to RPCRequest so that it's >>> easy to log. >>> >>> Thanks >>> Rodrigo >>> >>> >>> >>> >> >> >> >> > -- Miguel --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit commit] r3955 - in releases/1.6: dev/core/src/com/google/gwt/dev user/src/com/google/gwt/junit
Author: [EMAIL PROTECTED] Date: Wed Nov 5 06:43:10 2008 New Revision: 3955 Modified: releases/1.6/dev/core/src/com/google/gwt/dev/GWTHosted.java releases/1.6/dev/core/src/com/google/gwt/dev/GWTShell.java releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java Log: Fixes a bug introduced by the addition of GWTHosted. This new class did not set the context classloader prior to loading the modules specified on the command line resulting in an NPE. The patch goes further and moves the BootStrapPlatform calls into the constructors. Patch by: scottb, mmendez Modified: releases/1.6/dev/core/src/com/google/gwt/dev/GWTHosted.java == --- releases/1.6/dev/core/src/com/google/gwt/dev/GWTHosted.java (original) +++ releases/1.6/dev/core/src/com/google/gwt/dev/GWTHosted.java Wed Nov 5 06:43:10 2008 @@ -100,7 +100,6 @@ * shutdown AWT related threads, since the contract for their termination is * still implementation-dependent. */ -BootStrapPlatform.init(); GWTHosted shellMain = new GWTHosted(); if (shellMain.processArgs(args)) { shellMain.run(); Modified: releases/1.6/dev/core/src/com/google/gwt/dev/GWTShell.java == --- releases/1.6/dev/core/src/com/google/gwt/dev/GWTShell.java (original) +++ releases/1.6/dev/core/src/com/google/gwt/dev/GWTShell.java Wed Nov 5 06:43:10 2008 @@ -378,7 +378,6 @@ * shutdown AWT related threads, since the contract for their termination is * still implementation-dependent. */ -BootStrapPlatform.init(); GWTShell shellMain = new GWTShell(); if (shellMain.processArgs(args)) { shellMain.run(); @@ -423,6 +422,10 @@ } protected GWTShell(boolean forceServer, boolean noURLs) { +// Set any platform specific system properties. +BootStrapPlatform.init(); +BootStrapPlatform.applyPlatformHacks(); + registerHandler(getArgHandlerPort()); if (!forceServer) { @@ -562,9 +565,6 @@ */ public void run() { try { - // Set any platform specific system properties. - BootStrapPlatform.applyPlatformHacks(); - if (!startUp()) { // Failed to initalize. return; Modified: releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java == --- releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java (original) +++ releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java Wed Nov 5 06:43:10 2008 @@ -201,8 +201,6 @@ */ private static JUnitShell getUnitTestShell() { if (unitTestShell == null) { - BootStrapPlatform.init(); - BootStrapPlatform.applyPlatformHacks(); unitTestShell = new JUnitShell(); unitTestShell.lastLaunchFailed = true; String[] args = unitTestShell.synthesizeArgs(); --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit commit] r3954 - branches/1_6_clean_events/tools/api-checker/config
Author: [EMAIL PROTECTED] Date: Wed Nov 5 06:42:11 2008 New Revision: 3954 Modified: branches/1_6_clean_events/tools/api-checker/config/gwt14_15userApi.conf Log: commiting white list, including one bogus tab value entry in order to allow unit tests to run Modified: branches/1_6_clean_events/tools/api-checker/config/gwt14_15userApi.conf == --- branches/1_6_clean_events/tools/api-checker/config/gwt14_15userApi.conf (original) +++ branches/1_6_clean_events/tools/api-checker/config/gwt14_15userApi.conf Wed Nov 5 06:42:11 2008 @@ -50,6 +50,7 @@ com.google.gwt.user.client.rpc.core.java.lang.short_Array_CustomFieldSerializer MISSING com.google.gwt.user.client.ui.AbstractImagePrototype::applyTo(Lcom/google/gwt/user/client/ui/Image;) OVERLOADED_METHOD_CALL com.google.gwt.user.client.ui.Button::Button(Ljava/lang/String;) OVERLOADED_METHOD_CALL +com.google.gwt.user.client.ui.Button::Button(Ljava/lang/String;Lcom/google/gwt/user/client/ui/ClickListener;) OVERLOADED_METHOD_CALL com.google.gwt.user.client.ui.ChangeListenerCollection::add(ILjava/lang/Object;) MISSING com.google.gwt.user.client.ui.ChangeListenerCollection::add(Ljava/lang/Object;) MISSING com.google.gwt.user.client.ui.ChangeListenerCollection::get(I) OVERRIDABLE_METHOD_RETURN_TYPE_CHANGE @@ -156,3 +157,8 @@ java.util.Arrays::sort([Ljava/lang/Object;) OVERLOADED_METHOD_CALL java.util.Date::__parse(Ljava/lang/String;) MISSING java.util.Date::compareTo(Ljava/lang/Object;) MISSING +#should be sorted +com.google.gwt.user.client.ui.ToggleButton::ToggleButton(Lcom/google/gwt/user/client/ui/Image;Lcom/google/gwt/user/client/ui/Image;Lcom/google/gwt/user/client/ui/ClickListener;) OVERLOADED_METHOD_CALL + +#Temporary, commited so unit tests can run. +com.google.gwt.user.client.ui.TabBar::onClick(Lcom/google/gwt/user/client/ui/Widget;) MISSING --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Review of Daniel's second patch.
looks good. thanks for the review and submit. http://galgwt-reviews.appspot.com/1 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---