summaryrefslogtreecommitdiffstats
path: root/WebKit/android/nav
Commit message (Collapse)AuthorAgeFilesLines
...
* fix buttons in GLCary Clark2011-02-151-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge "don't combine single image bitmaps"Cary Clark2011-02-148-22/+33
|\
| * don't combine single image bitmapsCary Clark2011-02-148-22/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | remove unused helper classCary Clark2011-02-141-98/+0
|/ | | | Change-Id: Icfb3ccfb8f89486604f1d63ab40e13d28d00cf7c
* Fix ANR in the browserNicolas Roard2011-02-101-1/+1
| | | | | | | | | | | 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
* remove obsolete nav cache dump statementCary Clark2011-02-101-1/+0
| | | | | | | | The fix for the bug below to remove part of CachedLayer wasn't reflected in the nav cache dump. bug:3398340 Change-Id: I77723680bed88ecf2f9d11cd56fada111a4a785b
* Improve the fixed element position calculationTeng-Hui Zhu2011-02-091-4/+0
| | | | | | | | | | | | | | | | | | | | | | 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
* stop GL drawing thread before killing WebCoreCary Clark2011-02-031-1/+16
| | | | | | | | | | | 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
* Fix for bug 3414354 crash in navcacheKristian Monsen2011-02-021-7/+11
| | | | | | | | | | 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
* Get layers showing againBen Murdoch2011-02-021-0/+7
| | | | | | | | | | | | | | | | | 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
* Prevent plugin node from being deleted in the nav cache.Derek Sollenberger2011-01-311-1/+2
| | | | | bug: 3331323, 3393264 Change-Id: I1077a9d82d5e9c96a24e738cfede1dfaff70cc1c
* Merge "Fix for bug 3405738, crash in nav cache" into honeycombKristian Monsen2011-01-311-5/+7
|\
| * Fix for bug 3405738, crash in nav cacheKristian Monsen2011-01-311-5/+7
| | | | | | | | Change-Id: I43c87a3b8a772857fd2775b54a68d8df6c6441ef
* | For textareas, do not use UI side layers.Leon Scroggins2011-01-311-18/+5
|/ | | | | | | | | Bug:3402831 Bug:3401242 Requires a change in frameworks/base. Change-Id: I4d7525cbf3a881fbe87f4bc624988fcb79cceab1
* Merge "Fixed element positioning fix" into honeycombTeng-Hui Zhu2011-01-301-0/+4
|\
| * Fixed element positioning fixTeng-Hui Zhu2011-01-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Draw extras on layers.Nicolas Roard2011-01-291-0/+5
| | | | | | | | | | | | | | Fix a potential crash, and draw the extras. bug:3372985 bug:3367026 Change-Id: I84be0733217c68b75a679de2212c10b891406d05
* | Prevent the browser's GL rendering loop when plugins are full-screen.Derek Sollenberger2011-01-291-1/+12
|/ | | | | bug: 3400065 Change-Id: I7b69ed836f2dd20160e5f89842be5ed856826e8c
* Merge "Fix for bug 3398340" into honeycombKristian Monsen2011-01-284-10/+3
|\
| * Fix for bug 3398340Kristian Monsen2011-01-284-10/+3
| | | | | | | | | | | | Removed a variable that was never set, but still used Change-Id: I180f631472a02ed512f6071a0760913c8ddf6e84
* | Fix artifacts from clipped viewport.Chet Haase2011-01-281-2/+16
|/ | | | | | We now noop the calls to drawGL if the current viewport is empty. Change-Id: Id2a7b8ef38e150255cc55e24efbc93b6077a6dd8
* Merge "Fix bug 3299946 - Holo-fy focus and selection color scheme." into ↵Adam Powell2011-01-261-3/+3
|\ | | | | | | honeycomb
| * Fix bug 3299946 - Holo-fy focus and selection color scheme.Adam Powell2011-01-261-3/+3
| | | | | | | | | | | | | | | | * Honeycomb-themed selection ring * Match text selection color scheme to framework assets Change-Id: I8a4817c7998d7009f1b00d6ad548d54545de0c78
* | Merge "Final polish of the WebView accessibility support for JavaAcript ↵Svetoslav Ganov2011-01-261-16/+12
|\ \ | | | | | | | | | disabled case" into honeycomb
| * | Final polish of the WebView accessibility support for JavaAcript disabled caseSvetoslav Ganov2011-01-261-16/+12
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix hit testing inside layers.Patrick Scott2011-01-262-9/+9
|/ | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Optimize display lists by caching drawGL function pointer.Chet Haase2011-01-241-0/+73
| | | | | | | | 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
* Implement tiles synchronizationNicolas Roard2011-01-231-2/+2
| | | | | | | | | | 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
* Line up text with WebTextView.Leon Scroggins2011-01-211-7/+22
| | | | | | | | | | | | | 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
* match the frame with the nodeCary Clark2011-01-202-2/+2
| | | | | | | | | 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
* don't draw buttons while they are createdCary Clark2011-01-191-1/+1
| | | | | | | | | | | | | | 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
* add interface to return if (x/y) is a pluginCary Clark2011-01-181-0/+7
| | | | | | | | | | 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
* Merge "Make sure there is a focus before derefing it." into honeycombLeon Scroggins2011-01-121-2/+2
|\
| * Make sure there is a focus before derefing it.Leon Scroggins2011-01-121-2/+2
| | | | | | | | | | Bug:3344795 Change-Id: I8c4bb2aa3c105da1d08260daa9a9d11d39de7840
* | Merge "always compute cx, cy in select text" into honeycombCary Clark2011-01-121-6/+4
|\ \ | |/ |/|
| * always compute cx, cy in select textCary Clark2011-01-121-6/+4
| | | | | | | | | | | | | | | | | | | | 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
* | Merge "Remove the WebTextView always when moving off a textfield." into ↵Leon Scroggins2011-01-121-2/+3
|\ \ | |/ |/| | | honeycomb
| * Remove the WebTextView always when moving off a textfield.Leon Scroggins2011-01-111-2/+3
| | | | | | | | | | | | Bug:3341272 Change-Id: Ibf00b2cb5a2c34eed9e5ac0355b59f8507ade446
* | Merge "Prevent a crash by caching overflow scrolling." into honeycombPatrick Scott2011-01-111-2/+2
|\ \ | |/ |/|
| * Prevent a crash by caching overflow scrolling.Patrick Scott2011-01-111-2/+2
| | | | | | | | | | | | | | | | | | Use adoptRef when creating a new bridge item. Use toRenderBoxModelObject instead of toRenderBox as RenderInlines have layers. Bug: 3321493 Change-Id: I4283681eba961aedaa8d80bfdfb3d1a468aab1ac
* | remove push/pop around bitmapCary Clark2011-01-111-0/+10
|/ | | | | | | | | | | | | | 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
* Merge "layer or save push/pop should start new rect" into honeycombCary Clark2011-01-111-1/+5
|\
| * layer or save push/pop should start new rectCary Clark2011-01-101-1/+5
| | | | | | | | | | | | | | | | | | | | | | 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
* | Remove nativeCursorMatchesFocus method.Leon Scroggins2011-01-101-13/+4
| | | | | | | | | | Bug:3335014 Change-Id: I55e60cec72f27ab2877455a7899a21cbd86a0efa
* | Add Null check to the root layerTeng-Hui Zhu2011-01-101-1/+1
| | | | | | | | | | bug:3284834 Change-Id: If537400333a6884f92d688481ff4efe3ae5796a3
* | selectBestAt missing another null checkCary Clark2011-01-101-2/+3
|/ | | | | bug:3334943 Change-Id: I0183634bfbe64b145edafcc84f42e213509cbc2c
* return the scrollable layer's content boundsCary Clark2011-01-101-10/+27
| | | | | | | | | | | | | | | | | | 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
* bug:3325039 Making the cursor ring movement send accessibility events.Svetoslav Ganov2011-01-071-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge "add iframes to the types that want key events" into honeycombCary Clark2011-01-061-1/+2
|\
| * add iframes to the types that want key eventsCary Clark2011-01-061-1/+2
| | | | | | | | | | | | | | | | | | 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