summaryrefslogtreecommitdiffstats
path: root/mojo
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Reland: URLRequestJob: change ReadRawData contract"xunjieli2015-11-201-6/+10
| | | | | | | | | | | | | | | | | | | This reverts commit d77911ac82186d65a8f11555a7a6b1678c769ba2. The previous CL caused a top crasher on Canary. Reverting this CL now since fixing the crash isn't straightforward. TBR=michaeln@chromium.org,mnaganov@chromium.org,skyostil@chromium.org,eugenebut@chromium.org,davidben@chromium.org,falken@chromium.org,mtomasz@chromium.org, sky@chromium.org,jianli@chromium.org,zork@chromium.org,mmenke@chromium.org,rdsmith@chromium.org BUG=558224 BUG=553300 BUG=474859 BUG=329902 Review URL: https://codereview.chromium.org/1459333002 Cr-Commit-Position: refs/heads/master@{#360809}
* Fetch Mandoline components from Google Storage as needed.msw2015-11-204-3/+41
| | | | | | | | | | | | | | | | | | | | | | | | | Proof-of-concept for fetching optional components. Return LocalFetcher redirect URLs for missing components. This uses NetworkFetcher to access Google Storage files: https://pantheon.corp.google.com/storage/browser/mandoline/ For example, delete pdf_viewer.mojo locally, and run: $ mandoline http://www.pdf995.com/samples/pdf.pdf --predictable-app-filenames TODO: Integrate with Mandoline's component updater? crbug.com/479169 TODO: Integrate with planned Omaha fetcher and updater work. TODO: Support fetching apps with resource files. TODO: Handle broken URLs. (unavailable component files, etc.) TODO: Avoid kPredictableAppFilenames switch? (need executable bit set) BUG=479169 TEST=Mandoline can fetch the pdf_viewer as needed. R=ben@chromium.org Review URL: https://codereview.chromium.org/1442203002 Cr-Commit-Position: refs/heads/master@{#360735}
* Use unique URLs rather than qualifiers to uniquify RenderProcesses.ben2015-11-195-14/+8
| | | | | | | | | | | This is so code in the browser has something tangible to call ConnectToApplication() on. When a RenderProcessHost creates a new renderer, it creates a URL of the style exe:chrome_renderer#, where # is the RenderProcess ID. It stores this string on the RenderProcessHost's SupportsUserData. Call content/browser/mojo/mojo_shell_client_host.h's GetMojoApplicationInstanceURL() with a particular RPH to get the URL to connect to it. R=jam@chromium.org http://crbug.com/558009 Review URL: https://codereview.chromium.org/1455323002 Cr-Commit-Position: refs/heads/master@{#360604}
* Bind Application in renderer.ben2015-11-193-33/+29
| | | | | | | | | | | | | | | | | | | This involved changing how we get the client handle to the renderer. In the first iteration I was passing this on the command line but that turns out not to work with the sandbox. So instead I an approach used by the Mojo-in-Chrome MojoApplication class and pass the primordial handle via Chrome IPC. I had to twiddle a bunch of BUILD.gn files in content to get this to work without crashing due to inconsistencies in how MOJO_SHELL_CLIENT was defined. R=jam@chromium.org,tsepez@chromium.org http://crbug.com/551253 Committed: https://crrev.com/3edb97198bc5fbc22c5cf13286e8af80449ddfb9 Cr-Commit-Position: refs/heads/master@{#360293} Committed: https://crrev.com/2c716f9d5ebff610641f4506c17ec81d4b89b7bb Cr-Commit-Position: refs/heads/master@{#360396} Review URL: https://codereview.chromium.org/1452823003 Cr-Commit-Position: refs/heads/master@{#360550}
* Use std::default_delete as the default deleter for scoped_ptr.dcheng2015-11-191-0/+2
| | | | | | | | | | | The aim is to make scoped_ptr and std::unique_ptr functionally identical so scoped_ptr can simply be a typedef. BUG=554298 Review URL: https://codereview.chromium.org/1445003002 Cr-Commit-Position: refs/heads/master@{#360539}
* Revert of Bind Application in renderer (patchset #15 id:280001 of ↵alancutter2015-11-183-29/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1452823003/ ) Reason for revert: This change is making hundreds of webkit_tests crash on linux_chromium_rel_ng with: [1:1:1118/141621:108326049405:FATAL:lock.cc(32)] Check failed: owning_thread_ref_.is_null(). #0 0x00000067e2de base::debug::StackTrace::StackTrace() #1 0x00000057a71f logging::LogMessage::~LogMessage() #2 0x0000005eb69b base::Lock::CheckUnheldAndMark() #3 0x000000518e1c base::Lock::Acquire() #4 0x000000518b43 base::AutoLock::AutoLock() #5 0x0000005b4014 base::SequenceCheckerImpl::CalledOnValidSequencedThread() #6 0x000006f074ae IDMap<>::Lookup() #7 0x000006f0598c content::RendererBlinkPlatformImpl::SetPlatformEventObserverForTesting() #8 0x000008459264 content::SetMockGamepadProvider() Original issue's description: > Bind Application in renderer. > > This involved changing how we get the client handle to the renderer. In the first iteration I was passing this on the command line but that turns out not to work with the sandbox. So instead I an approach used by the Mojo-in-Chrome MojoApplication class and pass the primordial handle via Chrome IPC. > > I had to twiddle a bunch of BUILD.gn files in content to get this to work without crashing due to inconsistencies in how MOJO_SHELL_CLIENT was defined. > > R=jam@chromium.org,tsepez@chromium.org > http://crbug.com/551253 > > Committed: https://crrev.com/3edb97198bc5fbc22c5cf13286e8af80449ddfb9 > Cr-Commit-Position: refs/heads/master@{#360293} > > Committed: https://crrev.com/2c716f9d5ebff610641f4506c17ec81d4b89b7bb > Cr-Commit-Position: refs/heads/master@{#360396} TBR=jam@chromium.org,tsepez@chromium.org,ben@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1457173002 Cr-Commit-Position: refs/heads/master@{#360446}
* mojo_runner: Get --trace-start working with generic mojo_runner.erg2015-11-186-0/+47
| | | | | | | | | | 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}
* Bind Application in renderer.ben2015-11-183-33/+29
| | | | | | | | | | | | | | | | This involved changing how we get the client handle to the renderer. In the first iteration I was passing this on the command line but that turns out not to work with the sandbox. So instead I an approach used by the Mojo-in-Chrome MojoApplication class and pass the primordial handle via Chrome IPC. I had to twiddle a bunch of BUILD.gn files in content to get this to work without crashing due to inconsistencies in how MOJO_SHELL_CLIENT was defined. R=jam@chromium.org,tsepez@chromium.org http://crbug.com/551253 Committed: https://crrev.com/3edb97198bc5fbc22c5cf13286e8af80449ddfb9 Cr-Commit-Position: refs/heads/master@{#360293} Review URL: https://codereview.chromium.org/1452823003 Cr-Commit-Position: refs/heads/master@{#360396}
* Revert of mandoline/mojo: Make ApplicaitonImpl connect to tracing during ↵erg2015-11-1817-103/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | startup. (patchset #9 id:160001 of https://codereview.chromium.org/1440403002/ ) Reason for revert: Breaks on android due to lifetime issues. This approach isn't going to work. Original issue's description: > mandoline/mojo: Make ApplicaitonImpl connect to tracing during startup. > > This removes explicit initialization of the tracing system from > individual mojo apps and moves it to ApplicationImpl, which always > runs. > > BUG=534895 > > Committed: https://crrev.com/64370e5eaf911e665b991361b0da1f9d5baa95b7 > Cr-Commit-Position: refs/heads/master@{#360174} TBR=sky@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=534895, 557467 Review URL: https://codereview.chromium.org/1462593002 Cr-Commit-Position: refs/heads/master@{#360377}
* Revert the work of supporting WorkerPool clean shutdown on POSIX.yzshen2015-11-181-8/+0
| | | | | | | | | | | | | | | This feature was previously requested by the mandoline project. Now the project doesn't need it anymore. This reverts the following commits with conflict resolution: da8f981cd01fc15b878c6bfd692adbd3c151855a 455f7e6bde0882fcc8fcfeac1abaeb35e28709e3 2338784958b986a1280d7aa67e34dc0766b746d2 BUG=498986 Review URL: https://codereview.chromium.org/1449553003 Cr-Commit-Position: refs/heads/master@{#360360}
* Revert of Bind Application in renderer (patchset #14 id:260001 of ↵msramek2015-11-183-29/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1452823003/ ) Reason for revert: Speculatively reverting this, as this CL landed exactly at the time when renderer started crashing on linux_chromium_rel_ng. Original issue's description: > Bind Application in renderer. > > This involved changing how we get the client handle to the renderer. In the first iteration I was passing this on the command line but that turns out not to work with the sandbox. So instead I an approach used by the Mojo-in-Chrome MojoApplication class and pass the primordial handle via Chrome IPC. > > I had to twiddle a bunch of BUILD.gn files in content to get this to work without crashing due to inconsistencies in how MOJO_SHELL_CLIENT was defined. > > R=jam@chromium.org,tsepez@chromium.org > http://crbug.com/551253 > > Committed: https://crrev.com/3edb97198bc5fbc22c5cf13286e8af80449ddfb9 > Cr-Commit-Position: refs/heads/master@{#360293} TBR=jam@chromium.org,tsepez@chromium.org,ben@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=557732 Review URL: https://codereview.chromium.org/1460713002 Cr-Commit-Position: refs/heads/master@{#360331}
* Reland: URLRequestJob: change ReadRawData contractxunjieli2015-11-181-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL is to reland crrev.com/1410643007 which was reverted in crrev.com/1437523002. Previously, the interface for URLRequestJob::ReadRawData was as follows: bool ReadRawData(IOBuffer*, int, int*) Subclasses were expected to signal completion of the ReadRawData call by calling NotifyDone, SetStatus, or maybe one of the other Notify* functions on URLRequestJob, most of which do internal housekeeping and also drive the URLRequest's state machine. This made it difficult to reason about the URLRequestJob's state machine and needlessly complicated most of URLRequestJob. The new interface is as follows: int ReadRawData(IOBuffer*, int) Subclasses are required to either: a) Return ERR_IO_PENDING, and call ReadRawDataComplete when the read completes in any way, or b) Return a count of bytes read >= 0, indicating synchronous success, or c) Return another error code < 0, indicating synchronous failure. This substantially narrows the interface between URLRequestJob and its subclasses and moves the logic for the URLRequest state machine largely into URLRequestJob. Also, the signature of URLRequestJob::ReadFilteredData and some other internal URLRequestJob helpers changes to propagate detailed error codes instead of coercing all errors to FAILED. TBR=michaeln@chromium.org,mtomasz@chromium.org,jianli@chromium.org,zork@chromium.org BUG=474859 BUG=329902 Review URL: https://codereview.chromium.org/1439953006 Cr-Commit-Position: refs/heads/master@{#360327}
* Bind Application in renderer.ben2015-11-183-33/+29
| | | | | | | | | | | | | This involved changing how we get the client handle to the renderer. In the first iteration I was passing this on the command line but that turns out not to work with the sandbox. So instead I an approach used by the Mojo-in-Chrome MojoApplication class and pass the primordial handle via Chrome IPC. I had to twiddle a bunch of BUILD.gn files in content to get this to work without crashing due to inconsistencies in how MOJO_SHELL_CLIENT was defined. R=jam@chromium.org,tsepez@chromium.org http://crbug.com/551253 Review URL: https://codereview.chromium.org/1452823003 Cr-Commit-Position: refs/heads/master@{#360293}
* Mojo bindings: add message pipe control message definition and C++ helpers.yzshen2015-11-1813-8/+371
| | | | | | | | | | These control messages are necessary for managing associated interfaces running on the pipe. BUG=546067 Review URL: https://codereview.chromium.org/1453553002 Cr-Commit-Position: refs/heads/master@{#360259}
* Simplify MessagePumpMojo by having a single control pipe instead of nesting ↵amistry2015-11-182-22/+19
| | | | | | | | | | them per run-loop. BUG=556865 Review URL: https://codereview.chromium.org/1451933003 Cr-Commit-Position: refs/heads/master@{#360234}
* mandoline/mojo: Make ApplicaitonImpl connect to tracing during startup.erg2015-11-1717-49/+103
| | | | | | | | | | | | This removes explicit initialization of the tracing system from individual mojo apps and moves it to ApplicationImpl, which always runs. BUG=534895 Review URL: https://codereview.chromium.org/1440403002 Cr-Commit-Position: refs/heads/master@{#360174}
* Remove master.mojom and associated code.jam2015-11-175-297/+0
| | | | | | | | | | I'll handle windows sandboxing a different way. BUG=478251 Review URL: https://codereview.chromium.org/1455773002 Cr-Commit-Position: refs/heads/master@{#360166}
* Tweak iterations in HandleWatcherPerftest to reduce noise.amistry2015-11-171-14/+17
| | | | | | | | The goal is to make tests take between 100ms and 1s to run. Review URL: https://codereview.chromium.org/1452843004 Cr-Commit-Position: refs/heads/master@{#360162}
* Add yzshen as an OWNER for //src/mojo/publicyzshen2015-11-171-0/+1
| | | | | | | | BUG=None Review URL: https://codereview.chromium.org/1449053003 Cr-Commit-Position: refs/heads/master@{#359972}
* Another branch build fixben2015-11-151-1/+1
| | | | | | | | | TBR=sky@chromium.org BUG=555741 Review URL: https://codereview.chromium.org/1451583002 Cr-Commit-Position: refs/heads/master@{#359786}
* Fix compile issue, missing override.ben2015-11-151-1/+2
| | | | | | | | | TBR=sky@chromium.org BUG=none Review URL: https://codereview.chromium.org/1444963003 Cr-Commit-Position: refs/heads/master@{#359783}
* Remove CreateStreamTexture from GL interfaces.siva.gunturi2015-11-155-13/+0
| | | | | | | | | | | | | | Remove CreateStreamTexture from gpu_control.h. Use CreateStreamTexture as a non virtual function in command_buffer_proxy and in_process_command_buffer (for STFSynchronous).Use CreateStreamTexture instead of gl->CreateStreamTextureCHROMIUM. BUG=516585, 339191 Review URL: https://codereview.chromium.org/1385883002 Cr-Commit-Position: refs/heads/master@{#359778}
* Move Shell connection to content.ben2015-11-154-2/+8
| | | | | | | | | | | | | | | | | | I want to be able to use Mojo in content, so I think it makes sense that the shell bind step lives in content too. 1. Moves MojoRunnerState to content/common and renames it to MojoShellConnection. This class will be available in any process that creates an impl prior to running the main message loop. 2. Modifies ChildProcessLauncher to create a platform channel pair and put the client handle on the command line of the child process, and registers the server handle with the external shell. This will allow the child process to bind an Application request if it wants. TODO: What if the child process doesn't bind it? What happens to the instance created in the external shell? TODO: ChildProcessLauncher is a convenient chokepoint. It means the shell handle is passed to all child processes created by content. Do we want to do this? I think it's OK for now since this code is only triggered if Chrome itself is run from within the external shell. Before we can move this to production I think CreateInstanceForHandle is going to have to take a CapabilityFilter. R=jam@chromium.org http://crbug.com/551253 Review URL: https://codereview.chromium.org/1442893002 Cr-Commit-Position: refs/heads/master@{#359770}
* Remove mojo_sdk_source_set & mojo_edk_source_set templates.jam2015-11-1426-447/+139
| | | | | | | | No more need for that complexity anymore. Review URL: https://codereview.chromium.org/1443103003 Cr-Commit-Position: refs/heads/master@{#359723}
* Fix "missing source file" errors during gclient runhooks.pkasting2015-11-131-1/+0
| | | | | | | | | | BUG=none TEST=none TBR=kinuko Review URL: https://codereview.chromium.org/1439633003 Cr-Commit-Position: refs/heads/master@{#359652}
* Make the new Mojo EDK work on XP.jam2015-11-136-12/+69
| | | | | | | | | | | | Main points to note: -child processes started by Mojo inherit all inheritable handles. This isn't good security wise, but is needed because UpdateProcThreadAttribute doesn't exist on XP. I added a CHECK to ensure we don't use this code in production. -when sending a pipe, if there's a pending read then we block the current thread to call CancelIo on the IO thread. This is because CancelIOEx, which cancels process-wide, doesn't exist. In practice, this is not a major concern because we only start reading from a pipe once the mojo primitive is read/written to, and once that happens we almost never send the pipe. BUG=478251 Review URL: https://codereview.chromium.org/1441853003 Cr-Commit-Position: refs/heads/master@{#359632}
* Fix racy crash in Mandoline child processes.jam2015-11-139-33/+30
| | | | | | | | | | | | | The problem is with the new EDK, the IO task runner pointer needs to be initialized before MojoMessagePump is created (in child_process.cc). The rest of the change is removing the delegate thread from the InitIPCSupport function. BUG=478251 Committed: https://crrev.com/ee99b2d9ec86aa5bbc69169ea26964a6792d286b Cr-Commit-Position: refs/heads/master@{#359266} Review URL: https://codereview.chromium.org/1439863002 Cr-Commit-Position: refs/heads/master@{#359583}
* Implement CreateInstanceForHandle.ben2015-11-1323-91/+612
| | | | | | | | | | | | | | | | | | | | | | | A method on ApplicationManager that allows a process that launches another process to register the launched process with the ApplicationManager. In the Shell, this creates an ApplicationInstance, OutOfProcessNativeRunner and ChildProcessHost. This change makes it possible for a ChildProcessHost to be created for an existing process rather than one it must launch. I think in a future CL I should refactor this class more to make the difference between the type the shell starts and the type someone else starts a bit clearer. Currently it just triggers on whether or not app_path_ is empty which I think is a bit brittle. Adds an apptest for this that: - exposes a service from the apptest - apptest starts a native exe ("driver") via the shell - native exe ("driver") starts another native exe ("target") via base::LaunchProcess - driver creates platform channel and passes one side to target and the other side to the shell via CreateInstanceForHandle - target connects to service exposed by the apptest. R=jam@chromium.org http://crbug.com/551253 Committed: https://crrev.com/0cfab1b202d03d68fc1a8a99bb19b41c8d709a15 Cr-Commit-Position: refs/heads/master@{#359502} Review URL: https://codereview.chromium.org/1434083002 Cr-Commit-Position: refs/heads/master@{#359562}
* Revert of Fix racy crash in Mandoline child processes. (patchset #4 id:60001 ↵hablich2015-11-136-24/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1439863002/ ) Reason for revert: Fails build on pricise64: https://code.google.com/p/chromium/issues/detail?id=555361 Original issue's description: > Fix racy crash in Mandoline child processes. > > The problem is with the new EDK, the IO task runner pointer needs to be initialized before MojoMessagePump is created (in child_process.cc). The rest of the change is removing the delegate thread from the InitIPCSupport function. > > BUG=478251 > > Committed: https://crrev.com/ee99b2d9ec86aa5bbc69169ea26964a6792d286b > Cr-Commit-Position: refs/heads/master@{#359266} TBR=msw@chromium.org,jam@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=478251 Review URL: https://codereview.chromium.org/1444563002 Cr-Commit-Position: refs/heads/master@{#359528}
* Revert of Followup to r359266 to make mojo_edk_unittests2 pass again. ↵hablich2015-11-133-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | (patchset #2 id:20001 of https://codereview.chromium.org/1440083003/ ) Reason for revert: Needed because of relation to https://codereview.chromium.org/1439863002 which breaks precise64. Original issue's description: > Followup to r359266 to make mojo_edk_unittests2 pass again. > > BUG=478251 > > Committed: https://crrev.com/1f8629f7b817c1ea90027416e9385848e8e0993b > Cr-Commit-Position: refs/heads/master@{#359492} TBR=msw@chromium.org,jam@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=478251 Review URL: https://codereview.chromium.org/1447433002 Cr-Commit-Position: refs/heads/master@{#359527}
* Revert of Implement CreateInstanceForHandle (patchset #13 id:230001 of ↵hablich2015-11-1323-611/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1434083002/ ) Reason for revert: Needed so we can revert https://codereview.chromium.org/1439863002 too which breaks the precise64 build for Canary. Original issue's description: > Implement CreateInstanceForHandle. > > A method on ApplicationManager that allows a process that launches another process to register the launched process with the ApplicationManager. In the Shell, this creates an ApplicationInstance, OutOfProcessNativeRunner and ChildProcessHost. This change makes it possible for a ChildProcessHost to be created for an existing process rather than one it must launch. > > I think in a future CL I should refactor this class more to make the difference between the type the shell starts and the type someone else starts a bit clearer. Currently it just triggers on whether or not app_path_ is empty which I think is a bit brittle. > > Adds an apptest for this that: > - exposes a service from the apptest > - apptest starts a native exe ("driver") via the shell > - native exe ("driver") starts another native exe ("target") via base::LaunchProcess > - driver creates platform channel and passes one side to target and the other side to the shell via CreateInstanceForHandle > - target connects to service exposed by the apptest. > > R=jam@chromium.org > http://crbug.com/551253 > > Committed: https://crrev.com/0cfab1b202d03d68fc1a8a99bb19b41c8d709a15 > Cr-Commit-Position: refs/heads/master@{#359502} TBR=jam@chromium.org,ben@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1446453002 Cr-Commit-Position: refs/heads/master@{#359525}
* Implement CreateInstanceForHandle.ben2015-11-1323-90/+611
| | | | | | | | | | | | | | | | | | | | A method on ApplicationManager that allows a process that launches another process to register the launched process with the ApplicationManager. In the Shell, this creates an ApplicationInstance, OutOfProcessNativeRunner and ChildProcessHost. This change makes it possible for a ChildProcessHost to be created for an existing process rather than one it must launch. I think in a future CL I should refactor this class more to make the difference between the type the shell starts and the type someone else starts a bit clearer. Currently it just triggers on whether or not app_path_ is empty which I think is a bit brittle. Adds an apptest for this that: - exposes a service from the apptest - apptest starts a native exe ("driver") via the shell - native exe ("driver") starts another native exe ("target") via base::LaunchProcess - driver creates platform channel and passes one side to target and the other side to the shell via CreateInstanceForHandle - target connects to service exposed by the apptest. R=jam@chromium.org http://crbug.com/551253 Review URL: https://codereview.chromium.org/1434083002 Cr-Commit-Position: refs/heads/master@{#359502}
* Followup to r359266 to make mojo_edk_unittests2 pass again.jam2015-11-133-8/+6
| | | | | | | | BUG=478251 Review URL: https://codereview.chromium.org/1440083003 Cr-Commit-Position: refs/heads/master@{#359492}
* Move third_party/mojo/src/mojo/public to mojo/publicrockot2015-11-13831-505/+67320
| | | | | | | | | BUG=None NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1410053006 Cr-Commit-Position: refs/heads/master@{#359461}
* [Android] Enable multidex for debug builds of ChromePublic.jbudorick2015-11-131-0/+2
| | | | | | | | | | | | | This is a non-incremental implementation. It adds @MainDex to classes used by the renderer to keep them in the main dex, as it can't load secondary dexes when using the multidex support library (i.e., on K and below). BUG=272790 TBR=newt@chromium.org,sky@chromium.org Review URL: https://codereview.chromium.org/1408163009 Cr-Commit-Position: refs/heads/master@{#359453}
* mandoline: Hopefully fix running the android mandoline apptests.erg2015-11-121-0/+2
| | | | | | | | BUG=546644 Review URL: https://codereview.chromium.org/1440643005 Cr-Commit-Position: refs/heads/master@{#359439}
* Remove duplication between Mandoline and mojo_runner main functions.jam2015-11-126-41/+111
| | | | | | Review URL: https://codereview.chromium.org/1440053002 Cr-Commit-Position: refs/heads/master@{#359431}
* Add an application for the Shell.ben2015-11-128-5/+192
| | | | | | | | | | | Adds an implementation of ApplicationManager interface, which allows registration of instances launched by other process launchers. R=sky@chromium.org BUG=none Review URL: https://codereview.chromium.org/1435933003 Cr-Commit-Position: refs/heads/master@{#359385}
* mandoline: Reland "Fix ICU initialization".erg2015-11-129-10/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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}
* Remove mention of png_viewer from Mandoline since it doesn't exist.jam2015-11-121-1/+1
| | | | | | Review URL: https://codereview.chromium.org/1437063002 Cr-Commit-Position: refs/heads/master@{#359331}
* Remove unused kLogTag in mojo/runner/android/main.ccpkotwicz2015-11-121-3/+0
| | | | | | | | BUG=507294 Review URL: https://codereview.chromium.org/1438013005 Cr-Commit-Position: refs/heads/master@{#359330}
* Fix racy crash in Mandoline child processes.jam2015-11-126-25/+24
| | | | | | | | | | The problem is with the new EDK, the IO task runner pointer needs to be initialized before MojoMessagePump is created (in child_process.cc). The rest of the change is removing the delegate thread from the InitIPCSupport function. BUG=478251 Review URL: https://codereview.chromium.org/1439863002 Cr-Commit-Position: refs/heads/master@{#359266}
* Add profiling to WatcherThreadManager::StopWatching.amistry2015-11-121-0/+6
| | | | | | | | BUG=554761 Review URL: https://codereview.chromium.org/1434173002 Cr-Commit-Position: refs/heads/master@{#359265}
* Fail mojo apptests with no GTest '[ RUN ] <Suite.Fixture>' output.msw2015-11-121-1/+2
| | | | | | | | | | | | | | | | | | | John enabled multiprocess on desktop mojo_runner with [reverted] CL: https://codereview.chromium.org/1434563004 This somehow made the harness lose its GTest output, but tests 'passed'. The harness should fail fixture[s] without a '[ RUN ]' output line. Mark all attemped fixtures failed if no '[ RUN ]' output is found. Also, fix the DISABLED fixtures check for strings like 'Suite.Fixture'. BUG=551083 TEST=Applying John's CL and running apptest_runner.py fails all tests. R=sky@chromium.org Review URL: https://codereview.chromium.org/1435733002 Cr-Commit-Position: refs/heads/master@{#359240}
* Add a perftest for HandleWatcher.amistry2015-11-122-0/+217
| | | | | | Review URL: https://codereview.chromium.org/1332483002 Cr-Commit-Position: refs/heads/master@{#359220}
* Replace the context type in awakables with uintptr_t.amistry2015-11-1221-52/+55
| | | | | | | | | | | | The type was uint32_t, but the Awakable interface itself takes a uintptr_t. This change propagates that and allows the use of uintptr_t as context everywhere. BUG=Motivated by WaitSet. Review URL: https://codereview.chromium.org/1433913002 Cr-Commit-Position: refs/heads/master@{#359200}
* Use TimeTicks as much as possible in startup_metric_utils.gab2015-11-113-25/+26
| | | | | | | | BUG=544131, 521164 Review URL: https://codereview.chromium.org/1425263003 Cr-Commit-Position: refs/heads/master@{#359183}
* Eliminate third_party/mojo/src from all targets' include pathsKen Rockot2015-11-11128-203/+613
| | | | | | | | | | | | Eliding presubmit here because the missing DEPS entries are going to be addressed here: https://codereview.chromium.org/1410053006 BUG=554556 R=jam@chromium.org NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1435063002 . Cr-Commit-Position: refs/heads/master@{#359174}
* Clean up the runner directory.ben2015-11-1118-1030/+12
| | | | | | | | | | | | | - Remove obsolete or unnecessary tests - Move fetcher/data_pipe_peek tests to mojo_shell_unittests - Run the new mojo_runner_host_unittests. R=sky@chromium.org BUG=none Review URL: https://codereview.chromium.org/1439523002 Cr-Commit-Position: refs/heads/master@{#359163}
* Fix tracing message pipe outliving the IO thread.jam2015-11-118-53/+39
| | | | | | | | | | | | MessagePipeDispatcher's close methods posts a task to the IO thread to destruct the RawChannel (with the new EDK). This means that we need to ensure that Tracer is destructed before the IO thread. I've moved the initialization of tracing to inside Context to reduce code duplication. BUG=478251 Review URL: https://codereview.chromium.org/1437963002 Cr-Commit-Position: refs/heads/master@{#359156}