Moved all channel-handling logic into separate NativeMessagingChannel class.

Changes in this CL:
 - NativeMessagingHost is used only for actual processing the messages.
 - NativeMessagingChannel implements receiving and sending messages.
 - NativeMessagingChannel takes ownership of the passed inout and output handles.
 - Both NativeMessagingChannel and NativeMessagingHost are explicitly
   marked as not thread-safe classes.

BUG=173509

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229096 0039d316-1c4b-4281-b951-d872f2087c98
Chromoting browser_tests: Apps V2

The changes include:
1. Added support for unpacked extension (in addition to .crx files)
2. Replaced active_browser_ with a stack of WebContents instances to better handle multiple browser windows/tabs.
3. Added a new observer class (PageLoadNotificationObserver) for easy notification handling.
4. Handling of other apps v2 specific issues.
5. WebApp bug fixes.

BUG=134210

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229097 0039d316-1c4b-4281-b951-d872f2087c98
Fix logic error in gfx::Transform::TransformPoint

In this function, we only normalize the homogeneous point if the w component
meets this condition w != 1 && abs(w) > 0. Unfortunately, that's integer abs,
so we won't normalize for w in the range (-1, 1). This CL fixes that.

BUG=None

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229098 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 229097
Flip the ownership of InfoBarCocoa and InfoBarController so that the Controller owns the model.

This is consistent with other ownership relationships in Cocoa.

BUG=296690

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

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