| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There is a possible race condition between the IO thread finishing the request and
the WebCore thread cancelling it. If the request has already finished, ignore
subsequent calls to finish to avoid sending duplicate finish messages to WebCore.
Change-Id: I44f61c1b29baef686e59b66b40b32d9b1d9699c2
|
| |/ / /
|/| | |
| | | |
| | | | |
Change-Id: I12d5632b37db581065db9bcbd49f3dc28ecd7719
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Id7c2ae708c166da035f1fdda8351b921d86d78de
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 2582455
Never modify the focused state of the focus controller.
A corresponding java change make the active state get changed only when
the webview gains/loses focus.
Change-Id: I6f17f82c772ea4410c0209bf57d251c9bd384e6c
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This allows web pages to have fine-grain control over the appearance
of the rings drawn around nodes.
Generated links (email, addresses, phone numbers) are no longer
given unique colors. To preserve this feature, a separate change
could add an HTML extension similar to vlink to provide the cursor
ring defintions for theses links. The mechanism implemented below
isn't appropriate since these links don't necessarily correspond to
single DOM nodes or other DOM elements.
------------
CSS examples
------------
The CSS to specify the ring looks like:
-webkit-ring-fill-color:rgba(0,0,255,0.4);
-webkit-ring-inner-width:2 px;
-webkit-ring-outer-width:3.5 px;
-webkit-ring-outset: 8 px;
-webkit-ring-pressed-inner-color:rgba(0,0,255,0.8);
-webkit-ring-pressed-outer-color:rgba(0,0,127,0.3);
-webkit-ring-radius: 10 px;
-webkit-ring-selected-inner-color:rgba(63,63,255,0.8);
-webkit-ring-selected-outer-color:rgba(63,63,127,0.3);
and may be alternately defined with a property shortcut:
-webkit-ring:rgba(255,0,0,0.4) 5px 7px
rgba(255,0,0,0.8) rgba(127,0,0,0.3) 20px
rgba(255,63,63,0.8) rgba(127,63,63,0.3);
--------------------
Property definitions
--------------------
A vertical cross-section of the ring corresponds to these
parameters as shown:
______
R / ___O_ R = corner radius
/ / __I_ o I = inner ring
/ / / _O_ ^ O = outer ring
| | | / F | F = fill
|O|I|O| L o = outset
| | | \_F_ | L = original link
\ \ \__O_ V
\ \___I_ o
R \____O_
The fill color specifies what to draw inside the ring
when the link is followed. The fill area consists of the
original link area plus the outset.
The inner and outer widths specify the stoke width of the inner
and outer rings, respectively. The widths may be specified in
fractional pixels. The implementation captures 4 bits of the
fraction.
The outset specifies the distance from the edge of the original
link to the rings' center. Both rings are drawn at the same center
location.
The radius specifies the curvature of the corners at the center
of the rings.
-------------
Data lifetime
-------------
The selected colors specify the colors of the inner and outer
rings when the trackball or D-pad hovers over the link. The
pressed colors specify the colors of the rings when the
trackball center is pressed or the link is tapped.
The CSS data is recorded in the RenderStyle when the DOM
is parsed. The widths are scaled up by 16 to preserve the fraction.
When the nav cache is built, the CSS style information is
recorded in the CachedColor class. Only unique style sets
are recorded; many CachedNode instances can share the same
CachedColor instance.
When the cursor ring is drawn, the CachedColor is
retrieved by getting the index from the CachedNode, and
looking up the entry in the CachedFrame. The widths are
scaled down by 16 since Lengths are stored by the webkit as
integers.
----------
File Edits
----------
WebCore/Android.derived.mk
- Build the CSS data property tables by concatentating
Android specific data and optionally SVG data.
WebCore/config.h
- Add switch for these rings. This switch is meant
as a convenience for finding the code in WebKit
that was added to enable this feature. Since the
old code in DrawCursor has been removed, it does
not revert to the old behavior if the switch is
turned off.
WebCore/css/AndroidCSSPropertyNames.in
- The new ring properties, plus an old one we
added before.
WebCore/css/CSSComputedStyleDeclaration.cpp
WebCore/css/CSSMutableStyleDeclaration.cpp
WebCore/css/CSSParser.cpp
WebCore/css/CSSStyleSelector.cpp
- I can guess what these functions are for as
well as anyone, but I really don't know. Do
I need all of them? Do I need to modify
Mutable at all?
WebCore/css/CSSPropertyNames.in
- Moved Android addition to AndroidCSSPropertyNames.in
WebCore/platform/graphics/Color.h
- Added initial color values here.
WebCore/platform/graphics/android/android_graphics.*
- This draws the cursor ring. The code that draws
'synthetic' links has been discarded.
WebCore/rendering/style/RenderStyle.h
- Functions to get, set, and initialize the style
data.
WebCore/rendering/style/StyleRareInheritedData.*
- The storage for the style data and an equivalence
function.
WebKit/Android.mk
- Added CachedColor to the build.
WebKit/android/nav/CacheBuilder.cpp
- Record the color from the DOM into the cache.
WebKit/android/nav/CachedColor.*
- Store the cached color info.
WebKit/android/nav/CachedFrame.*
- Where the array of colors is stored.
WebKit/android/nav/CachedNode.*
- Where the index to the colors is stored.
Change-Id: Ia3a931f41d6545e47678e245aafe7c84d4658f94
http://b/2603197
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adding alternate http in the end of the UA string to identify which http stack is used.
Finally, cleaning up some old includes.
Change-Id: If165403a066009ca85dbf28d6024f1419cfae4fa
|
| | |
| | |
| | |
| | | |
Change-Id: Ib097f8fda80cf33185d9b6a3a00a47ca83a7e678
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 2809660
Change-Id: Idb0bdc33dae6e1148dc92ff1d0137550cc054e3a
|
|\ \ \ \
| |/ / /
|/| / /
| |/ /
| | |
| | |
| | |
| | |
| | | |
WebCoreFrameBridge.cpp
Merge commit '3c54ece08a0ea9e5dc5d5788a4c49c8dc94b501f'
* commit '3c54ece08a0ea9e5dc5d5788a4c49c8dc94b501f':
activeDocumentLoader() causes crash in WebCoreFrameBridge.cpp
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit '5dc34a8555dde1ae4a2c174870c4296cc44f8a22' into gingerbread-plus-aosp
* commit '5dc34a8555dde1ae4a2c174870c4296cc44f8a22':
activeDocumentLoader() causes crash in WebCoreFrameBridge.cpp
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a fix for a crash found in real phones, there is cases when
activeDocumentLoader() can return null, probably related to closing of a
frame or canceling of a request.
Change-Id: Id340ab006b6e40e396645a4e668dcb58824a63e7
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Originally written in response to bug 2835685, which was
fixed in
https://android-git.corp.google.com/g/#change,61059
WebViewCore.cpp:
Send a message to clear the text input/remove the soft
keyboard if the click results in no text input field
being in focus.
WebView.cpp:
Remove the old checks to clear the WebTextView, which
is now done in WebViewCore.cpp. This makes clearing it
consistent with the checks for opening the WebTextView.
Change-Id: I06ba7aadc95302c90af67da16edccd46896fcdbf
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Set the foreground clip after drawing. Use the absolute bounds to
compute the local foreground clip in order to compensate for any
outline.
Consolidate the check for overflow scrolling into RenderLayer.
Request a compositing update after computing the scroll dimensions.
Only change the foregroundRect of the layer during paint so that the
outline rect (and background/layerBounds) are correct.
Draw the outline as part of the background phase. During painting of
a layer, scroll to (0,0), paint, then scroll back.
When clicking on an element in a layer, scroll to the position of the
element but do not scroll back. This makes text input fields visible
to the tree and will properly update when typing. Record the original
scroll position of layers in order to offset the bounds of nodes when
checking the nav cache. Make sure to reset all cached layers during
setRootLayer. Otherwise we were reaching into layers from the wrong
thread.
Change-Id: Id9827ec461989b0869a8252d4d2563ecd12c5fac
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I31c2c983f0b04db6fb5d2c4ccbe0ea837fc7db2b
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I950f48ae3edaf48c1f4da1ca926683ad075ad094
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This class acts simply as a proxy to the real or mock client, which is owned by
the WebView. DEVICE_ORIENTATION is enabled on Android, so we must implement this
client before we pull in http://trac.webkit.org/changeset/64845, which calls
DeviceMotionClient::setController() from the Page constructor.
Change-Id: I8cf448f26103df3e55098e70eec80d845725761f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Need to update the parameter passed to JSLock ctor as new
ctor added in r64585 creates an ambiguity.
See http://trac.webkit.org/changeset/64585
Change-Id: Ibb4b089d66aa984038b66eef03d4d788575bfaaf
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
See http://trac.webkit.org/changeset/65021
Change-Id: I779a8ec0c3e1e0aed8f8d1894cfc1e5ca33ee549
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ibcf418498376b2660aacb7f8d46ea7085ef91585
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Iaf9a9de73870c497b9c925af3b1637a07b399640
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Id6c9cfc92ba2aeaae15724e789e9531a451e04fa
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Only using a local variable that went out of scope before. Now setting them to the correct member variable.
Change-Id: I562c4b05b35b0bf996ce2490fdae54f25af05c74
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
variable m_resourceRequest as it is not needed outside the function."
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also removed the member variable m_resourceRequest as it is not needed outside the function.
Change-Id: I5a627306de8a8d8c59044046003e8515fd10f5c8
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This was missed when DeviceOrientationClientAndroid was added
Change-Id: I7d67f2d64680e79fc14bf5927be79986b333b9f9
|
|/ / / /
| | | |
| | | |
| | | | |
Change-Id: Ie21024238a88252cd668cbddb98643b142728cf1
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is part two, the first part was done here:
https://android-git.corp.google.com/g/#change,58927
After this WebCore is not touched from other threads. This fixes some random crashes that were happening. Network handling looks quite stable now.
Change-Id: I47aece04207f4627964de83ef371ff789afd7668
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ChromeClient::reachedApplicationCacheOriginQuota() for Android
See http://trac.webkit.org/changeset/64400
Change-Id: Ia72d447c94bcfd918876e4549a296dc88ab3abfa
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
methods
See http://trac.webkit.org/changeset/64513
Change-Id: I9f55ae27989f7a246c0c1e5f771677c66a9b1556
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A modified version of this Android-specific code was upstreamed in
http://trac.webkit.org/changeset/64272
For the most part, the differences between the Android and upstreamed
versions are syntactic only. In these cases, we take the upstream
version.
In a small number of cases, logical changes exist. In these cases, the
Android logic has been retained, guarded with ANDROID_HITTEST_WITHSIZE,
but using the new syntax.
In particular ...
- Android's HitTestResult::intersects(x, y, rect) is logically equivalent
to the uspstream IntRect::intersects(HitTestPoint::rectFromPoint(x, y))).
- Android's HitTestResult::addRawNode() is logically equivalent to the
upstream HitTestResult::m_rectBasedTestResult.add().
- Android's HitTestResult::isRegionTest() is slightly different from the
upstream HitTestResult::isRectBasedTest(). The latter is modified with
a new ANDROID_HITTEST_WITHSIZE guard in HitTestResult::HitTestResult()
to maintain the same behaviour.
- The upstreamed code uses
HitTestResult::addNodeToRectBasedTestResult() as a helper method in
place of inline logic in the Android version. The slight difference
in behaviour between this helper and the Android logic is reflected in
the new ANDROID_HITTEST_WITHSIZE guard in the helper.
This change should introduce no change in behaviour.
Change-Id: I974d68e3ac963f18334418e32b08c3fd9ab1182e
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ibb796c6802e757b1d9b40f58205cfbe4da95fcd4
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is part 1 of 2. This CL moves all response actions to the correct thread. A later CL will move all request actions.
Parts of CL https://android-git.corp.google.com/g/#change,58486 are here since I don't want to loose that functionality.
This will be rewritten as the next part of this CL, and is in WebRequest.cpp function WebRequest::start().
Change-Id: I476dc40ae722ecd83d56c482dbe7df726b3844b0
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I08ccbef18a53660fd9c22e1e2160be7de1733db1
|
|\ \ \ \ \ |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Setting the proxy to 0 was not too smart as it crashes when used. The ProxyService::CreateNull is for a usercase like ours where we basicly don't want a proxy.
Also changed the includes in this file to be correct for files from other libraries.
Change-Id: I7b8ccadf01cdeb10cc141e07bea7dbb57bb80073
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This class acts simply as a proxy to the real or mock client, which is owned by
the WebView. DEVICE_ORIENTATION is eabled on Android, so we must implement the
client before we pull in http://trac.webkit.org/changeset/64356, which calls
DeviceOrientationClient::setController() from the Page constructor.
Change-Id: Ie21957249e5bef7a58c51205732f4fb1b82fbbd3
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ie984365f5bc35305ec1c2899be25a791ad354ef1
|
|\ \ \ \ \
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
A loader will not be deleted before the WebRequest has called didFinishLoading() now, so there is no longer a need for this.
There was also a problem with that list. If a loader got deleted and a new one created with the same pointer value the deleted one could be mistaken for the new one.
Change-Id: I856519e751f6f1d15cfbd426a2cd2ba71315850b
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
http://trac.webkit.org/changeset/64208
Change-Id: If0c6a616bd9eb1f1c90041f9c83d1770d8acd9bd
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
SecurityOrigin::registerURLSchemeAsLocal got moved to a new class.
http://trac.webkit.org/changeset/63863
Change-Id: If1baa94d90506a9de321ad3303545e133ee446e9
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ic42bef02efef8217a0f84c47176a9c617c28d1f1
|