All usages of gconf have now been removed, so we can remove the build
flag too. After this, I will remove gconf from the instrumented
libraries, sysroots, and install-build-deps.sh.
Bug: 768027
Change-Id: Idf5e8d60da387b3287f875092feba488217ca642
Reviewed-on: https://chromium-review.googlesource.com/826046
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Tim Brown <timbrown@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#524120}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a28f4d062f4c030eeddd085f261988d7958db2ba
We have not shipped Windows Ash for years. There is a 1:1 mapping
between use_ash and is_chromeos, so consolidate them.
Bug: 673826
Test: compiles, gn check for Chrome OS, Linux, Linux Ozone
Change-Id: I00eddfc301716dec6e8468b2df42cdbd528829a5
Reviewed-on: https://chromium-review.googlesource.com/719455
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: Elliot Glaysher <erg@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#509121}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f8a2bf756a2b3d3e9ee1f447e1c2d94157a4e69c
This reverts commit 0e0bd52f773b7e06fa9237154110d9963d5aea03.
Reason for revert: The dragdrop data provider needs to be upstreamed from port CL before this will build.
Original change's description:
> Modify GN feature args for Fuchsia.
>
> Turn off some features when is_fuchsia=true. The features may be
> re-added in the future as progress continues on the Chromium port
> and the OS itself.
>
> It's necessary for bringing headless_shell to a buildable state.
>
>
> R: scottmg@chromium.org,thakis@chromium.org
> Bug: 750917
> Change-Id: I7011dfa559474d7eacce9482ae02c3330d113e94
> Reviewed-on: https://chromium-review.googlesource.com/596621
> Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
> Reviewed-by: Scott Graham <scottmg@chromium.org>
> Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Reviewed-by: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Alexander Timin <altimin@chromium.org>
> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#492531}
TBR=bbudge@chromium.org,dalecurtis@chromium.org,thakis@chromium.org,thestig@chromium.org,kmarshall@chromium.org,skyostil@chromium.org,scottmg@chromium.org,altimin@chromium.org
Change-Id: I0c7ac7b55bf18127cc2ad52c90b1b9f301900def
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 750917
Reviewed-on: https://chromium-review.googlesource.com/606747
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#492689}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f423b4deb515f78c7868ec4b39c091cd28b669dd
Turn off some features when is_fuchsia=true. The features may be
re-added in the future as progress continues on the Chromium port
and the OS itself.
It's necessary for bringing headless_shell to a buildable state.
R: scottmg@chromium.org,thakis@chromium.org
Bug: 750917
Change-Id: I7011dfa559474d7eacce9482ae02c3330d113e94
Reviewed-on: https://chromium-review.googlesource.com/596621
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#492531}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0e0bd52f773b7e06fa9237154110d9963d5aea03
Fuchsia: stub out missing ProcessMetrics methods.
The absence of Fuchsia stubs for these methods produced linker errors
when compiling the headless shell.
R: scottmg@chromium.org
Bug: 750948
Change-Id: If9e13e80e17852fe7692164b2cd0c728bdded9f3
Reviewed-on: https://chromium-review.googlesource.com/596624
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#491799}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bf7ca7a186a15260b25a171ba83e49e93a6c905d
Currently only chromecast uses bundled fontconfig. Expose gn switch
for this to allow headless embedders drop the dependency on the system
version of fontconfig and use bundled instead.
R=jochen@chromium.org,spang@chromium.org
BUG=615047
Change-Id: I85cafb98d95cd43d4945dd382d88c7ea49070fd5
Reviewed-on: https://chromium-review.googlesource.com/516622
Reviewed-by: Michael Spang <spang@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#474986}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3e04e43e54065fb3b758200e23efb25697ead7e9
under headless chrome.
This patch includes:
1) adding a new print manager, i.e., HeadlessPrintManager to handle all the
printing related IPCs for headless.
2) plumbing through the pdf data from HeadlessPrintManager to
HeadlessDevToolsManagerDelegate to handle the PrintToPDF command.
3) adding a new option to PrintWebViewHelper on Mac to return all the printed
pages in the first PrintHostMsg_DidPrintPage message as a single file.
This makes it conform to Linux and Windows, which simplify the logic in
HeadlessPrintManager.
This patch guarantees that HeadlessPrintManager is the only IPC entry point.
In the future, if there are requirements to support the same devtools command
in regular chrome, we may consider a framework to ensure multiple print managers
to work properly under a content embedder.
BUG=603559
Review-Url: https://codereview.chromium.org/2780433002
Cr-Original-Commit-Position: refs/heads/master@{#463105}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0cbec8b353f24515cc77a67ee95addc4f7a714ab
This CL removes all the code and build setup from //blimp and updates
related build, config and source code to not care about blimp anymore.
This does not update //cc, //content, //services, //ui or third_party
DEPS.
TBR=brettw@chromium.org
BUG=677556
Review-Url: https://codereview.chromium.org/2626423004
Cr-Original-Commit-Position: refs/heads/master@{#444465}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7ab5fc81962a872e9dae8c54493360bac7d3d69d
This CL deletes the //blimp/engine directory and related files.
List of things that are updated:
- Build files.
- Top-level presubmit file regarding ScopedAllowIO access.
- Resource IDs for grit resources for both blimp engine and client.
- Comments in files that refer to //blimp/engine.
- The client_engine_integration.py script and build config.
- Default GN arguments for the blimp engine (file is kept empty).
Documentation is not updated yet.
BUG=677556
Review-Url: https://codereview.chromium.org/2629743003
Cr-Original-Commit-Position: refs/heads/master@{#443730}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 790e4f0610545c7e41ab4642e7856b058687e1e6
This CL removes all the client-side code for blimp.
As part of this, the following is also removed:
- Android JNI-specific test setup.
- Client code GN arguments and related args-files.
The documentation is not updated in this CL.
BUG=677556
Review-Url: https://codereview.chromium.org/2624903006
Cr-Original-Commit-Position: refs/heads/master@{#443645}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 68fd4f3727d0ba8299824823b4f4aa8022fd282a
* BlimpConnection is now an abstract class.
* TCPConnection and tests are moved out of BlimpConnection.
* BlimpConnection no longer knows about TCP-related classes
including MessagePort and such.
* Also in this CL: Skeleton gRPC plugin points.
* Fixed all unit-tests.
The overall idea is to enable gRPC support in Blimp. This is the first of a few CLs.
In this CL I tease apart the existing BlimpConnection and BlimpTransport into the specific TCPConnection and TCP*Transport classes. Next, I will introduce GrpcConnection and GrpcTransport that will use allow passing of BlimpMessages through Grpc layer. However, internally, GrpcConnection and GrpcTransport will use the new GrpcStream which implements the checked in HeliumStream interface.
Once this settles, the BlimpConnection and BlimpTransport-related classes (specifically, TCP/SSL/etc classes) will be removed and only the Helium-based transport mechanism will be used. Initially though the Helium protocol settles, this will first involve removing the TCP* classes alone.
Review-Url: https://codereview.chromium.org/2439403003
Cr-Original-Commit-Position: refs/heads/master@{#428227}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bc6fa5a73536e3ccc06fd82c1b6d5da5a712223f
Since the enable_blimp flag was only ever supposed to be used for
the blimp client, this makes that abundandtly clear by renaming
the GN arg itself.
BUG=611094,624025,608765
Review-Url: https://codereview.chromium.org/2179843005
Cr-Original-Commit-Position: refs/heads/master@{#407956}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7b77fb9f0d01e24b04f8c48f05c7007f4f5c1dce
The BlimpClientContext is the core class which wires up all of the blimp
functionality. When it's created, it will get all its dependencies from
the embedder. It is currently in charge of creating BlimpContents, but
will also own things like the BlimpClientSession. It is part of the
public //blimp/client/public API. It is a KeyedService and is typically
tied to a Profile.
The BlimpClientContextFactory lives in //chrome to be able to access
Profile during construction, since //blimp/client currently does not
depend on //content where BrowserContext lives, and there are upcoming
dependencies that will be implemented by classes in //chrome.
The BlimpClientContext has two implementations in
//blimp/client/core, an actual one and a dummy implementation. The
dummy implementation is to be used when we do not want the blimp
code to be used, and the core implementation is the real blimp
implementation. Which one of these are in use is controlled by the
GN argument enable_blimp which defaults to false.
The BlimpClientContext has a public static create-method that is not
implemented in //blimp/client/public, but instead it is implemented by
//blimp/client/core by both the actual and the dummy implementation,
so the right method will be chosen at link-time. This means that a
target can only link with either the actual or dummy implementation.
Everything in //blimp/client/core is only visible to //blimp/client/*
and embedders should only ever depend on //blimp/client/public, which
will bring in the correct implementation. This works the same for both
C++ and Java, so when using the BlimpClientContextFactory (either in
Java or C++), the right implementation (actual or dummy) will always
be chosen correctly based on the link-time selection of the
Create-method.
The BlimpClientContext has a delegate that it can call out to whenever
it needs specific functionality from the embedder. As an example, this
CL adds a helper for attaching a Profile to every created
BlimpContents to make have similar functionality as what is built into
WebContents so one can get a Profile and thereby services by only
having access to a BlimpContents.
BUG=611094
TBR=erg@chromium.org
Review-Url: https://codereview.chromium.org/2132163002
Cr-Original-Commit-Position: refs/heads/master@{#405860}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9aa0cdee23229ca95a3bea79abcc584a395d016e
udev support in Linux is used to get plug & play notification when an USB device
is plugged in. This is something that is unlikely to be used in Blimp Engine. So
disabling the code from Blimp Engine build.
BUG=625277
Review-Url: https://codereview.chromium.org/2112383003
Cr-Original-Commit-Position: refs/heads/master@{#403983}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a2c19e55cf5e0e87f2b99232182c1be0a94be9f1
Thus, add USE_EXTERNAL_POPUP_MENU flag so that Blimp Engine can follow the same code path of the external Android popup menus before it reaches WebContentsView.
BUG=598764
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/1992393002
Cr-Original-Commit-Position: refs/heads/master@{#397575}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c643d33cf668665bac4562e69a72f9ef29b5bbed
Using the 'is_official_build' gn flag pulls in a bunch of debugging
symbols that we don't need for the engine, and in fact will bloat the
binary size. Using a symbol level of 0 has no effect on the breakpad
symbol file generated by dump_app_syms.py, so we don't lose any of our
desired debugging capabilities.
Tested by building with the buildbot configuration, uploading symbols,
and causing an engine crash with 'kill -6'.
BUG=613186
Review-Url: https://codereview.chromium.org/1987313004
Cr-Original-Commit-Position: refs/heads/master@{#394906}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 379f3f501b387fae1d2807b096f993015dbb3d68
This is modeled after what is done for the official Chrome linux build.
As it stands right now, the breakpad symbol file is roughly 300MB and
takes a couple of minutes to run, so the action should only be triggered
if this is an official release.
BUG=597454
Review-Url: https://codereview.chromium.org/1979773002
Cr-Original-Commit-Position: refs/heads/master@{#394191}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 060ef497fef78501475548ec61dbc8c290f02a9b
Eventually we want most of the MB implementation to go away;
in particular, we probably want the bots to pick up their
GN configurations from args files, rather than from configs
in the mb_config.pyl file.
This CL adds support for specifying a given args file for a bot
in the master/builder configs directly, so you can specify
"masters": {"master": {"builder": "//foo/bar/baz.gn"}}. When
MB runs, it'll create an args.gn in the build directory that
contains the line 'import("//foo/bar/baz.gn")', which will
ensure the args are kept in sync.
R=brettw@chromium.org, jessicag@chromium.org, perezju@chromium.org
BUG=602528
Review URL: https://codereview.chromium.org/1881823002
Cr-Original-Commit-Position: refs/heads/master@{#387234}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9dd5e25ac7e13a059c68e71b8a22955d952c23a3
Reason for revert:
Speculative revert: this breaks page_cycler.intl_hi_ru and page_cycler.intl_es_fr_pt-BR benchmarks
Original issue's description:
> Update blimp build bot args match build/args/blimp_engine.gn
>
> Reorder args so it's easier to spot differences.
>
> Remove gyp_defines because blimp is not designed to build with gyp.
>
> BUG=602696
>
> Committed: https://crrev.com/55bf089c901fb38204b642edc847b6259697ee9e
> Cr-Commit-Position: refs/heads/master@{#386760}
TBR=dpranke@chromium.org,maniscalco@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=602696
Review URL: https://codereview.chromium.org/1881343002
Cr-Original-Commit-Position: refs/heads/master@{#386912}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 76edf5cc66829c9a2aed30dab102de2cc16da1c7
Reorder args so it's easier to spot differences.
Remove gyp_defines because blimp is not designed to build with gyp.
BUG=602696
Review URL: https://codereview.chromium.org/1878273003
Cr-Original-Commit-Position: refs/heads/master@{#386760}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 55bf089c901fb38204b642edc847b6259697ee9e
Ensure that ozone_platform_headless is the only ozone platform compiled
in the sample headless configuration. Other ozone platforms are included
by default and aren't necessarily desired.
BUG=none
Review URL: https://codereview.chromium.org/1876273002
Cr-Original-Commit-Position: refs/heads/master@{#386672}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7dfdf188b6c9bfc4e208949a1be8af557c0264b0
Disable ozone auto platform selection for blimp engine builds. Ensure
blimp does not have a dependency on X11.
BUG=602312
Review URL: https://codereview.chromium.org/1881493003
Cr-Original-Commit-Position: refs/heads/master@{#386469}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 83282ff073fe045d06df62468e9683db17f18e8c
Currently only Android sets the flag for
WTF_USE_LOW_QUALITY_IMAGE_INTERPOLATION since it has been the only
platform needing it.
When painting images on one platform, and reproducing them
remotely, the painting side must make sure that the receiving side
is able to render them and ensure that there is no mismatch.
This CL declares a new GN arg so that other platforms may optionally
set this flag as well. The new GN arg is
use_low_quality_image_interpolation and it defaults to is_android.
There should be no changes to existing behavior if the flag is not
set.
BUG=597803
R=dpranke@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1867093002
Cr-Original-Commit-Position: refs/heads/master@{#385913}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 384c6056c4e1d0eb347f705c454437ae40e6f7cb
Replace the is_headless setting with a GN args template file which
explicitly lists the settings needed to build the headless
configuration. To make this work, some of the existing settings need to
be moved into declare_args to make them overridable.
BUG=546953
Review URL: https://codereview.chromium.org/1845473003
Cr-Original-Commit-Position: refs/heads/master@{#384549}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2df951b02d7d03cd35d64e7bfc725eb24e1fd4b3
Currently there is no way of recording or reporting metrics for the Blimp engine.
To collect metrics for the Blimp engine in development two things are required. First, for metrics recording and reporting to be enabled on the Blimp engine. Second, for the metrics logging to flag Blimp engine reports so they can be filtered from other linux metrics reports. These code behavior changes are currently kept between a single build arg, but are controlled via separate defines checks.
These changes will allow metrics to be collected on development instances of Blimp and viewed separately from Linux builds.
BUG=592757
Review URL: https://codereview.chromium.org/1765293002
Cr-Original-Commit-Position: refs/heads/master@{#380760}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ab7a08b61e58d1a50565cb892f3402cebafbcf16
Currently the comments in the template use a relative path.
Switching to an absolute path brings the comments in line with the blimp build docs and makes usage more robust.
BUG=
Review URL: https://codereview.chromium.org/1767233002
Cr-Original-Commit-Position: refs/heads/master@{#379705}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6f6fad43de425bca8c4178b95a9f1a5806ae6a2d