Add sandbox ISA and extra compile flag fields to PNaCl translation cache key

Previously there was no indication to the translation cache of what
architecture the translated nexes were compiled for. This was not a
problem in a world where the architecture of chrome (or Windows) did
not change, but this will shortly happen on OSX, and we may support
multiple sandboxes in the future.

This adds 2 fields to the translation cache info, so that we can
differentiate the architectures and retrieve nexes that will actually
work. The field for extra compile flags is not being used yet, but
may be in the future if we start using machine-specific optimizations.

R=jvoung@chromium.org,teravest@chromium.org
BUG=316912

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251835 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 251835
Fix size of big, red logout button

This CL fixes the size of the big, red logout button that regressed when
the LabelButton class was switched from Font to FontList.

BUG=343956
TEST=Manual

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251836 0039d316-1c4b-4281-b951-d872f2087c98
Invalidate all weak pointers during Decrypting{Audio|Video}Decoder::Stop().

This is a clean up CL following r251277.

During media pipeline shutdown, WebMediaPlayerImpl::Destroy() is blocking the
main render thread to wait for the media filters to be stopped correctly.
As a result, Decrypting{Audio|Video}Decoder::Stop() cannot wait for the
Decryptor to finish all pending operations because some Decryptors rely on the
main render thread to work. Instead, Decrypting{Audio|Video}Decoder::Stop()
clears its internal data, fires all pending callbacks, sets it's state to
kStopped and fires the stop callback immediately.

However, after this process, there may still be callbacks outstanding on
the Decrypting{Audio|Video}Decoder object. Previously we check the condition
"state_ == kStopped" in all callback functions to turn those callbacks into a
no-op. In this CL, we invalidate all weak pointers during the Stop() process so
that no pending callbacks will ever be fired back, which is cleaner and safer.

BUG=343748
TEST=Existing tests still pass.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251837 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 251837
Pull HostListDirectoryGrabber out to a separate class.

This makes Chromoting.java completely single-threaded. Auth tokens are
still handled in Chromoting.java, but all the host-list fetching takes
place in HostListLoader.java.

The error-handling is improved to match more closely with what the
web-app does in host_list.js. Otherwise, I've tried to keep the
error-handling the same as before. Previously, errors from the
AccountService and host-list fetching were all handled in the same
place. For example, all IOExceptions were assumed to be caused by the
OAuth token being invalid. Now I've added an enumeration of possible
errors from host-list fetching, and we only refresh the auth
token if the error was explicitly an authentication failure.

Future CLs will improve the error-handling, reusing many of the same
localized strings as the web-app.

BUG=304719
NOTRY=true
TBR=sergeyu

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

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