OSDN Git Service

android-x86/external-webkit.git
14 years agoMerge " Don't crash when throwing javascript exceptions from plugins without ...
Leon Clarke [Fri, 26 Feb 2010 17:32:41 +0000 (09:32 -0800)]
Merge "    Don't crash when throwing javascript exceptions from plugins without     javascript having been initialised."

14 years ago Don't crash when throwing javascript exceptions from plugins without
Leon Clarke [Fri, 26 Feb 2010 17:29:17 +0000 (17:29 +0000)]
Don't crash when throwing javascript exceptions from plugins without
    javascript having been initialised.

14 years agoMerge "Adds layout tests for HTML5 features"
Steve Block [Fri, 26 Feb 2010 13:05:06 +0000 (05:05 -0800)]
Merge "Adds layout tests for HTML5 features"

14 years agoMerge "enable debugger support in webkit with v8"
Andrei Popescu [Fri, 26 Feb 2010 13:03:55 +0000 (05:03 -0800)]
Merge "enable debugger support in webkit with v8"

14 years agoenable debugger support in webkit with v8
Andrei Popescu [Fri, 26 Feb 2010 12:48:03 +0000 (12:48 +0000)]
enable debugger support in webkit with v8

14 years agoMerge "make methods private (or static local) if possible to reduce surface area...
Mike Reed [Fri, 26 Feb 2010 12:52:29 +0000 (04:52 -0800)]
Merge "make methods private (or static local) if possible to reduce surface area of API"

14 years agoMerge "Only set the DatabaseTracker path if it has been successfully set to something...
Ben Murdoch [Fri, 26 Feb 2010 10:11:11 +0000 (02:11 -0800)]
Merge "Only set the DatabaseTracker path if it has been successfully set to something on the Java side as the DatabaseTracker only allows us to set it once."

14 years agoMerge "Prevent unsafe upper casting by checking Element's namespaceURI."
Shimeng (Simon) Wang [Fri, 26 Feb 2010 01:10:31 +0000 (17:10 -0800)]
Merge "Prevent unsafe upper casting by checking Element's namespaceURI."

14 years agomake methods private (or static local) if possible to reduce surface area of API
Mike Reed [Thu, 25 Feb 2010 22:07:06 +0000 (17:07 -0500)]
make methods private (or static local) if possible to reduce surface area of API

14 years agoPrevent unsafe upper casting by checking Element's namespaceURI.
Shimeng (Simon) Wang [Thu, 25 Feb 2010 19:14:31 +0000 (11:14 -0800)]
Prevent unsafe upper casting by checking Element's namespaceURI.

For some website, when elements are created, somehow the tagName's
namespaceURI is empty, so for "form" element, Element node is created
instead of expected HTMLFormElement.

Bug: 2461358
modified:   WebKit/android/jni/WebCoreFrameBridge.cpp

14 years agoOnly set the DatabaseTracker path if it has been successfully set to something on...
Ben Murdoch [Thu, 25 Feb 2010 18:36:43 +0000 (18:36 +0000)]
Only set the DatabaseTracker path if it has been successfully set to something on the Java side as the DatabaseTracker only
allows us to set it once.

Change-Id: I5d0121dac9a2b276a483992784822c1f52c04853

14 years agoremove unused methods
Mike Reed [Thu, 25 Feb 2010 18:27:38 +0000 (13:27 -0500)]
remove unused methods

14 years agoFix the gap when using the IME (Bug:2453748)
Nicolas Roard [Thu, 25 Feb 2010 14:41:12 +0000 (14:41 +0000)]
Fix the gap when using the IME (Bug:2453748)

The problem was that layers may have a different size than their corresponding element,
but we used the layer's size instead of the element's to compute the fixed position.
The fix asks for the element visible overflow size (needed, some children may be outside the bounds of the element itself).

14 years agoMerge "Temporarily disable debugger support on V8 due to a crash"
Andrei Popescu [Thu, 25 Feb 2010 14:13:43 +0000 (06:13 -0800)]
Merge "Temporarily disable debugger support on V8 due to a crash"

14 years agoTemporarily disable debugger support on V8 due to a crash
Andrei Popescu [Thu, 25 Feb 2010 13:58:48 +0000 (13:58 +0000)]
Temporarily disable debugger support on V8 due to a crash

14 years agoMerge "refactor drawing to support layers"
Cary Clark [Thu, 25 Feb 2010 13:37:40 +0000 (05:37 -0800)]
Merge "refactor drawing to support layers"

