- 12 May, 2016 1 commit
-
-
pq authored
It's safe to remove the unneeded `void`s from setters since the blocking issues in the `always_declare_return_types` lint have been fixed (https://github.com/dart-lang/linter/). We can also safely flip the bit on `avoid_return_types_on_setters`.
-
- 03 May, 2016 1 commit
-
-
Ian Hickson authored
* Track the worst frame in perf tests * Use backticks in "/// Returns `null` if"
-
- 22 Apr, 2016 2 commits
-
-
Ian Hickson authored
This adds in particular the ability to track the time at which the framework boots up, and the time at which we are confident we have completed the first useful frame.
-
Ian Hickson authored
The old names were getting silly and started stepping on valuable namespace. The new names are consistent and clear.
-
- 19 Apr, 2016 1 commit
-
-
Ian Hickson authored
Bindings now have a debugRegisterServiceExtensions() method that is invoked in debug mode (only). (Once we have a profile mode, there'll be a registerProfileServiceExtensions() method that gets called in that mode only to register extensions that apply then.) The BindingBase class provides convenience methods for registering service extensions that do the equivalent of: ```dart void extension() { ... } bool extension([bool enabled]) { ... } double extension([double extension]) { ... } Map<String, String> extension([Map<String, String> parameters]) { ... } ``` The BindingBase class also itself registers ext.flutter.reassemble, which it has call a function on the binding called reassembleApplication(). The Scheduler binding now exposes the preexisting ext.flutter.timeDilation. The Renderer binding now exposes the preexisting ext.flutter.debugPaint. The Renderer binding hooks reassembleApplication to trigger the rendering tree to be reprocessed (in particular, to fix up the optimisation closures). All the logic from rendering/debug.dart about service extensions is replaced by the above. I moved basic_types to foundation. The FlutterWidgets binding hooks reassembleApplication to trigger the widget tree to be entirely rebuilt. Flutter Driver now uses ext.flutter.driver instead of ext.flutter_driver, and is hooked using the same binding mechanism. Eventually we'll probably move the logic into the Flutter library so that you just get it without having to invoke a special method first.
-
- 15 Apr, 2016 2 commits
-
-
Ian Hickson authored
If two repaint boundaries mark themselves dirty, but the second one is a child of the first, then the second one will get repainted by the first and then when we come to paint it directly, we get confused because it isn't dirty any more. We ran into this in layout before. Apply the same fix. Also, apply the same fix to composition while we're at it.
-
Ian Hickson authored
We're getting back to the point where we have a bunch of foundation APIs and it's getting confusing having them mixed with services/.
-
- 12 Apr, 2016 1 commit
-
-
Ian Hickson authored
This also shrinks the width of the error messages a bit because now that we use 'package:' URLs the stacks are a bit narrower.
-
- 11 Apr, 2016 1 commit
-
-
Ian Hickson authored
I ran into a case where I was setting minHeight=∞ and then calling layout() with that constraint, which is all kinds of bad. To try to catch this earlier, this patch now provides a way to catch constraints that are requiring infinite values. We don't _always_ check this because there are valid uses for BoxConstraints.biggest, e.g. as an additionalConstraint.
-
- 06 Apr, 2016 1 commit
-
-
krisgiesing authored
Fixes #2855
-
- 05 Apr, 2016 1 commit
-
-
krisgiesing authored
Remove public accessor for paint dirty state
-
- 03 Apr, 2016 1 commit
-
-
Ian Hickson authored
-
- 02 Apr, 2016 2 commits
-
-
Ian Hickson authored
- Create a FlutterErrorDetails struct-like class that describes an exception along with more details that aren't in the exception, like where it was caught and what was going on when it was caught. - Provide a FlutterError static API for handling these objects: - FlutterError.onError which is called whenever Flutter catches an error. - FlutterError.reportError() which handles an error. - FlutterError.dumpErrorToConsole() which is the default behavior for onError. - Removes all the existing exception handler callbacks. - Replaces all the existing places that described exceptions using debugPrint with calls to FlutterError.reportError(). - Extend lockState() to also catch exceptions, so that we catch exceptions that happen during finalizers. - Make the test framework catch errors and treat them as failures. - Provide a mechanism to override this behavior in the test framework. - Make the tests that used to depend on the exception handler callbacks use this new mechanism. - Make pump() also support the phase argument. - Improve some tests using these new features. Fixes #2356, #2988, #2985, #2220.
-
Adam Barth authored
For example, to implement backdrop blur effects.
-
- 01 Apr, 2016 1 commit
-
-
Adam Barth authored
The performLayout and build callsite are highly megamorphic because they dispatch into a large number of clients. However, for a given caller, the callee is always of the same type, which means the megamorphic lookup exactly factors by the caller. We can speed up the dispatch by capturing a closure at initialization and then monomorphically dispatching through the closure.
-
- 29 Mar, 2016 1 commit
-
-
Ian Hickson authored
The elaboration will continue until morale improves. Specific exceptions considered here: - size setter checking when you set the size - layout verifying that you do set the size - hitTest verifying that you aren't dirty and have a size - flex complaining about canFlex
-
- 28 Mar, 2016 2 commits
-
-
Adam Barth authored
We can work around these in code rather than by post-processing the analyzer output.
-
Kris Giesing authored
Fixes #2940
-
- 24 Mar, 2016 1 commit
-
-
Kris Giesing authored
Fixes #2723
-
- 23 Mar, 2016 1 commit
-
-
Adam Barth authored
The Mozart API has changed.
-
- 21 Mar, 2016 1 commit
-
-
Ian Hickson authored
As usual, as I was doing this I ran into some stuff that seemed hard to document as-is and so I changed it. In this case, in the "http" library. The new code is more or less equivalent, I think, but the resulting documentation makes it more obvious that it's wrong...
-
- 19 Mar, 2016 1 commit
-
-
Ian Hickson authored
Fixes https://github.com/flutter/flutter/issues/475
-
- 18 Mar, 2016 1 commit
-
-
Hixie authored
-
- 16 Mar, 2016 1 commit
-
-
Hixie authored
-
- 14 Mar, 2016 1 commit
-
-
Hixie authored
-
- 12 Mar, 2016 1 commit
-
-
Adam Barth authored
Fixes #774
-
- 11 Mar, 2016 2 commits
-
-
Adam Barth authored
-
Ian Hickson authored
Well, all the easy ones, anyway. For some reason `// ignore:` isn't working for me so I've disabled lints that need that. Also disabled those that require a ton of work (which I'm doing, but not in this PR, to keep it reviewable). This adds: - avoid_init_to_null - library_names - package_api_docs - package_names - package_prefixed_library_names - prefer_is_not_empty - sort_constructors_first - sort_unnamed_constructors_first - unnecessary_getters_setters
-
- 25 Feb, 2016 1 commit
-
-
Hixie authored
Otherwise, changing the order of your children (e.g. shuffling a list of children) will have no visible effect.
-
- 14 Feb, 2016 2 commits
-
-
Ian Hickson authored
...so that it's easier to copy/paste between the rendering and settings layers.
-
Ian Hickson authored
This makes it match the material spec more. https://www.google.com/design/spec/style/icons.html Fixes https://github.com/flutter/flutter/issues/1357
-
- 12 Feb, 2016 1 commit
-
-
Hixie authored
-
- 11 Feb, 2016 1 commit
-
-
Ian Hickson authored
Each layer is supposed to reexport the parts of the previous layer that are part of its API. - In painting.dart, export from dart:ui all the Canvas-related APIs that make sense to be used at higher levels, e.g. PaintingStyle. - Delete painting/shadows.dart. It was dead code. - In rendering/object.dart, export all of painting.dart. - In widgets/basic.dart, export all of painting.dart and animation.dart. Some classes in animation/ are renamed to make this less disruptive and confusing to the namespace. - Split out Stocks back into an import model rather than a part model, so that it's easier to manage its dependencies on a per-file basis. - Move Ticker to scheduler library. - Remove as many redundant imports as possible now. - Some minor nit picking cleanup in various files.
-
- 10 Feb, 2016 2 commits
-
-
Hixie authored
The asserting will continue until morale improves! * Convert all assert(*.isNormalized) checks to use the new debugAssertIsNormalized technology. * Convert CustomMultiChildLayout to use the new RenderingError technology to greatly improve the detail in errors you get when writing CustomMultiChildLayout delegates. * Add BoxConstraints.copyWith(). * Indent the descendants in the rendering exception data dump so that when you have multiple children it's clearer what's going on.
-
Hixie authored
Negative constraints never make sense, so catch those too. Make RenderObject.layout's isNormalized assert use the newer more fancy debug version of isNormalized.
-
- 09 Feb, 2016 1 commit
-
-
Adam Barth authored
There aren't any clients anymore. Fixes #1684
-
- 06 Feb, 2016 1 commit
-
-
Adam Barth authored
This patch includes documentation for transitions.dart and for scrollable.dart.
-
- 05 Feb, 2016 1 commit
-
-
Hixie authored
* Use actual exceptions rather than assertions containing code containing strings when trying to give messages to authors. * Introduce RenderingError which is an AssertionError that takes a string argument, to support the above. * Provide a BoxDimensions.hasBoundedWidth/hasBoundedHeight API. * Document BoxDimensions.isNormalized. * Provide more useful information when we assert isNormalized and find that it is false. * When finding the size is infinite, crawl the tree to figure out which render box is likely responsible for the infinite constraints. * Provide more information when size doesn't match the constraints. * Provide more information when intrinsic dimension methods violate the constraints. * Only spam a huge amount of information for the first exception from the rendering library. I've noticed a lot of people looking at the last exception printed rather than the first and that's very misleading -- after the rendering library hits an exception, all bets are off regarding what'll happen in the future. All kinds of asserts might fire. * Improve docs around the debug methods and flags for the above. * Make Block default to have no children. Previously, giving no children crashed with a confusing message about a null deref in an assert.
-
- 03 Feb, 2016 1 commit
-
-
Adam Barth authored
This patch sketches out the basic widgets for creating Mozart child views. We're still missing some of the machinery, so we can't quite create child views yet, but once we supply the ViewHost and teach the compositor how to actually display the child scenes, we'll have something that works.
-
- 02 Feb, 2016 1 commit
-
-
Adam Barth authored
We were getting confused about our layer tree offsets, which caused us to set an incorrect cull rect for the recording inside a viewport. This patch does away with layer tree offsets almost entirely. We now use them only at repaint boundaries, which is where we want the layer tree to be mutable. Fixes #1460
-