| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This CL adds support to pass multi-touch event from browser to webkit.
PlatformTouchEvent.h and PlatformTouchEventAndroid.cpp:
changed the android constructor to take multiple touch points.
PlatformTouchPoint.h and PlatformTouchPointAndroid.cpp:
changed the android constructor to take a touch point ID.
WebViewCore.h and WebViewCore.cpp:
1. Updated handleTouchEvent(), HandleTouchEvent(), and jni interface
to take multiple points.
2. Added support of action
MotionEvent.ACTION_POINTER_DOWN & MotionEvent.ACTION_POINTER_UP.
Change-Id: I79cffdba12a60ced9a571b4c1fd5b520a0fb6074
|
|/
|
|
|
|
|
|
| |
This CL adds support for the DoubleBufferedTexture class which
can be used to pass textures between threads.
Bug-Id: 3034088
Change-Id: Idf4a5d367c02eae0cedb08f2167b9af370173851
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I5b4a008c51f409639059d2e47d5c8624c96b2981
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
TimingFunction was previously a simple struct with an enum to
select different behaviors. It's now an abstract class with
a different subclass for each behavior. Fixing AndroidAnimation
so that it holds a RefPtr to the timing function rather than
trying to store its value directly.
See http://trac.webkit.org/changeset/67032
Change-Id: Icb7f2911aea341975531c95594ab1c30ac48cd87
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
V8DOMWindowShell::initContextIfNeeded now has a return value:
http://trac.webkit.org/changeset/66840
DocLoader renamed to CachedResourceLoader. This affects
loader/*, ResourceHandleAndroid.cpp and WebSettings.cpp
http://trac.webkit.org/changeset/66963
Change-Id: I3ea74336a4a0236f7487b794982b9d19e08c1c45
|
| |
| |
| |
| | |
Change-Id: I57e01163b6866cb029cdadf405a0394a3918bc18
|
| |
| |
| |
| |
| |
| |
| | |
Webkit CL:
http://trac.webkit.org/changeset/66643
Change-Id: Ia17bde54d46e1792cfe309f19e229abe513ed52c
|
|/
|
|
| |
Change-Id: I57dedeb49859adc9c539e760f0e749768c66626f
|
|
|
|
|
|
|
|
| |
This change broke LayoutTest fast/url/ipv4.html
This reverts commit ff93a851c578d0b570c84b3a83a41a4930e7107c.
Change-Id: Ic27602be9fdd855fbc1517deed9e7e9737f5b9b5
|
|\
| |
| |
| | |
selection."
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The last CL only fixed when SUPPORT_COMPLEX_SCRIPTS was defined, this is the same fix for when it is not defined.
The previous CL:
https://android-git.corp.google.com/g/#change,56256
Webkit CL:
http://trac.webkit.org/changeset/61253
Change-Id: I9300786525fd6ec0ea2fc304c5d33e3ee00ccd3e
|
| |
| |
| |
| |
| |
| |
| |
| | |
argument
See http://trac.webkit.org/changeset/66039
Change-Id: I4961f5610c3061c90edf8cc32b83e4a6b8be12d1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- WebCore/dom/Document.cpp
Conflict due to Android guards around m_axObjectCache
See http://trac.webkit.org/changeset/65787
- WebCore/dom/Document.h
Conflict due to Android guards around m_axObjectCache whitespace diff
See http://trac.webkit.org/changeset/65787
and http://trac.webkit.org/changeset/66037
- WebCore/html/HTMLDocumentParser.cpp
Conflict due to ANDROID_INSTRUMENT
See http://trac.webkit.org/changeset/65692
- WebCore/platform/image-decoders/ImageDecoder.cpp
Conflict due to Android not implementing ImageDecoder::create()
See http://trac.webkit.org/changeset/66039
- WebCore/plugins/PluginView.h
Conflict due to PLUGIN_SCHEDULE_TIMER
See http://trac.webkit.org/changeset/65697
Change-Id: I5dc94bad471ea566dbabf965425938b732735d02
|
|/
|
|
| |
Change-Id: Ie2e1440fb9d487d24e52c247342c076fecaecac7
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
starts with "/."
Merge commit 'cd011297fda5b6f6093453d59c2624aaf878e2fb'
* commit 'cd011297fda5b6f6093453d59c2624aaf878e2fb':
Bug fix 2337042 <base> URL + <img> URL = URL that starts with "/."
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'ff93a851c578d0b570c84b3a83a41a4930e7107c' into gingerbread-plus-aosp
* commit 'ff93a851c578d0b570c84b3a83a41a4930e7107c':
Bug fix 2337042 <base> URL + <img> URL = URL that starts with "/."
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The Android browser inserts "/." at the beginning of the URL path
when processing an <img> in an HTML document with a <base> tag.
This does not cause any errors but should be fixed to comply with
RFC 3986 section 5.4.
This only happens at the first pass of the URL parsing, at the second
pass where the base and path are parsed together this is dealt with
correctly. I am therefore fixing it by modifying the parse() method
in KURL to check for a trailing '.' at the end of the base segment.
Change-Id: I0d641c8619e00aa2b08a33e271ef863cee5ed7ad
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
memory corruption in RenderBoxModelObject
Merge commit 'e9ee2d864ded6c57c02ebc2ff6e41a0711d099d3' into gingerbread-plus-aosp
* commit 'e9ee2d864ded6c57c02ebc2ff6e41a0711d099d3':
Cherry-pick WebKit change 61921 to fix exploitable memory corruption in RenderBoxModelObject
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
corruption in RenderBoxModelObject
Merge commit 'a42794783dfec7f142845611dc0f20bfe2657c49' into gingerbread
* commit 'a42794783dfec7f142845611dc0f20bfe2657c49':
Cherry-pick WebKit change 61921 to fix exploitable memory corruption in RenderBoxModelObject
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
RenderBoxModelObject
Bug: 2895569
Change-Id: Iea09dc4fdc35e68ccad36deed2132f02e3778e34
|
| |\ \ \ \
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '71b088a040027130a502f60e6f953c08a194b11e' into gingerbread-plus-aosp
* commit '71b088a040027130a502f60e6f953c08a194b11e':
Tracking merge of dalvik-dev to gingerbread
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
git cherry-pick --no-commit a2350cae81d07b024de06d0508f8cbd317dad3b7
Change-Id: I52ae486a58ed5bdc79390525179092a5a930c0e7
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Removed old code and state that used to allow for the cursor
ring to be different if a synthetic link was pressed, state
that allowed the ring to animate, and state that attempted to
show the ring until the link it represented was replaced by
a new page.
The new code
- shows the cursor ring indefinitely when the trackball or dpad is moved
- shows the cursor for 500 ms when the trackball or dpad is clicked
or if the screen is tapped.
This is separate from logic that attempts to select whether to
show the cursor ring at all; this merely chooses how long to
show the cursor ring when the cursor changes.
Requires a companion change in frameworks/base
Change-Id: I309abe346f6b67ed3b665aaa79c367f4599bf1cd
http://b/2135321
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Gif frames continue even if the webkit changes aren't drawn.
When we suspend drawing, suspend the gif animation as well.
This is accomplished by fooling webkit into thinking the
browser window is offscreen. When the webkit drawing is
resumed, invalidate the entire content so the gif animations
start up once more.
requires companion change in frameworks/base
Change-Id: I78846214048b038cd8d0401dad103d451cd5a269
http://b/2621902
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
I2e7e2317,Ie6ccde3a,I3e89f231,Id06ff339,I268dfe7d,Icaf70d9f,Ie234f1a0,Iff5c7aaa,I69b75bf0,Ifbf384f4
* changes:
Merge WebKit at r65615 : Update WebKit revision number
Merge WebKit at r65615 : Ignore http/tests/appcache/origin-quota.html
Merge WebKit at r65615 : Android-specific results for Geolocation tests.
Merge WebKit at r65615 : Fix GraphicsContext and ImageBuffer.
Merge WebKit at r65615 : processingUserGesture() is now static.
Merge WebKit at r65615 : UTF8String() becomes utf8().
Merge WebKit at r65615 : Fix include paths for string headers.
Merge WebKit at r65615 : Fix Makefiles.
Merge WebKit at r65615 : Fix conflicts.
Merge WebKit at r65615 : Initial merge by git.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Code was refactored in http://trac.webkit.org/changeset/65449
Clipping is unimplemented (same as before).
Change-Id: Id06ff3396676f044ffdc06bf40edd1d323fb1dcb
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
These moved to <wtf/text> in http://trac.webkit.org/changeset/65077
Change-Id: Ie234f1a09013e48a5241d9e240c5b2e85ca75125
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Ifbf384f4531e3b58475a662e38195c2d9152ae79
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Completing the implementation fixes these bugs
http://b/2941002
http://b/2869593
Change-Id: I7bf8964bd91c86c89d7d29007c9a33647c399080
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The change can also fix Chrome issue32353 - need to patch
to Chrome.
Change-Id: I08df08f2316156e78e9b63415e9c8720ab193090
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Id7c2ae708c166da035f1fdda8351b921d86d78de
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ib097f8fda80cf33185d9b6a3a00a47ca83a7e678
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
See http://trac.webkit.org/changeset/65021
Change-Id: I779a8ec0c3e1e0aed8f8d1894cfc1e5ca33ee549
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
HTMLInputElement.cpp: New include. See http://trac.webkit.org/changeset/64616
TemporaryLinkStubs.cpp, Navigator.h: Relocation of string forwarders. See http://trac.webkit.org/changeset/65021
GraphicsContext.h, ImageSource.h: addition of WebCore namespace on Chromium's NativeImagePtr type. See http://trac.webkit.org/changeset/64584
Platform.h: Renaming of iPhone PLATFORM macros. See http://trac.webkit.org/changeset/64798
Change-Id: Ife412e30f733fe6bb66321a3600814d6499ddf70
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ibcf418498376b2660aacb7f8d46ea7085ef91585
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
VisitedLinkStrategy.h
This is required to build on Mac.
See http://trac.webkit.org/changeset/64527
Change-Id: Id60a76a57cf354e0bb84d41eeef4c14257bfaedc
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
methods
See http://trac.webkit.org/changeset/64513
Change-Id: I9f55ae27989f7a246c0c1e5f771677c66a9b1556
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
for Android
See http://trac.webkit.org/changeset/64434
Change-Id: Icbf0fed42fbef71340c697537fb0ff4815b574fd
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ibb796c6802e757b1d9b40f58205cfbe4da95fcd4
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
GraphicsContext.h
Change introduced here: http://trac.webkit.org/changeset/63864/trunk/WebCore/platform/graphics/GraphicsContext.h
Change-Id: I471797fff394396ec375db10c3bcb4e9c00feb3e
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ic42bef02efef8217a0f84c47176a9c617c28d1f1
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
EventHandler:
* Added IgnoreClipping in order to touch nodes that are clipped
out.
android_graphics:
* Remember the absolute bounds of the node for invals.
RenderBox:
* Fix a compiler warning.
RenderLayer:
* Do not record the entire layer contents unless the scroll
dimensions are larger than the client dimensions.
* Change isSelfPaintingLayer to check for an overflow clip
instead of the scrollable dimensions since it can be too
early to check at this point.
RenderLayerCompositor:
* Same as RenderLayer for checking the overflow clip.
WebViewCore:
* Scroll the containing layer to the node bounds and offset the
mouse position if scrolled. Once the mouse event is processed,
restore the layer to 0,0.
CacheBuilder:
* The body position is no longer used.
* Do not clip out nodes if the layer is scrollable.
CachedFrame:
* Add unadjustBounds to restore adjusted bounds to their original
position (fixed position elements).
* Call unadjustBounds when a node has been found. This new set of
bounds is passed over to WebViewCore to handle clicks.
* Reject empty node bounds.
CachedLayer:
* Document adjustBounds and add unadjustBounds. Add in the scroll
position to the node bounds.
CachedRoot:
* Unadjust the mouse bounds.
WebView:
* Unadjust the mouse bounds and use the absolute bounds of the ring
during inval.
Bug: 1566791
Change-Id: Ia55f2cbb61869087176d3ff61882e40324614c6a
|
| | | | |
| | | | |
| | | | |
| | | | | |
This reverts commit 0ed6485271097ecf1b4cf4e790f9cfdbb57d921c.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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 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
|