summaryrefslogtreecommitdiffstats
path: root/WebKit
Commit message (Collapse)AuthorAgeFilesLines
* Allow WebKit to scroll selection on screen.Leon Scroggins2010-09-105-16/+60
| | | | | | | | | Requires a change to frameworks/base Bug 2679411 Bug 2659028 Change-Id: I482cefadc24c620c6d07cbce44acc216bdb9b8df
* Set mime type for special android urlsKristian Monsen2010-09-082-1/+5
| | | | Change-Id: I66f1643c78563c8aa7d9941b788f7533a8185cb4
* Merge WebKit at r66079 : Initial merge by gitSteve Block2010-09-02164-778/+5605
| | | | Change-Id: Ie2e1440fb9d487d24e52c247342c076fecaecac7
* Use the correct types in SaveWebArchive.Elliott Slaughter2010-09-011-3/+3
| | | | Change-Id: I0a963a0e6b29be73aaede56bb58400ce1e81edb7
* Cleanup temporary incognito mode files after last tab closes.Elliott Slaughter2010-09-014-15/+90
| | | | Change-Id: Ib55ef570b181afc99991afb55b6880b7a13f69a7
* Merge "add web setting for enabling/disabling synthetic links"Cary Clark2010-09-011-0/+7
|\
| * add web setting for enabling/disabling synthetic linksCary Clark2010-09-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | According to this feature request http://b/1865484 Some webviews wish to load pages and ignore the email, phone, and postal addresses. Add a way to specify that preference to the WebView class. depends on companion change in frameworks/base Change-Id: Ibcd78ab632063d8ab403567fa40c329339e51572
* | Move all external/chromiumn includes to one fileKristian Monsen2010-08-3110-28/+82
|/ | | | | | | | There are several logging errors and warnings when including files from external/chromium and the <cutils/log.h>. This commit moves all external/chromium includes to one place, and and LOG_ASSERT to what it is in <cutils/log.h> Change-Id: If908262cf1b859247d7b8a5880807a2e9ec16980
* fix monkey crash in nav cacheCary Clark2010-08-311-20/+4
| | | | | | | | | | | | | | | | | | | WebView::motionUp() got the latest nav cache, extracted some nodes from it with findAt(), then called setNavBounds() which got a newer cache. The older cache node was sent to CachedRoot::setCursor() which crashed trying to use the state pointer. The flaw was that, although motionUp requests the newest cache up front, and then setNavBounds() requests the stale cache, in rare circumstances it can receive a newer cache as well. The fix is to replace the setNavBounds() function with a direct call on the valid cache. Change-Id: If23ee9222f2b701d916911f4b667185f1c3d3d18 http://b/2316138
* Merge "Checking that all load operations are done in order."Kristian Monsen2010-08-272-3/+63
|\
| * Checking that all load operations are done in order.Kristian Monsen2010-08-272-3/+63
| | | | | | | | | | | | Adding a m_loadState variable and checking that everything is happening when they are supposed to. There were some problems were race conditions between the threads created some issues. Change-Id: I7fca570aa917eaaa741c3745f6b8417a656d18c4
* | fix button cursor stateCary Clark2010-08-271-1/+2
| | | | | | | | | | | | | | | | | | Clear the pressed state for buttons when the cursor is shown indefinitely, and set look for the pressed cursor state when recording the button colors. Change-Id: I78095ec9a7580c372c66b83913447b8214a6a432 http://b/2135321
* | Merge "Use upstream version of ANDROID_HITTEST_WITHSIZE"Steve Block2010-08-271-12/+10
|\ \ | |/ |/|
| * Use upstream version of ANDROID_HITTEST_WITHSIZESteve Block2010-08-271-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change removes the last occurrences of ANDROID_HITTEST_WITHSIZE and updates WebKit to use the upstream version of this logic. This follows on from https://android-git.corp.google.com/g/#change,60166 which merged the upstream logic into the Android tree but maintained the existing behaviour for Android, guarded with ANDROID_HITTEST_WITHSIZE. This change introduces the following functional changes ... - HitTestResult::addNodeToRectBasedTestResult() The Android version proceeded with the containment test if the node is null. We now early out and continue the hit test. We also record the node's shadowAncestorNode, rather than the node itself. - RenderLayer::hitTestList() The android version always updates the result, but only updates the result layer if the result is not a rect based result. We now always update result layer, but only update the result if the result is not a rect based result. - RenderSVGRoot::nodeAtPoint() The Android version returned true only if it's not a rect based hit test. Now we return true always. - HitTestResult::m_isRectBased In the Android version, a padding must have positive width and height. Now we allow one of the two to be zero, provided the other is positive All other changes are non-functional and should probably have been done as part of https://android-git.corp.google.com/g/#change,60166 Note that the change to RenderBlock::nodeAtPoint() is a non-functional change because we don't pass a rect to addNodeToRectBasedTestResult(), so the default zero rect is used and the hit test always fails. Change-Id: I4163fddad59ad6485df40cd48794aa262f76ced7
* | Create HttpAuthHandlerFactory to fix HTTP auth crashes.Iain Merrick2010-08-261-1/+2
| | | | | | | | | | | | | | We still need to hook in the necessary callbacks to present the user with a login prompt. Change-Id: Id4ccb8209d2ffdfcc35f9104a2e448ed552e6390
* | Add a NULL guard.Shimeng (Simon) Wang2010-08-251-1/+3
| | | | | | | | | | issue:2884022 Change-Id: I471fca7296ca233bc4d9e1c75d173094265c9a9f
* | Merge "Preserve the zoomFactor when a new frameview is created."Shimeng (Simon) Wang2010-08-251-0/+4
|\ \
| * | Preserve the zoomFactor when a new frameview is created.Shimeng (Simon) Wang2010-08-251-0/+4
| | | | | | | | | | | | | | | | | | | | | Currently if the default font size is set "LARGE", it'll be ignored when a page is loaded, since it's lost in the new frameview. Change-Id: If4579459cb679fdc9666dda25cd557761f4820b5
* | | Merge "simplify cursor ring draw state"Cary Clark2010-08-251-37/+34
|\ \ \ | |/ / |/| |
| * | simplify cursor ring draw stateCary Clark2010-08-251-37/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Do not clip out found matches."Leon Scroggins2010-08-251-45/+34
|\ \ \ | |_|/ |/| |
| * | Do not clip out found matches.Leon Scroggins2010-08-251-45/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 1691733 We were comparing against the total clip to determine whether each match was valid. This is likely never necessary, and causes problems, for example on the textfield on Google's homepage. Change-Id: Ib6567554ea2ef7ee11fffe7329132406aed33397
* | | am e7a07088: am 21ed5a45: Merge "check for null pictures when selecting ↵Cary Clark2010-08-241-0/+9
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | text" into gingerbread Merge commit 'e7a0708886b515f34d0a7e034cdea391681bf7f1' * commit 'e7a0708886b515f34d0a7e034cdea391681bf7f1': check for null pictures when selecting text
| * | am 21ed5a45: Merge "check for null pictures when selecting text" into ↵Cary Clark2010-08-241-0/+9
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gingerbread Merge commit '21ed5a4502b3ce76875505aa220f187d165f47b1' into gingerbread-plus-aosp * commit '21ed5a4502b3ce76875505aa220f187d165f47b1': check for null pictures when selecting text
| | * | check for null pictures when selecting textCary Clark2010-08-241-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The LayerAndroid supplied to SelectText may have no picture associated with it. If that's the case, ignore it. This change was original uploaded as https://android-git.corp.google.com/g/#change,62627 in master, but then I realized it should go into gingerbread as well, and get merged into master automagically. http://b/2930142 Change-Id: If6332d81f1f9baba804131caae124dd18e0b0799
| * | | am e4be1fd5: DO NOT MERGE Refactor find and select dialogsCary Clark2010-08-204-220/+1430
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | Merge commit 'e4be1fd5f14137de249ee66c000f9dadfb2862d7' into gingerbread-plus-aosp * commit 'e4be1fd5f14137de249ee66c000f9dadfb2862d7': DO NOT MERGE Refactor find and select dialogs
| | * | DO NOT MERGE Refactor find and select dialogsCary Clark2010-08-204-220/+1430
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Change imported by hand from master, based on https://android-git.corp.google.com/g/#change,53489 ) SelectText now permits incremental extension of the selection using either touch or trackball data. SelectText adds word selection and select all interfaces. SelectText has been rewritten to do a better job of finding space characters and selecting text outside of the visible window. Companion changes in frameworks/base and packages/apps/Browser Change-Id: I28a815375345d842f79464edbf0cb3a2019b7fe8 http://b/2626451
* | | | Merge "communicate drawing pause to webkit to pause gif animation"Cary Clark2010-08-242-0/+28
|\ \ \ \
| * | | | communicate drawing pause to webkit to pause gif animationCary Clark2010-08-242-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Special file uris have to be handled in Java.Kristian Monsen2010-08-2411-20/+187
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This depends on: https://android-git.corp.google.com/g/#change,62112 Request an java.io.InputStream from java and queries this for that until all is read. Change-Id: Ia3e7ad973700bd49be9cae9b432661d61a5470b8
* | | | Merge changes ↵Steve Block2010-08-24197-1457/+4504
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 : processingUserGesture() is now static.Iain Merrick2010-08-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See http://trac.webkit.org/changeset/65082 Change-Id: I268dfe7d9ab60453129f00b00cdd5f8ac954855c
| * | | | Merge WebKit at r65615 : Fix include paths for string headers.Iain Merrick2010-08-238-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-23188-1444/+4490
| | |_|/ | |/| | | | | | | | | | Change-Id: Ifbf384f4531e3b58475a662e38195c2d9152ae79
* | | | Merge "Enable cookies for files."Kristian Monsen2010-08-241-0/+4
|\ \ \ \
| * | | | Enable cookies for files.Kristian Monsen2010-08-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed for the page cycler, and is probably more compatible with the old http stack. Maybe we should tweak this later, but for now just enabling all file cookies. Change-Id: Ic21bbb6f82d3667671818d9b325de46901f43f33
* | | | | Fix WebView saveState and restoreState for private browsing mode.Elliott Slaughter2010-08-232-0/+22
| |/ / / |/| | | | | | | | | | | | | | | | | | | Added a handler for browser:incognito url to simplify WebView implementation. Change-Id: Ic453bbee7436a210b3d596fb2e7fa96791cd5fc9
* | | | Merge "order text selection by line centers"Cary Clark2010-08-201-3/+3
|\ \ \ \
| * | | | order text selection by line centersCary Clark2010-08-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The older logic assumed that lines don't overlap, but in the case of Google news, the lines do overlap. The new logic uses the line centers for ordering. Change-Id: I56074d289f76ed5027e3a498753caf50644b97f0 http://b/262451
* | | | | Fixes a race condition in the Chrome HTTP stackSteve Block2010-08-191-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Implement DeviceOrientationSteve Block2010-08-197-12/+269
| |/ / / |/| | | | | | | | | | | Change-Id: I12d5632b37db581065db9bcbd49f3dc28ecd7719
* | | | Merge "Fix for incognito mode cookies from WebCore."Elliott Slaughter2010-08-181-5/+17
|\ \ \ \
| * | | | Fix for incognito mode cookies from WebCore.Elliott Slaughter2010-08-181-5/+17
| | | | | | | | | | | | | | | | | | | | Change-Id: Id7c2ae708c166da035f1fdda8351b921d86d78de
* | | | | Remove calls to change the state of the focus controller.Leon Scroggins2010-08-184-18/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge "Add CSS cursor ring definitions"Cary Clark2010-08-188-0/+220
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Add CSS cursor ring definitionsCary Clark2010-08-188-0/+220
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Get user agent and accept language from the UI settings.Kristian Monsen2010-08-183-4/+47
|/ / / | | | | | | | | | | | | | | | | | | | | | 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
* | | Browser incognito mode support for cookies and cache with chrome http stack.Elliott Slaughter2010-08-179-30/+52
| | | | | | | | | | | | Change-Id: Ib097f8fda80cf33185d9b6a3a00a47ca83a7e678
* | | Merge "Don't show text/vnd* mime types in the Browser."Patrick Scott2010-08-171-1/+2
|\ \ \
| * | | Don't show text/vnd* mime types in the Browser.Patrick Scott2010-08-171-1/+2
| | | | | | | | | | | | | | | | | | | | Bug: 2809660 Change-Id: Idb0bdc33dae6e1148dc92ff1d0137550cc054e3a