14 years agoAdds layout tests for HTML5 features
Steve Block [Thu, 25 Feb 2010 10:58:37 +0000 (10:58 +0000)]
Adds layout tests for HTML5 features

The following layout tests should all pass on Android, as they are for recently
implemented HTML5 features ...
- fast/dom/Geolocation
- storage
- http/tests/appcache

This change adds these tests to the Android tree, at the current WebKit revision
r54731. This is so that we can easily keep track of which tests should always be
green, and so that we can add Android-specific test results.

We also add the following paths ...
- fast/js/resources - used by the Geolocation tests
- http/conf - used by the Appcache tests

Tests that are currently failing are added to the DumpRenderTree skipped list
temporarily, to keep all tests green.

Change-Id: Id96c05e3746ed64e4e4c40c99567b8def688f90a

14 years agoMerge " Don't display our custom border round combo boxes when the stylesheet...
Leon Clarke [Thu, 25 Feb 2010 10:30:25 +0000 (02:30 -0800)]
Merge "    Don't display our custom border round combo boxes when the stylesheet has defined one."

14 years agoMerge "Use reference instead of vector copying when dealing formElements."
Shimeng (Simon) Wang [Thu, 25 Feb 2010 00:04:52 +0000 (16:04 -0800)]
Merge "Use reference instead of vector copying when dealing formElements."

14 years agoUse reference instead of vector copying when dealing formElements.
Shimeng (Simon) Wang [Wed, 24 Feb 2010 23:54:38 +0000 (15:54 -0800)]
Use reference instead of vector copying when dealing formElements.

14 years agorefactor drawing to support layers
Cary Clark [Tue, 23 Feb 2010 15:46:08 +0000 (10:46 -0500)]
refactor drawing to support layers

Drawing elements that appear atop or below layers need to be
drawn both in the proper order and with the correct canvas to
respect clipping and the matrix.

Drawing the find results, text selection, or the cursor ring,
interleaves with any layers that may be drawn. The main picture
is treated as owned by a LayerAndroid so each component can
decide when to draw.

This change leave the main picture in WebViewCore.cpp, and
draws everything else in WebView.cpp -- in the future, additional
refactoring can put all drawing in one place.

The logic of what to draw is still in WebView.java, but the
actual drawing calls are now triggered inside the layer code.

Android.mk
- Add rule to trigger building without layers from buildspec.mk.

LayerAndroid.*
- Replace FindOnPage reference with abstract DrawExtra class to
  draw adornments in the layers' canvas context.
- Add a LayerAndroid constructor to create a dummy layer with a
  SkPicture* and a uniqueId==-1 so that extras can detect when
  they are drawn by the main picture.

android_graphics.*
- Move cursor ring drawing out of WebView.cpp to here.
- Separate cursor ring setup from actual drawing.
- Get the cursor ring metrics in local coordinates.

ChromeClientAndroid.cpp
- Fix compiler warnings.

WebViewCore.*
- Move updateCursorBounds from WebView.cpp. This permits it to
  be called from CursorRing::setup.

CachedFrame.*
CachedNode.*
CachedLayer.*
- Add local bounds getters.

CachedRoot.h
- Move class FindCanvas to the android namespace.

DrawExtra.h
- Add an abstract class called by LayerAndroid to optionally
  draw extra elements in its canvas context.

FindCanvas.*
SelectText.*
- Refactor drawing to draw in layers context.

WebView.cpp
- Move drawing from WebView.java.
- Remove selection code to SelectText.cpp.
- Use inverseScale to simplify viewPort metrics.
- Simplify layer root so java doesn't need to know about it.

Requires companion change in frameworks/base

http://b/2457316
http://b/2454127
http://b/2454149

14 years agoSimplify the layer code:
Nicolas Roard [Wed, 24 Feb 2010 18:09:11 +0000 (18:09 +0000)]
Simplify the layer code:
* Rename setRootLayer to setUIRootLayer
* Fixed some logs in GraphicsLayerAndroid
* Added back the diagonal drawing debug code in LayerAndroid
* Simplified ChromeClientAndroid, removed compositingLayerSync()

14 years ago Don't display our custom border round combo boxes when the stylesheet has defined...
Leon Clarke [Wed, 24 Feb 2010 19:20:21 +0000 (19:20 +0000)]
Don't display our custom border round combo boxes when the stylesheet has defined one.

