Since references can be queued in another thread, the first entry in the pool
could have been queued after processPoolLocked. Check for null and create a new
chunk if the check fails.
The fix relaxes our processing of the content-disposition header by allowing unquoted filenames, and adds the m4v type to the MIME type map incase the content-disposition header was not specified.
Change-Id: Iaab0c5b17991a2c05eff5db01babe084444fd3b7
* Fixes#2192935
* Exchange attachment handling depends on MimeTypeMap to determine the
mime type of attachments based on their file extension
Change-Id: I44bbc36d7a5aa0800f072553274346d4547f8d4c
If a single ByteArrayBuilder accumulates many chunks, it is possible that many
of those chunks will not be reused and will just take up memory in the pool. If
the pool is shared across all instances, fewer chunks need to be allocated. This
allows a site like http://www.606studios.com/bendisboard/showthread.php?t=170286
to load without crashing due to OOM.
The shared pool contains SoftReferences to each chunk. If the vm feels memory
pressure, it is allowed to mark these references for collection. Before
accessing the pool of chunks, I remove any queued references from the pool.
Cleanup ByteArrayBuilder a little by removing unused methods and fields.
Document some synchronization spots in LoadListener and add a lock when
downloading a certificate.
Bug: 1637965
Part of a fix for http://b/issue?id=2159869. The request to show
the soft input has been moved to nativeTextInputMotionUp, where it
can check if the input field is readOnly. This way it is also
handled by shortPressOnTextField, for when a user shortpresses
on the field.
Added more checks where it is possible to call a native function
after creating a WebView but before the native side is initialized.
These cases can be triggered by the monkey.
Fixes http://b/issue?id=2187719
This fix should be considered for passion mr1, but
does not affect sholes -- this is a trackball only bug.
The selection caret and arrow now take the scale factor and
the height of the title bar into account when preparing the
canvas for drawing.
Clicking the trackball at the end of selecting text no longer
sends a click event.
Requires a companion fix in external/webkit
Fixes http://b/issue?id=2187591
Some artifacts show up when dragging, but since the screen is in
motion, they're usually go unnoticed. If one quits moving, the
artifacts are more visible.
Some devices generate fractional movement data while the
screen is touched and held steady; others do not. Also, mouse-based
implementations will not generate random fractional movements. If
the device generates movements, invalidate the screen to transition
once from unfiltered to filtered drawing.
For the case that the device does not generate movements, fire a
timer when the screen is drawn and a drag is in progress to detect
that there is no drag motion.
The timer fires if the dragged screen is unmoved for 100 ms, then
invalidates so the next redraw uses filtering to remove the artifacts,
and starts a continuous timer to keep the scrollbar awake until
the drag ends or there is more drag motion.
When detecting that there is no effective movement on a noisy device,
use the original fractional deltas instead of the integer ones to
detect sub 1 pixel differences.
This was tested on the emulator (no noise) and a sapphire (noise)
to make sure that events load the queue only when required.
fixes http://b/issue?id=2092446
Since the caller expects the data to fit within a certain amount of
space, do not copy into the buffer if the data exceeds that space.
Requires a change to external/webkit
Merge commit '2e778c176d17c295f475141bddda9dca5cd65fce' into eclair-mr2
* commit '2e778c176d17c295f475141bddda9dca5cd65fce':
Continue caching "POST" result so that we won't get
Select plugin using focusCandidate rather than cursor
calls. This allows the detecting plugin objects that
have received focus but don't have the cursor ring
on them.
Remove 'inval rect' from debugging printfs, since it
happens a lot, and allow 'request keyboard' to be
visible.
Implement java side of file upload. Requires changes to external/
webkit to not break; requires changes to packages/apps/Browser
before it actually is used.
Fix http://b/issue?id=675743
When the focus bounds is changed by webkit, reflect that
change on the UI side in the WebTextView. On the WebCore
side, add the focus-changed state to the Draw record,
which is sent whenever a new picture is recorded.
On the WebView side, set a bit when receiving the Draw
record, and check that bit when the picture is first drawn.
This additional delay is required so that the bit isn't
checked until after the new nav cache is swapped in.
If the bit is set when the draw occurs, clear it, and
set up the WebTextView's bounds.
companion change in external/webkit
fixes http://b/issue?id=2118781
Use a dedicated Connection to process a synchronous request using the main
RequestQueue and on the WebCore thread.
HttpConnection, HttpsConnection, Connection:
No need for ConnectionManager, just pass the proxy host to
HttpsConnection. In Connection.clearPipe, empty should be set to true if the
RequestFeeder does _not_ have a request for the host. I don't think that
broke anything but it is incorrect.
ConnectionThread:
Refactor the proxy selection into ConnectionManager.getConnection
RequestHandle:
Add a new constructor that takes a Connection argument. Add processRequest
to process a single request on that Connection.
RequestQueue:
Add determine host to select between the request's host and the proxy. Add
queueSynchronousRequest to make a new request that operates on a private
connection. Add SyncFeeder to handle RequestFeeder.requeueRequest if the
request fails.
Network: Use the new RequestQueue api to handle a synchronous request.
Bug: 1315832
- move poster drawing on the WebKit side
- get rid of the child views
- add prepareToPlay method to the MediaPlayer iface.
Fixes http://b/issue?id=2156592
When webkit modifies a text field programmatically, it may change
the selection. This competes with the UI thread attempting to
set the selection in response to the IME next button and changes
made by the trackball.
One recent fix (https://android-git.corp.google.com/g/#change,26904)
sets the selection from the UI side after the IME generated click.
Unfortunately, this can be generated under other circumstances,
so this change qualifies this with mOkayForFocusNotToMatch, which
is only set after the IME next button is pressed.
The other change qualfies onTextChanged calls so that if it was
triggered by setTextAndKeepSelection, the webkit-side selection
is unchanged.
fixes http://b/issue?id=2096746
Add a hidden public method to text/method/Touch.java that
computes the maximum scroll amount for a text field.
Remove 'faketouch' code; it causes a crash and is
no longer required.
Pass the percentage of the current scroll from the UI
thread to webkit. One additional fix is to allow very
small movements which are currently disallowed because
they are smaller than 'smallerSlop' in WebTextView.java.
Companion fix is in external/webkit.
Fixes http://b/issue?id=2133049
In recordNewContentSize, rather than aborting any scrolls in progress,
find the final coordinates of the scroll and pin them to the new size,
and let the scroll continue.
Fixes http://b/issue?id=2141960
Change-Id: I7bfa444b52e70a0ca817221f379df77efc3496b7
we should remove VIEW_SIZE_CHANGED in the queue if
there is any as we are going to send the message in
the front of the queue.
Fix http://b/issue?id=2133222
* Microsoft Office common extensions
* .xml -> text/xml
* Change existing mapping of ".pot"->"text/plain" to ".po"
Note: We already had a definition for .pot to text/plain. Per the
information found at <http://www.fileinfo.com/extension/pot> this is the
rarely seen "portable object file", and is often named ".po" to avoid
this same conflict.
Addresses bug # 2097457
Change-Id: I964b853fdeae77d742f627c535a8b32e0e53516a
Check the delta for short press case as we may switch to
PREVENT_DRAG_NO at SWITCH_TO_SHORTPRESS.
This should fix another two corner cases where flick doesn't
do anything.