summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixes a bug with the Geolocation suspend/resume behaviourSteve Block2010-02-1810-14/+44
| | | | | | | | | | | | | PlatformBridge::isWebViewPaused needs to be an instance method, rather than a static. This fixes a bug where if the user switches browser windows while a page that uses Geolocation is still loading, the Geolocation service won't be started in the suspended state. Note that this is a temporary fix, as the upstreaming of the existing suspend/resume code will introduce a new approach, which will avoid this problem altogether. See https://android-git.corp.google.com/g/#change,38942 Change-Id: I3f07f8837b8a8c1c5e7e4f5112ab487188670c3a
* Merge "Updates WebKit's use of cmath to expect isfinite, isinf, isnan and ↵Steve Block2010-02-171-7/+3
|\ | | | | | | signbit to be in the std namespace"
| * Updates WebKit's use of cmath to expect isfinite, isinf, isnan and signbit ↵Steve Block2010-02-171-7/+3
| | | | | | | | | | | | | | | | to be in the std namespace This follows a change to stlport to move these functions to the std namespace to match the simulator build. Change-Id: I7839a857520239610bb6403323fc29adb613d0c2
* | Changes to remove WebTextView at end of touch/press rather than during.Leon Scroggins2010-02-171-8/+4
| | | | | | | | | | | | | | | | | | Remove calls to clearTextEntry during a touch/press, and move them to the end. Requires a change to frameworks/base Fix for http://b/issue?id=2340871
* | Merge "Add UI considerations to layers"Cary Clark2010-02-1722-497/+1287
|\ \ | |/ |/|
| * Add UI considerations to layersCary Clark2010-02-1722-497/+1287
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | companion fix is in framework/base With fixed layers, parts of the web page are now in motion relative to the document when the page scrolls. Many routines that formerly read static coordinates need to compute locations. In some cases, new computations are cached for speed -- for instance, the current cursor position is cached when it is frequently compared. The cursor rings and other drawing elements like finding text on the page now to be drawn in the correct order so that they appear both under and over layers. There's quite a bit more work to be done. Major pieces are drawing the text selection in the correct order, and computing locations based on nest layers. With this checkin, only the position of the child- most layer is considered when computing bounds. http://b/2369549 JavaScriptCore/wtf/Platform.h - Turn compositing on. All routines that reference LayerAndroid are bracketed by this condition. WebCore/platform/graphics/android/LayerAndroid.h WebCore/platform/graphics/android/LayerAndroid.cpp - Add a unique id to each layer. The unique id is used to associate a layer created when the DOM is parsed in the webkit thread with its copy in the UI thread. - Add: draw the text found on the page, as a call out in the primary draw. The call out must follow the drawing the layers' contents to show the found text correctly. Note that this adds a new slot with identical contents in every child LayerAndroid. In a future optimization, a RootLayerAndroid could hold data common for all child layers. - Add: clipArea(), which returns an array of rectangles describing the clip for this LayerAndroid and its children. Generally, this is the part of the webpage which is covered by one or more fixed layers. - Add: find(FloatPoint) that returns the deepest layer that contains this point. This is used to match taps to the layer that is tapped on. - Add: draw all layer pictures and identify which layer is being drawn. This is used to analyze the picture contents for finding and selecting text. - Add: find the layer that matches a given id; this is used to map cached DOM node data back to the layer that contains it. - Fix up includes, delete unused interfaces WebKit/android/jni/WebViewCore.h WebKit/android/jni/WebViewCore.cpp - Remove local mRootLayer; use the one in WebView.cpp instead (which is in sync with WebView.java) WebKit/Android.mk WebKit/android/nav/CachedLayer.h WebKit/android/nav/CachedLayer.cpp - CacheLayer associates the cached node with the LayerAndroid instance. It contains the index to the node in the cached frame, the LayerAndroid's unique id, and the spacial offset of the node within the layer when the DOM information was captured. It also caches a pointer to the LayerAndroid instance. CacheLayer computes the node's location each time it is called, since the fixed layer may be constantly moving relative to the document's coordinates. WebKit/android/nav/CacheBuilder.h WebKit/android/nav/CacheBuilder.cpp - Track the active layer while building the nav cache. The 'Tracker' structs were refactored to share common code, and a new 'LayerTracker' struct identifies when the node walker is inside a layer. - Added code to dump layer information for debugging. - Note that CachedNode::cursorRingsPtr can only be called during nav data construction - The cache builder can limit or exclude nodes that are clipped out -- but until I have more understanding of layer clipping, treat contained nodes as unclipped. WebKit/android/nav/CachedDebug.h - Add a variant that can dump either to a log file or the console including the function it was dumped from. WebKit/android/nav/CachedFrame.h WebKit/android/nav/CachedFrame.cpp - Add an array of CacheLayer instances. - Protect bounds from direct access since they must always be computed. - Remove misnamed focus parameter from many routines since the cursor node can be read from the root frame. - Add: adjustBounds(), which computes the bounds as the layer moves. - Add: checkRings(), which gets the appropriate picture for the node. - Remove disabled code - Find the layer list for the matching node by using a binary search - Add: resetLayers() to reset the LayerAndroid pointer in CachedLayers when the layer world changes. WebKit/android/nav/CachedHistory.h WebKit/android/nav/CachedHistory.cpp - Update history data to have matching frame and node WebKit/android/nav/CachedNode.h WebKit/android/nav/CachedNode.cpp - Refactor functions that directly read coordinates to compute them. In some cases, pass the frame in so that the layer coordinates can be found. - Add a bit to note that the node belongs to a layer. - Remove duplicate bounds interfaces. - Add methods to get cursor ring data at runtime. - Update debugging info. WebKit/android/nav/CachedRoot.h WebKit/android/nav/CachedRoot.cpp - Isolate direct picture access so that the layer picture can be returned. - Add knowledge of how the base is covered by layers. - Add a pointer to the root LayerAndroid. - delete disabled code. - Move the cursor ring into view if it is obscured by a layer (this isn't totally working) - Before finding the next node to move to, set up 'cursor cache' data, including the visible picture. WebKit/android/nav/FindCanvas.h WebKit/android/nav/FindCanvas.cpp - Move find code here so that it can be called from layers. WebKit/android/nav/WebView.cpp - Add java interface to get viewport metrics on demand. - Pass frame with the node. - Remove the find on page code (now in FindCanvas). - Compute focus rings instead of reading them directly. - Transfer layer id when getting new nav cache. - Set up root LayerAndroid. - Add utility to track if cursor is in a layer. - Simplify drawLayers() to use common view metrics.
* | Merge "Updates Android to reflect upstreaming of CHROMIUM and XPATH guards ↵Steve Block2010-02-173-20/+9
|\ \ | | | | | | | | | in V8 bindings"
| * | Updates Android to reflect upstreaming of CHROMIUM and XPATH guards in V8 ↵Steve Block2010-02-173-20/+9
| | | | | | | | | | | | | | | | | | | | | | | | bindings See http://trac.webkit.org/changeset/54881 Change-Id: I7bf987cbdc8e88e39317551c098475d8f92cd582
* | | Merge "Updates Android to reflect upstreaming of guards on npruntime.h includes"Steve Block2010-02-176-19/+19
|\ \ \
| * | | Updates Android to reflect upstreaming of guards on npruntime.h includesSteve Block2010-02-176-19/+19
| |/ / | | | | | | | | | | | | | | | See http://trac.webkit.org/changeset/54880 Change-Id: I5665991bb4f7d3680c00b42194a9208d1daa90f0
* | | Use the new stlport build configuration.Patrick Scott2010-02-161-5/+2
|/ /
* | Merge "Adds an XPath generated header to the Android build to avoid a guard ↵Steve Block2010-02-166-9/+11
|\ \ | |/ |/| | | on an include in V8DocumentCustom.cpp"
| * Adds an XPath generated header to the Android build to avoid a guard on an ↵Steve Block2010-02-166-9/+11
| | | | | | | | | | | | | | | | | | | | | | include in V8DocumentCustom.cpp Adding generated headers to the build, even when for disabled features, is preferred to using guards around includes. See https://bugs.webkit.org/show_bug.cgi?id=34812 Also cleans up some other Android-specific changes in WebCore/bindings/v8. Change-Id: I37a174bfaef0d659fc3cef08d084af8861b65ac9
* | Merge "Fix the sim-eng build"Steve Block2010-02-161-0/+6
|\ \
| * | Fix the sim-eng buildSteve Block2010-02-161-0/+6
| |/ | | | | | | Change-Id: Icc67c8786c1a1b98993fb27caf71bd4895118589
* | Merge "Add toV8 conversion for touch event type."Ben Murdoch2010-02-161-0/+8
|\ \ | |/ |/|
| * Add toV8 conversion for touch event type.Ben Murdoch2010-02-161-0/+8
| | | | | | | | Change-Id: I91cd4224ee4df8de105dca179b42ee1428ab288d
* | Merge webkit.org at r54731 : Update WEBKIT_MERGE_REVISIONSteve Block2010-02-161-2/+2
| | | | | | | | Change-Id: I8c416f93989d0992f02b9c28590557caf8ba70ed
* | Merge webkit.org at r54731 : Refactoring of BiDi supportSteve Block2010-02-161-0/+1
| | | | | | | | | | | | See http://trac.webkit.org/changeset/54665 Change-Id: Ieffcf1b8d0401af5403ae9e3cea4414198ee612a
* | Merge webkit.org at r54731 : Refactoring in font cacheSteve Block2010-02-161-3/+3
| | | | | | | | | | | | See http://trac.webkit.org/changeset/54601 Change-Id: Id463962ae17e6d980122bfb0456b29c65b3bf69a
* | Merge webkit.org at r54731 : Update Android graphics to reflect addition of ↵Steve Block2010-02-164-24/+10
| | | | | | | | | | | | | | | | AffineTransform class See http://trac.webkit.org/changeset/54503 Change-Id: Ib14c0f2cce4f63aab2e047a1c4725d1e62b059ba
* | Merge webkit.org at r54731 : Update Android to reflect refactoring of ↵Steve Block2010-02-162-3/+7
| | | | | | | | | | | | | | | | RuntimeEnabledFeatures.cpp see http://trac.webkit.org/changeset/54593 Change-Id: Iab1af86c65db24849fbdb07cc4b1692133d7ae87
* | Merge webkit.org at r54731 : Fix remaining merge conflictsSteve Block2010-02-167-82/+3
| | | | | | | | | | | | | | | | | | | | | | | | - AutoFillPopupMenuClient.h - Take theirs, git got confused - PluginView.h - Conflict due to new OS macro - Gradient.cpp - Conflict due to new argument due to setPlatformGradientSpaceTransform - Android.derived.v8bindings.mk - Keep ours - DragImage.h - Take both - V8DocumentCustom.cpp - Take theirs - XCode project - Take both to keep Android-addition of GeolocationPositionCache Change-Id: I3f294a71af93fb4e02b57e0169bd25143132df15
* | Merge webkit.org at r54731 : Fix merge conflicts due to frame flatteningSteve Block2010-02-164-17/+7
| | | | | | | | | | | | | | | | | | Common frame flattening code was added upstream in http://trac.webkit.org/changeset/54440 We take this code, but also keep the current Android-specific implementation. Currently, the common code is disabled and we continue to use the Android version. The two will be combined at a later date. Change-Id: I194c7028b84a05d85040ca6199802c42a520be96
* | Merge webkit.org at r54731 : Initial merge by gitSteve Block2010-02-16905-11313/+32037
|/ | | | Change-Id: Ia79977b6cf3b0b00c06ef39419989b28e57e4f4a
* Merge changes Ic6718a7c,Ie4e6f65e,Iff5e29c7Ben Murdoch2010-02-152-24/+71
|\ | | | | | | | | | | | | * changes: Don't add something to a hash map and then get it out again immediately if we don't need to. Fix the creation of the touchTargets list to match what the iPhone does and maintain compatability with existing apps like SuperPudu. Store the originating target for a touch (i.e. calculated in touchstart) in a hash map, so that we can use that originating target as the target for future move/end/cancel events that that touch generates.
| * Don't add something to a hash map and then get it out again immediately if ↵Ben Murdoch2010-02-151-2/+5
| | | | | | | | | | | | we don't need to. Change-Id: Ic6718a7c23e8896f5bbbb5cadcc22aa9a3108530
| * Fix the creation of the touchTargets list to match what the iPhone does and ↵Ben Murdoch2010-02-151-18/+47
| | | | | | | | | | | | | | | | | | | | maintain compatability with existing apps like SuperPudu. touchTargets should always have at least one element and should be based on the target where the touch originated, not where it is now. This needs to be upstreamed to webkit. Change-Id: Ie4e6f65e77484e0eac6d0f239df9dd3a460e7bce
| * Store the originating target for a touch (i.e. calculated in touchstart) in ↵Ben Murdoch2010-02-152-7/+22
| | | | | | | | | | | | | | | | a hash map, so that we can use that originating target as the target for future move/end/cancel events that that touch generates. This matches the behaviour that the iPhone exhibits. Change-Id: Iff5e29c795b8ae6128e67ad5d42a959b61f966f2
* | Merge "checkpoint for refactoring"Mike Reed2010-02-153-77/+59
|\ \
| * | checkpoint for refactoringMike Reed2010-02-153-77/+59
| |/
* | Merge "Fix Mac build"Steve Block2010-02-152-2/+9
|\ \
| * | Fix Mac buildSteve Block2010-02-152-2/+9
| |/ | | | | | | | | | | | | - Database.cpp - This Android-specific change was made in https://android-git.corp.google.com/g/#change,39575 - XCode project - GeolocationPositionCache was accidentally removed in https://android-git.corp.google.com/g/#change,40365 Change-Id: I60f8361ba352c7fa8d35dc829e203f6c653f0ef2
* | Use common version of PluginView::parentFrameSteve Block2010-02-152-2/+1
|/ | | | | | This was added in http://trac.webkit.org/changeset/42748 Change-Id: Ifcb9308d817203b6e23945ceedd83b9f9eb2e80f
* Merge webkit.org at r54340 : Update WEBKIT_MERGE_REVISIONSteve Block2010-02-151-2/+2
| | | | Change-Id: I267e0288b20fc62d4c300d0f9cb4fb0120d84174
* Merge webkit.org at r54340 : Cherry-pick WebKit change 54658 to add required ↵Steve Block2010-02-151-0/+2
| | | | | | | | headers to V8 generated code. See http://trac.webkit.org/changeset/54658 Change-Id: If52c6dc9b2c09d4ae028d913da653c2373eb151b
* Merge webkit.org at r54340 : Cherry-pick WebKit change 54653 to generate ↵Steve Block2010-02-151-0/+30
| | | | | | | | Notifications and WebSockets headers for V8 See http://trac.webkit.org/changeset/54653 Change-Id: I98d73ffb861da1694f24635c8e372a0e9a065f6f
* Merge webkit.org at r54340 : Cherry-pick WebKit change 54652 to generate ↵Steve Block2010-02-151-0/+1
| | | | | | | | XPath header for V8 See http://trac.webkit.org/changeset/54652 Change-Id: I9e513f408f5a812b9c79cec4fcc2a2e633c95fe9
* Merge webkit.org at r54340 : Cherry-pick WebKit change 54651 to generate ↵Steve Block2010-02-151-0/+17
| | | | | | | | Inspector headers for V8 See http://trac.webkit.org/changeset/54651 Change-Id: Ieefd3b78f67eecf3a2ddd5d3869acff0a7ef4833
* Merge webkit.org at r54340 : Cherry-pick WebKit change 54650 to add SVG ↵Steve Block2010-02-154-12/+19
| | | | | | | | guards for V8 See http://trac.webkit.org/changeset/54650 Change-Id: Ieda3be45b1979c0f9d776cf6b7639f0e67f1466f
* Merge webkit.org at r54340 : Cherry-pick WebKit change 54417 to fix ↵Steve Block2010-02-153-9/+5
| | | | | | | | ENABLE_DEBUGGER guards for V8 See http://trac.webkit.org/changeset/54417 Change-Id: I03e7f8f1ddb9af92e5ce7494136ea2d2a6de6800
* Merge webkit.org at r54340 : Update use of processingUserGesture to pass ↵Steve Block2010-02-151-1/+1
| | | | | | | | DOMWrapperWorld See http://trac.webkit.org/changeset/54182 Change-Id: I71b4de3bbef2963c1332eef229bd23646c3ee23a
* Merge webkit.org at r54340 : Implement new GraphicsContext::concatCTM and ↵Steve Block2010-02-152-12/+24
| | | | | | | | | Path::transform methods for Android We copy the Skia implementations See http://trac.webkit.org/changeset/54112 Change-Id: I7575b7fe2690b0eacf4c3da2cc9fd6645d8d2c6f
* Merge webkit.org at r54340 : Implement new Pattern methods for AndroidSteve Block2010-02-152-8/+23
| | | | | | See http://trac.webkit.org/changeset/54203 Change-Id: Ib68d10f5b7d045b19ae815613ffb0ff836aafe56
* Merge webkit.org at r54340 : Update Android V8 Makefile to generate toV8 ↵Steve Block2010-02-151-4/+4
| | | | | | | | converter functions See http://trac.webkit.org/changeset/54150 Change-Id: Idcc5b54d9b31133e6d304222a2cf11355736b83c
* Merge webkit.org at r54340 : Fix MakefilesSteve Block2010-02-151-2/+0
| | | | Change-Id: I86b9b8485cc9594841407ac6958c8dea3903749e
* Merge webkit.org at r54340 : Fix merge conflictsSteve Block2010-02-158-438/+21
| | | | | | | | | | | | - Take both for Android makefiles, other than typo for JavaNPObjectV8 upstream - Take theirs for XCode project file and ChangeLog - Fix trivial header conflict in V8DocumentCustom - Keep ours for fix in JNIUtilityPrivate.cpp - Take theirs for V8DOMWrapper.cpp. Conflict is due to Android addition of TouchEvents, which conflicts with http://trac.webkit.org/changeset/54259 - Take both for Android addition of applicationInstalledCallback - Take both for Android JSC JIT changes in Platform.h Change-Id: Ib1a748f204a07a7e736feeee6a0f30f7453754a7
* Merge webkit.org at r54340 : Initial merge by gitSteve Block2010-02-15405-3504/+15436
| | | | Change-Id: Ib489d2ff91186ea3652522e1d586e54416a2cf44
* Fix the build by including the right header for INVALID_STATE_ERRAndrei Popescu2010-02-121-0/+1
|
* Implement navigator.isApplicationInstalled() APIAndrei Popescu2010-02-129-8/+270
| | | | | | This CL contains the wiring between the API and the Java side. Fix b: 2371005