summaryrefslogtreecommitdiffstats
path: root/blimp
Commit message (Collapse)AuthorAgeFilesLines
* [Blimp Client] Land CL 1528243002 (Add a basic linux client for Blimp)haibinlu2015-12-2913-36/+364
| | | | | | | | | | Exactly the same as issue 1528243002 at patchset 20001 (http://crrev.com/1528243002#ps20001) BUG=534894 Review URL: https://codereview.chromium.org/1551683002 Cr-Commit-Position: refs/heads/master@{#367040}
* Make blimp_engine_bundle action silent when successful.maniscalco2015-12-281-2/+2
| | | | | | | | | | Don't write to stdout. Only write to stderr when there's an error. BUG=572396 Review URL: https://codereview.chromium.org/1550793002 Cr-Commit-Position: refs/heads/master@{#366991}
* Add a BlimpMessageThreadPipe helper for UI<->IO thread transitions.wez2015-12-234-1/+311
| | | | | | | | | | | | | | | | BlimpMessageThreadPipe allows any BlimpMessageProcessor running on one thread to be wrapped and proxy processors dispensed that can be used to pass messages to it from any other thread. The pipe/proxy implementation ensures that pending processing requests and completion callbacks are correctly abandoned if either end of the "pipe" is torn down on its respective thread. BUG=568276 Review URL: https://codereview.chromium.org/1540493004 Cr-Commit-Position: refs/heads/master@{#366765}
* [Blimp Engine] Upates existing engine message processors to features.haibinlu2015-12-226-106/+156
| | | | | | | | BUG=568276 Review URL: https://codereview.chromium.org/1535903002 Cr-Commit-Position: refs/heads/master@{#366620}
* Remove unused using declarations from unit-test.wez2015-12-211-2/+0
| | | | | | Review URL: https://codereview.chromium.org/1534333002 Cr-Commit-Position: refs/heads/master@{#366411}
* Switch to standard integer types in blimp/.avi2015-12-2024-26/+50
| | | | | | | | | BUG=138542 TBR=wez@chromium.org Review URL: https://codereview.chromium.org/1538253002 Cr-Commit-Position: refs/heads/master@{#366303}
* The checkpointer takes income messages from blimp connection, monitors their ↵haibinlu2015-12-195-10/+75
| | | | | | | | | | message_id, sends checkpoint messages out via the output buffer, intercepts checkpoint ack messages and forwards the rest, informs the output buffer about checkpoint ID. BUG= Review URL: https://codereview.chromium.org/1513413003 Cr-Commit-Position: refs/heads/master@{#366260}
* This is an integration test that involves underlying TCP connection and ↵haibinlu2015-12-182-19/+79
| | | | | | | | | | BlimpConnection. Also fixes a bug in BlimpConnection that results in wrong buffer's remaining bytes. Review URL: https://codereview.chromium.org/1522163003 Cr-Commit-Position: refs/heads/master@{#366153}
* Revert of Allow one-copy task tile worker pool to use compressed textures. ↵rbyers2015-12-181-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #14 id:260001 of https://codereview.chromium.org/1379783002/ ) Reason for revert: Causing perf bot failures - apparently triggers a render crash. http://crbug.com/570477 and possibly http://crbug.com/570809. Please run a perf tryjob including these tests before relanding. Original issue's description: > Allow one-copy and zero-copy task tile worker pools to use compressed textures. > > BUG=434699 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/7d60ce9a132a88ead407a2a58c91edc431e68259 > Cr-Commit-Position: refs/heads/master@{#364326} > > Committed: https://crrev.com/10fc39d36c0ba481056ec91a2984e02fd1127cf4 > Cr-Commit-Position: refs/heads/master@{#364484} TBR=reveman@chromium.org,nyquist@chromium.org,piman@chromium.org,sievers@chromium.org,christiank@opera.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=434699 Review URL: https://codereview.chromium.org/1535953003 Cr-Commit-Position: refs/heads/master@{#366101}
* [Blimp Net] Adds unit test for BrowserConnectionHandlerhaibinlu2015-12-188-7/+235
| | | | | | Review URL: https://codereview.chromium.org/1512763008 Cr-Commit-Position: refs/heads/master@{#365979}
* BlimpNetworkComponents for initializing network stack on IO thread.haibinlu2015-12-183-7/+84
| | | | | | Review URL: https://codereview.chromium.org/1523463002 Cr-Commit-Position: refs/heads/master@{#365971}
* [Blimp] Rename CONTROL proto type to TAB_CONTROL.haibinlu2015-12-1715-47/+48
| | | | | | Review URL: https://codereview.chromium.org/1530133006 Cr-Commit-Position: refs/heads/master@{#365889}
* [Blimp Net] Update engine versionhaibinlu2015-12-173-4/+5
| | | | | | | | | | It is the same as mobile Chrome. BUG=537367 Review URL: https://codereview.chromium.org/1535563002 Cr-Commit-Position: refs/heads/master@{#365876}
* Pass method parameters as JavaParamRef in remaining cases.torne2015-12-178-93/+116
| | | | | | | | | | Pass all object parameters to JNI methods in JavaParamRef<> wrappers. BUG=506850 Review URL: https://codereview.chromium.org/1525743003 Cr-Commit-Position: refs/heads/master@{#365835}
* Address post commit comments on Blimp Feature CLdtrainor2015-12-144-62/+71
| | | | | | | | | | | - Address comments after https://chromiumcodereview.appspot.com/1496133002/ landed. - Specifically fix some nits and update the unit tests to use gmock properly. Review URL: https://codereview.chromium.org/1518753002 Cr-Commit-Position: refs/heads/master@{#365033}
* Implement a simple BlimpMessageCheckpointer.wez2015-12-108-3/+303
| | | | | | | | | | | | | | | | BlimpMessageCheckpointer monitors the incoming message stream to dispatch checkpoint acknowledgements back to the peer as features process incoming messages. Acknowledgements will be handled by the ProtocolControl message-handler which will use them to e.g. inform the BlimpMessageOutputBuffer so it can clean up buffered messages. BUG=568272 Review URL: https://codereview.chromium.org/1513063002 Cr-Commit-Position: refs/heads/master@{#364525}
* Allow one-copy and zero-copy task tile worker pools to use compressed textures.christiank2015-12-101-1/+2
| | | | | | | | | | | | BUG=434699 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/7d60ce9a132a88ead407a2a58c91edc431e68259 Cr-Commit-Position: refs/heads/master@{#364326} Review URL: https://codereview.chromium.org/1379783002 Cr-Commit-Position: refs/heads/master@{#364484}
* Revert of Allow one-copy task tile worker pool to use compressed textures. ↵engedy2015-12-101-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #14 id:260001 of https://codereview.chromium.org/1379783002/ ) Reason for revert: Resulted in linux-release/sizes/chrome-si/initializers failure: https://build.chromium.org/p/chromium/builders/Mac/builds/9905 https://build.chromium.org/p/chromium/builders/Linux/builds/69200 26a27 > # texture_compressor_etc1_sse.cc _GLOBAL__sub_I_texture_compressor_etc1_sse.cc+0xb 29c30 < # Found 28 static initializers in 8 files. --- > # Found 29 static initializers in 9 files. If this is intended, please update corresponding performance test expectations. Original issue's description: > Allow one-copy and zero-copy task tile worker pools to use compressed textures. > > BUG=434699 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/7d60ce9a132a88ead407a2a58c91edc431e68259 > Cr-Commit-Position: refs/heads/master@{#364326} TBR=reveman@chromium.org,nyquist@chromium.org,piman@chromium.org,sievers@chromium.org,christiank@opera.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=434699 Review URL: https://codereview.chromium.org/1513733003 Cr-Commit-Position: refs/heads/master@{#364342}
* Allow one-copy and zero-copy task tile worker pools to use compressed textures.christiank2015-12-101-1/+2
| | | | | | | | | BUG=434699 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1379783002 Cr-Commit-Position: refs/heads/master@{#364326}
* Create a ControlFeature for Blimpdtrainor2015-12-1025-35/+402
| | | | | | | | | | | Add a basic ControlFeature class for blimp to allow for passing resize messages to the engine. BUG= Review URL: https://codereview.chromium.org/1496013004 Cr-Commit-Position: refs/heads/master@{#364259}
* Tie blimp client features into the session.dtrainor2015-12-0922-378/+479
| | | | | | | | | | | | Rework the features so that they properly connect to the network layer in the BlimpClientSession. Also rename/move them so they're appropriately called *Feature. BUG= Review URL: https://codereview.chromium.org/1496133002 Cr-Commit-Position: refs/heads/master@{#364174}
* Adds a protocol version file and sends START_CONNECTION message in client ↵haibinlu2015-12-095-4/+53
| | | | | | | | | | | | connection manager before handing it over to browser connection handler. TODO: Gathers client token BUG= Review URL: https://codereview.chromium.org/1501463003 Cr-Commit-Position: refs/heads/master@{#364172}
* Add a basic BlimpClientSession object.dtrainor2015-12-0913-11/+236
| | | | | | | | | | | | Creates the native BlimpClientSession and the corresponding Java BlimpClientSession object for Android. This also ties in existing features into the BlimpClientSession and renames them accordingly. BUG=567788 Review URL: https://codereview.chromium.org/1491423002 Cr-Commit-Position: refs/heads/master@{#364091}
* blimp: Add support for basic input handling.khushalsagar2015-12-0911-3/+637
| | | | | | | | | | | | | | | | | - Add BlimpInputManager to store all input state for the current render widget. - Grab and convert Android motion events to ui::MotionEvent sent to the BlimpInputManager to generate WebGestureEvents using ui::FilteredGestureProvider. - Forward the WebInputEvents to the ui::InputHandlerProxy to be handled by the cc::InputHandler on the compositor thread. - Send the WebInputEvents not handled by the compositor to the engine. BUG=548806 Review URL: https://codereview.chromium.org/1430623004 Cr-Commit-Position: refs/heads/master@{#363928}
* [Blimp Net] Add EngineAuthHandler.haibinlu2015-12-0914-3/+390
| | | | | | | | | | It is a ConnectionHandler which expects each new connection to supply a StartConnection message with a valid client authentication token, verifies it, and if successful then hands the connection off to the main ConnectionHandler. BUG=567817 Review URL: https://codereview.chromium.org/1492643003 Cr-Commit-Position: refs/heads/master@{#363880}
* Blimp: Allow MessagePump's MessageProcessor to be unset.wez2015-12-083-14/+57
| | | | | | | | | | | | | | | | | | (This CL takes over kmarshall@'s issue 1491413007) This change gives MessageProcessors the ability to turn off the BlimpMessagePump in between reads, so that it can be disconnected and reconnected to another MessageProcessor. Add DCHECKs to ensure that the pump isn't disconnected mid-read. R=haibinlu@chromium.org TBR=kmarshall@chromium.org BUG= Review URL: https://codereview.chromium.org/1509723002 Cr-Commit-Position: refs/heads/master@{#363698}
* Add CreateBlimpMessage helper function library.kmarshall2015-12-0413-30/+176
| | | | | | | | | | | | | | | This suite of helper methods to simplify the repetitive task of creating new BlimpMessages, initializing them, and extracting type-specific inner messages. Add library calls to existing Blimp code. R=dtrainor@chromium.org BUG= Review URL: https://codereview.chromium.org/1498893002 Cr-Commit-Position: refs/heads/master@{#363246}
* Convert remaining instances of scoped_ptr::Pass() to std::move.kmarshall2015-12-041-3/+3
| | | | | | | | | R=dtrainor@chromium.org BUG= Review URL: https://codereview.chromium.org/1501483002 Cr-Commit-Position: refs/heads/master@{#363244}
* [Blimp Net] Implements ClientConnectionManager.haibinlu2015-12-045-28/+177
| | | | | | | | | | It manages mutliple transports and uses them one by one in the order they were added to connect to the engine. BUG= Review URL: https://codereview.chromium.org/1489123002 Cr-Commit-Position: refs/heads/master@{#363237}
* Remove the record_full_layer layer tree setting.chrishtr2015-12-031-1/+0
| | | | | | | | | | Blink now implements the same thing in its interest rect code. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1485823005 Cr-Commit-Position: refs/heads/master@{#363012}
* Add NavigationMessageProcessor for Blimpdtrainor2015-12-0314-37/+506
| | | | | | | | | | | | | | - Add a class to handle serializing and deserializing protobufs of the BlimpMessage::NAVIGATION type. - Tied a delegate for this class into the Blimp Android Toolbar class to visually represent changes from the engine and to dispatch user changes from the client. BUG=552576 Review URL: https://codereview.chromium.org/1464713002 Cr-Commit-Position: refs/heads/master@{#362885}
* Make PacketReader/PacketWriter interfaces async-only.kmarshall2015-12-0314-363/+190
| | | | | | | | | | | | | | | Adapts synchronous I/O completion to use callbacks, so downstream callers are insulated from having to manage the complexities of mixed sync and async I/O. Updated logic of all PacketReader/PacketWriter dependents. R=haibinlu@chromium.org,wez@chromium.org BUG=558643 Review URL: https://codereview.chromium.org/1452823011 Cr-Commit-Position: refs/heads/master@{#362833}
* Implementation for the Blimp Message Buffer.kmarshall2015-12-028-28/+476
| | | | | | | | | | | | | This class provides a FIFO buffer for reliable, ordered message delivery, and schedules completion callbacks in response to message delivery acknowledgements. BUG=557360 R=wez@chromium.org,haibinlu@chromium.org Review URL: https://codereview.chromium.org/1458633002 Cr-Commit-Position: refs/heads/master@{#362769}
* Move blimp/net/test_common.h/cc to a separate source_set.dtrainor2015-12-025-45/+29
| | | | | | | | | | - Allow blimp/net/test_common to be used by other packages that might need to create a MockBlimpMessageProcessor without depending on the whole //blimp/net:tests target. BUG=550693 Review URL: https://codereview.chromium.org/1486543003 Cr-Commit-Position: refs/heads/master@{#362765}
* Add blimp_engine_bundle and blimp_tests to blimp meta-target.wez2015-12-023-18/+30
| | | | | | | | | | This allows the blimp meta-target to be used to build all of the relevant artefacts on the target platform, rather than having to explicitly call out tests, etc. The bundle_bimp_engine step is renamed to blimp_engine_bundle, to fit better as a target name, and the implementation is commented & cleaned up a little (e.g. using underscore prefix to denote variables local to the action, versus GN variables). Review URL: https://codereview.chromium.org/1472413003 Cr-Commit-Position: refs/heads/master@{#362591}
* CC Animations: Make sure that Blimp uses compositor-animation-timelinesloyso2015-12-014-2/+17
| | | | | | | | | | | | | | | | Blimp doesn't add animations to cc::Layers for now. Make sure that Blimp always uses the new animation system (cc::AnimationHost). In practice this means that cc::Layers in Blimp compositor don't have LayerAnimationController. Eventually, we will delete LayerSettings everywhere. BUG=394777 Review URL: https://codereview.chromium.org/1482933002 Cr-Commit-Position: refs/heads/master@{#362348}
* Interface-izes TaskGraphRunner and moves implementation helpers to ↵ericrk2015-12-012-21/+8
| | | | | | | | | | | | | | | | | TaskGraphWorkQueue. There are two new classes: SynchronousTaskGraphRunner - used in some tests and by LayerTreeHostImpl SingleThreadTaskGraphRunner - used in a number of tests (wrapped by TestTaskGraphRunner) and by GpuProcessTransportFactory and CompositorImplAndroid. Additionally RasterWorkerPool has been re-worked to use the new helper. BUG= CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1449133002 Cr-Commit-Position: refs/heads/master@{#362338}
* Add glue between the client and engine for Blimpdtrainor2015-12-0132-339/+1425
| | | | | | | | | | | | | | | | - Add BlimpMessageProcessors to handle RENDER_WIDGET, INPUT, and COMPOSITOR message types to/from the client and engine. - Tie the message processors into BlimpCompositor on the client and BlimpEngineSession on the server. - Update BlimpView and BlimpCompositor to fix how we handle output surfaces and how we shut down and build the LayerTreeHost based on incoming RENDER_WIDGET and COMPOSITOR messages. BUG=550693 Review URL: https://codereview.chromium.org/1450423002 Cr-Commit-Position: refs/heads/master@{#362299}
* [Blimp Net] Implement Engine Connection Manager.haibinlu2015-11-3012-21/+196
| | | | | | | | It handles multiple transports, and accepts new BlimpConnections from these transports as fast as they arrive. Review URL: https://codereview.chromium.org/1467193004 Cr-Commit-Position: refs/heads/master@{#362277}
* Move all Pass() calls in blimp/ to std::move()dtrainor2015-11-3015-46/+55
| | | | | | | | | | | Updated all .Pass() methods to be std::move() now that is approved for Chromium code. BUG=557422 Review URL: https://codereview.chromium.org/1473933002 Cr-Commit-Position: refs/heads/master@{#362211}
* [Blimp Net] Adds BrowserConnectionHandler.haibinlu2015-11-305-3/+168
| | | | | | | | | | | | | It Contains a demultiplexer for routing incoming messages to their respective features, and a multiplexer/buffer object for writing outgoing messages. It is created on browser startup, and persists for the lifetime of the application. BUG=561207 Review URL: https://codereview.chromium.org/1474583002 Cr-Commit-Position: refs/heads/master@{#362192}
* Serialize a subset of WebInputEvents to protobufs.dtrainor2015-11-309-17/+677
| | | | | | | | | | | | | - Add (de)serialization methods for WebGestureEvents (a subset of WebInputEvents). - Add unit tests to validate that moving to and from these events works properly. BUG=548806 Review URL: https://codereview.chromium.org/1426993008 Cr-Commit-Position: refs/heads/master@{#362089}
* Define a Java-side global application context.torne2015-11-242-6/+5
| | | | | | | | | | | | | | | | | Instead of each user of base setting the native-side global app context separately, introduce a Java-side global app context, which is always in sync with the native-side one. Switch most callers to setting it on the Java side, except where this is problematic. Callers of ApplicationStatus.getApplicationContext will be updated incrementally in followup CLs once it's been verified that they only require a Context and not a BaseChromiumApplication. BUG=552419 Review URL: https://codereview.chromium.org/1407233017 Cr-Commit-Position: refs/heads/master@{#361306}
* Add UNKNOWN values to blimp proto enumsmaniscalco2015-11-234-4/+10
| | | | | | | | BUG=559338 Review URL: https://codereview.chromium.org/1469503002 Cr-Commit-Position: refs/heads/master@{#361186}
* [Blimp Net] Makes BlimpTransport.Connect async-onlyhaibinlu2015-11-206-26/+36
| | | | | | | | BUG=558643 Review URL: https://codereview.chromium.org/1459923004 Cr-Commit-Position: refs/heads/master@{#360919}
* Run gn --format over all .gn filesagrieve2015-11-202-3/+3
| | | | | | | | | | | | | | | | The recent formatter alphebetizing change is causing a lot of noise in code reviews. Figured it'd be worth a clean-up CL. Exact command I ran: find . -name "*.gn*" -exec gn format --in-place "{}" \; TBR=ddorwin@chromium.org BUG=554928 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1464873002 Cr-Commit-Position: refs/heads/master@{#360891}
* [Blimp Net] Implement BlimpConnection.haibinlu2015-11-207-11/+335
| | | | | | Review URL: https://codereview.chromium.org/1460593002 Cr-Commit-Position: refs/heads/master@{#360712}
* Add IPC messages to transfer compositor protosdtrainor2015-11-192-1/+10
| | | | | | | | | | | | | | | | | | - Be able to send and receive compositor protos to/from the render process and the browser process. Messages are piped through the browser process to/from the network and renderer. A separate client (go/blimp) will render the compositor protos. This is part of the compositor refactor around splitting ThreadProxy into two components. - Hook the proto sending into the BlimpEngineSession class. - Set up a RemoteProtoChannel interface on the CC side to be used by the ChannelMain class once we start building that from the LayerTreeHost. BUG=552055 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1442853005 Cr-Commit-Position: refs/heads/master@{#360452}
* Move cc::LayerSettings to cc/layers/layer_settings.h.jbroman2015-11-182-0/+2
| | | | | | | | | | | It's somewhat confusing to have to find it in cc/trees/layer_tree_settings.h. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel TBR=dtrainor@chromium.org,piman@chromium.org Review URL: https://codereview.chromium.org/1462613002 Cr-Commit-Position: refs/heads/master@{#360441}
* cc: Clean up max frames/swaps pending usage.brianderson2015-11-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | All output surfaces used by the Renderer and UI should only need a max swaps pending of 1, especially considering Surfaces and CompositorTimingHistory don't support multiple queued frames. The output suface used by the cc::Display, however, may have more than 1 swap pending - especially on platforms like CrOS where the SwapAck is deferred until the buffer is actually displayed. This patch: 1) Changes the default max pending frames/swaps from 2 to 1. 2) Changes Blimp to have only 1 pending frame. 3) DCHECKS that all Renderers and UIs have a max swaps pending of 1. 4) Sets the default value in the constructor of OutpuSurface::Capabilities, rather than through an extra check for zero + init. BUG=525756 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1435133004 Cr-Commit-Position: refs/heads/master@{#360283}