This flag was originally added to ui::base::win to suppress a specific
error message when attempting to open a file via the shell using the
"open" verb. The flag has additional side-effects and shouldn't be used
when invoking ShellExecute().

Original change's description:
> android build: Split process_resources GN rule and script.
>
> The process_resources() GN template and the associated
> process_resources.py script are huge and difficult to understand
> because they can be used to perform two slightly related
> different things.
>
> In preparation for a future CL that will introduce a new resource
> compilation mode, this CL tries to clarify the situation by splitting
> them into two sets of GN template + script:
>
> - prepare_resources() + prepare_resources.py, which are
> used to create .resources.zip archives of raw/uncompiled
> resources for resource related targets, as well as
> generating a corresponding R.txt and .srcjar(R.java)
> file.
>
> This corresponds to what process_resources() did when
> it was called from android_resources() and junit_binary().
>
> Note that this always generates non-final resource IDs,
> as well as a dummy onResourcesLoaded() method, necessary
> to compile, but not link, the ResourceRewriter class
> used to implement the system webview feature.
>
> - compile_resources() + compile_resources.py, which are used
> to compile all resource dependencies of a given binary
> (e.g. android_apk) into an intermediate .ap_ file.
>
> This corresponds to the behaviour of process_resources()
> when called from android_apk(). This generates final
> resource IDs by default, unless |shared_resources| or
> |shared_resources_whitelist| is used.
>
> Also, as a simplification, |shared_resources_whitelist|
> now implies |shared_resources|, except that it restrict
> the list of non-final resource IDs.
>
> - Removed generate_constant_ids, since compile_resources()
> will always generate constant ids unless shared resources
> are being used. And prepare_resources() always generates
> non-constant IDs, as before the CL.
>
> + Add documentation for the prepare_resources() and
> compile_resources() internal GN rules, to make them
> a little less intimidating.
>
> + Removed |app_as_shared_lib|, since even before this CL all
> resources were generated with package ID 0x7f anyway, or
> fixed a compile_resources() time. Hence |shared_resources|
> did the exact same thing.
>
> + Improve --help output for prepare_resources.py and
> compile_resources.py by using option groups for inputs
> and outputs.
>
> R=​agrieve@chromium.org,yfriedman@chromium.org,estevenson@chromium.org,trevordixon@chromium.org
>
> Bug: 820459
> Change-Id: If05ac24a57c4dfa11f9ce43c30ab22e957b2765d
> Reviewed-on: https://chromium-review.googlesource.com/957095
> Commit-Queue: David Turner <digit@chromium.org>
> Reviewed-by: agrieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#543957}

Pass the skia resource cache limit in the command line to renderer processes.

As skia font cache, we need to limit the memory usage of skia resource cache
for the low-end device as well. But, as the font cache, it's hard to estimate
what is the limit value the best for each low-end device. So it would be good
if we give them the power to limit to use the resource cache. This CL introduces
a new command line switch to limit the skia resource cache size.

By explicitly closing the keyboard before closing the search, the
keyboard will no longer overlay the visible elements in tests.
The slowly disappearing keyboard hid elements from espresso and failed
some test runs on small screen devices.

Note to sheriffs: This CL imports external tests and adds
expectations for those tests; if this CL is large and causes
a few new failures, please fix the failures by adding new
lines to TestExpectations rather than reverting. See:
https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md

Right after the target Element gets detached from the document tree,
the last size change event is dispatched to ResizeObserver. At this
moment, the target Element is already detached from the document and
we cannot rely on the wrapper-tracing path of:
Document --> Element --> ElementRareData --> ResizeObserver
So, we need another path to perform the wrapper-tracing for
ResizeObserver.

This patch makes ResizeObserver ActiveScriptWrappable, so that the
following path of wrapper-tracing will be available:
V8 wrapper of ResizeObserver --> blink::ResizeObserver

I confirmed that this patch fixes the crash issue at a certain
website.

