- pass remote identity & interface registry instead of dual purpose Connection object
- Connection is now only returned via Connect() & has no AddInterface() methods.
- updates all Service impls & ConnectionFilter.
R=rockot@chromium.org
BUG=
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/2215133002
Cr-Commit-Position: refs/heads/master@{#410543}
This CL flips the default value of use_new_wrapper_types from "false" to "true".
BUG=624136
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_blink_rel
Review-Url: https://codereview.chromium.org/2156303003
Cr-Commit-Position: refs/heads/master@{#406224}
This CL removes InterfacePtr::WaitForIncomingResponse definition
and replaces usage of them with either [Sync] call or
a nested MessageLoop waiting asynchronously.
BUG=622438
Review-Url: https://codereview.chromium.org/2096293002
Cr-Commit-Position: refs/heads/master@{#404579}
The PRESUBMIT rule makes sure that files involving IPC are covered
by the appropriate per-file rules. See https://goo.gl/NRiIPv for
other alternatives that were considered (e.g. why not recursive
per-file rules?).
BUG=611905
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review-Url: https://codereview.chromium.org/2070483002
Cr-Commit-Position: refs/heads/master@{#400748}
Removes all references to mojo::Callback and mojo::Closure,
replacing them with base::Callback or base::Closure, or
where applicable a mojom-generated callback alias.
The vast majority of the changes here are name changes only,
as mojo::Callback is already an alias for base::Callback.
Hence the TBRs.
Also removes mojo/public/cpp/bindings/callback.h
BUG=620840
TBR=ben@chromium.org for chrome, content, misc
TBR=lhchavez@chromium.org for components/arc
TBR=xhwang@chromium.org for media
TBR=haraken@chromium.org for third_party/WebKit
Review-Url: https://codereview.chromium.org/2080513002
Cr-Commit-Position: refs/heads/master@{#400616}
Replaces mojo::Callback with base::Callback.
This means updating several callback sites for the
following reasons:
- The mojo::Callback<T>::Runnable interface no longer exists
- C++11 lambas may no longer be bound implicitly
- Repsonse callback signatures must now match the generated
signature exactly (i.e. no implicit conversion from
const mojo::String& or const std::string& to a by-value
mojo::String)
- Null mojo::Callbacks could be Run without crashing; this
is no longer true.
- It's base::Callback::Reset instead of mojo::Callback::reset
mojo::Callback and mojo::Closure are left in place as aliases
for base::Callback and base::Closure until all references can
be updated.
BUG=620840
TBR=ben@chromium.org for general/toplevel
TBR=xhwang@chromium.org for media related changes
Review-Url: https://codereview.chromium.org/2062333002
Cr-Commit-Position: refs/heads/master@{#400598}
'module filesystem;' --> 'module filesystem.mojom;'
This way generated bindings will consistently live in a mojom
sub-namespace and avoid collision with non-mojom types.
This CL is for these .mojom files:
components/filesystem/public/interfaces/*.mojom
TBR=jochen, sky
BUG=588964
Review-Url: https://codereview.chromium.org/1962503002
Cr-Commit-Position: refs/heads/master@{#392538}
This adds a Clone() method to mojo filesystem Directory objects, along
with making it safe to clone Directory objects that represent temporary
directories so that the temporary directory sticks around as long as
there's a single open File or Directory referencing it.
Using this, we can fix the last flaky LevelDBServiceTest that needed to
access the filesystem.
BUG=602820
Review-Url: https://codereview.chromium.org/1935863002
Cr-Commit-Position: refs/heads/master@{#391040}
. Also removes a bunch of [D]CHECKs from manifest parsing. Error reporting isn't perfect yet (file names aren't reported)... but this'll do for now. A future incarnation might replace the LOGs with an error recorder passed into Deserialize() from the caller, which can then LOG the result with context about what was being deserialized.
R=rockot@chromium.org
BUG=
Review-Url: https://codereview.chromium.org/1916183004
Cr-Commit-Position: refs/heads/master@{#390114}
Also scoped_ptr -> unique_ptr in //services/shell
since this has to touch all that code anyway.
BUG=None
R=ben@chromium.orgTBR=tsepez@chromium.org for mojom (renaming some things)
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1882423004
Cr-Commit-Position: refs/heads/master@{#387208}
This runs what was a background thread for file operations on the same
thread as the mojo application, which is the db thread in chrome, and
the main thread when run as an app.
BUG=585587
Review URL: https://codereview.chromium.org/1839823002
Cr-Commit-Position: refs/heads/master@{#383799}
Building on the last patch which built mojo:profile and built one
for each BrowserContext, we move the LevelDBService in the profile
application to a dedicated leveldb thread to avoid deadlocks.
(Since applications all run on one thread by default, leveldb would
deadlock while waiting for profile to return data.)
This patch connects to the correct applications in
DOMStorageContextWrapper and then vends a LevelDBService instance to
each LevelDBWrapperImpl, for future use.
BUG=586194
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1737933002
Cr-Commit-Position: refs/heads/master@{#382343}
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}
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 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}
- Cleans up pieces that I partially, but didn't fully delete in the last
patch.
- Changes the FileSystem interface so that there isn't a free form string
in in.
- Separates out the current mandoline directory choosing code into the app
impl instead of the service impl. This should let us make a chrome version
in a future patch.
BUG=585587
Review URL: https://codereview.chromium.org/1718123004
Cr-Commit-Position: refs/heads/master@{#377058}
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}