* Roll benchmark to upstream github @ 431abd149fd76a072f821913c0340137cc755f36
Roll buildroot to bfa04ad85fed176aa909f880ef5c8009c945ba03 to get build files for benchmark
* Roll flutter_packages to b1fdbabbe70caa21566f6a815235d624c716ea16
* Add a task name to parse_and_send.dart's call to FlutterDestination.update()
//flutter/third_party/accessiblity/ax/ax_event_generator.cc includes the
AXEventGenerator::Iterator class which subclasses std::iterator, which
triggers an MSVC C++17 deprecation warning. This warning, can be
suppressed by defining _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING
which is already done in the accessibility_config config.
Also updates the TODO to reference the issue tracking the cleanup and
removal of that definition.
Issue: https://github.com/flutter/flutter/issues/92229
Originally I wanted to update to 3f443830bd52d3aa5fab3c1aa2b6d0848bb5039d.
However, that change had a problem with a misspelled build target which
I also had to fix.
But, that fix turned out to be infeasible on its own, and led to a
bugfix in `gn`.
Fixes:
- Updates gn to commit 0153d369bbccc908f4da4993b1ba82728055926a to take
in the fix at https://gn-review.googlesource.com/c/gn/+/12220 which
prevented the correct treatment of target refactoring.
- Updates ICU to commit 2b50fa94b07b601293d7c1f791e853bba8ffbb84 to
correct the target naming, which should now work thanks to the
previous update to gn. See
https://gn-review.googlesource.com/c/gn/+/12220 for the details of
that bug.
- Fixed the visibility declaration in `//flutter/third_party/accessibility:accessibility_config`
which used to not be enforced due to a bug in `gn` which was fixed in
https://gn.googlesource.com/gn/+/46b572ce4ceedfe57f4f84051bd7da624c98bf01,
a revision which we took in by updating `gn` in the first bullet.
Fun times.
See: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/3163524
Please see the linked issue for details about why this update.
* Make dart wrappable classes use only one native field
It appears like the second native field is never really used for
anything: It is set, cleared and verified it was cleared, but that is
it.
=> The only native field that is necessary is the `this` pointer of the
equivalent C++ object.
=> The [DartWrapperInfo] object which was stored as second native field
is always accessible via the virtual `GetDartWrapperInfo()` method on
`this`.
Group together externally-managed UIDartState.
It's a frequent pattern to enable access to shell resources from the
framework via UIDartState. These handles are passed through several
other objects, where they lay mostly dormant. This refactor just aims
to ease maintenance of this state.
UIDartState is essentially just an easy to extend bus for dropping
off the shell kids in UIDartState, with constructors/operators that
remove the need for providing a full initializer lists in unittests.
CMAP tables are a component of fonts which map character codes to glyph
indices used in the font. In cases where this is missing for a font that
we attempt to load, there is not much gained by logging this. It's also
a common source of false positive bug reports and bug reports with
misleading symptoms in Flutter, such as
https://github.com/flutter/flutter/issues/78929
Instead of logging the error, simply suppress it, since it's not
actionable by the user.
CMAP Reference:
https://docs.microsoft.com/en-us/typography/opentype/spec/cmap
In UWP, GetFinalPathNameByHandle requires the app to declare appropriate
capabilities in the app's package manifest. Some of these capabilities are not
permitted in shipping apps on the app store, but may be fine for
development/debugging scenarios. If we can't resolve the full path due to
insufficient access, but have verified the handle is valid, return the original
path.
This gets hot reload requests working in the UWP embedder.
https://github.com/flutter/flutter/issues/79609
Used the the `misspell` tool available at
https://github.com/client9/misspell, then applied hand-corrections. It's
possible we could adopt this as a presubmit, but there are still enough
false positives that it may not be worth the effort.
* Remove IAccessible and IChromeAccessible from AXPlatformNodeWin
* Fixes to make AXPlatformNodeWin, AXFragmentRootWin and associated unit
tests work and pass in Flutter/Windows
We currently use a mix of C standard includes (e.g. limits.h) and their
C++ variants (e.g. climits) in //flutter/third_party/accessibility. This
migrates to a consistent style for all cases where the C++ variants are
acceptable. C equivalents remain in place only where they are required,
such as in the embedder API and other headers that may be used from C.
This commit is analogous to d03692449b014377b0a9f5aded075a9515a268db.
* Modifications to gtest_util.h to build in Flutter
* Modifications to Range to build in Flutter
* Modifications to UiaRegistrarWin to build in Flutter
* Modifications to EnumVariant to build in Flutter
* Modifications to AXActivePopup to build in Flutter
* Modifications to ScopedBstr to build in Flutter
* Modifications to atl.h/atl_module.h to build in Flutter
* Modifications to ScopedVariant to build in Flutter
* Modifications to VariantUtil to build in Flutter
* Modifications to ScopedSafearray to build in Flutter
* Modifications to VariantVector to build in Flutter
* Add BASE_UNLIKELY, BASE_LIKELY and BASE_FALLTHROUGH macros to compiler_specific.h
* Update BUILD files for Windows base/ and gfx/ unittests
Co-authored-by: Chris Bracken <chris@bracken.jp>
* Add the following APIs to StringUtils:
- NumberToString16
- JoinString
- ReplaceChars
- WideToUTF16
- UTF16ToWide
Implement the following APIs for Windows:
- UTF8ToUTF16
- UTF16ToUTF8
* Review comments
Add a couple TODOs for decimal formatting and use std::u16string::npos
rather than std::string::npos.
* Update licences_flutter
Co-authored-by: Chris Bracken <chris@bracken.jp>
When replacing an int/float/bool attribute on the test node, we want to
erase the range from the iterator returned by remove_if to end(), which
may be an empty range. In the case where remove_if() returns end(), the
single-parameter variant of erase() attempts to remove an element past
the end of the container.
Corrects uses of setup as a verb to 'set up', leaves noun/noun-phrase
forms of setup as 'setup'. Also settles on 'teardown' as opposed to
tear-down for consistency across the codebase.
A few other minor comment/wording corrections.