| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes how partial invals are done by adding a hybrid mode.
What we used to do is generate a SkPicture for the new area. This
SkPicture would possibly be larger than the actual inval, depending
on various merge rules (more SkPictures == slower to draw a tile)
The new code rewrites PictureSet entirely, preserving many of the old rules
but cleans up the code and adds the concept of a "PrerenderedInval". This is
a partial inval that WebKit has rasterized. By having WebKit produce both
a SkPicture and a SkBitmap, we avoid needing to play back the picture and
avoid overdrawing. We take this SkBitmap, and simply update the front
textures with it. This gives us full partial invals through the entire
system without hitting any driver bugs, and with minimal copies. And while
the SkPicture may be larger than the inval, the SkBitmap that is rasterized
is not - it matches the area webkit has said is dirty.
Change-Id: Ieb7ecc9db0d4f679102fda004a43399f9b319ebc
|
|
|
|
|
|
|
|
|
|
|
| |
Bug: 6300357
Switch to GradientSkia (fixes the crash)
Fix GraphicsContextAndroid to delay setting the fill & stroke
shaders until immediately before they are needed, as they can be
updated between when they are set and when they are used, which
SkShader doesn't support.
Change-Id: I85c81ad5764495f45547d2cef08bcf7ed7a885c1
|
|
|
|
| |
Change-Id: Idc67155cfa99784dcd931e705336bfa063ecae46
|
|
|
|
| |
Change-Id: I41feadb23dce25af321331c459eb159c6141831b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BaseTile,BaseTileTexture -> Tile,TileTexture
Used in layers other than the base
LayerGroup -> Surface
Renamed to convey that it is a member of the SurfaceCollection, and that the
layers grouped inside are painted together (if at all)
DualTiledTexture -> SurfaceBacking
Better conveys that this is the raster backing for a surface that can
paint. It may be implemented with two tiled textures for now, but that isn't
as important as its relationship to the surface.
TiledTexture -> TileGrid
Renamed to make it more clear that it was a container of tiles, and to be
less similar to TileTexture
Change-Id: I843f8603a2080cfe5a7313ba1c2eff10620f8aa2
|
|
|
|
|
|
| |
Breaks low res tiling, and expanded rendering bounds.
Change-Id: Iec3ba2adceb6bd95399594d29fd8c0b18c1122ce
|
|
|
|
| |
Change-Id: I2652ca8d6d3008bb97c2d9ad795240880fd83006
|
|
|
|
| |
Change-Id: I841b3e021298738c91701068992798a55290a520
|
|
|
|
|
|
|
|
|
| |
Layers can now use a LayerContent object to draw their content.
We currently have two subclasses, one using an SkPicture (currently
used for composited layers), the other using a PictureSet (that we
use for the base layer). First step toward unification...
Change-Id: I5e7fd06a653f02f8721613fd3a39d36fb64a8614
|
|
|
|
|
|
|
|
|
| |
With the latest refactoring we lost the possibility of having a layer
other than LayerAndroid be fixed positioned. This CL remove the
FixedLayerAndroid class (rename it into FixedPositioning) of the
hierarchy, and use delegation to apply fixed position.
Change-Id: Ib291fcaefe6a4431849ccfe2cf458fac6cac58aa
|
|
|
|
| |
Change-Id: Ia3810e83a2d919ff5fa37b8fcd92e6cbbb63d569
|
|
|
|
| |
Change-Id: Ic94e67678e7f5783bf6690308d0a13ce2202d1f2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* added 'LayerGroup' class
separate the painting/tiled features of a layer (eventually multiple layers)
tiled drawing/preparing/counting details are abstracted out of LayerAndroid
* added 'SurfaceCollection' class
incorporates both the BaseLayerAndroid/LayerAndroid tree, as well as the
vector of tiled LayerGroup
* renamed 'TreeManager' to 'SurfaceManager'
* Removes PaintedSurface
was mostly a thin wrapper around DualTiledTexture
* Combines TilePainter/SurfacePainter
* Simplified ref counting
Change-Id: I92c5c75f48d92e0e28812c56de00102399fc02ee
|
|
|
|
|
|
| |
Bug: 6074032
Change-Id: I74f80da22bebbfac556728bba25bcddc2333629a
|
|
|
|
| |
Change-Id: I88b6ebfb4c967e954a2420592a58af3ed188226d
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
TransferQueue is using one GL texture per tile, which is the best in terms of
memory usage.
The old code paths include EGLImage mode and SurfaceTexture per tile mode.
At the same time, all the locks related to EGLImage are deleted too.
There should be no funcationality change here.
By deleting the DoubleBufferTexture, the only thing need to be added into
BaseTileTexture is the TextureInfo, which can be optimized further in the
future.
Change-Id: If27fbca7cb55c73d94fbde3ba02d6208707ad8f0
|
|/
|
|
|
|
|
|
|
|
|
|
| |
bug:5748182
Adjusted text detection logic to also simply detect content, and moved to a
separate class. No content means a picture is not attached to the layer, and a PaintedSurface isn't allocated to the layer on the UI side.
Most commonly, this avoids allocating textures for the clipping element for an
overscroll div, but only if it has nothing to paint.
Change-Id: I5e57d497780c0532e0f28ac94b7ced3de9718e92
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cherry pick from WebKit r87197 to add support for
Float64Array. Note that this requires at least V8 3.3.
In particular, this CL means that we will consume less
memory executing Emscripten code.
See http://trac.webkit.org/changeset/87197/
Bug: 5558474
Change-Id: I686d59acfdb56d03496f407d114826f35b4ff2c8
|
|\
| |
| |
| | |
Change-Id: I5da59f75c0ea1cdb7818dd3f8dc557fbf1d29885
|
| |
| |
| |
| |
| |
| |
| |
| | |
bug:5522081
bug:5239801
bug:5297563
Change-Id: I600f66999e093f720a8ea97ef3e15d3d1d297a8f
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- FrameLoaderClientAndroid::dispatchDidClearWindowObjectInWorld()
FrameLoader::url() was removed in
http://trac.webkit.org/changeset/76872. We should use Document::url()
instead.
- ImageBufferAndroid
See http://trac.webkit.org/changeset/77286 and
http://trac.webkit.org/changeset/77398
- Add PluginDebug.cpp to build
- ChromiumIncludes.h
Don't build Chromium code without NDEBUG set
- Frame.cpp
We should not include WebKit files from WebCore. WebViewCore.h introduces
problems due to the change to ChromiumIncludes.h and is not required here.
Bug: 5448972
Change-Id: I82c5c95591bf01fb65179282d03f865df4255c89
|
|\
| |
| |
| |
| | |
* commit '9bd214662e776fb18e43d1ad32ce274803ec309a':
Refactor the image sharing code
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We add a separate Images Manager, working
both in GL and software rendering.
bug:5425148
Change-Id: Ib5bc88ad94d49c7f1eb969a716691ac98dc10b77
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug 5094208 : browser VerticalWritingMode support.
Some punctuation has to change its glyph in vertical writing mode.
For example, dash in vertical text is a vertical bar. In
current Android system fonts and fallback fonts, none of them have the
substitute tables for vertical writing mode. We call a conversion
function that converts the punctuation to the Unicode Vertical Form
(0xFE10 - 0xFE19) or to the closest glyphs as alternative when
vertical substitute tables are absent in fonts. Otherwise, we use
Harfbuzz to do the vertical glyph shapping.
Change-Id: If1d31bb72aaaba45ed50bbb75d6246cfa30e3428
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug:5309934
Defer picture changes and invalidations when:
1) a tiled texture hasn't completed painting
2) the user is scrolling (done in PaintedSurface)
Remaining issues:
Should block updates on zooming
Change-Id: I60ee722e651f96e95a4ac0e819999fc1589037c3
|
|/
|
|
|
|
|
| |
Bug: 5354191
Refactor how extras are drawn in GL
Change-Id: Ifb61c73abecd2d074903a7fb44fe4b82aacc64ac
|
|
|
|
|
|
| |
bug:5242595 bug:5218173
Change-Id: I37d395e85441671312aac3e236cc8276019aa990
|
|
|
|
|
|
|
|
|
| |
- we extract the GL set up GLWebViewState
- we extract the zoom management to a new ZoomManager class
bug:3392331
Change-Id: If42523a7192bab2f8c9d1f00a50721380340230d
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of assigning each tile a Surface Texture, now just a normal GL texture.
The content from skia bitmap will first drawn into a queue of Surface Textures,
at draw time, blit them into each tile's GL texture.
Added extra lock to protect the queue operation and Surface Texture operation.
bug:5044597
Change-Id: I25f46228b93a3e99526daf52d8bd0d8d8fcc2879
|
|
|
|
|
|
|
|
|
|
|
| |
related to the old texture management and introduce two new classes:
- PaintedSurface, used as a placeholder ui-side for the regularly
changing LayerAndroid
- TiledTexture, implementing the tiling of PaintedSurface using a set
of BaseTile
bug:4580444 bug:3392331
Change-Id: I0daa079d2acce49f3baa8c312ea0b0dd457ccd5c
|
|
|
|
|
|
| |
Added tile profiling member (TilesProfiler) to TilesManager to track rendering status of tiles.
Change-Id: Ied828c6ad2a15588965e6641edecb162bd76bc62
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ie1c24e5e402c539e0359810cfdf872178fa083c1
|
|/
|
|
|
|
|
| |
The GaneshRenderer can now be swapped in for the RasterRenderer in
BaseTile. A following CL will enable this swap at runtime.
Change-Id: Id42040fce2895ab00cccb8f11dfd0489df861655
|
|
|
|
| |
Change-Id: I5cf0e2da4d4f48be5daf176b5aac8222b9919ba9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the existing code we created a sharedBitmap for BaseTiles and
never used it instead opting for createing bitmaps on the stack to
enable partial invalidation. This CL removes the sharedBitmap concept
and instead creates all bitmaps on the stack.
This means that BackedDoubleBufferedTexture no longer needs to have
a bitmap member, but instead simply takes the bitmap from the caller
and uploads it to the appropriate texture. To make this upload clean
we now pass the bitmap via const references instead of pointers.
Change-Id: Ie218c4b4564e5574ca6e404d4857904ab41a3a5c
|
|
|
|
| |
Change-Id: I1dc4622e0ce1602f6dc314f0b510c41adb95a443
|
|
|
|
|
|
|
| |
See http://trac.webkit.org/changeset/82562 for
new XMLTreeViewer generation.
Change-Id: I52c8d510602e7e77ea6a134510f8e5bb6b0c4d9a
|
|
|
|
| |
Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I55c6d71a,Ifb3277d4,Ia1b847a2,I7ba9cf3f,Ida2b2a8a,I1280ec90,I72f818d5,I2e3b588b,I9a4e6289,Ia724c78b,Icd8612c8,Ie31b15d7,Ie125edae,I77941a88,I89dae78b,I3516e5ca,I1a4c17b5,I2c4ecc1a,I9c8e6537,Ifac13115,Ie1f80e09,Ia541ed77,I60ce9d78
* changes:
Merge WebKit at r82507: Update ThirdPartyProject.prop
Merge WebKit at r82507: Cherry-pick change r88166 to add INSPECTOR guards to ScriptProfiler
Merge WebKit at r82507: Work around a V8 bug
Merge WebKit at r82507: JNIType renamed to JavaType
Merge WebKit at r82507: IconDatabaseClient interface expanded
Merge WebKit at r82507: Don't use new loss-free code path in HTMLCanvasElement::toDataURL()
Merge WebKit at r82507: IcondDatabaseBase::iconForPageURL() renamed
Merge WebKit at r82507: IconDatabaseBase::Open() signature changed
Merge WebKit at r82507: Node::isContentEditable() renamed
Merge WebKit at r82507: Use icon database through IconDatabaseBase
Merge WebKit at r82507: toInputElement() is now a member of Node
Merge WebKit at r82507: FrameLoaderClient::objectContentType() signature changed
Merge WebKit at r82507: StringImpl::computeHash() removed
Merge WebKit at r82507: Stub out FontPlatformData::setOrientation()
Merge WebKit at r82507: Path::strokeBoundingRect() is now const
Merge WebKit at r82507: Add missing UnusedParam.h include in ApplicationCacheGroup.cpp
Merge WebKit at r82507: Continue to use Android's version of FontPlatformData.h
Merge WebKit at r82507: Update signature of FontCustomPlatformData::fontPlatformData()
Merge WebKit at r82507: Fix conflicts due to JNI refactoring
Merge WebKit at r82507: Fix conflicts due to new StorageTracker
Merge WebKit at r82507: Fix conflicts
Merge WebKit at r82507: Fix makefiles
Merge WebKit at r82507: Initial merge by git
|
| |
| |
| |
| | |
Change-Id: Ia541ed77797442b5894b6fb88b3b829cc59c3535
|
| |
| |
| |
| | |
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
|
|/
|
|
| |
Change-Id: I9018a8079da1df2fd55c94aacd4ae96227ad2bd2
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add new and remove deleted files to fix makefiles.
See http://trac.webkit.org/changeset/79861 for new
XSLTreeViewer generation.
Also remove a stub from TemporaryLInkStubs that we now get
by compiling the correct files in JSC (see
http://trac.webkit.org/changeset/78634).
Change-Id: I550b035b7c9c915b42738366da7817dca020c9a8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Android.jscbindings.mk 79223
Conflict due to http://trac.webkit.org/changeset/79223
Android.mk
Conflicts due to http://trac.webkit.org/changeset/79825 and
http://trac.webkit.org/changeset/79978
Android.v8bindings.mk 80367
Conflicts due to http://trac.webkit.org/changeset/80103 and
http://trac.webkit.org/changeset/80367
HTMLMediaElement.cpp
Conflicts due to http://trac.webkit.org/changeset/80030 and
local TOUCH_EVENTS modifications.
HTMLDocumentParser.cpp
Conflict due to http://trac.webkit.org/changeset/79772 and
local ANDROID_INSTRUMENT modifications.
CachedResourceLoader.cpp|h
Conflicts due to http://trac.webkit.org/changeset/78602 and
ANDROID_BLOCK_NETWORK_IMAGE.
MemoryCache.h
Conflicts due to http://trac.webkit.org/changeset/78848 and
ANDROID_INSTRUMENT.
FrameView.cpp
Conflict due to http://trac.webkit.org/changeset/78928 and
locally added updatePositionedObjects function.
NetworkStateNotifier
JobjectWrapper.cpp
Git seems to have got confused with a rename here in
JobjectWrapper.cpp, keep ours.
Conflicts due to http://trac.webkit.org/changeset/79563 and
local Android additions.
PluginViewNone.cpp 79904
Conflicts due to http://trac.webkit.org/changeset/79904 and
local cherry pick of http://trac.webkit.org/changeset/79988
RenderBox.cpp
Conflicts due to http://trac.webkit.org/changeset/79467 and
local android modifications.
Change-Id: I98bd80de86b5169212da137ad3df42c1c35e8931
|
|
|
|
| |
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Basically, the GL textures generated for the surface texture will be used
for showing the screenshot.
Surface texture will be recycled every time a new video starts.
But GL textures will be recycled either when running out of memory bound,
or when the mediaplayer is deleted.
1. Add the VideoLayerManager as a static instance to manage the info of textures
allocated for the screenshot. The basic info will be added into the manager
while the video is played and prepared. During the draw time, the matirx info
will be updated, too.
2. When there are too many screenshots are created, then we will discard the
oldest one and just show the grey static rectangle to replace the screenshot.
The corresponding framework change is 112501.
Change-Id: Ifea60c96532500f9c93062cc97f7c4ef978046b0
|
|
|
|
|
|
| |
PCRE switched for YARR - http://trac.webkit.org/changeset/78042
Change-Id: Ie5090e0d7a174e3c2975b807d0b4769b15494156
|