[Hotword] Adding a small hotword helper component extension to act as a gopher between Chrome (and the private extension api) and the actual hotword extension (which can't be built into Chrome directly due to the nexe). Once additional hurdles are passed, this extension will take on more of the actual hotwording extension functionality.

Requires 138073014 to be committed first in order to compile properly.

BUG=325439, 289023
R=asargent@chromium.org, jhawkins@chromium.org

Review URL: https://codereview.chromium.org/152153003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249094 0039d316-1c4b-4281-b951-d872f2087c98
Refactor pref code out of ProfileImpl.

Moved into the chrome_pref_service_factory.cc

ProfileImpl no longer has any notion of the Preferences file. This knowledge lives strictly in chrome_pref_service_factory.cc which now implements everything that needs to know about that file's path.

As per noms@'s request on https://codereview.chromium.org/145053004/

TBR=jochen (chrome/browser/chrome_browser_main.cc)

Review URL: https://codereview.chromium.org/154593002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249095 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 249095
cc: Request a new pixel buffer when reusing a resource.

Buffer returned from AcquireBufferForRaster is only valid until
OnRasterCompleted is called in the case of async uploads. Current
code assumes that the buffer is valid for the lifetime of the
resource.

BUG=340558

Review URL: https://codereview.chromium.org/155733002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249096 0039d316-1c4b-4281-b951-d872f2087c98
Under --site-per-process, route input events from parent process to child frames.

The chain of forwarding starts with an event, in blink, that had been not handled by the document node of a swapped-out frame. It comes into the RenderFrameImpl via the forwardInputEvent method of the blink::WebFrameClient interface. A new IPC message FrameHostMsg_ForwardInputEvent is sent from the renderer process of the parent frame to the browser process, where it is handled by the child frame's CrossProcessFrameConnector, which in turn forwards the event to the RWH hosting the child frame, where it's treated as an ordinary input event.

Related blink change: http://codereview.chromium.org/138003011

The code here is modeled after existing code in BrowserPluginGuest.

BUG=305811, 339659
TEST=loading chromium.org in an iframe under --site-per-process; verify hovering and typing into search box works properly

Review URL: https://codereview.chromium.org/130433016

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249097 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 249097
Rename and unify paths for LayerTreeTest::CreateFakeOutputSurface.

This was called CreateFakeOutputSurfaceForTest because of the conflict
with another CreateFakeOutputSurface method. To avoid this confusion,
replace the CreateFakeOutputSurface() calls with direct calls to
FakeOutputSurface::Create3d().

Get all unit tests that use a FakeOutputSurface (everything except
pixel tests) to override CreateFakeOutputSurface instead of
CreateOutputSurface. This gives us a common point for all unit tests
to inject things onto the OutputSurface. We'll inject the frame rate
there in the future (moving it out of LayerTreeSettings).

R=jamesr
BUG=267140

Review URL: https://codereview.chromium.org/155343002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249098 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 249098