summaryrefslogtreecommitdiffstats
path: root/WebCore/platform
Commit message (Collapse)AuthorAgeFilesLines
* Fix for layers repaintingNicolas Roard2010-12-161-2/+10
| | | | Change-Id: I4072a5d560243d1d0053296b5128a9e411d5750a
* Cleanup pass to make files compliant with webkit styleNicolas Roard2010-12-1612-170/+203
| | | | Change-Id: I9234be0c1559d5cc11af73ebd8cc14f98f6a4c2e
* Layers implementation in GL.Nicolas Roard2010-12-1616-35/+716
| | | | | | | | | | | | - add textures management code for layers in TilesManager - add the layers drawing GL code - modify BaseLayerAndroid::drawGL() to paint the layers - modify TexturesGenerator to process layers painting requests Note: some further refactoring (when getting rid of SkLayer as a base class) will let us remove some redudant function, e.g. setAnchorPoint/setAnchorPointZ (bug:3292285) Change-Id: I3cc88575f331104d45c89e84ba27f3af755aa845
* improve text selection in scrollable divsCary Clark2010-12-161-5/+7
| | | | | | | | | | | | | | | | | | | | | | Detect which layer is hit by looking for scrollable layers. In this case it isn't necessary to see what is drawn or where, because the layer has already been prescreened by the parent clip. Adjust the x/y hit by the layer's position. This corrects the position when the layer scrolls. Fix CachedLayer's debug output to be in sync with LayerAndroid.h SelectText edge cases are corrected when there is not text to hit. To find the closest character, first look at the edge of the text line. If the hit is inside the line of text, measure from the center of the character. This helps when textlines overlap. bug:3275625 bug:3191699 Change-Id: I924cc0432f6dace32e0a7444fe69ef15dca2e77f
* Better thread safety protection on m_usableTeng-Hui Zhu2010-12-151-9/+8
| | | | | | | | m_usable is written in the thread of texture painting, it should be better protected. bug: 3215000 Change-Id: I5b1a5eaa4e469b6e5c840cd7299a1d955780729a
* Implement a GLUtils::toSkMatrix() functionNicolas Roard2010-12-153-19/+25
| | | | | | This also fix the rotation in software rendering. Change-Id: Iffe1ed3666c9501861ec6793294bf5cde89026d7
* Fix text selectionNicolas Roard2010-12-151-2/+4
| | | | Change-Id: I8338df1e2f18a0ab0e3ab951b06476e50f0ddb24
* Refactoring of animationNicolas Roard2010-12-156-448/+273
| | | | | | | | | | | We use Webkit animation classes instead of using our own. Implements keyframes animation for transform. Simplify LayerAndroid to remove the individual scaling/translate/rotation attributes and use a TransformationMatrix instead. Also cleaned up the style. Change-Id: I9a4d5c064c30bba568c37ced946405ed60019d33
* Re-enable iframe scrolling.Patrick Scott2010-12-151-2/+1
| | | | This reverts commit c7911ffd666a7e73131dfd68919b769086a093e0.
* Merge "improve text selection"Cary Clark2010-12-152-5/+17
|\
| * improve text selectionCary Clark2010-12-142-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LayerAndroid.* Adjust the hit-test (x,y) by the layer position. Keep track of the adjusted (x,y) and store the best to be returned when the best layer is found. CachedRoot.cpp Remove code that adjusted (x,y) by layer bounds. SelectText.* Detect columns of text and prefer new characters in the same column as the existing selection. Don't extend the selection until the tap point moves past the word anchors. There's more work to do on selecting text in layers. bug:3275625 bug:3271730 bug:3191699 Change-Id: Ib3c2b35e5eebe30c6032f484cf76d388e94293e0
* | Revert "Enable iframe scrolling."Guang Zhu2010-12-141-1/+2
|/ | | | This reverts commit 27dd9e051d0960e985cb677bfc1ce20531ac0456.
* Add a getSize() method to BackedDoubleBufferedTextureNicolas Roard2010-12-132-0/+4
| | | | Change-Id: Ia8942e253794f39ba0f612ec6350479aa23fd776
* Merge "Refactor the orthographic matrix computation and add a ↵Nicolas Roard2010-12-133-10/+34
|\ | | | | | | drawLayerQuad() method"
| * Refactor the orthographic matrix computation and add a drawLayerQuad() methodNicolas Roard2010-12-133-10/+34
| | | | | | | | Change-Id: I45a3581300abdedcd427a9eda8a519f11a3d1bb1
* | Merge "Refactoring TexturesGenerator filtering"Nicolas Roard2010-12-133-12/+43
|\ \
| * | Refactoring TexturesGenerator filteringNicolas Roard2010-12-133-12/+43
| |/ | | | | | | Change-Id: I58866a481f526105edc4336e517b7e082e0db6dc
* | Refactor to use a TextureOwner interfaceNicolas Roard2010-12-134-10/+56
|/ | | | Change-Id: I40357e76ba1b9e7b164688b3089db73cf81aa02e
* Prevent the usage of the texture(tile) if considered un-usableTeng-Hui Zhu2010-12-135-6/+38
| | | | | | | | | | | As an example of gmail, even though clearView is called, the previous content still show up. This fix just use a usable flag to make sure the content in the previously used texture is not showing up. bug : 3215000 Change-Id: I5429a4d03547d4cd4ad10bd2153c247a4d40db7d
* Merge "Enable iframe scrolling."Patrick Scott2010-12-131-2/+1
|\
| * Enable iframe scrolling.Patrick Scott2010-12-131-2/+1
| | | | | | | | | | | | | | | | | | | | Turn off iframe expansion and record iframes in a composited layer. Fix navigation by tracking iframe layers if needed. Remove the logic to add focused nodes to the last tracked layer as it is not needed and might add nodes to the wrong layer. Bug: 3219076, 3211666, 3201077, 3194321 Change-Id: Ifc0b83102438255db7e4b62ad260f50ebbdb0e50
* | Merge "Fix onDestroy()"Nicolas Roard2010-12-134-12/+13
|\ \ | |/ |/|
| * Fix onDestroy()Nicolas Roard2010-12-134-12/+13
| | | | | | | | Change-Id: Ie58ff8d0da2159639b2c05ea14a5bea811824d3e
* | SkRect takes left, top, right, bottom.Patrick Scott2010-12-131-1/+2
| | | | | | | | Change-Id: I4ddc8e4ef619b8407b0cea1f76450e42f1cadce2
* | Fix hit testing inside layers.Patrick Scott2010-12-136-80/+158
|/ | | | | | | | | | | | | | | | | | * Prevent asking for a sync in GraphicsLayerAndroid if some property has not changed. * Remove scrolling logic from LayerAndroid and create a subclass for scrollable layers. * Report the scrolling limits to the layer in order to scroll iframes (not turned on) and to avoid computing them each time the layer is scrolled. * Change the foreground rect calculations to better match the non-overflow case. * During hit testing, intersect the hitTestClip with the foreground and background to prevent false positives in the layer. * Prepare for iframe scrolling by adding code to trigger compositing for iframes. This currently works great except for navigation so it disabled for now. Bug: 3258631 Change-Id: I0da2d8dbe25376c6aa4f485c9350048c82c6f563
* Refactor recent changes to SharedTexture and TilesManager.Derek Sollenberger2010-12-0910-26/+39
| | | | | | | These changes are directly related to the comments found in this CL --> https://android-git.corp.google.com/g/#change,83984 Change-Id: Ida0acb772f9bcaa4f4f5b394676d45b27f4149d2
* When the tile get painted, it should be cleared first.Teng-Hui Zhu2010-12-081-1/+1
| | | | | | | | | | | This will clear the residue for the areas not in viewport, either the area belongs to the tiles inside or outside the viewport. In another word, area in the viewport will be redraw anyway, but area not in the viewport will get an invalidate only, that is why we need to clear the content when invalidating. bug: 3253934 Change-Id: I29b88c20cb5e68d6c0f917e7fa9fb22b395d6321
* Add a DeleteTextureOperation class and use it in SharedTextureNicolas Roard2010-12-085-30/+139
| | | | Change-Id: If0fd058911d84263b4f6257bf19cf6b2132c029a
* TexturesGenerator refactoringNicolas Roard2010-12-085-61/+152
| | | | | | | | | Introduce a generic QueuedOperation class to process various operations on the Textures generation thread. Right now this is just a refactoring, but we need this for the layers (to queue up layers painting as well as texture deletion operations) Change-Id: Ib8c8ceda1965bbd178a6c720cebf1d2eb0312d8a
* Get rid of some Debug spew which is out of dataTeng-Hui Zhu2010-12-071-3/+2
| | | | | | For bug : 3171575 Change-Id: I8736ba7e174a7ea8e4228bfbdacb8ca443828f99
* Merge "Change scrollBy to scrollTo in order to support fling."Patrick Scott2010-12-072-25/+34
|\
| * Change scrollBy to scrollTo in order to support fling.Patrick Scott2010-12-072-25/+34
| | | | | | | | | | | | | | | | | | | | Requires a change in frameworks/base. Report the scrollable rectangle when asking for a scrollable layer. This rectangle contains the current offset and the max offset for scrolling. These are content coordinates relative to 0, 0. Change-Id: Ia27dd23d6232057a648892d866109770f8e5bb55
* | Fix for <select> elements.Leon Scroggins2010-12-073-21/+103
|/ | | | | | | | | | | | Bug:3230016 Allow webkit to handle the click on a <select> element if it is a RenderMenuList. Implement PopupMenu class, using PopupMenuClient to interact with the <select> element. Change-Id: I9611c23304fc2fc3eb01ecbd7a46fa02cd52df9a
* Merge "Fix 3185363 by reverting fd0bf63b4: Better lookup with @font-face local"Russell Brenner2010-12-031-87/+47
|\
| * Fix 3185363 by reverting fd0bf63b4: Better lookup with @font-face localRussell Brenner2010-12-021-87/+47
| | | | | | | | | | | | | | This reopens bug 2720133: @font-face does not work if a local font is specified before a remote font in the src list. Change-Id: Ibfe93549b3ea7fd88cffd6ee75674a03f5e94d43
* | Rewrite scrollable layers using multiple layers.Patrick Scott2010-12-037-163/+147
|/ | | | | | | | | | | | | | | | | | | | | | | Remove PlatformBridge::updateLayers and instead call layersDraw from ChromeClientAndroid during a requested sync. Instead of LayerAndroid having knowledge of scrolling pictures, use multiple layers (background, mask, foreground). Update navigation to use the new structure. Always record nodes in absolute, unscrolled coordinates. Do not track layers unless the node has a composited layer and a last child. Check for composited parents when adding to tracked layers as well. TODO: * developer.android.com doesn't completely work with navigation due to some nodes being clipped out. * BaseLayerAndroid needs to be able to operate with a matrix other than identity. * nested fixed position elements do not draw correctly. * nested overflow layers haven't been tested. Change-Id: I0e2bd37612341e8884d68153ab36194cb2dc1eeb
* Merge WebKit at r72274: Add new flag to ImageSource constructor with ↵Russell Brenner2010-12-021-2/+3
| | | | | | | | | asssociated storage member Patch for webkit change: http://trac.webkit.org/changeset/72130 Change-Id: I5718b8c1ee5b2a9c8afa31de24e882f30d62972f
* Merge WebKit at r72274: Add orientation stubRussell Brenner2010-12-021-2/+5
| | | | | | | | Orientation is hardwired to horizontal. Needs proper implementation. http://trac.webkit.org/changeset/71970 Change-Id: If838dd9689e0e54b282baaa82515b2460e50578f
* Merge WebKit at r72272: Fix conflicts.Russell Brenner2010-12-022-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebCore/Android.v8bindings.mk http://trac.webkit.org/changeset/71802 WebCore/bindings/v8/V8Proxy.cpp http://trac.webkit.org/changeset/71735 WebCore/css/CSSParser.cpp http://trac.webkit.org/changeset/71767 http://trac.webkit.org/changeset/72116 (several APIs purged) WebCore/loader/ResourceLoader.cpp http://trac.webkit.org/changeset/71884 WebCore/platform/graphics/MediaPlayer.cpp http://trac.webkit.org/changeset/72117 WebCore/platform/image-decoders/ImageDecoder.cpp http://trac.webkit.org/changeset/72130 WebCore/rendering/RenderBlockLineLayout.cpp http://trac.webkit.org/changeset/72235 WebCore/rendering/RenderView.cpp http://trac.webkit.org/changeset/71851 Change-Id: If0a3466754b9755c1f4be97bf589f88c48eece0a
* Merge WebKit at r72274: Initial merge by git.Russell Brenner2010-12-02173-1264/+3066
| | | | Change-Id: Ie51f0b4a16da82942bd516dce59cfb79ebbe25fb
* Fix style in WebCore/platform/network/androidSteve Block2010-12-012-10/+5
| | | | | | | This matches what was upstreamed in http://trac.webkit.org/changeset/73062 Change-Id: I2cf2064ab51105fb16039f8af285a3797abe49a9
* Use one WebRequestContext per WebViewSteve Block2010-12-013-6/+3
| | | | | | | | | | | | This change switches from using a pair of WebRequestContexts (one for private browsing, one for regular browsing) to using one WebRequestContext per WebView. This is required to allow us to set the userAgent on each WebView. The WebRequestContext is now owned by the WebView. Bug: 3113804 Change-Id: Iba2b1490e7ce4ff65c08a04a310963fa2c7e4f83
* attach the last extra to the next pictureCary Clark2010-12-012-1/+3
| | | | | | | | | | When a new picture is generated for the content, use the last cursor ring / text selection etc. for the interval between the picture message and the view inval. This reduces flickering. bug:3230094 Change-Id: Ie099a8db395bfa707790ffe3c1f7f5398cc9afa4
* Merge "Refactoring the zoom"Nicolas Roard2010-11-293-40/+52
|\
| * Refactoring the zoomNicolas Roard2010-11-243-40/+52
| | | | | | | | Change-Id: I84d44b6aab2222b52d21a65ceb74e390c677fe72
* | allow animated gifs to skip framesCary Clark2010-11-241-4/+0
|/ | | | | | | | Removing this patch causes gifs to skip frames rather than play all intermediate frames in an attempt to catch up. bug:2621902 Change-Id: Idc19b11991c37c685d1dc61bb5daddc6d12d30e0
* reenable draw extras when GL is turned onCary Clark2010-11-237-40/+58
| | | | | | | | | | | | | | | | This captures the drawing in the UI thread, then passes the drawing to the tile imaging thread. The draw extras interface now takes an additional rectangle, and each draw extra fills in the inval area formed as that part is drawn. The old extra implementation in GLWebViewState has been removed. The inval portion of the setBaseLayer call has been split out so it can be called directly. bug:3161294 Change-Id: I28d3e6879059770b973e7c0f7c0796909f7359aa
* Fix the Zoom out / dirty tiles bugNicolas Roard2010-11-221-0/+7
| | | | | Bug:3212531 Bug:3212527 Change-Id: Ie038f5b42cd34653f0a3e8fbe8c1fb1c0c3aceca
* Fix case where the Texture class held a reference to a deleted Tile.Derek Sollenberger2010-11-224-2/+13
| | | | | bug: 3217947 Change-Id: If75673ece459d6539f1fd990d538347e13d60d68
* Clear GL inside clear view.Shimeng (Simon) Wang2010-11-223-0/+13
| | | | | issue: 3215000 Change-Id: I8668a857d840084c363b13c95efffc740a1451db