Merge Webkit at r58956: Update User agent with new WebKit version.

Change-Id: I8da1b80114e71d6d7b208f794ee978f88f1b4bf5
Move MTP code to the android namespace

Change-Id: I5da48038fd5e4cdeefaeba42cdc74eb588b3448d
Signed-off-by: Mike Lockwood <lockwood@android.com>
ActionBar - custom navigation views

Change-Id: Ibc98565816c713474eefd4e96fb51175abfb0187
More fragment stuff:

- New startActivityForResult() API.
- Fragments now should have the correct lifecycle while hanging around
  in the back stack (not being destroyed and re-created).
- Rework of state save/restore to make it simpler and better.  In theory
  now any fragment (including layout and others in the hierarchy) can
  now be retained across config changes, though this hasn't been tested.

Change-Id: I2a7fe560e14e567f5675a2f172a23fca67b3e97f

Conflicts:
	api/current.xml
Adding mimetypes to the mimetype map used in the web view

Sometimes a web server reports a faulty mime type, usually when the mimetype for this
type of content is not configured on the server. In this case the server might report
text/plain as the mime type.

When this ocurrs the phone opens this content as plain text inline in the browser instead
of asking system if this is supported by any application.

This is the case for the following mime types:

"XMF" which MIMEtype is "audio/midi"
"MXMF" which MIMEtype is "audio/mobile-xmf"
"AMR" which MIMEtype is "audio/amr"

By adding these MimeTypes to the lookup table in the browser it is possible to guess the
real mime type based on the file extension, and asks the system for support for the
mimtype in the table, fixing the problem.

Change-Id: I88bb37e4a6d66e68d7e26cb96bb9404175b33b68

Conflicts:
	core/java/android/webkit/MimeTypeMap.java
Fix 2571606: Correct message after too many failed attempts for password and pin.

Change-Id: Ib712c692804b067b95b261852afdd9fac40194c4

Conflicts:
	policy/com/android/internal/policy/impl/LockPatternKeyguardView.java
Adding accessibility content provider responsible for user script injection. Adding support for injecting accessibility in WebViews with disabled JavaScript.

Change-Id: I1576238a0f855bb54e25d19404b8404d7d0f6037

Conflicts:
	core/java/android/webkit/WebView.java
Add -p option to mtptest program to run in PTP mode instead of MTP

Change-Id: Idbd1437756daab8d6141db49b07d4eb0814c9e7e
Signed-off-by: Mike Lockwood <lockwood@android.com>
Refactor the on-screen zoom controls into a separate class.

This CL is the first in a series of CL's that will extract the
zoom code from WebView and put it into ZoomManager.  This initial
CL only extracts the on-screen zoom controls and required variables
into the ZoomManager.  Since the on-screen controls are well defined
I put them into their own class called ZoomControls.

All of WebView's zoom interactions are handled by the ZoomManager.
The ZoomManager can then handle the request internally or as in the
case of on-screen controls pass the request to another class.

Change-Id: Icfc91ed0456c88d633249c26b9afc7dd216f75a1
http://b/2671604

Conflicts:
	core/java/android/webkit/WebView.java
Update the mLatestProgress of CallbackProxy even
mWebChromeClient is null as WebView needs it.

Fix http://b/issue?id=2685989
If the new fling is much slower (less than 1/5 of
the previous fling), don't accelerate it.

Fix http://b/issue?id=2672074
If we can't scroll any more, stop the animation and
resume update. Otherwise, we can't touch select until
the scroller animation is done.

Fix http://b/issue?id=2666473

Conflicts:
	core/java/android/webkit/WebView.java
Add the Loader and supporting classes.

Loaders are designed to make it easier to manage
asynchronously loading data.

Change-Id: I948db08c721411e94fca071dc6fb4db2b83ea4d6

Conflicts:
	api/current.xml
replaced deprecated getIntent with parseURI

Change-Id: Ice9e74fd8f729d7efad934d2de4c747d73be562e
Replaced deprecated String Constructor

Change-Id: I91874093d69e230850c695b92da5f91391030d44
Telephony: Process MT SMS with MTI set to 3

Change-Id: Ie57a9465d41a3bd2c625ccf6e675af400be6d294
Use stride for source and target buffers when copybit is enabled.

Change-Id: Ie651013b3522f8e004685d74190da86433086307
Canvas.drawVertices: correct color range-check

The range-check in drawVertices previously checked that the color
count was equal to the vertex count. However, the vertex count is
specified in array elements, and there's two array elements per
vertex for the positions, but only one array element per vertex
for the colors.

Correct the code so the check is consistent with the element count.

Change-Id: Id043f1003f9245f18adc91bac49dc33727ca765e
Change in media scanner to set correct date

When the media scanner scanned a single file, the modified
date (DATE_MODIFIED) was not correctly set in the content
provider. It was set as milliseconds but should have been
set as seconds. This caused downloaded media items to display
wrongly in the camera album, since the date was wrong.

Change-Id: I24cd92215c26f579eb33a4a3890f96c6ef9ec8c0
fillWindow's start position must be smaller than getCount value

Change-Id: I3664ae8f6172f02bf6e2472320e79e3bf8683cc0