14 years agoMerge "Adds a missing initializer for Geolocation maximumAge"
Steve Block [Wed, 24 Feb 2010 18:45:35 +0000 (10:45 -0800)]
Merge "Adds a missing initializer for Geolocation maximumAge"

14 years agoAdds a missing initializer for Geolocation maximumAge
Steve Block [Wed, 24 Feb 2010 18:36:14 +0000 (18:36 +0000)]
Adds a missing initializer for Geolocation maximumAge

Change-Id: I7274d12baa4718280e8cc677583e5308c7917a56

14 years agoDo not forward touch event types we do not support into WebCore as TouchCancel events...
Ben Murdoch [Wed, 24 Feb 2010 15:21:38 +0000 (15:21 +0000)]
Do not forward touch event types we do not support into WebCore as TouchCancel events. The old behavior creates an issue now we support pinch to zoom where releasing the pinch will always send a touch cancel to WebCore as the Java land touch event type is ACTION_POINTER_UP.

Change-Id: Ie691f4a3c5ba6a09c3838deb37d8b9e0671c835b

14 years agoRe-enable the layers
Nicolas Roard [Wed, 24 Feb 2010 14:00:27 +0000 (14:00 +0000)]
Re-enable the layers

14 years agoMerge "Removes repeated headers in Geolocation.cpp"
Steve Block [Wed, 24 Feb 2010 11:34:12 +0000 (03:34 -0800)]
Merge "Removes repeated headers in Geolocation.cpp"

14 years agoRemoves repeated headers in Geolocation.cpp
Steve Block [Wed, 24 Feb 2010 11:06:07 +0000 (11:06 +0000)]
Removes repeated headers in Geolocation.cpp

These were erroneously added in a previous WebKit merge.
See https://android-git.corp.google.com/g/#change,39242

Change-Id: I192911ec35d7447ae3933cf4903aacd2ab202a3a

14 years agoam 70a336f2: am da8d052d: Merge "adding logging to determine the delay between event...
Derek Sollenberger [Wed, 24 Feb 2010 03:56:04 +0000 (19:56 -0800)]
am 70a336f2: am da8d052d: Merge "adding logging to determine the delay between event origination and its arrival at the plugin." into eclair-mr2

Merge commit '70a336f20c4244b6f93ba593e999e83f23af1145'

* commit '70a336f20c4244b6f93ba593e999e83f23af1145':
  adding logging to determine the delay between event origination and its arrival at the plugin.

14 years agoam f494d11a: (-s ours) am 48633eb7: Do not merge.
Patrick Scott [Wed, 24 Feb 2010 03:55:54 +0000 (19:55 -0800)]
am f494d11a: (-s ours) am 48633eb7: Do not merge.

Merge commit 'f494d11a4894673d0dae0ce65ae911209f9821e2'

* commit 'f494d11a4894673d0dae0ce65ae911209f9821e2':
  Do not merge.

14 years agoam 5bce6668: am 15027de7: Added new logging messages and updated event logs with...
Derek Sollenberger [Wed, 24 Feb 2010 03:55:39 +0000 (19:55 -0800)]
am 5bce6668: am 15027de7: Added new logging messages and updated event logs with plugin execution time

Merge commit '5bce666850444bb87efe0be67046e7648ff15e67'

* commit '5bce666850444bb87efe0be67046e7648ff15e67':
  Added new logging messages and updated event logs with plugin execution time

14 years agoam da8d052d: Merge "adding logging to determine the delay between event origination...
Derek Sollenberger [Wed, 24 Feb 2010 03:00:05 +0000 (19:00 -0800)]
am da8d052d: Merge "adding logging to determine the delay between event origination and its arrival at the plugin." into eclair-mr2

Merge commit 'da8d052d7e1bf81587412213cf6680538d0bf687' into eclair-mr2-plus-aosp

* commit 'da8d052d7e1bf81587412213cf6680538d0bf687':
  adding logging to determine the delay between event origination and its arrival at the plugin.

14 years agoam 48633eb7: Do not merge.
Patrick Scott [Wed, 24 Feb 2010 02:59:58 +0000 (18:59 -0800)]
am 48633eb7: Do not merge.

Merge commit '48633eb761269223d399736219ca400d62df8027' into eclair-mr2-plus-aosp

* commit '48633eb761269223d399736219ca400d62df8027':
  Do not merge.

14 years agoam 15027de7: Added new logging messages and updated event logs with plugin execution...
Derek Sollenberger [Wed, 24 Feb 2010 02:59:52 +0000 (18:59 -0800)]
am 15027de7: Added new logging messages and updated event logs with plugin execution time

