summaryrefslogtreecommitdiffstats
path: root/mojo
Commit message (Collapse)AuthorAgeFilesLines
* Mojo: Delete unused code in Connector to support non-blocking MojoWriteMessagedarin@chromium.org2014-01-252-112/+19
| | | | | | Review URL: https://codereview.chromium.org/145133020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247075 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: mojom: Move generation modules to pylib/generate/.viettrungluu@chromium.org2014-01-2516-29/+34
| | | | | | | | | | | | | | | | | (This parallels pylib/parse.) Keep the language-specific generators themselves in generators/. Note that running mojom_bindings_generator.py -g generators/cpp_generator.py foo.mojom now works. R=darin@chromium.org Review URL: https://codereview.chromium.org/147423003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247041 0039d316-1c4b-4281-b951-d872f2087c98
* Make mojom_data_tests.py exist and work again.viettrungluu@chromium.org2014-01-242-10/+98
| | | | | | | | | | | | | | This undoes r230890 (which was an incorrect "completion" of another revert), and updates mojom_data.py and mojom_data_tests.py to work properly again. (This does NOT add tests for the newer things.) R=davemoore@chromium.org Review URL: https://codereview.chromium.org/137203015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247001 0039d316-1c4b-4281-b951-d872f2087c98
* Support default values for arrays of POD data types in mojom.mpcomplete@chromium.org2014-01-247-2/+43
| | | | | | | | | | TODO: defaults values for structs BUG=320082 Review URL: https://codereview.chromium.org/141893004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246994 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Move a bunch of bindings "library" stuff to pylib subdirectory.viettrungluu@chromium.org2014-01-248-17/+33
| | | | | | | | | | | | | | | | Still to do: Stuff in the generators directory, which will be split in a different (and more complicated) way. Originally landed: r246807 Reverted: r246816 (due to lack of android webview whitelist update) R=darin@chromium.org TBR=boliu@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision= Review URL: https://codereview.chromium.org/146163002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246920 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Add missing 'explicit' keyworddarin@chromium.org2014-01-241-1/+2
| | | | | | Review URL: https://codereview.chromium.org/142793005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246849 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 246807 "Mojo: Move a bunch of bindings "library" stuff to..."hashimoto@chromium.org2014-01-248-33/+17
| | | | | | | | | | | | | | | | | | | | Causing check_licenses failure on "Android Builder (dbg)" http://build.chromium.org/p/chromium.linux/builders/Android%20Builder%20%28dbg%29/builds/50978 > Mojo: Move a bunch of bindings "library" stuff to pylib subdirectory. > > Still to do: Stuff in the generators directory, which will be split in a > different (and more complicated) way. > > R=davemoore@chromium.org > > Review URL: https://codereview.chromium.org/146163002 TBR=viettrungluu@chromium.org Review URL: https://codereview.chromium.org/146603003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246816 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Move a bunch of bindings "library" stuff to pylib subdirectory.viettrungluu@chromium.org2014-01-248-17/+33
| | | | | | | | | | | Still to do: Stuff in the generators directory, which will be split in a different (and more complicated) way. R=davemoore@chromium.org Review URL: https://codereview.chromium.org/146163002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246807 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Make the bindings generator able to dynamically load a generator.viettrungluu@chromium.org2014-01-232-8/+37
| | | | | | | | | | | | | | | | | | | | | | | | | Notes: - Currently --generators=.../generators/mojom_cpp_generator.py won't work; the python module path won't be right for it to just do "import mojom" (etc.). Instead, an explicitly-specified generator would have to do something like "from generators import mojom". - @UseJinja's path_to_template argument is now relative to the directory containing the *caller's* file (i.e., the generator's file), not the directory containing template_expander.py. Still to do: - Factory out the generator "library" files to a separate directory, away from specific (e.g., C++) generators. (Maybe move all the libraries into a pylib/ directory, and add that directory to the module path.) - Make it so that --generators=.../mojom_cpp_generator.py works as expected. R=davemoore@chromium.org Review URL: https://codereview.chromium.org/140523003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246649 0039d316-1c4b-4281-b951-d872f2087c98
* Internalize the GLES2Client logic into libmojo_gles2piman@chromium.org2014-01-2323-107/+512
| | | | | | | | | | | | | | | | | | | | | | | | | | | Expose an API that looks a bit like EGL to create/destroy contexts/make them current etc. This allows libmojo_gles2 to properly hide the GLES2 implementation. A follow up wil replace it by a proper CommandBuffer interface, etc. Some caveats: - we need a BindingsSupport in libmojo_gles2 because it's a component. We need to integrate with the embedder's run loop because we need to asynchronously wait on handles, so we pass in the embedder's BindingsSupport. We should probably pass an abstraction over the embedder's run loop, and have an implementation of BindingsSupport on top of that (note, currently on Android libmojo_gles2 is statically linked into the client, so we can't have 2 different BindingsSupport). - creating a context is currently asynchronous, and that's awkward. - we have to expose the chrome types (GLES2Implementation/ContextSupport) for the compositor app. That's awkward too. - some things like RequestAnimationFrames don't belong there at all. - libmojo_gles2 is a C API so we can't really have type safety, and some things like callbacks are a PITA. BUG=333157 Review URL: https://codereview.chromium.org/132913004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246516 0039d316-1c4b-4281-b951-d872f2087c98
* Make mojo_gles2 a stub shared librarypiman@chromium.org2014-01-2215-66/+709
| | | | | | | | | | | | | | | This follows the mojo_system pattern, separating mojo_gles2 into a client-side shared library which is just a trampoline into a shell-provided mojo_gles2_impl component. This includes core GLES2 functions which are auto-generated, replacing the use of gles2_c_lib. BUG=333157 R=darin@chromium.org, kbr@chromium.org Review URL: https://codereview.chromium.org/140513003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246434 0039d316-1c4b-4281-b951-d872f2087c98
* Support default values for POD struct fields in mojom IDL.mpcomplete@chromium.org2014-01-228-7/+61
| | | | | | | | | | TODO: default values for arrays and structs. BUG=320082 Review URL: https://codereview.chromium.org/138143003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246424 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Make different mojom generators look the same.viettrungluu@chromium.org2014-01-224-8/+13
| | | | | | | | | | | And generate files from a loop. Next step: Add a command-line option to specify which generators to use and load them dynamically. R=davemoore@chromium.org Review URL: https://codereview.chromium.org/129873014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246354 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Make mojom_bindings_generator.py use argparse instead of optparse.viettrungluu@chromium.org2014-01-221-19/+17
| | | | | | | | | | | | | | | | optparse is officially deprecated as of python 2.7 (the version we use, and the final version of python 2.x. (argparse was introduced in 2.7.) I'm pretty sure writing argument parsers is a favorite pasttime of python weenies. On the bright side, argparse does more for you with less code (on your part). R=davemoore@chromium.org Review URL: https://codereview.chromium.org/141003009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246189 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Make C API test work on MSVS before 2013.viettrungluu@chromium.org2014-01-221-11/+14
| | | | | | | | R=davemoore@chromium.org Review URL: https://codereview.chromium.org/136363004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246183 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Restore the Mojom generator's ability to use different include paths.viettrungluu@chromium.org2014-01-213-2/+12
| | | | | | | | | | | | | This was lost in the transition to jinja. (Actually, this also adds the ability to use "no" include path -- i.e., "foo.h" instead of "./foo.h".) R=darin@chromium.org, mpcomplete@chromium.org Review URL: https://codereview.chromium.org/140903007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246050 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Actually test some APIs in C (not C++).viettrungluu@chromium.org2014-01-186-3/+100
| | | | | | | | | | Also fix some problems in our C declarations/defines. R=sky@chromium.org Review URL: https://codereview.chromium.org/136793027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245668 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Add a C++ DataPipe wrapper paralleling the MessagePipe wrapper.viettrungluu@chromium.org2014-01-171-5/+34
| | | | | | | | | | | I should also write "end-to-end" data pipe tests ... but that will be a nontrivial project. R=sky@chromium.org Review URL: https://codereview.chromium.org/130633005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245647 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Add test for C++ mojo::MessagePipe wrapper.viettrungluu@chromium.org2014-01-171-17/+17
| | | | | | | | R=sky@chromium.org Review URL: https://codereview.chromium.org/141973003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245607 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Add leak detection to mojo::embedder::test::Shutdown().viettrungluu@chromium.org2014-01-174-8/+39
| | | | | | | | | | | | Don't hook up Init()/Shutdown() to our test harnesses yet, because things blow up (we currently have singletons that will hold handles across tests). R=sky@chromium.org Review URL: https://codereview.chromium.org/136793026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245605 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: foo_[0-9] -> foo[0-9].viettrungluu@chromium.org2014-01-1711-474/+471
| | | | | | | | | | For foolish consistency. I'll never make this mistake again. R=sky@chromium.org Review URL: https://codereview.chromium.org/140503005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245573 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Change "handle_[01]" -> "handle[01]".viettrungluu@chromium.org2014-01-176-25/+24
| | | | | | | | | | In accordance with popular opinion. R=sky@chromium.org Review URL: https://codereview.chromium.org/133453003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245552 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 245445 "Unifies LayerTreeHost::SetNeedsUpdateLayers and S..."mark@chromium.org2014-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Speculative. This may have caused flakiness on multiple bots. See bug 335582. > Unifies LayerTreeHost::SetNeedsUpdateLayers and SetNeedsAnimate -- V2 > > [2/2] Unifies LayerTreeHost::SetNeedsUpdateLayers and SetNeedsAnimate > > They basically do the same thing except that SetNeedsAnimate makes the next > commit non-cancellable. However there is really no reason why SetNeedsAnimate > need to enforce a commit even if no tiles are updated and no layer properties > changed. > > SetNeedsAnimate is thus merged into SetNeedsUpdateLayers. The proper use of > it is when there are potential layout/tile changes, we can use it to defer > calculation until the next frame. A commit will be scheduled but can be > cancelled if no updates are needed after calculation. > > This part of the patch changes code behavior slightly. > SingleThreadProxy::SetNeedsUpdateLayers was originally implemented as > RenderWidget::ScheduleComposite but now it is RenderWidget::ScheduleAnimation. > ThreadProxy::SetNeedsAnimate was non-cancellable but is now cancellable. > > [1/2] Cleanup RenderWidget::scheduleComposite/scheduleAnimation > > scheduleComposite has been renamed to ScheduleComposite as it is no longer > a part of WebWidgetClient API. > > scheduleAnimation has been renamed to ScheduleAnimation. The semantics is to > schedule a composite and also (potentially) animating WebWidget. > > A new WebWidgetClient API scheduleUpdate has been added, to replace the old > scheduleAnimation. The semantics is to notify the embedder that something in > the WebWidget may change in 0 seconds. (i.e. it is allowed to be called > during a redraw, in such case another redraw will be scheduled after frame > delay. > > This part of the patch should not change code behavior. > > BUG=316929 > R=danakj,jamesr,jochen > > Review URL: https://codereview.chromium.org/133263004 TBR=trchen@chromium.org BUG=335582 Review URL: https://codereview.chromium.org/141833002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245528 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Delete ContextProvider::MakeGrContextCurrent.alokp@chromium.org2014-01-172-2/+0
| | | | | | | | | | | | | | It is not necessary to explicitly make the GrContext current. The underlying GL context is automatically made current via a callback setup by all implementations of cc::ContextProvider. Ganesh calls this callback before issuing any GL command, which ensures the the appropriate GL context is current. BUG=334886 Review URL: https://codereview.chromium.org/135753006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245475 0039d316-1c4b-4281-b951-d872f2087c98
* Unifies LayerTreeHost::SetNeedsUpdateLayers and SetNeedsAnimate -- V2trchen@chromium.org2014-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [2/2] Unifies LayerTreeHost::SetNeedsUpdateLayers and SetNeedsAnimate They basically do the same thing except that SetNeedsAnimate makes the next commit non-cancellable. However there is really no reason why SetNeedsAnimate need to enforce a commit even if no tiles are updated and no layer properties changed. SetNeedsAnimate is thus merged into SetNeedsUpdateLayers. The proper use of it is when there are potential layout/tile changes, we can use it to defer calculation until the next frame. A commit will be scheduled but can be cancelled if no updates are needed after calculation. This part of the patch changes code behavior slightly. SingleThreadProxy::SetNeedsUpdateLayers was originally implemented as RenderWidget::ScheduleComposite but now it is RenderWidget::ScheduleAnimation. ThreadProxy::SetNeedsAnimate was non-cancellable but is now cancellable. [1/2] Cleanup RenderWidget::scheduleComposite/scheduleAnimation scheduleComposite has been renamed to ScheduleComposite as it is no longer a part of WebWidgetClient API. scheduleAnimation has been renamed to ScheduleAnimation. The semantics is to schedule a composite and also (potentially) animating WebWidget. A new WebWidgetClient API scheduleUpdate has been added, to replace the old scheduleAnimation. The semantics is to notify the embedder that something in the WebWidget may change in 0 seconds. (i.e. it is allowed to be called during a redraw, in such case another redraw will be scheduled after frame delay. This part of the patch should not change code behavior. BUG=316929 R=danakj,jamesr,jochen Review URL: https://codereview.chromium.org/133263004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245445 0039d316-1c4b-4281-b951-d872f2087c98
* Normalize _unittest.cc filename suffix for unittestsalecflett@chromium.org2014-01-172-2/+2
| | | | | | | | | | | This allows tools that use filename heuristics to detect tests (like scythe) BUG=335193 Review URL: https://codereview.chromium.org/138433004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245392 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Move test_embedder.* to the mojo_system_impl component.viettrungluu@chromium.org2014-01-164-7/+11
| | | | | | | | | | | | Also, tighten up DEPS: things outside mojo/system/ shouldn't include things in mojo/system/, unless they're an embedder in which case they can include things in mojo/system/embedder/. R=sky@chromium.org Review URL: https://codereview.chromium.org/136473007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245381 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Move system embedder API files to mojo/system/embedder.viettrungluu@chromium.org2014-01-1625-54/+56
| | | | | | | | | | | (More changes to come -- in particular to reduce exports from mojo_system_impl -- but one thing at a time....) R=sky@chromium.org Review URL: https://codereview.chromium.org/139823003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245339 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Move platform handle/channel stuff in system to embedder namespace.viettrungluu@chromium.org2014-01-1620-90/+67
| | | | | | | | | | | These things are exposed through the embedder API (and/or to be used by the embedder). R=sky@chromium.org Review URL: https://codereview.chromium.org/137063010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245303 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Add the ability to hook up a channel to the embedder API.viettrungluu@chromium.org2014-01-1616-77/+372
| | | | | | | | | | | | | | | | | | That is, starting with an OS "channel" (e.g., socket), you can tell the system to set up to send messages over it. It'll provide an initial "bootstrap" message pipe, from which you'll eventually be able to bring up more message pipes multiplexed on that channel (once you can pass handles in messages over the channel). Also: - Make a base class for tests that need an IO thread. - Add a way for test embedders to shut down the global instance. R=darin@chromium.org Review URL: https://codereview.chromium.org/140403002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245251 0039d316-1c4b-4281-b951-d872f2087c98
* Add a URL entry promptben@chromium.org2014-01-161-2/+25
| | | | | | | | | R=sky@chromium.org BUG=none Review URL: https://codereview.chromium.org/140103004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245040 0039d316-1c4b-4281-b951-d872f2087c98
* Break apart mojom_jinja_generator back into C++ and JS versions.mpcomplete@google.com2014-01-166-330/+349
| | | | | | | | | | | | I combined the 2 separate ones when I switched the C++ generator to jinja, but it turns out they don't actually share much code. The code they do share, I moved to the parent class. R=darin@chromium.org Review URL: https://codereview.chromium.org/137643002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245030 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Make mojo/public/tests/test_support.cc not depend on base/time.h.viettrungluu@chromium.org2014-01-161-7/+7
| | | | | | | | | | | Still left: base/test/perf_log.h, which will probably require support from the embedder somehow. R=darin@chromium.org Review URL: https://codereview.chromium.org/132873004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245027 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WebGraphicsContext3D getter from cc::ContextProviderjamesr@chromium.org2014-01-162-2/+0
| | | | | | | | | | | The compositor uses GLES2Interface to talk to the OpenGL context now, so the WebGraphicsContext3D getter isn't applicable at this layer. BUG=181120 Review URL: https://codereview.chromium.org/132163004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245026 0039d316-1c4b-4281-b951-d872f2087c98
* mojo: gyp fixespiman@chromium.org2014-01-152-1/+2
| | | | | | | | | | | | - make mojo_sample_app correctly depend on the standalone environment since it uses it - make mojo depend on mojo_compositor_app so we build that one too BUG= R=darin@chromium.org Review URL: https://codereview.chromium.org/138323003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244997 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Remove some base/ dependencies from mojo/public/tests/.viettrungluu@chromium.org2014-01-154-84/+82
| | | | | | | | | | | | | | mojo/public/tests/ shouldn't depend on stuff outside of public/. (Still left to do: a couple dependencies in test_support.cc.) R=darin@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=244966 Review URL: https://codereview.chromium.org/139843002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244977 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 244966 "Mojo: Remove some base/ dependencies from mojo/pu..."pauljensen@chromium.org2014-01-154-79/+81
| | | | | | | | | | | | | | | | | | | | Failed to build: http://build.chromium.org/p/chromium/builders/Linux/builds/46631 > Mojo: Remove some base/ dependencies from mojo/public/tests/. > > mojo/public/tests/ shouldn't depend on stuff outside of public/. > > (Still left to do: a couple dependencies in test_support.cc.) > > R=darin@chromium.org > > Review URL: https://codereview.chromium.org/139843002 TBR=viettrungluu@chromium.org Review URL: https://codereview.chromium.org/136033006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244971 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Remove some base/ dependencies from mojo/public/tests/.viettrungluu@chromium.org2014-01-154-81/+79
| | | | | | | | | | | | mojo/public/tests/ shouldn't depend on stuff outside of public/. (Still left to do: a couple dependencies in test_support.cc.) R=darin@chromium.org Review URL: https://codereview.chromium.org/139843002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244966 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: DataPipe: Finish docs/comments in core.h and fix some bugs.viettrungluu@chromium.org2014-01-154-27/+271
| | | | | | | | | | | Specifically, document the two-phase APIs and make sure that they correctly check that the sizes are multiples of the element size. R=darin@chromium.org Review URL: https://codereview.chromium.org/136793010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244904 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Rename PlatformChannelHandle to PlatformHandle, etc.viettrungluu@chromium.org2014-01-1420-298/+221
| | | | | | | | | | | | | | | | We're going to need handles to things other than "channels", so rename PlatformChannelHandle to PlatformHandle. Rename/refactor PlatformChannel to ScopedPlatformHandle (because that's what it really was), and make it move-only. Adapt everything else to fit this model. R=darin@chromium.org Review URL: https://codereview.chromium.org/137273003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244742 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: AsyncWaiter and mojo/public/environmentdarin@chromium.org2014-01-1466-762/+893
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary of changes: o BindingsSupport is gone: - mojo/public/bindings/lib depends on mojo/public/environment/, which is also a static library. - mojo/public/environment provides a default implementation of MojoAsyncWaiter (replacing the AsyncWait functionality of BindingsSupport). - mojo/public/environment provides TLS support for storing the current Buffer* (replacing the Set/GetCurrentBuffer functionality of BindingsSupport). - mojo/public/environment provides the Environment class, formerly part of mojo/public/utility/ - The standalone implementation of mojo/public/environment/ depends on mojo/public/utility/ and assumes clients will be instantiating RunLoops on their threads. - The chromium-specific implementation of mojo/public/environment/ depends on mojo/common/ and assumes clients will be instantiating MessageLoops on their threads. - The chromium-specific implementation of mojo/public/environment/ is divided into two targets: mojo_environment_chromium and mojo_environment_chromium_impl. The former is a static library and the latter is a component. (This way all of the state--TLS keys-- associated with the environment is kept in a DSO when using a component build.) o RemotePtr and Connector may optionally be parameterized with a MojoAsyncWaiter*, allowing users to customize how AsyncWait is implemented for a particular usage of bindings. This is needed by the GL library so that it can schedule work on an application defined run loop. o RunLoop gains a RunUntilIdle method to support tests. This allows us to delete SimpleBindingsSupport instead of converting it over to an implementation of MojoAsyncWaiter. Review URL: https://codereview.chromium.org/134253004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244739 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt at making it slightly easier to debug mojosky@chromium.org2014-01-143-4/+34
| | | | | | | | | | | | | | | | | | | Two things: . If MOJO_SHELL_DEBUG is set the downloaded dll is saved to the file name link-me. This makes it easy to create a link in the appropriate directory before hand so you don't have to continually adjust the path. . If MOJO_SHELL_DEBUG_URL is set then the url supplied is ignored and the code sleeps for 5 seconds. This makes it easy to attach via gdb and continue on. BUG=none TEST=none R=jamesr@chromium.org Review URL: https://codereview.chromium.org/135233002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244702 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: re-organize public testsdarin@chromium.org2014-01-1228-148/+161
| | | | | | | | | | Move sample service test to be with the rest of the bindings tests, and change it to not echo output by default. R=viettrungluu@chromium.org Review URL: https://codereview.chromium.org/134823005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244437 0039d316-1c4b-4281-b951-d872f2087c98
* Make aurademo create a command line and atexitmanagersky@chromium.org2014-01-111-0/+4
| | | | | | | | | | | | These are generally needed by aura and other parts of the code. BUG=none TEST=none R=ben@chromium.org Review URL: https://codereview.chromium.org/134523004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244336 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Add the beginnings of a proper embedder API.viettrungluu@chromium.org2014-01-117-10/+52
| | | | | | | | | | | Actually, just move mojo::system::CoreImpl::Init() to mojo::embedder::Init(), in its own header file. R=darin@chromium.org Review URL: https://codereview.chromium.org/135073002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244284 0039d316-1c4b-4281-b951-d872f2087c98
* Unrevert 244233 "Add support for using expressions as enum values."mpcomplete@google.com2014-01-103-116/+393
| | | | | | | | | | | First time broke the build with a non-ASCII character in a comment. BUG=320090 TBR=darin@chromium.org Review URL: https://codereview.chromium.org/131833004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244250 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 244233 "Add support for using expressions as enum values."dalecurtis@google.com2014-01-103-393/+116
| | | | | | | | | | | | | | | | | > Add support for using expressions as enum values. > > BUG=320090 > R=darin@chromium.org > > Review URL: https://codereview.chromium.org/130443003 Broke the android build: http://build.chromium.org/p/chromium.linux/buildstatus?builder=Android%20Builder%20%28dbg%29&number=50248 TBR=mpcomplete@google.com Review URL: https://codereview.chromium.org/133843004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244237 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Move PlatformChannelPair to its own files.viettrungluu@chromium.org2014-01-1011-92/+138
| | | | | | | | | | | (platform_channel_posix.cc gets moved to platform_channel_pair_posix.cc entirely.) R=darin@chromium.org Review URL: https://codereview.chromium.org/133533007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244234 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for using expressions as enum values.mpcomplete@google.com2014-01-103-116/+393
| | | | | | | | | BUG=320090 R=darin@chromium.org Review URL: https://codereview.chromium.org/130443003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244233 0039d316-1c4b-4281-b951-d872f2087c98
* Mojo: Refactor PlatformChannel stuff.viettrungluu@chromium.org2014-01-109-186/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove PlatformServerChannel/PlatformClientChannel. - Add PlatformChannelPair (move stuff formerly in PlatformServerChannel into this). It became apparent that my previous plan to make this work on Windows wasn't work nicely. On the one hand, on Vista+, we can basically make things work like POSIX (created the channels in the parent and connect them, and send a channel to a child). On the other, on XP, to be secure you need to do more work (the channels aren't connected or authenticated initially), so you'd need much more machinery (to wait for connection, to authenticate, etc.). So I'll go for a different mechanism to make things work on XP. The assumption from the Mojo embedder API will be that it's given a channel handle that's already been connected, authenticated, etc. (which will be taken care of by other means). This will add flexibility in other ways as well (e.g., make Mojo IPC more happily coexist with Chrome IPC -- you should be able to pass a handle over Chrome IPC to set up Mojo IPC). Still to do: Move PlatformChannelPair into its own files. R=darin@chromium.org Review URL: https://codereview.chromium.org/134373005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244223 0039d316-1c4b-4281-b951-d872f2087c98