| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| | |
Change-Id: Ib0f0cf689e95b7333045df53ca645d34a0db21a4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
of a fixed layer when no position is defined, and also only use the screen
to position only the fixed elements, not other types of positioned elements.
Bug:2521087
The click issues were due to not returning the fixed element when looking
for a parent stackingContext in RenderLayer::stackingContext().
This resulted in incorrect coordinates for the layers children of a
fixed layer, that we then had to recompute in
RenderLayer::convertToLayerCoords(), but this in turns was invaliding
hit test detection...
Fixed elements are now positioned relative to the screen instead of the
virtual viewport (ANDROID_FIXED_ELEMENTS); but this was applying
indiscriminantly to all positioned elements, absolute elements included.
The CL modify RenderBox::containingBlockWidthForPositioned() and
RenderBox::containingBlockHeightForPositioned() to only do this for
fixed elements.
Finally, fixed layers were wrongly positioned if the positions were not
fully set (e.g. only setting top:0 but no left or right). The change to
LayerAndroid::updateFixedLayersPositions() fixes this.
Change-Id: I07a179dd631a2bc1a313e33ffcf69ef388ecb7ca
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
composited layers, and fix the z-index position.
Bug:2497910 Bug:2450006
We add a new COMPOSITED_FIXED_ELEMENTS define to isolate the
changes in the webkit common code.
We previously had a problem where the hierarchy of GraphicsLayer
(i.e. the backed surfaces associated to the composited RenderLayer)
was not reflecting that layers were children of a fixed layer.
The workaround we currently have is not fully satisfactory, due to the way
we draw layers on screen (in some cases layers were wrongly translated,
see Bug:2497910).
Instead, modifying the webkit common code simplify things a lot, and makes
the patch more likely to be upstreamed to webkit, as it's now a
reasonably well-delimited feature (use composited layers for fixed elements).
What we do now is to consider fixed elements as a stacking context, which
makes all layers children of such elements children too in the
GraphicsLayer hierarchy, and modifying the offset of those children
accordingly (in RenderLayer.cpp).
In addition, we fixes the z-index bugs we had
by signaling that there is a fixed element to its siblings, and turning
the siblings as composited layers as well (so that the ordering works
fully UI-side).
Change-Id: I735c6c14d955ef54653f0053187d3495bef1f332
|
| |
| |
| |
| |
| |
| |
| |
| | |
screen and not the virtual viewport.
This fixes Bug:2515587 and Bug:2457215
Change-Id: Ib987787cf9bf74b760b857dbbb397f85af334dce
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The problem was twofold:
- webkit didn't create composited layers of the children div unless they were
intersecting with the fixed layer
- the children divs layers are siblings, not children of the fixed layer
The solution is to:
1/ mark layers as needed to be composited if their ancestor is a
fixed element (in RenderLayerCompositor)
2/ as the GraphicsLayer/LayerAndroid hierarchy is based on the RenderLayer
hierarchy (z-order..) and not the display hierarchy, we need to a way of
updating the position of the contained layers when a fixed layer move.
We do that by:
- marking layers contained in a fixed layer as being linked to the
fixed layer (GraphicsLayerAndroid::syncFixedDescendants), and set the
offset between the layer and the fixed layer.
- when pushing the layers tree to the UI side, we ensure that such layers
are linked to their corresponding fixed layer
(LayerAndroid::ensureFixedLayersForDescendants)
- when we draw, we do a first pass to update the fixed layers position
(LayerAndroid::updateFixedLayersPositions) then update the rest of the
layers (LayerAndroid::updatePositions). The layers that are linked
to the fixed layers will then update their position relative to it,
using the original offset between the fixed layer and the layer.
Bug:2470701
Change-Id: I512966df94de6a5f84aff335c5d09b3f027bc2c3
|
| |
| |
| |
| |
| |
| | |
See http://trac.webkit.org/changeset/55081
Change-Id: If34e70743c554b2a5e8315b2657cce6964805f6a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
optimisation
This bug was introduced by the merge to r51976 on 15 Dec 2009.
WebKit change 51355 modified RenderLayer::paintLayer and the Android
FASTER_MATRIX modification was not updated to reflect this. The difference is
that, compared to the intended code, the Android version misses a call to
makeMatrixRenderable, which in turn calls makeAffine, when calculating the
transform matrix.
See http://trac.webkit.org/changeset/51355
Change-Id: Ibc25b92e64381642fc3bbcfd672c056a3d89e035
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Common frame flattening code was added upstream in http://trac.webkit.org/changeset/54440
We take this code, but also keep the current Android-specific implementation.
Currently, the common code is disabled and we continue to use the Android version.
The two will be combined at a later date.
Change-Id: I194c7028b84a05d85040ca6199802c42a520be96
|
| |
| |
| |
| | |
Change-Id: Ia79977b6cf3b0b00c06ef39419989b28e57e4f4a
|
| |
| |
| |
| | |
Change-Id: Ib489d2ff91186ea3652522e1d586e54416a2cf44
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RenderPartObject inherits calcWidth/calcHeight as public methods throught the
chain RenderPart -> RenderWidget -> RenderReplaced -> RenderBox.
On Android, RenderPartObject overrides calcWidth/calcHeight as private methods
for FLATTEN_IFRAME. This is not yet upstreamed.
The new WebKit uses calcWidth/calcHeight from RenderEmbeddedObject, which
inherits from RenderPartObject. So we need to make the these methods protected
in RenderPartObject
Change-Id: Ifb48d5daa10fc14c80f6da987cbd034713febc12
|
| |
| |
| |
| |
| |
| | |
See http://trac.webkit.org/changeset/53839
Change-Id: I123e8296c4b6bcfa4abd70ef67f9db14275bdf4c
|
| |
| |
| |
| |
| |
| |
| |
| | |
syntax change.
See http://trac.webkit.org/changeset/53110
Change-Id: Ib82ce428fc761a2791a7ce1fc0de486b6903a43a
|
| |
| |
| |
| | |
Change-Id: Ib661abb595522f50ea406f72d3a0ce17f7193c82
|
| |
| |
| |
| |
| |
| | |
Bug: 2225518
modified: WebCore/rendering/RenderBlockLineLayout.cpp
|
| |
| |
| |
| |
| | |
Bug: 2289376
modified: WebCore/rendering/RenderBlockLineLayout.cpp
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '4dd98cc27e25e6c3104672f50749132d2236461b'
* commit '4dd98cc27e25e6c3104672f50749132d2236461b':
Merge webkit.org at r51976 : Fix general conflicts.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Notes ...
For FrameLoader.cpp/h, see http://trac.webkit.org/changeset/51644
For FrameView.cpp and ScrolView.cpp, see http://trac.webkit.org/changeset/51636
For PluginInfoStore.cpp, see http://trac.webkit.org/changeset/51257
For Geolocation.cpp, see http://trac.webkit.org/changeset/50605
For V8DOMWrapper.cpp, see http://trac.webkit.org/changeset/51004
For V8Proxy.cpp, see http://trac.webkit.org/changeset/50441, http://trac.webkit.org/changeset/50327, http://trac.webkit.org/changeset/50406 and http://trac.webkit.org/changeset/50523
For HTMLInputElement.cpp, see http://trac.webkit.org/changeset/50996
For RenderBlock.cpp/RenderInline.cpp, see https://android-git.corp.google.com/g/#change,33465
Android-specific change to now-deleted JSCanvasArrayCustom.cpp was trivial.
Change-Id: Iddc8d43bdcb6208d6a991a7a1d591e8a4f918bf7
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Merge commit 'b880d713c04257ca40abfef97c300afdead423b8'
* commit 'b880d713c04257ca40abfef97c300afdead423b8':
Merge webkit.org at r51976 : Initial merge by git.
|
| | |
| | |
| | |
| | | |
Change-Id: Ib0e7e2f0fb4bee5a186610272edf3186f0986b43
|
|/ /
| |
| |
| |
| |
| |
| | |
I was filtering out 1x1 frames incorrectly by using the calculated width and
height which includes border and padding.
Bug: 2317776
|
| |
| |
| |
| |
| |
| |
| | |
rendering. The code path was not exercised in the
Browser and the crash was triggered by the WebKit
integration.
Fix http://b/issue?id=2285748
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
building on Mac.
This code was modified recently to aid upstreaming by wrapping all Android changes in PLATFORM(ANDROID).
To allow the build to succeed on other paltforms, we need to be more careful with our use of the guards.
See https://android-git.corp.google.com/w/?p=platform/external/webkit.git;a=commitdiff;h=bc7b84de3fd863c500a8169fd00dca3811cadbb3#patch28
Change-Id: I4b0151ad62023821171742c5dfbba1dd7b39d8ed
|
| |
| |
| |
| |
| |
| |
| |
| | |
This block was commented out in Android to improve performance.
It has now been removed from webkit altogether.
It needs to be removed to allow webkit to build for Safari,
since the interfaces it references are now obsolete.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
http://trac.webkit.org/changeset/50466
Merge commit 'ffe27b58c77e71641efd3bd4258323cd4c29c39a' into eclair-mr2
* commit 'ffe27b58c77e71641efd3bd4258323cd4c29c39a':
Integrate WebKit security fix
|
| |
| |
| |
| |
| | |
http://trac.webkit.org/changeset/50466
Fix http://b/issue?id=2268722
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit 'a56054997e46fcd04621cc67d650b6daf85f7b59' into eclair-mr2
* commit 'a56054997e46fcd04621cc67d650b6daf85f7b59':
Changing fit column to screen to exclude the padding.
|
| |
| |
| | |
Fix http://b/issue?id=2253222
|
| |
| |
| |
| |
| |
| |
| | |
Note that FrameLoader::gotoAnchor has been moved to FramveView::gotoAnchor.
See http://trac.webkit.org/changeset/49608
Change-Id: Ic2a87bb0c0f91d371508578ddccf200967524a77
|
| |
| |
| |
| | |
Change-Id: I1a9e1dc4ed654b69174ad52a4f031a07240f37b0
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
But some mobile sites will have minimum pref width
wider than the screen width, like in
http://www.boygeniusreport.com/2009/10/23/motorola-droid-preview/.
Now we are checking width() > screenWidth before wrapping at line 958,
there is no need to exclude the device-width case. Remove the
checking and both bugs should be fixed.
|
| |
| |
| |
| |
| |
| | |
The original assert was meant to assert that the body renderer layout state is
not modified during the expansion of the iframe. This can falsely fire if the
body renderer already needed a layout before the iframe expansion.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
webkit.org.
- Fixes whitespace discrepancies between webkit.org and Android versions
- Re-orders Android-specific changes to minimise the diff with webkit.org
- Makes sure all Android-specific changes are appropriately guarded.
- Fixes some Android-specific style problems
None of these should introduce any functional changes for PLATFORM(ANDROID).
Change-Id: Id27cf0b0e8682a7f29590c3fccae2d287b3630f1
|
| |
| |
| |
| |
| |
| | |
See http://trac.webkit.org/changeset?new=47440
Change-Id: I140b6be130c1fb175c653f5ba2ba19fdc323bbc9
|
| |
| |
| |
| | |
Change-Id: I9e0ffbe9b9b824399653da038093874e315ccd6a
|
| |
| |
| |
| | |
Change-Id: I8968561bc1bfd72b8923b7118d3728579c6dbcc7
|
| |
| |
| |
| |
| |
| |
| |
| | |
webkit.org. Do not merge.
This will avoid noise in the diffs when upstreaming Android-specific changes to webkit.org.
This has already been submitted to master branch.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Webkit implementation for passing in the data for file uploads.
Requires a change to frameworks/base to not break things; also
requires a change to packages/apps/Browser to work.
Fixes http://b/issue?id=675743
|
|/
|
|
| |
http://b/issue?id=2146657
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem is that if updateWidgetPosition calls layout, the FrameView will
layout with 0x0 dimensions. Then, we resize the view and try to relayout. This
causes the body to be marked as needing a layout. But, the body does not get a
chance to relayout. If updateWidgetPosition does not layout, the view size will
match and the body will not be marked for layout. This makes everything sane
after layout of the iframe.
The root of the problem is that we are calling FrameView::layout() while in the
midst of a layout. This is causing a child RenderObject to need a layout
without the parent object needing a layout. We avoid this by not laying out
until we set the FrameView dimensions.
Bug: 2048855, 2134215
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an image node is incomplete, RenderImage::paintReplaced is triggered.
A thin frame with a transparent center sets but does not restore the
fill to transparent. Our graphics state draws transparent bitmaps until
the state gets set back to opaque.
I haven't figured out why Safari doesn't demonstrate this same bug, but
in some webkit code, the state is saved and restored around making the
fill transparent. Adding that save()/restore() pair fixes our bug as
well. But, it may be that our platform should be setting the fill
state before drawing the bitmap and is failing to do so.
This fixes http://b/issue?id=2052757
|
|
|
|
| |
Copy the change from bidi.cpp to RenerBlockLineLayout.cpp as the file is renamed.
|
|
|
|
| |
This reverts commit d227fc870c7a697500a3c900c31baf05fb9a8524.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
WebCore/bindings/v8/ScriptController.cpp
WebCore/page/Geolocation.cpp
WebCore/platform/android/GeolocationServiceAndroid.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If an iframe has no scrollbars and a fixed dimension, it serves no purpose to
try and expand the contents. Some sites like to use hidden iframes for
asynchronous loading and showing or expanding those iframes causes layout
problems.
Change the expansion logic slightly to only expand iframes and not contract
them. Also update calcWidth and calcHeight to check for scrollbars or a
non-fixed dimension.
BUG=2039520,2004093
|
| | |
|
| | |
|
|/ |
|