Merge commit '15027de75d16455fd1e449b771fac8fd2cf88233' into eclair-mr2-plus-aosp

* commit '15027de75d16455fd1e449b771fac8fd2cf88233':
  Added new logging messages and updated event logs with plugin execution time

14 years agoMerge "adding logging to determine the delay between event origination and its arriva...
Derek Sollenberger [Tue, 23 Feb 2010 20:11:52 +0000 (12:11 -0800)]
Merge "adding logging to determine the delay between event origination and its arrival at the plugin." into eclair-mr2

14 years agoadding logging to determine the delay between event origination and its arrival at...
Derek Sollenberger [Tue, 23 Feb 2010 19:55:21 +0000 (14:55 -0500)]
adding logging to determine the delay between event origination and its arrival at the plugin.

14 years agoMerge "Fixes a bug with showing the Geolocation permissions prompt"
Steve Block [Tue, 23 Feb 2010 19:03:07 +0000 (11:03 -0800)]
Merge "Fixes a bug with showing the Geolocation permissions prompt"

14 years agoWhile upstreaming the JSC JIT patch to the open source Webkit trunk,
Huahui Wu [Tue, 23 Feb 2010 16:24:57 +0000 (11:24 -0500)]
While upstreaming the JSC JIT patch to the open source Webkit trunk,
there were a few small changes upon the review comments.
This CL makes corresponding changes in Android code base to be
consistent with the open source Webkit trunk.

14 years agoFixes a bug with showing the Geolocation permissions prompt
Steve Block [Fri, 12 Feb 2010 16:33:50 +0000 (16:33 +0000)]
Fixes a bug with showing the Geolocation permissions prompt

Currently, if an iframe causes the Geolocation permissions prompt to be shown,
but the frame is navigated away before the user responds to the permissions
prompt, the prompt is not removed from the screen.

This change fixes that bug. It uses the new
ChromeClient::cancelGeolocationPermissionRequestForFrame() method, which was
cherry-picked from WebKit in https://android-git.corp.google.com/g/#change,41747

The logic is complicated by the fact that multiple iframes may have requested
Geolocation permissions for the same origin. In this case, we should not hide
the prompt until the last such frame is navigated away.

Bug: 2463551
Change-Id: I1e4de05586150c7a94bc8343f6e56e4a4870cd3b

14 years agoMerge "Co-ordinates of a TouchEvent object should be 0,0 to match the behavior on...
Ben Murdoch [Tue, 23 Feb 2010 15:57:35 +0000 (07:57 -0800)]
Merge "Co-ordinates of a TouchEvent object should be 0,0 to match the behavior on iPhone. It is the co-ordinates of the Touch object wrapped up by a touch event that should update with motion."

14 years agoCo-ordinates of a TouchEvent object should be 0,0 to match the behavior on iPhone...
Ben Murdoch [Mon, 22 Feb 2010 15:00:01 +0000 (15:00 +0000)]
Co-ordinates of a TouchEvent object should be 0,0 to match the behavior on iPhone. It is the co-ordinates of the Touch object wrapped up by a touch event that should update with motion.

Update EventHandler::handleTouchEvent to match what landed to webkit in http://trac.webkit.org/changeset/55146

Change-Id: I91dfcfbbb53020b85f646bcf58eb4f3afd6be8e7

14 years agoMerge "Updates Android to final version of Geolocation position cache submitted to...
Steve Block [Tue, 23 Feb 2010 15:35:51 +0000 (07:35 -0800)]
Merge "Updates Android to final version of Geolocation position cache submitted to webkit.org"

14 years agoMerge "Cherry-pick WebKit change 55136 to add a means to cancel an ongoing Geolocatio...
Steve Block [Tue, 23 Feb 2010 15:26:49 +0000 (07:26 -0800)]
Merge "Cherry-pick WebKit change 55136 to add a means to cancel an ongoing Geolocation permission request"

14 years agoDo not merge.
Patrick Scott [Mon, 22 Feb 2010 17:44:41 +0000 (12:44 -0500)]
Do not merge.

Implement redirectDataToPlugin.

