| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ApplicationRunner is used
This was originally at https://codereview.chromium.org/1814223002/ , but Ben is out and
I need this for tests, so I'm taking over.
BUG=none
TEST=covered by tests
TBR=ben@chromium.org
R=ben@chromium.org
Committed: https://crrev.com/a50f9840749052fbdec087a304548217cc6fd00b
Cr-Commit-Position: refs/heads/master@{#382389}
Review URL: https://codereview.chromium.org/1819063002
Cr-Commit-Position: refs/heads/master@{#382688}
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=594729
TEST=test only change
R=erg@chromium.org, dpranke@chromium.org
TBR=dpranke@chromium.org
Review URL: https://codereview.chromium.org/1816323002
Cr-Commit-Position: refs/heads/master@{#382594}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ApplicationRunner is used (patchset #2 id:20001 of https://codereview.chromium.org/1819063002/ )
Reason for revert:
Looks like to made the mojo_apptests go red. I think this is also making MUS tests fail?
https://build.chromium.org/p/chromium.linux/builders/Linux%20Tests/builds/39128
Original issue's description:
> Quit the message loop by default in ShellConnectionLost when ApplicationRunner is used
>
> This was originally at https://codereview.chromium.org/1814223002/ , but Ben is out and
> I need this for tests, so I'm taking over.
>
> BUG=none
> TEST=covered by tests
> TBR=ben@chromium.org
> R=ben@chromium.org
>
> Committed: https://crrev.com/a50f9840749052fbdec087a304548217cc6fd00b
> Cr-Commit-Position: refs/heads/master@{#382389}
TBR=ben@chromium.org,sky@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none
Review URL: https://codereview.chromium.org/1821913002
Cr-Commit-Position: refs/heads/master@{#382460}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ApplicationRunner is used
This was originally at https://codereview.chromium.org/1814223002/ , but Ben is out and
I need this for tests, so I'm taking over.
BUG=none
TEST=covered by tests
TBR=ben@chromium.org
R=ben@chromium.org
Review URL: https://codereview.chromium.org/1819063002
Cr-Commit-Position: refs/heads/master@{#382389}
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://codereview.chromium.org/1810713002
Cr-Commit-Position: refs/heads/master@{#381660}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes shell client startup pipes to be ShellClient instead
of ShellClientFactory. This simplifies a lot of startup code.
Due to this change, apps must now take responsibility for
shutting themselves down when they feel it's appropriate. For
now, all relevant apps are force-exited to mimic the old
behavior.
Once apptests are deleted, we should expose a clean quit
closure to apps so they have something to run when they want
to quit. Hard-exiting the process is definitely not the right
thing to do.
BUG=
Review URL: https://codereview.chromium.org/1801963002
Cr-Commit-Position: refs/heads/master@{#381114}
|
|
|
|
|
|
|
|
|
|
|
|
| |
internal code.
The one macro remaining in macros.h is only used by generated C++ code.
BUG=534695
Review URL: https://codereview.chromium.org/1784743003
Cr-Commit-Position: refs/heads/master@{#380556}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise they aren't picked up as runtime dependencies and isolates
won't work.
BUG=none
TEST=none
R=ben@chromium.org
Review URL: https://codereview.chromium.org/1783533003
Cr-Commit-Position: refs/heads/master@{#380347}
|
|
|
|
|
|
|
|
|
| |
BUG=585942
R=ben@chromium.org
Review URL: https://codereview.chromium.org/1765243002 .
Cr-Commit-Position: refs/heads/master@{#379839}
|
|
|
|
|
|
|
|
|
| |
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1769163002
Cr-Commit-Position: refs/heads/master@{#379757}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TBR=sky@chromium.org
BUG=
patch from issue 1760963003 at patchset 20001 (http://crrev.com/1760963003#ps20001)
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1770533002
Cr-Commit-Position: refs/heads/master@{#379476}
|
|
|
|
|
|
|
|
|
|
| |
TBR=sky@chromium.org
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1764253002
Cr-Commit-Position: refs/heads/master@{#379459}
|
|
|
|
|
|
|
|
| |
BUG=534695
Review URL: https://codereview.chromium.org/1755003002
Cr-Commit-Position: refs/heads/master@{#378891}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
type:path
Remove GURLs from all over the place. This eliminates the need to register Mojo and Exe schemes.
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1743473002
Cr-Commit-Position: refs/heads/master@{#378130}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Requires:
- Move AppRefCount to a different class, MessageLoopRef, which is optionally used by applications that wish to quit the current message loop started by application runner when the ref drops to zero.
- Changing the signature of Initialize() to take a Connector. This is what most of the change in this CL is.
BUG=
Review URL: https://codereview.chromium.org/1725353003
Cr-Commit-Position: refs/heads/master@{#377841}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL also renames the element type (WeakBinding/WeakInterfacePtr) to Element and hide them in the corresonding *Set class.
BUG=None
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Committed: https://crrev.com/632d319842096e6998d174e2f251865979ce2b72
Cr-Commit-Position: refs/heads/master@{#377384}
Review URL: https://codereview.chromium.org/1735583002
Cr-Commit-Position: refs/heads/master@{#377528}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BindingSet/InterfacePtrSet."
This reverts commit 632d319842096e6998d174e2f251865979ce2b72.
TBR=jam@chromium.org
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1734803002 .
Cr-Commit-Position: refs/heads/master@{#377393}
|
|
|
|
|
|
|
|
|
|
|
| |
This CL also renames the element type (WeakBinding/WeakInterfacePtr) to Element and hide them in the corresonding *Set class.
BUG=None
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1735583002
Cr-Commit-Position: refs/heads/master@{#377384}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is simply a uint32 that identifies the user running a particular instance. Note that the shell cares nothing about higher level semantic meaning/mapping of this identifier. That's for a user service to perform.
An application that connects to another specifies the user id they wish the target to be run as. This can either be a specific user, the root user, or "inherit" which means either their own identity or root, whichever is available in that order.
The application manager resolves "inherit" to the source identity or the root identity, and initializes & completes the connection.
When a target application is initialized, the shell tells it (via Initialize()) the identity it is run as.
When a target application receives an inbound connection, the shell tells it (via AcceptConnection) the identity of the caller. This allows a service run as root to service connections from other users, and create facades scoped to that user.
Long term, only specific applications will be able to pass anything other than "inherit" as the user id. (e.g. the login app and the profile creator app). This isn't done in this CL.
I need to add some tests for this, along with the rest of the shell stuff. TBD.
R=sky@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1719193003
Cr-Commit-Position: refs/heads/master@{#377239}
|
|
|
|
|
|
|
|
| |
Note that this is mostly set to permissive right now because the capability filters as currently specified are a PITA to use. I'm going to be working with some of the security folk to devise a way to simplify this.
Review URL: https://codereview.chromium.org/1716793003
Cr-Commit-Position: refs/heads/master@{#376940}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They are:
- weak_binding_set.h
- weak_interface_ptr_set.h
BUG=None
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1692783002
Cr-Commit-Position: refs/heads/master@{#375180}
|
|
|
|
|
|
|
|
|
| |
TBR=rockot@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1687693002
Cr-Commit-Position: refs/heads/master@{#374677}
|
|
|
|
|
|
|
|
|
|
|
| |
All users are on the new EDK now. This wipes out third_party/mojo,
updates all dependencies, and removes the use-new-edk flag.
BUG=None
Review URL: https://codereview.chromium.org/1676913002
Cr-Commit-Position: refs/heads/master@{#374631}
|
|
|
|
|
|
|
|
|
|
|
|
| |
TBR=rockot@chromium.org
R=tsepez@chromium.org
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1684783002
Cr-Commit-Position: refs/heads/master@{#374620}
|
|
|
|
|
|
|
|
|
|
|
| |
Connection::AddInterface/GetInterface
TBR=rockot@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1681813002
Cr-Commit-Position: refs/heads/master@{#374328}
|
|
|
|
|
|
|
|
|
|
|
| |
ApplicationConnection -> Connection
TBR=rockot@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1675083002
Cr-Commit-Position: refs/heads/master@{#374054}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to Initialize() instead.
Also eliminates use of mojo::shell::mojom::Shell in favor of this base interface.
This means most code doesn't have to use ApplicationImpl - only the places that instantiate them.
TBR=rockot@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1674903003
Cr-Commit-Position: refs/heads/master@{#374049}
|
|
|
|
|
|
|
|
|
|
|
| |
Makes this interface begin to resemble Application a bit more closely.
R=rockot@chromium.org
BUG=none
Review URL: https://codereview.chromium.org/1674803002
Cr-Commit-Position: refs/heads/master@{#373963}
|
|
|
|
|
|
|
|
|
|
|
| |
Introduces a new GN template for generating a manifest. Instantiations of this template can define dependencies which are collated with the parent to produce a meta (package) manifest absorbing the dependencies manifests.
R=rockot,jam
http://crbug.com/575858
Review URL: https://codereview.chromium.org/1660243002
Cr-Commit-Position: refs/heads/master@{#373396}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this first cut, when a local .mojo or .exe target is loaded, we look for a manifest json file nearby and consume it into a catalog maintained by the PackageManagerImpl.
Default manifests are provided for several interesting Mojo apps in Chromium, with pretty names to make the Mash Task Viewer look a little nicer.
Future CL improvements:
- comprehensive testing. currently mojo_shell_apptests is broken due to the EDK change.
- persisting the consumed catalog in a single store (e.g. Preferences) so that we don't need to read a bunch of files every startup. i.e. implement ApplicationCatalogStore.
- block creating the ApplicationInstance on having read the manifest, so the base CapabilityFilter is understood.
- implement base CapabilityFilter application.
R=rockot@chromium.org
http://crbug.com/575858
Review URL: https://codereview.chromium.org/1641043002
Cr-Commit-Position: refs/heads/master@{#372853}
|
|
|
|
|
|
|
|
|
| |
TBR=sky@chromium.org
http://crbug.com/575308
Review URL: https://codereview.chromium.org/1565343003
Cr-Commit-Position: refs/heads/master@{#368776}
|
|
|
|
|
|
|
|
|
|
| |
BUG=557422
R=avi@chromium.org
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/1548203002
Cr-Commit-Position: refs/heads/master@{#366914}
|
|
|
|
|
|
|
|
|
| |
BUG=138542
TBR=blundell@chromium.org
Review URL: https://codereview.chromium.org/1551433002
Cr-Commit-Position: refs/heads/master@{#366874}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added components are:
bitmap_uploader
browser_sync
dom_distiller
exp
proxy_config
query_parser
rappor
renderer_context_menu
resource_provider
resources
rlz
safe_browsing_db
safe_json
scheduler
search
The dom distiller GN build was a little messed up. The JNI registrar files were in core but referenced files in content. I moved the registrar files to content/browser which is where they're needed and matches some other components. There were also some other duplicated java targets, and I split out the content build file into separate subdirectories and renamed the targets to match.
TBR=dpranke@chromium.org
BUG=562773
Review URL: https://codereview.chromium.org/1487433002
Cr-Commit-Position: refs/heads/master@{#362234}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
base::android::GetApplicationContext is now defined in context_utils.h.
Update includes for files that use this, and stop including it in
jni_android.h.
BUG=552419
TBR=jochen@chromium.org,sky@chromium.org,xhwang@chromium.org,davidben@chromium.org,tedchoc@chromium.org,scheib@chromium.org,qinmin@chromium.org,halliwell@chromium.org,thakis@chromium.org
Review URL: https://codereview.chromium.org/1475773002
Cr-Commit-Position: refs/heads/master@{#361701}
|
|
|
|
|
|
|
|
|
| |
R=sky@chromium.org
BUG=none
Review URL: https://codereview.chromium.org/1455833005
Cr-Commit-Position: refs/heads/master@{#360954}
|
|
|
|
|
|
|
|
|
|
| |
Android didn't like our magic to automatically include a connection to mojo:tracing in ApplicationImpl. This does things the explicit way: including a mojo:TracingImpl in each and every mojo application package.
BUG=534895
Review URL: https://codereview.chromium.org/1459453003
Cr-Commit-Position: refs/heads/master@{#360434}
|
|
|
|
|
|
|
|
|
| |
BUG=None
NOPRESUBMIT=true
Review URL: https://codereview.chromium.org/1410053006
Cr-Commit-Position: refs/heads/master@{#359461}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to complete the initialization of ICU before we raise the
sandbox. That means we can't pass a file descriptor to the ICU data file
across mojo pipes. Due to how Android handles resources files, we also
can't pass a file descriptor around inside the same process. So pass a
raw pointer to a memory mapped file during the sandbox warm-up phase,
and make a new option to initialize ICU from this raw pointer.
But that just uncovers a bigger issue: we don't always call what was the
sandbox warming code. If it's general initialization that needs to be
called before we run MojoMain(), we need to include initialization code
in most all main.cc implementations. This bakes a base initialize call
into the mojo application library.
This fixes a crash in the page cycler set, which happens when a page
tries to do date operations, which fail because of missing locale data.
This fixes several crashes in local runs.
[[This reland disables the sandbox on the page cycler bots because they
don't have a new enough kernel to be sandboxed(!). It also includes the
icu data in the mojo runner unittests.]]
BUG=546644
First Review URL: https://codereview.chromium.org/1425853003
TBR=jam@chromium.org,sky@chromium.org
R=yzshen@chromium.org
Review URL: https://codereview.chromium.org/1431133003
Cr-Commit-Position: refs/heads/master@{#359349}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1425853003/ )
Reason for revert:
Failures on Chromium Mojo Linux Perf which appears to be because the perf bots don't have an up to date kernel and on Chromium Mojo Android which has some weird crash.
Original issue's description:
> mandoline: Fix ICU initialization.
>
> We need to complete the initialization of ICU before we raise the
> sandbox. That means we can't pass a file descriptor to the ICU data file
> across mojo pipes. Due to how Android handles resources files, we also
> can't pass a file descriptor around inside the same process. So pass a
> raw pointer to a memory mapped file during the sandbox warm-up phase,
> and make a new option to initialize ICU from this raw pointer.
>
> But that just uncovers a bigger issue: we don't always call what was the
> sandbox warming code. If it's general initialization that needs to be
> called before we run MojoMain(), we need to include initialization code
> in most all main.cc implementations. This bakes a base initialize call
> into the mojo application library.
>
> This fixes a crash in the page cycler set, which happens when a page
> tries to do date operations, which fail because of missing locale data.
> This should let us raise the sandbox on the page cycler.
>
> BUG=546644
>
> Committed: https://crrev.com/e5735ff0a8ddb61672d964a44ebc8a8ebe2b6242
> Cr-Commit-Position: refs/heads/master@{#358904}
TBR=sky@chromium.org,jam@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=546644
Review URL: https://codereview.chromium.org/1429263005
Cr-Commit-Position: refs/heads/master@{#358955}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to complete the initialization of ICU before we raise the
sandbox. That means we can't pass a file descriptor to the ICU data file
across mojo pipes. Due to how Android handles resources files, we also
can't pass a file descriptor around inside the same process. So pass a
raw pointer to a memory mapped file during the sandbox warm-up phase,
and make a new option to initialize ICU from this raw pointer.
But that just uncovers a bigger issue: we don't always call what was the
sandbox warming code. If it's general initialization that needs to be
called before we run MojoMain(), we need to include initialization code
in most all main.cc implementations. This bakes a base initialize call
into the mojo application library.
This fixes a crash in the page cycler set, which happens when a page
tries to do date operations, which fail because of missing locale data.
This should let us raise the sandbox on the page cycler.
BUG=546644
Review URL: https://codereview.chromium.org/1425853003
Cr-Commit-Position: refs/heads/master@{#358904}
|
|
|
|
|
|
|
|
|
|
| |
The problem was that the thunks were being loaded into window_type_launcher executable, instead of the implementation.
BUG=550498
Review URL: https://codereview.chromium.org/1429363002
Cr-Commit-Position: refs/heads/master@{#358462}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Resource provider expects to find resources in directories named after
the mojo app followed by resources. If the name doesn't match
resources aren't found.
BUG=none
TEST=none
R=sadrul@chromium.org
Review URL: https://codereview.chromium.org/1426583013
Cr-Commit-Position: refs/heads/master@{#358436}
|
|
|
|
|
|
|
|
|
|
| |
Since state is now shared between apps and the shell, there could be bugs that don't exist in static builds. Running in multi-process (default for Mandoline now) makes this less of an issue, since no apps will share state. There's very little code that runs in the shell in a child process. --single-process works for now, but that could have more issues down the line. For now, this is really a developer productivity feature, just like component build in Chrome.
BUG=550498
Review URL: https://codereview.chromium.org/1410693004
Cr-Commit-Position: refs/heads/master@{#358343}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When run in child process mode, mojo_runner sets thunks in .mojo DLLs that allow various mojo system calls to work. These thunks are only needed for .DLLs loaded in this manner. When the mojo runner launches a standalone executable, the executable should statically link the real implementations of the system calls, not the thunks.
The problem was that there were a couple of client libs that implicitly depended on the thunks. The fix was to make this not be the case and instead:
- standalone executable targets statically link the real implementations (e.g. //mojo/gles2 and //mojo/runner:platform_handle)
- .mojo targets statically link the thunk targets, these dependencies are added automatically by the mojo_application gn target.
R=jam@chromium.org
http://crbug.com/548694
Review URL: https://codereview.chromium.org/1409393008
Cr-Commit-Position: refs/heads/master@{#357646}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch was generated using the following command line:
$ git ls-files "*.gn" | grep -v format_test_data | sed -e "s/^/gn format
--in-place /" >x.sh
$ chmod +x x.sh
$ ./x.sh
BUG=None
R=dpranke@chromium.org,scottmg@chromium.org
TBR=brettw@chromium.org
Review URL: https://codereview.chromium.org/1415753003
Cr-Commit-Position: refs/heads/master@{#357493}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
And removes hacks that were necessitated without it.
I also added a converter from a std::string to a URLRequestPtr as I
got tired of creating the URLRequestPtr, then setting url.
BUG=none
TEST=none
R=ben@chromium.org
Review URL: https://codereview.chromium.org/1407073002
Cr-Commit-Position: refs/heads/master@{#354392}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed for html viewer so that it can know which html_viewer is servicing the request.
BUG=479172,490221
TEST=covered by tests
R=ben@chromium.org
Review URL: https://codereview.chromium.org/1311353005
Cr-Commit-Position: refs/heads/master@{#346541}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are needed to link in asan/lsan/etc. mode. GYP injects these automatically but GN doesn't have automatic dependency injection.
All tests and components (which cover the vast majority of such targets in actual use) are templates which add these dependencies already, so most of the time it never comes up.
Only a few of these changes are actually necessary to link all tests run on the asan bot (which is also what engineers will typically build, since almost nobody will build all in asan mode). But to reduce confusion from linker errors in asan mode, I annotated all executables and shared libraries I could find with the sanitizer dependency.
I moved a config out of a target in yasm, and sorted a fews deps on other targets.
TBR=xhwang@chromium.org (widevine)
TBR=achuith@chromium.org (tools/perf, tools/telemetry)
Review URL: https://codereview.chromium.org/1318343003
Cr-Commit-Position: refs/heads/master@{#346490}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
toolchain.gni introduces:
root_shlib_dir, shlib_prefix, and shlib_extension
The original goal of this change was to put shlibs under lib/ for Linux / Android, since that's where GYP puts them. However, the lack of support for loadable_module (or more specifically - per target output directory) in GN makes this infeasible at the moment.
This change also mitigates a subtle bug where on Android the unstripped .so is used mistakenly instead of the lib.stripped/ version. It also fixes shlib's link_output being set to the unstripped .so rather than the stripped .so (on Android).
BUG=509771
Review URL: https://codereview.chromium.org/1236503002
Cr-Commit-Position: refs/heads/master@{#342697}
|