summaryrefslogtreecommitdiffstats
path: root/WebCore/platform
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Bug: 2372180"Huahui Wu2010-09-274-6/+13
|\
| * Bug: 2372180Huahui Wu2010-09-274-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Double Buffered Texture Support for WebKit.Derek Sollenberger2010-09-276-11/+570
|/ | | | | | | | This CL adds support for the DoubleBufferedTexture class which can be used to pass textures between threads. Bug-Id: 3034088 Change-Id: Idf4a5d367c02eae0cedb08f2167b9af370173851
* Merge "GL utilities"Nicolas Roard2010-09-214-0/+633
|\
| * GL utilitiesNicolas Roard2010-09-214-0/+633
| | | | | | | | Change-Id: I5b4a008c51f409639059d2e47d5c8624c96b2981
* | Merge WebKit at r67178 : Fix AndroidAnimation.Iain Merrick2010-09-162-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge WebKit at r67178 : Fix conflicts.Iain Merrick2010-09-161-6/+0
| | | | | | | | | | | | | | | | | | | | | | 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
* | Merge WebKit at r67178 : Initial merge by git.Iain Merrick2010-09-16163-1103/+7944
| | | | | | | | Change-Id: I57e01163b6866cb029cdadf405a0394a3918bc18
* | Merge Webkit at r66666 : Renamed function in GraphicsContext.h.Kristian Monsen2010-09-111-1/+2
| | | | | | | | | | | | | | Webkit CL: http://trac.webkit.org/changeset/66643 Change-Id: Ia17bde54d46e1792cfe309f19e229abe513ed52c
* | Merge WebKit at r66666 : Initial merge by git.Kristian Monsen2010-09-11142-1752/+5030
|/ | | | Change-Id: I57dedeb49859adc9c539e760f0e749768c66626f
* Revert "Bug fix 2337042 <base> URL + <img> URL = URL that starts with "/.""Steve Block2010-09-041-7/+0
| | | | | | | | This change broke LayoutTest fast/url/ipv4.html This reverts commit ff93a851c578d0b570c84b3a83a41a4930e7107c. Change-Id: Ic27602be9fdd855fbc1517deed9e7e9737f5b9b5
* Merge "Update to Merge WebKit at r61871: Floating-point support for text ↵Kristian Monsen2010-09-021-2/+2
|\ | | | | | | selection."
| * Update to Merge WebKit at r61871: Floating-point support for text selection.Kristian Monsen2010-09-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge WebKit at r66079 : ImageSource constructor now takes a premultipyAlpha ↵Steve Block2010-09-021-2/+4
| | | | | | | | | | | | | | | | argument See http://trac.webkit.org/changeset/66039 Change-Id: I4961f5610c3061c90edf8cc32b83e4a6b8be12d1
* | Merge WebKit at r66079 : Fix conflictsSteve Block2010-09-021-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | Merge WebKit at r66079 : Initial merge by gitSteve Block2010-09-02142-1768/+4029
|/ | | | Change-Id: Ie2e1440fb9d487d24e52c247342c076fecaecac7
* am cd011297: am ff93a851: Bug fix 2337042 <base> URL + <img> URL = URL that ↵Melanie Clements2010-08-311-0/+7
|\ | | | | | | | | | | | | | | | | starts with "/." Merge commit 'cd011297fda5b6f6093453d59c2624aaf878e2fb' * commit 'cd011297fda5b6f6093453d59c2624aaf878e2fb': Bug fix 2337042 <base> URL + <img> URL = URL that starts with "/."
| * am ff93a851: Bug fix 2337042 <base> URL + <img> URL = URL that starts with "/."Melanie Clements2010-08-311-0/+7
| |\ | | | | | | | | | | | | | | | | | | Merge commit 'ff93a851c578d0b570c84b3a83a41a4930e7107c' into gingerbread-plus-aosp * commit 'ff93a851c578d0b570c84b3a83a41a4930e7107c': Bug fix 2337042 <base> URL + <img> URL = URL that starts with "/."
| | * Bug fix 2337042 <base> URL + <img> URL = URL that starts with "/."Melanie Clements2010-08-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | am e9ee2d86: am a4279478: Cherry-pick WebKit change 61921 to fix exploitable ↵Steve Block2010-08-061-28/+39
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * \ am a4279478: Cherry-pick WebKit change 61921 to fix exploitable memory ↵Steve Block2010-08-061-28/+39
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | corruption in RenderBoxModelObject Merge commit 'a42794783dfec7f142845611dc0f20bfe2657c49' into gingerbread * commit 'a42794783dfec7f142845611dc0f20bfe2657c49': Cherry-pick WebKit change 61921 to fix exploitable memory corruption in RenderBoxModelObject
| | | * | Cherry-pick WebKit change 61921 to fix exploitable memory corruption in ↵Steve Block2010-08-051-28/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RenderBoxModelObject Bug: 2895569 Change-Id: Iea09dc4fdc35e68ccad36deed2132f02e3778e34
| * | | | am 71b088a0: Tracking merge of dalvik-dev to gingerbreadBrian Carlstrom2010-08-051-20/+20
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '71b088a040027130a502f60e6f953c08a194b11e' into gingerbread-plus-aosp * commit '71b088a040027130a502f60e6f953c08a194b11e': Tracking merge of dalvik-dev to gingerbread
| | * | | Tracking merge of dalvik-dev to gingerbreadBrian Carlstrom2010-08-041-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git cherry-pick --no-commit a2350cae81d07b024de06d0508f8cbd317dad3b7 Change-Id: I52ae486a58ed5bdc79390525179092a5a930c0e7
* | | | | simplify cursor ring draw stateCary Clark2010-08-252-36/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | communicate drawing pause to webkit to pause gif animationCary Clark2010-08-242-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge changes ↵Steve Block2010-08-24179-1044/+3472
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Merge WebKit at r65615 : Fix GraphicsContext and ImageBuffer.Iain Merrick2010-08-242-40/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code was refactored in http://trac.webkit.org/changeset/65449 Clipping is unimplemented (same as before). Change-Id: Id06ff3396676f044ffdc06bf40edd1d323fb1dcb
| * | | | | Merge WebKit at r65615 : Fix include paths for string headers.Iain Merrick2010-08-233-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These moved to <wtf/text> in http://trac.webkit.org/changeset/65077 Change-Id: Ie234f1a09013e48a5241d9e240c5b2e85ca75125
| * | | | | Merge WebKit at r65615 : Initial merge by git.Iain Merrick2010-08-23174-1001/+3416
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ifbf384f4531e3b58475a662e38195c2d9152ae79
* | | | | | Merge "Complete implementation of PathAndroid.cpp"Cary Clark2010-08-231-19/+8
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Complete implementation of PathAndroid.cppCary Clark2010-08-231-19/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Completing the implementation fixes these bugs http://b/2941002 http://b/2869593 Change-Id: I7bf8964bd91c86c89d7d29007c9a33647c399080
* | | | | | Bug2857086 - memory leak in FontCustomPlatformData.claireho2010-08-201-0/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change can also fix Chrome issue32353 - need to patch to Chrome. Change-Id: I08df08f2316156e78e9b63415e9c8720ab193090
* | | | | Merge "Fix for incognito mode cookies from WebCore."Elliott Slaughter2010-08-182-11/+12
|\ \ \ \ \
| * | | | | Fix for incognito mode cookies from WebCore.Elliott Slaughter2010-08-182-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id7c2ae708c166da035f1fdda8351b921d86d78de
* | | | | | Add CSS cursor ring definitionsCary Clark2010-08-183-36/+39
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Browser incognito mode support for cookies and cache with chrome http stack.Elliott Slaughter2010-08-172-3/+10
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib097f8fda80cf33185d9b6a3a00a47ca83a7e678
* | | | | Update navigation in scrollable layers.Patrick Scott2010-08-162-15/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge WebKit at r65072: String class has moved to the WTF namespace.Ben Murdoch2010-08-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See http://trac.webkit.org/changeset/65021 Change-Id: I779a8ec0c3e1e0aed8f8d1894cfc1e5ca33ee549
* | | | | Merge Webkit at r65072 : Fix conflicts.Ben Murdoch2010-08-133-31/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge WebKit at r65072 : Initial merge by git.Ben Murdoch2010-08-12174-2366/+2630
| | | | | | | | | | | | | | | | | | | | Change-Id: Ibcf418498376b2660aacb7f8d46ea7085ef91585
* | | | | Merge WebKit at r64523 : Cherry-pick WebKit change 64527 to add ↵Steve Block2010-08-091-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VisitedLinkStrategy.h This is required to build on Mac. See http://trac.webkit.org/changeset/64527 Change-Id: Id60a76a57cf354e0bb84d41eeef4c14257bfaedc
* | | | | Merge WebKit at r64523 : Provide PopupMenuAndroid and related ChromeClient ↵Steve Block2010-08-093-78/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | methods See http://trac.webkit.org/changeset/64513 Change-Id: I9f55ae27989f7a246c0c1e5f771677c66a9b1556
* | | | | Merge WebKit at r64523 : Implement FontCustomPlatformData::supportsFormat() ↵Steve Block2010-08-092-22/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for Android See http://trac.webkit.org/changeset/64434 Change-Id: Icbf0fed42fbef71340c697537fb0ff4815b574fd
* | | | | Merge WebKit at r64523 : Initial merge by git.Steve Block2010-08-0988-569/+2399
| | | | | | | | | | | | | | | | | | | | Change-Id: Ibb796c6802e757b1d9b40f58205cfbe4da95fcd4
* | | | | Merge WebKit at r64264 : Compile fix: A method got an extra parameter in ↵Kristian Monsen2010-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GraphicsContext.h Change introduced here: http://trac.webkit.org/changeset/63864/trunk/WebCore/platform/graphics/GraphicsContext.h Change-Id: I471797fff394396ec375db10c3bcb4e9c00feb3e
* | | | | Merge WebKit at r64264 : Initial merge by git.Kristian Monsen2010-08-0480-894/+2157
| | | | | | | | | | | | | | | | | | | | Change-Id: Ic42bef02efef8217a0f84c47176a9c617c28d1f1
* | | | | Enable navigation in scrollable layers.Patrick Scott2010-08-023-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Revert "Add CSS cursor ring definitions"Cary Clark2010-07-303-38/+35
| | | | | | | | | | | | | | | | | | | | This reverts commit 0ed6485271097ecf1b4cf4e790f9cfdbb57d921c.
* | | | | Add CSS cursor ring definitionsCary Clark2010-07-303-35/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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