|
57 | 57 | typedef Invoker = T Function<T>(T Function() callback);
|
58 | 58 | ```
|
59 | 59 |
|
60 |
| -#### Strong Mode |
61 |
| - |
62 |
| -* Removed ad hoc `Future.then` inference in favor of using `FutureOr`. Prior to |
63 |
| - adding `FutureOr` to the language, the analyzer implented an ad hoc type |
64 |
| - inference for `Future.then` (and overrides) treating it as if the onValue |
65 |
| - callback was typed to return `FutureOr` for the purposes of inference. |
66 |
| - This ad hoc inference has been removed now that `FutureOr` has been added. |
67 |
| - |
68 |
| - Packages that implement `Future` must either type the `onValue` parameter to |
69 |
| - `.then` as returning `FutureOr<T>`, or else must leave the type of the parameter |
70 |
| - entirely to allow inference to fill in the type. |
71 |
| - |
72 |
| -* During static analysis, a function or setter declared using `=>` with return |
73 |
| - type `void` now allows the returned expression to have any type. |
74 |
| - |
75 | 60 | ### Core library changes
|
76 | 61 |
|
77 | 62 | * `dart:async`, `dart:core`, `dart:io`
|
|
92 | 77 | the Dart VM process current and peak resident set size.
|
93 | 78 | * Added `RawSynchronousSocket`, a basic synchronous socket implementation.
|
94 | 79 |
|
| 80 | +* `dart:` web APIs have been updated to align with Chrome v50. |
| 81 | + This change includes **a large number of changes**, many of which are |
| 82 | + breaking. In some cases, new class names may conflict with names that exist |
| 83 | + in existing code. |
| 84 | + |
| 85 | +* `dart:html` |
| 86 | + |
| 87 | + * **REMOVED** classes: `Bluetooth`, `BluetoothDevice`, |
| 88 | + `BluetoothGattCharacteristic`, `BluetoothGattRemoteServer`, |
| 89 | + `BluetoothGattService`, `BluetoothUuid`, `CrossOriginConnectEvent`, |
| 90 | + `DefaultSessionStartEvent`, `DomSettableTokenList`, `MediaKeyError`, |
| 91 | + `PeriodicSyncEvent`, `PluginPlaceholderElement`, `ReadableStream`, |
| 92 | + `StashedMessagePort`, `SyncRegistration` |
| 93 | + |
| 94 | + * **REMOVED** members: |
| 95 | + * `texImage2DCanvas` was removed from `RenderingContext`. |
| 96 | + * `endClip` and `startClip` were removed from `Animation`. |
| 97 | + * `after` and `before` were removed from `CharacterData`, `ChildNode` and |
| 98 | + `Element`. |
| 99 | + * `keyLocation` was removed from `KeyboardEvent`. Use `location` instead. |
| 100 | + * `generateKeyRequest`, `keyAddedEvent`, `keyErrorEvent`, `keyMessageEvent`, |
| 101 | + `mediaGroup`, `needKeyEvent`, `onKeyAdded`, `onKeyError`, `onKeyMessage`, |
| 102 | + and `onNeedKey` were removed from `MediaElement`. |
| 103 | + * `getStorageUpdates` was removed from `Navigator` |
| 104 | + * `status` was removed from `PermissionStatus` |
| 105 | + * `getAvailability` was removed from `PreElement` |
| 106 | + |
| 107 | + * Other behavior changes: |
| 108 | + * URLs returned in CSS or html are formatted with quoted string. |
| 109 | + Like `url("http://google.com")` instead of `url(http://google.com)`. |
| 110 | + * Event timestamp property type changed from `int` to `num`. |
| 111 | + * Chrome introduced slight layout changes of UI objects. |
| 112 | + In addition many height/width dimensions are returned in subpixel values |
| 113 | + (`num` instead of whole numbers). |
| 114 | + * `setRangeText` with a `selectionMode` value of 'invalid' is no longer |
| 115 | + valid. Only "select", "start", "end", "preserve" are allowed. |
| 116 | + |
| 117 | +* `dart:svg` |
| 118 | + |
| 119 | + * A large number of additions and removals. Review your use of `dart:svg` |
| 120 | + carefully. |
| 121 | + |
| 122 | +* `dart:web_audio` |
| 123 | + |
| 124 | + * new method on `AudioContext` – `createIirFilter` returns a new class |
| 125 | + `IirFilterNode`. |
| 126 | + |
| 127 | +* `dart:web_gl` |
| 128 | + |
| 129 | + * new classes: `CompressedTextureAstc`, `ExtColorBufferFloat`, |
| 130 | + `ExtDisjointTimerQuery`, and `TimerQueryExt`. |
| 131 | + |
| 132 | + * `ExtFragDepth` added: `readPixels2` and `texImage2D2`. |
| 133 | + |
| 134 | +#### Strong Mode |
| 135 | + |
| 136 | +* Removed ad hoc `Future.then` inference in favor of using `FutureOr`. Prior to |
| 137 | + adding `FutureOr` to the language, the analyzer implented an ad hoc type |
| 138 | + inference for `Future.then` (and overrides) treating it as if the onValue |
| 139 | + callback was typed to return `FutureOr` for the purposes of inference. |
| 140 | + This ad hoc inference has been removed now that `FutureOr` has been added. |
| 141 | + |
| 142 | + Packages that implement `Future` must either type the `onValue` parameter to |
| 143 | + `.then` as returning `FutureOr<T>`, or else must leave the type of the parameter |
| 144 | + entirely to allow inference to fill in the type. |
| 145 | + |
| 146 | +* During static analysis, a function or setter declared using `=>` with return |
| 147 | + type `void` now allows the returned expression to have any type. |
95 | 148 |
|
96 | 149 | ### Tool Changes
|
97 | 150 |
|
| 151 | +* Dartium |
| 152 | + |
| 153 | + Dartium is now based on Chrome v50. See *Core library changes* above for |
| 154 | + details on the changed APIs. |
| 155 | + |
98 | 156 | * Pub
|
99 | 157 | * Added support for the Dart Development Compiler in `build` and `serve`.
|
100 | 158 |
|
|
0 commit comments