Before this CL, postMessage() requests during dedicated worker startup are
queued until a worker thread is created and a thread initialization task is
posted to the worker thread. This works for classic scripts because classic
script evaluation happens synchronously after thread initialization and there is
no timing to interleave the message tasks. However, this is not applicable for
module scripts because module script evaluation happens asynchronously on the
worker thread. This allows posted tasks run before script evaluation and results
in dropouts of the Message events.

This CL makes sure to post message tasks after script evaluation. ObjectProxy on
the worker thread notifies MessagingProxy on the main thread of the completion
of script evaluation, and then MessagingProxy posts queued messages.

Accelerators augment these Picture classes with platform-specific metadata
in order to process them. This includes platform-specific representations
of buffers used as targets for decoding a given picture, such as VASurface
for VaapiVDA.

This platform-specific metadata is encapsulated in Accelerator-specific
{Vaapi,V4L2}DecodeSurface classes.

To tie {Vaapi,V4L2}DecodeSurface to each type of Picture class, a set of
classes: {Vaapi,V4L2}{H624,VP8,VP9}Picture is introduced. They are subclasses
of {H264,VP8,VP9}Picture classes and own {Vaapi,V4L2}DecodeSurface classes.

However, as {Vaapi,V4L2}{H624,VP8,VP9}Picture are platform-specific already,
we can eliminate one level of ownership indirection by removing
{Vaapi,V4L2}DecodeSurface classes, as well as avoid having the same common
Picture metadata in each of the 6 {Vaapi,V4L2}{H624,VP8,VP9}Picture classes
to further simplify the design:

Moreover, this will further allow us to reuse the picture classes on all
levels of the hierarchy (including {V4L2,Vaapi}{H624,VP8,VP9}Picture
classes) for the upcoming, new AcceleratedVideoEncoder framework, without
having to create a new set of encoder-only {Vaapi,V4L2}EncodeSurface classes.

Since Blink doesn't like |bool| parameter, we change
Pasteboard::WriteHTML() to take |SmartReplaceOption| for more clearly
to understand the parameter.
This CL can help us in [1] to get rid of CanSmartCopyOrDelete() in
|ClipboardCommands|.

We recently re-implemented auto-expansion of notification
(crbug.com/810656), but it sometimes caused some junkness
while animation when it was auto-expanded. That was because
auto-expanded is done in the final phase of layouting.

This CL moves the auto-expansion to earlier phase:
- (on add): just before the view is added to the list
- (on update): just before the view is updated in the list
- (on remove): just after the view is removed from the list

This CL may cause a small binary size increase, roughly proportional
to how long it's been since our last AFDO profile roll. For larger
increases (around or exceeding 100KB), please file a bug against
gbiv@chromium.org. Additional context: https://crbug.com/805539

The AutoRoll server is located here: https://afdo-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

This CL removes the API getContext(), and has all the callsites
either use container view's context (for Chrome) or use
the context directly (WebView). Content layer internally uses
the ContentViewCoreImpl.getContext() which now becomes private.

Make Selection#{base,extent}{Node,Offset} as aliases of {anchor,focus}{Node,Offset}

This patch makes |Selection#{base,extent}{Node,Offset}| as aliases of
|Selection#{anchor,focus}{Node,Offset}| instead of getting position from
|VisibleSelection| which we don't want to expose to JavaScript.

Note: Selection#{base,extent}{Node,Offset} are not standard API and there
are some discussion for standardizing them[1].

Use AudioInputController synchronously when it is created on audio thread.

This change is required for adding input streams in audio service, in which case AIC will be created on audio thread.
Other changes:
* replace creation thread with sequence.
* refactor unittests, add tests for CreateForStream and SetVolume.

This patch adds support for motion path properties. We had to modify
the computed style computation for <position> values. Previously, we
parse a <position> value as a CSSValuePair, but compute them to a
CSSValueList containing two items. This is very strange, so we just
compute to a CSSValuePair. Since both serialize to the same string,
this has no behavioural changes on CSSOM.