Add the ability to create ObjectInstance subtypes

This patch adds the ability to subclass ObjectInstance which
will be used for PictureInstances in a future patch.

BUG=
R=nduca@chromium.org

Review URL: https://codereview.appspot.com/9063045

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@303 0e6d7f2b-9903-5b78-7403-59d27f066143
Reduce console spew from dev server

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@306 0e6d7f2b-9903-5b78-7403-59d27f066143
Add a simple assertObjectEquals to unittest

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@307 0e6d7f2b-9903-5b78-7403-59d27f066143
Update testAnalyzeSelectionWithTwoSlicesSameTitle, which was regressed in r300

r300 switched the way slices with two titles were analyzed. The test just wasnt
updated.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@308 0e6d7f2b-9903-5b78-7403-59d27f066143
Add history support to the analysis view.

Currently if the back button is used we'll lose your trace data
as chrome navigates back to before chrome://tracing was accessed.

With this CL, we will push the current selection onto an internal
array which will be used to restore the previous selection if
you use the back button. If you make a new selection, it is also
possible to navigate back to the previous selection.

Selections are not highlighted in the timeline view as you navigate
through the history.

This will use more memory as we will hold onto each selection as
you navigate.

BUG=
R=nduca@chromium.org

Review URL: https://codereview.appspot.com/9111043

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@312 0e6d7f2b-9903-5b78-7403-59d27f066143
Fix loading of non-JSON data files.

When loading trace files we need to make sure that the data is
actually JSON before attempting to parse. If the data isn't
JSON, e.g. Android systrace or v8 log files, we provide the raw
string as the trace events and the importers will do the right
thing.

BUG=150
R=nduca@chromium.org

Review URL: https://codereview.appspot.com/9118044

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@313 0e6d7f2b-9903-5b78-7403-59d27f066143
Add test for loading of trace files.

This adds two simple tests to verify that sending JSON parsable
data through to loadTraceFileComplete will work and also that
sending non-JSON parsable data through will also output the
intended results.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@314 0e6d7f2b-9903-5b78-7403-59d27f066143
Move guid and settings to base.

The Settings class already had an exportTo of 'base' so it was
just in the wrong folder. I moved the GUID class as it has
nothing, directly, to do with tracing and is more core functionality.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@315 0e6d7f2b-9903-5b78-7403-59d27f066143
Move quads to ui

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@316 0e6d7f2b-9903-5b78-7403-59d27f066143
Add ObjectInstance.createSnapshot to allow overriding of ObjectSnapshot subtype

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@317 0e6d7f2b-9903-5b78-7403-59d27f066143
Guard TestObject type unregistration in a try-finally.

This test installs a type handler that is valid only during
the test. If it fails, it needs to unregister that type handler.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@318 0e6d7f2b-9903-5b78-7403-59d27f066143
Only show snapshots in the timeline that have associated viewers.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@319 0e6d7f2b-9903-5b78-7403-59d27f066143
Pass this instead of binding.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@320 0e6d7f2b-9903-5b78-7403-59d27f066143
Provide and use an iterObjectInstances instead of a getAllObjectInstances.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@321 0e6d7f2b-9903-5b78-7403-59d27f066143
Allow instance deletion to be called independently of addSnapshot.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@322 0e6d7f2b-9903-5b78-7403-59d27f066143
Add parsing of implicit objects

A snapshot whose args has itself an object with word "id" in it it
is assumed to be a snapshot of another object. Recognize that object and
build an instance for it. We use this to recognize tiles in detailed tile
manager dumps.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@323 0e6d7f2b-9903-5b78-7403-59d27f066143
Recognize id_ref as an ObjectSnapshot.

When x: {id_ref: 0x1000} is found in as an argument in any item the model, look up the
go to the containing process, and look for a ObjectSnapshot of 0x1000 at
the timestamp of the item. If matched, replace the {id_ref: ...} wtih the
found snapshot.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@324 0e6d7f2b-9903-5b78-7403-59d27f066143
Fix tests running due to missing predecl

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@325 0e6d7f2b-9903-5b78-7403-59d27f066143
Turn summary rows pointing at ObjectSnapshots into clickable links.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@326 0e6d7f2b-9903-5b78-7403-59d27f066143
Make unittest tests clickable always.

git-svn-id: http://trace-viewer.googlecode.com/svn/trunk@327 0e6d7f2b-9903-5b78-7403-59d27f066143