| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Buttons failed to draw when selected with the keyboard, and
sometimes when selected by touch, for three reasons:
1) GL short-circuits if the last extra rectangle and the
curent extra rectangle match. When buttons change color,
the rectangles do match, but the picture still needs to
be redrawn.
2) Buttons do not have cursor rings, so the button's bounds
was not passed to GL.
3) The timeout logic to switch from a focused state to a normal
state was incorrect.
This adds a flag to GLWebViewState::setExtra that can skip the
equal rectangle case. Note that the equal rectangle test hides
a more serious bug where the setExtra is called repeatedly -- so
it would be worthwhile to examine this further.
The logic that determines if the cursor is a button was split
out so that the cursor ring can be associated with a button even
if the cursor is hidden.
bug:3364248
Change-Id: I75944cb045486c128743aa13922d20758ccf783f
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Anchors and other links often contain multiple bitmaps, which must
be stitched together when analyzing the picture data to determine
if the anchor is fully visible, partially occluded, or fully hidden.
For instance, nine-patches in WebKit appear as adjacent bitmaps.
If a website design has two or more bitmaps adjacent to each other,
these may be mistakenly joined. By tracking whether the original
node contained exactly one img element, combining bitmaps based
on their location is avoided unncessarily.
bug:3373743
Change-Id: I5bcbdaec3097a2b839ee2444e512a0def6a016d0
|
|/
|
|
| |
Change-Id: Icfb3ccfb8f89486604f1d63ab40e13d28d00cf7c
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes we were not releasing textures as they were busy; they could
still be deleted when swapping the layers trees, and as they were
also still present in the LayerTexture Hashmap this was causing an ANR
(at best -- the texture was already deallocated, the LayerTexture dtor
was then trying to release() them...)
bug:3398660
Change-Id: I2747dd4630a2a7dc18eae4c5fde36fd14c461747
|
|
|
|
|
|
|
|
| |
The fix for the bug below to remove part of CachedLayer wasn't
reflected in the nav cache dump.
bug:3398340
Change-Id: I77723680bed88ecf2f9d11cd56fada111a4a785b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the previous WAR, we get the screen size from UI thread at every draw call.
That is awkward.
Now with Java side fix, we can get the screen size from setSize call now.
However, forcing a full re-layout seems like an expensive operation.
What we need to make the webkit to know the update can be done by just
updating the fixed position elements only.
So I have done these:
1. Take away the WAR by forcing the update at the convertToLayerCoord.
2. Get rid of the UI thread stuff used to tell WebViewCore the screen size.
And get rid of the redundant variables, too.
3. update the fixed element at the setSize time.
BTW, I also rename the PlatformBridge functions name.
bug: 3397602
Change-Id: I0c422ecdb570de89aecb6e568d5067acf18ecfc6
|
|
|
|
|
|
|
|
|
|
|
| |
The TexturesGenerator thread references pictures owned by the
WebCore thread, so must be stopped before the WebCore thread
is deleted.
Requires a companion change in frameworks/base
bug:3406185
Change-Id: I20e64631bbf4a1b88fb015f3de36ce292234537d
|
|
|
|
|
|
|
|
|
|
| |
This should work according to our new ARM expert. Updated bug
report with details.
I didn't think another indent layer was good, so did returns
instead.
Change-Id: I2baafe748f3249943ecc93ddf166b8ff559d7a6c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lazily get the maximum texture size from GL when
we first need it. This avoids calling GL functions
before GL has been set up and ensures it is done on
the correct (ie. UI) thread.
Also move the tiles expansion setting from WC thread
to UI thread as TilesManager is not thread safe when
creating the singleton instance.
This makes change 4596782e unnecessary so we remove it.
Bug: 3412928
Change-Id: I740974d8cc0ef4f66956cd6a07b058bfa7ca767f
|
|
|
|
|
| |
bug: 3331323, 3393264
Change-Id: I1077a9d82d5e9c96a24e738cfede1dfaff70cc1c
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I43c87a3b8a772857fd2775b54a68d8df6c6441ef
|
|/
|
|
|
|
|
|
|
| |
Bug:3402831
Bug:3401242
Requires a change in frameworks/base.
Change-Id: I4d7525cbf3a881fbe87f4bc624988fcb79cceab1
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is for fixed bottom/ right, in the zooming case.
The width and height in webkit should be calculated as the visibleRect
we use for drawing. And that is document coordinate for visible size.
Basically it is send the Rect info from webView to webViewCore.
Then at RenderBox, it will go through the PlatformBridge to pick the
info up.
Notice that the touch is not 100% working yet, the layout call in webkit
can have a early return such that fixed element layer didn't get update.
And a touch/click is not really causing the whole layout update yet.
That will be addressed in seperate change though.
bug:3404129
Change-Id: I225d41815143a05d540ed32bfc76f823603ca89c
|
| |
| |
| |
| |
| |
| |
| | |
Fix a potential crash, and draw the extras.
bug:3372985 bug:3367026
Change-Id: I84be0733217c68b75a679de2212c10b891406d05
|
|/
|
|
|
| |
bug: 3400065
Change-Id: I7b69ed836f2dd20160e5f89842be5ed856826e8c
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Removed a variable that was never set, but still used
Change-Id: I180f631472a02ed512f6071a0760913c8ddf6e84
|
|/
|
|
|
|
| |
We now noop the calls to drawGL if the current viewport is empty.
Change-Id: Id2a7b8ef38e150255cc55e24efbc93b6077a6dd8
|
|\
| |
| |
| | |
honeycomb
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Honeycomb-themed selection ring
* Match text selection color scheme to framework assets
Change-Id: I8a4817c7998d7009f1b00d6ad548d54545de0c78
|
|\ \
| | |
| | |
| | | |
disabled case" into honeycomb
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug:3316135
1. Now moving before the first item (word for example) and then going back
reads that last item. This was not working before.
2. Restricted the selection to not cross anchor boundaries to workaround
asymmetric behavior of the WebKit selection on the sentence granularity.
3. Added logic to avoid selection of invisible content.
4. Now the cursor is moved with the selection such that links can be
activated while their text is read.
5. Now input controls are also traversed and the user can interact with
them. For examle, silin in an input text.
Change-Id: I5a796aef75679cbddf756680030e6bd06213afd9
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A new webkit merge added a couple methods to ClipRects that were not copying the
hit test rect. This make the clip rect empty during hit testing which was
clipping out all nodes in scrollable layers.
When tracking a layer, use the foreground layer if present as it will contain
the right nodes.
When looking for a scrollable layer, traverse the children in reverse drawing
order to find the top-most visible layer. This allows orkut.com to scroll.
Remove a couple of casts and headers. Use relaxAdoptionRequirement() to avoid a
RefCounted assert. Swap the texture owner hash set during deletion as release
can modify the iterator concurrently.
Update the scrollbars (even though we don't have any) when scrolling a layer to
keep the scroll position of the scrollbar in sync with the layer.
Rewrite a little bit of PluginPackageAndroid. m_module may be non-null during
load. If it is null, load the library and store it in m_module. Follow the
regular path assuming m_module is not null.
Bug: 3373179
Change-Id: If07ec9735b30c1e98e363667378a8d253a841a45
|
|
|
|
|
|
|
|
| |
This is a change to help framework optimizations for display lists.
A display list can now cache a function pointer to the drawGL call
of webcore.
Change-Id: I9ba133d5a28f12b1c3626301414786a41c1d58b9
|
|
|
|
|
|
|
|
|
|
| |
When a tiledPage is painted, we want to avoid updating the base
layer. GLWebViewState and WebView.cpp are now refcounting the
base layer, delaying updating the base layer we use to paint
until we are done with a full tile paint.
bug:3224744
Change-Id: Ica2b8f1db146a1e059fc0735dc53107fc40da07a
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug:3321608
Bug:3085564
Scroll the UI layer for a <textarea> when scrolling the
WebTextView. When clicking on a <textarea>, send the scroll
point so the click happens properly.
Requires a change to frameworks/base.
Change-Id: I3b32a53db350b6c49fdbf8dd177c34854aae66b4
|
|
|
|
|
|
|
|
|
| |
In a couple of places, the wrong frame is used
with the node, resulting in a crash if the
node is in a layer.
bug:3373069
Change-Id: I0ff7a9d0aa07f742e95278c377b43ca77eb73212
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are three threads all hammering at the same resource.
The WebViewCore thread records the buttons on the page.
The WebView thread rerecords the button pictures to show selection and focus.
The GLWebViewState thread draws the picture containing the button pictures
into the tile.
Prevent drawing the picture while the buttons are recorded
by sharing the button mutext with the GL tile creation.
bug:3354678
Change-Id: I245ed47ad5a6d1fe28ea870bd7c557937eed1164
|
|
|
|
|
|
|
|
|
|
| |
Use the nav cache to determine if a given
coordinate corresponds to a plugin.
Requires a companion change in frameworks/base
bug:3331323
Change-Id: Ica8291bf0dfaaae7c0918b1a685c07fe756d9328
|
|\ |
|
| |
| |
| |
| |
| | |
Bug:3344795
Change-Id: I8c4bb2aa3c105da1d08260daa9a9d11d39de7840
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The cx, cy locals are later stored as part of the
best character found. They must always be computed
so that the best state can compare with the test
state.
bug:3339016
Change-Id: I4cbb791dc8d3836b027c6a9088dc3a59031c40b9
|
|\ \
| |/
|/|
| | |
honeycomb
|
| |
| |
| |
| |
| |
| | |
Bug:3341272
Change-Id: Ibf00b2cb5a2c34eed9e5ac0355b59f8507ade446
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use adoptRef when creating a new bridge item. Use
toRenderBoxModelObject instead of toRenderBox as RenderInlines have layers.
Bug: 3321493
Change-Id: I4283681eba961aedaa8d80bfdfb3d1a468aab1ac
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
The algorithm that analyzes cursor rings in pictures
stores the changes to the canvas (e.g. push layer, pop)
but it turns out that bitmaps may have push/pop
pairs around them that don't represent a state change.
Remove the push/pop pairs around bitmaps when creating
the cursor region stack.
bug:3299913
bug:3329011
Change-Id: I14e0508285821e2723ff460e6b09faccb44f4565
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In computing cursor rings, consecutive rectangles
from the picture may be combined. If the picture
pushes or pops a canvas context, the rects
should no longer be combined, because they come
from different DOM nodes.
bug:3336522
Change-Id: I2b09220d84238873f209528bf822b9c203de9ce8
|
| |
| |
| |
| |
| | |
Bug:3335014
Change-Id: I55e60cec72f27ab2877455a7899a21cbd86a0efa
|
| |
| |
| |
| |
| | |
bug:3284834
Change-Id: If537400333a6884f92d688481ff4efe3ae5796a3
|
|/
|
|
|
| |
bug:3334943
Change-Id: I0183634bfbe64b145edafcc84f42e213509cbc2c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compute and return the scrollable layer's bounds in
content space and return it to the java side.
The layer's bounds is used to determine if the
select text touch point is close to the edge and
should invoke scrolling.
Also, added a null check to selectBestAt
Requires a companion change in frameworks/base
bug:3191699
bug:3334943
Change-Id: Id066997f56da59f37350c14a4cc43fe4a7ce7312
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Added a mechanism to select the cursor ring content if accessibility is
enabled - This is achieved by sending an event to the WebCore thread
(if accessibility is enabled) to select the content of the cursor when
the latter moves. Added code in WebViewCore to select the given node
and notify the UI thread for the selection markup which is delivered
of the accessibility injector which manages sending accessibility
events. This is relevant for adding accessibility to WebView if
JavaScript is not enabled. (If JS is enabled we inject a screenreader
written in JS).
2. Fixed the event delegation to the accessibility injector since it
should be able to consume key events of interest and perform some
action which leads to sending appropriate accessibility event.
In the previous implementation it was possible that the injector
consumes the event but the latter was bubbled up.
3. Added function to scroll the selection into view while moving it
around based on user commands.
Note: This is a two project change.
Change-Id: Ica27f317e194474d4e38aba5d7a2c0acc9f05a33
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a companion change to frameworks/base, to
route the enter key to a webkit click only if the
cursor node does not want the key event.
bug:3325093
Change-Id: I78ebcec42cc413f645c080dff7f38e75e7f09c7f
|