This fixes going to swf files directly (i.e. http://foo.com/bar.swf).

Bug: 2435632

14 years agoadd optional build flag to trigger enabling layers
Mike Reed [Tue, 23 Feb 2010 15:08:55 +0000 (10:08 -0500)]
add optional build flag to trigger enabling layers

14 years agoCherry-pick WebKit change 55136 to add a means to cancel an ongoing Geolocation permi...
Steve Block [Tue, 23 Feb 2010 14:59:58 +0000 (14:59 +0000)]
Cherry-pick WebKit change 55136 to add a means to cancel an ongoing Geolocation permission request

This is part of the change required to fix a Geolocation permissions bug.
See https://android-git.corp.google.com/g/#change,40601

Note that We take only the WebCore component of the change, but additional
changes are required to ChromeClientAndroid.

See http://trac.webkit.org/changeset/55136

Change-Id: Iff0eab3adc3e41876df7f114c0d50243d015664f

14 years agoAdded new logging messages and updated event logs with plugin execution time
Derek Sollenberger [Mon, 22 Feb 2010 21:56:41 +0000 (16:56 -0500)]
Added new logging messages and updated event logs with plugin execution time

14 years agoUpdates Android to final version of Geolocation position cache submitted to webkit.org
Steve Block [Thu, 11 Feb 2010 17:28:32 +0000 (17:28 +0000)]
Updates Android to final version of Geolocation position cache submitted to webkit.org

See http://trac.webkit.org/changeset/55142

Change-Id: I8fabc89b596b0e61e8ae389e07af2e898de3bad1

14 years agoMerge "Implement redirectDataToPlugin."
Patrick Scott [Mon, 22 Feb 2010 20:53:37 +0000 (12:53 -0800)]
Merge "Implement redirectDataToPlugin."

14 years agoImplement redirectDataToPlugin.
Patrick Scott [Mon, 22 Feb 2010 17:44:41 +0000 (12:44 -0500)]
Implement redirectDataToPlugin.

This fixes going to swf files directly (i.e. http://foo.com/bar.swf).

Bug: 2435632

14 years agoam 4c76da0e: am 1044e7fd: Fixes error where plugin is created while iterating through...
Derek Sollenberger [Mon, 22 Feb 2010 19:56:11 +0000 (11:56 -0800)]
am 4c76da0e: am 1044e7fd: Fixes error where plugin is created while iterating through the list of plugins.

Merge commit '4c76da0e5177ea82be36bb81e67b52d51a5a72bb'

* commit '4c76da0e5177ea82be36bb81e67b52d51a5a72bb':
  Fixes error where plugin is created while iterating through the list of plugins.

14 years agoam 1044e7fd: Fixes error where plugin is created while iterating through the list...
Derek Sollenberger [Mon, 22 Feb 2010 19:26:41 +0000 (11:26 -0800)]
am 1044e7fd: Fixes error where plugin is created while iterating through the list of plugins.

Merge commit '1044e7fd4ebb61e6133d4f4dda69810e3af9da14' into eclair-mr2-plus-aosp

* commit '1044e7fd4ebb61e6133d4f4dda69810e3af9da14':
  Fixes error where plugin is created while iterating through the list of plugins.

14 years agoFixes error where plugin is created while iterating through the list of plugins.
Derek Sollenberger [Mon, 22 Feb 2010 18:00:39 +0000 (13:00 -0500)]
Fixes error where plugin is created while iterating through the list of plugins.

bug #2438492

14 years agoMerge "Update Android to reflect upstreaming of matrix optimization in RenderLayer...
Steve Block [Mon, 22 Feb 2010 16:19:02 +0000 (08:19 -0800)]
Merge "Update Android to reflect upstreaming of matrix optimization in RenderLayer.cpp"

14 years agoUpdate Android to reflect upstreaming of matrix optimization in RenderLayer.cpp
Steve Block [Thu, 18 Feb 2010 16:55:56 +0000 (16:55 +0000)]
Update Android to reflect upstreaming of matrix optimization in RenderLayer.cpp

See http://trac.webkit.org/changeset/55081

Change-Id: If34e70743c554b2a5e8315b2657cce6964805f6a

14 years agoFix for busy loop
Nicolas Roard [Mon, 22 Feb 2010 12:47:18 +0000 (12:47 +0000)]
Fix for busy loop
Bug:2457438

14 years agodisable webkit layers
Cary Clark [Sun, 21 Feb 2010 15:51:18 +0000 (10:51 -0500)]
disable webkit layers

With layers enabled, servicing timers saturate the CPU at times.
This also fixes a compile-time switch in FindCanvas to disable layers.

14 years agomove viewport into just this subclass
Mike Reed [Fri, 19 Feb 2010 16:32:42 +0000 (11:32 -0500)]
move viewport into just this subclass

14 years agofix nav layer bugs
Cary Clark [Fri, 19 Feb 2010 17:58:22 +0000 (12:58 -0500)]
fix nav layer bugs

Clip the nodes inside the layer to the layer's bounds
Don't crash if the layer with the matching id can't be found.

http://b/2453945

14 years agoUpdate Android to reflect recent upstreaming of V8 runtime feature default values
Steve Block [Thu, 18 Feb 2010 14:49:26 +0000 (14:49 +0000)]
Update Android to reflect recent upstreaming of V8 runtime feature default values

See http://trac.webkit.org/changeset/55020

Change-Id: I4d6c067dcafc43d2798c55e042e446d4964b326f

14 years agoMerge "Fixes a crash in the Geolocation service when using maximumAge"
Steve Block [Fri, 19 Feb 2010 16:42:12 +0000 (08:42 -0800)]
Merge "Fixes a crash in the Geolocation service when using maximumAge"

14 years agoSet the fixed position values when changed via setPosition()
Nicolas Roard [Fri, 19 Feb 2010 15:34:04 +0000 (15:34 +0000)]
Set the fixed position values when changed via setPosition()
Fix Bug:2450033

14 years agoFixes a crash in the Geolocation service when using maximumAge
Steve Block [Fri, 19 Feb 2010 12:09:33 +0000 (12:09 +0000)]
Fixes a crash in the Geolocation service when using maximumAge

When a browser page is put to the background, the Geolocation object is
suspended. If the Geolocation object has active requests, it suspends its
Geolocation service.

Now that we have maximum age support, the Geolocation object can have active
requests without having started its Geolocation service. In this case, the
geolocation service can ignore calls to suspend and resume.

This avoids a crash when the Android Geolocation service hasn't created it's
java bridge when suspend is called.

Bug: 2453611
Change-Id: I368226281920512584a92b5f1967d602df1f0782

14 years agoAdd support for setting key states with touch events on Android.
Ben Murdoch [Tue, 2 Feb 2010 20:36:35 +0000 (20:36 +0000)]
Add support for setting key states with touch events on Android.

Properly guard non-upstreamed common code.

Change-Id: I109dbe97d8c96efe3660ce3893a4e730927e90ef

14 years agoMerge "refactor"
Mike Reed [Thu, 18 Feb 2010 19:21:42 +0000 (11:21 -0800)]
Merge "refactor"

14 years agoMerge "Add code to try and reclaim granted but unused database quota. This will help...
Ben Murdoch [Thu, 18 Feb 2010 19:21:27 +0000 (11:21 -0800)]
Merge "Add code to try and reclaim granted but unused database quota. This will help alleviate the situation when a website requests a lot of quota (but uses a little) and we run out of quota to dish out to new origins."

14 years agoAdd code to try and reclaim granted but unused database quota. This will help allevia...
Ben Murdoch [Mon, 15 Feb 2010 16:31:04 +0000 (16:31 +0000)]
Add code to try and reclaim granted but unused database quota. This will help alleviate the situation when a website requests a lot of quota (but uses a little) and we run out of quota to dish out to new origins.

We also set the estimatedSize that we pass to Java on quota overflow to 0 if this is a genuine quota overflow as opposed to the creation of a new database.

Change-Id: I370cf7c663d11fc1e5c630beb5299d2d34103b08

14 years agoMerge "Fixes a bug in RenderLayer::paintLayer due to Android's FASTER_MATRIX optimisa...
Steve Block [Thu, 18 Feb 2010 18:51:26 +0000 (10:51 -0800)]
Merge "Fixes a bug in RenderLayer::paintLayer due to Android's FASTER_MATRIX optimisation"

14 years agorefactor
Mike Reed [Thu, 18 Feb 2010 16:08:07 +0000 (11:08 -0500)]
refactor

14 years agocheck for layer containing final nodes in DOM
Cary Clark [Thu, 18 Feb 2010 17:59:59 +0000 (12:59 -0500)]
check for layer containing final nodes in DOM

This fix prevents a crash in http://webkit.org/blog-files/leaves/

http://b/2369549

14 years agoFixes a bug in RenderLayer::paintLayer due to Android's FASTER_MATRIX optimisation
Steve Block [Thu, 18 Feb 2010 16:38:08 +0000 (16:38 +0000)]
Fixes a bug in RenderLayer::paintLayer due to Android's FASTER_MATRIX optimisation

This bug was introduced by the merge to r51976 on 15 Dec 2009.

WebKit change 51355 modified RenderLayer::paintLayer and the Android
FASTER_MATRIX modification was not updated to reflect this. The difference is
that, compared to the intended code, the Android version misses a call to
makeMatrixRenderable, which in turn calls makeAffine, when calculating the
transform matrix.

See http://trac.webkit.org/changeset/51355

Change-Id: Ibc25b92e64381642fc3bbcfd672c056a3d89e035

14 years agoMerge "Android doesn't need to build V8VoidCallback.cpp"
Steve Block [Thu, 18 Feb 2010 14:49:08 +0000 (06:49 -0800)]
Merge "Android doesn't need to build V8VoidCallback.cpp"

14 years agoAndroid doesn't need to build V8VoidCallback.cpp
Steve Block [Thu, 18 Feb 2010 13:21:38 +0000 (13:21 +0000)]
Android doesn't need to build V8VoidCallback.cpp

This matches Chromium

Change-Id: I386e4e307e16d8b06eaf258a73d78dfdd9645bf8

14 years agoMerge "Fixes a bug with the Geolocation suspend/resume behaviour"
Steve Block [Thu, 18 Feb 2010 14:37:45 +0000 (06:37 -0800)]
Merge "Fixes a bug with the Geolocation suspend/resume behaviour"

14 years agoMerge "Cherry-pick WebKit change 54957 to use V8 DerivedSourcesAllInOne.cpp"
Steve Block [Thu, 18 Feb 2010 14:32:09 +0000 (06:32 -0800)]
Merge "Cherry-pick WebKit change 54957 to use V8 DerivedSourcesAllInOne.cpp"

14 years agoMerge "Update touch event bindings for V8 in V8Index.cpp to match what landed to...
Ben Murdoch [Thu, 18 Feb 2010 14:24:39 +0000 (06:24 -0800)]
Merge "Update touch event bindings for V8 in V8Index.cpp to match what landed to webkit.org in https://bugs.webkit.org/show_bug.cgi?id=35094"

14 years agoCherry-pick WebKit change 54957 to use V8 DerivedSourcesAllInOne.cpp
Steve Block [Tue, 16 Feb 2010 16:40:51 +0000 (16:40 +0000)]
Cherry-pick WebKit change 54957 to use V8 DerivedSourcesAllInOne.cpp

This updates Android to match Chromium
See http://trac.webkit.org/changeset/54957

Change-Id: I41c082460f00e1c0ec32bf180205ca40fd2f190a

14 years agoUpdate touch event bindings for V8 in V8Index.cpp to match what landed to webkit...
Ben Murdoch [Thu, 18 Feb 2010 14:14:10 +0000 (14:14 +0000)]
Update touch event bindings for V8 in V8Index.cpp to match what landed to webkit.org in https://bugs.webkit.org/show_bug.cgi?id=35094

Change-Id: Id8bfd38800bf38de704efbad3afe9b8e53367d13

14 years agoMerge "minor fixes to layer nav"
Cary Clark [Thu, 18 Feb 2010 13:41:38 +0000 (05:41 -0800)]
Merge "minor fixes to layer nav"

14 years agoFix the V8 build.
Ben Murdoch [Thu, 18 Feb 2010 13:11:32 +0000 (13:11 +0000)]
Fix the V8 build.

Change-Id: I28ccbf06e6490f6be5e024218ec823dd156d79b2

14 years agoUpdate V8 Bindings for touch to match what's upstream, landed in http://trac.webkit...
Ben Murdoch [Tue, 16 Feb 2010 15:39:31 +0000 (15:39 +0000)]
Update V8 Bindings for touch to match what's upstream, landed in trac.webkit.org.changeset/54950

Change-Id: I7da830fcd1d996a23e3f9ca61fa668a99ad80431

14 years agoFixes a bug with the Geolocation suspend/resume behaviour
Steve Block [Thu, 18 Feb 2010 11:26:48 +0000 (11:26 +0000)]
Fixes a bug with the Geolocation suspend/resume behaviour

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

14 years agoMerge "Updates WebKit's use of cmath to expect isfinite, isinf, isnan and signbit...
Steve Block [Wed, 17 Feb 2010 23:29:59 +0000 (15:29 -0800)]
Merge "Updates WebKit's use of cmath to expect isfinite, isinf, isnan and signbit to be in the std namespace"

14 years agominor fixes to layer nav
Cary Clark [Wed, 17 Feb 2010 22:04:56 +0000 (17:04 -0500)]
minor fixes to layer nav

- get rid of the FloatPoint interface in LayerAndroid;
use (x, y) instead
- make CachedFrame a friend of CachedRoot and CacheBuilder
a friend of CachedNode so they alone can access private fields.
- assume the LayerAndroid picture can sometimes be null.
If it is, use the main page's picture instead.

http://b/2369549

14 years agoChanges to remove WebTextView at end of touch/press rather than during.
Leon Scroggins [Wed, 17 Feb 2010 18:21:42 +0000 (13:21 -0500)]
Changes to remove WebTextView at end of touch/press rather than during.

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

14 years agoUpdates WebKit's use of cmath to expect isfinite, isinf, isnan and signbit to be...
Steve Block [Wed, 17 Feb 2010 17:08:11 +0000 (17:08 +0000)]
Updates WebKit's use of cmath to expect isfinite, isinf, isnan and signbit 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

14 years agoMerge "Add UI considerations to layers"
Cary Clark [Wed, 17 Feb 2010 18:17:10 +0000 (10:17 -0800)]
Merge "Add UI considerations to layers"

14 years agoAdd UI considerations to layers
Cary Clark [Wed, 27 Jan 2010 22:00:54 +0000 (17:00 -0500)]
Add UI considerations to layers

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.

14 years agoMerge "Updates Android to reflect upstreaming of CHROMIUM and XPATH guards in V8...
Steve Block [Wed, 17 Feb 2010 11:49:31 +0000 (03:49 -0800)]
Merge "Updates Android to reflect upstreaming of CHROMIUM and XPATH guards in V8 bindings"

14 years agoMerge "Updates Android to reflect upstreaming of guards on npruntime.h includes"
Steve Block [Wed, 17 Feb 2010 11:34:05 +0000 (03:34 -0800)]
Merge "Updates Android to reflect upstreaming of guards on npruntime.h includes"

14 years agoUpdates Android to reflect upstreaming of CHROMIUM and XPATH guards in V8 bindings
Steve Block [Tue, 16 Feb 2010 18:57:53 +0000 (18:57 +0000)]
Updates Android to reflect upstreaming of CHROMIUM and XPATH guards in V8 bindings

See http://trac.webkit.org/changeset/54881

Change-Id: I7bf987cbdc8e88e39317551c098475d8f92cd582

14 years agoUpdates Android to reflect upstreaming of guards on npruntime.h includes
Steve Block [Tue, 16 Feb 2010 18:51:16 +0000 (18:51 +0000)]
Updates Android to reflect upstreaming of guards on npruntime.h includes

See http://trac.webkit.org/changeset/54880

Change-Id: I5665991bb4f7d3680c00b42194a9208d1daa90f0

14 years agoUse the new stlport build configuration.
Patrick Scott [Mon, 8 Feb 2010 23:38:13 +0000 (18:38 -0500)]
Use the new stlport build configuration.

14 years agoMerge "Adds an XPath generated header to the Android build to avoid a guard on an...
Steve Block [Tue, 16 Feb 2010 14:53:06 +0000 (06:53 -0800)]
Merge "Adds an XPath generated header to the Android build to avoid a guard on an include in V8DocumentCustom.cpp"

14 years agoAdds an XPath generated header to the Android build to avoid a guard on an include...
Steve Block [Mon, 15 Feb 2010 16:26:50 +0000 (16:26 +0000)]
Adds an XPath generated header to the Android build to avoid a guard on an 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

14 years agoMerge "Fix the sim-eng build"
Steve Block [Tue, 16 Feb 2010 14:33:09 +0000 (06:33 -0800)]
Merge "Fix the sim-eng build"

14 years agoMerge "Add toV8 conversion for touch event type."
Ben Murdoch [Tue, 16 Feb 2010 14:29:39 +0000 (06:29 -0800)]
Merge "Add toV8 conversion for touch event type."

14 years agoFix the sim-eng build
Steve Block [Tue, 16 Feb 2010 14:22:56 +0000 (14:22 +0000)]
Fix the sim-eng build

Change-Id: Icc67c8786c1a1b98993fb27caf71bd4895118589

14 years agoAdd toV8 conversion for touch event type.
Ben Murdoch [Tue, 16 Feb 2010 14:06:01 +0000 (14:06 +0000)]
Add toV8 conversion for touch event type.

Change-Id: I91cd4224ee4df8de105dca179b42ee1428ab288d