profile/ivi/webkit-efl.git
12 years ago[Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
commit-queue@webkit.org [Mon, 3 Oct 2011 11:37:54 +0000 (11:37 +0000)]
[Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
https://bugs.webkit.org/show_bug.cgi?id=69223

WebKitTestRunner must include Qt / qnamespace header
to get a definition of Qt::MouseButtons.

Patch by Zeno Albisser <zeno.albisser@nokia.com> on 2011-10-03
Reviewed by Andreas Kling.

* WebKitTestRunner/EventSenderProxy.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96489 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUnreviewed. Add Zoltán Árvai as contributor.
ossy@webkit.org [Mon, 3 Oct 2011 10:55:11 +0000 (10:55 +0000)]
Unreviewed. Add Zoltán Árvai as contributor.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96488 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWeb Inspector: move console message formatting from ConsoleView.js into ConsoleMessage.js
pfeldman@chromium.org [Mon, 3 Oct 2011 09:54:27 +0000 (09:54 +0000)]
Web Inspector: move console message formatting from ConsoleView.js into ConsoleMessage.js
https://bugs.webkit.org/show_bug.cgi?id=69244

Reviewed by Yury Semikhatsky.

* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
(WebInspector.ConsoleMessage.prototype._formatMessage):
(WebInspector.ConsoleMessage.prototype._format):
(WebInspector.ConsoleMessage.prototype._formatParameter):
(WebInspector.ConsoleMessage.prototype._formatParameterAsValue):
(WebInspector.ConsoleMessage.prototype._formatParameterAsObject):
(WebInspector.ConsoleMessage.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessage.prototype._formatParameterAsArray):
(WebInspector.ConsoleMessage.prototype._formatParameterAsString):
(WebInspector.ConsoleMessage.prototype._printArray):
(WebInspector.ConsoleMessage.prototype._formatAsArrayEntry):
(WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString):
* inspector/front-end/ConsoleView.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96487 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUnreviewed Qt gardening after r96404
rgabor@webkit.org [Mon, 3 Oct 2011 09:30:18 +0000 (09:30 +0000)]
Unreviewed Qt gardening after r96404

Patch by Kristóf Kosztyó <kkristof@inf.u-szeged.hu> on 2011-10-03

* platform/qt/fast/text/complex-synthetic-bold-space-width-expected.png: Added.
* platform/qt/fast/text/complex-synthetic-bold-space-width-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96486 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWeb Inspector: restore partial front-end compilability
pfeldman@chromium.org [Mon, 3 Oct 2011 09:16:12 +0000 (09:16 +0000)]
Web Inspector: restore partial front-end compilability
https://bugs.webkit.org/show_bug.cgi?id=69221

Removed unused isWhitespace; introduced missing classes in Inspector.json;
generated externs for the protocol types along with the commands.

Patch by Pavel Feldman <pfeldman@chromium.org> on 2011-10-03
Reviewed by Yury Semikhatsky.

* inspector/Inspector.json:
* inspector/compile-front-end.sh:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent):
(WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
(WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.updateBreadcrumb):
* inspector/front-end/ElementsTreeOutline.js:
():
* inspector/front-end/Object.js:
* inspector/front-end/Popover.js:
(WebInspector.PopoverHelper.prototype._mouseMove):
* inspector/front-end/View.js:
* inspector/front-end/externs.js:
(Array.prototype.remove):
* inspector/generate-protocol-externs:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96485 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agomethod/enctype/formMethod/formEnctype properties should be limited to known values.
tkent@chromium.org [Mon, 3 Oct 2011 06:59:23 +0000 (06:59 +0000)]
method/enctype/formMethod/formEnctype properties should be limited to known values.
https://bugs.webkit.org/show_bug.cgi?id=68887

Reviewed by Hajime Morita.

Source/WebCore:

According to the standard and other browser behaviors, the
following IDL properties should be reflected to the corresponding
HTML attributes on setting, but should return normalized values on
getting.
- HTMLFormElement::method
- HTMLFormElement::enctype
- HTMLInputElement::formMethod
- HTMLInputElement::formEnctype
- HTMLButtonElement::formMethod
- HTMLButtonElement::formEnctype

Tests: fast/forms/enctype-attribute.html
       fast/forms/method-attribute.html

* html/HTMLButtonElement.idl:
Replace 'Reflect' with 'ConvertNullToNullString' in order to use a
getter function.
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::formEnctype):
Normalizes the value by parseEncodingType().
(WebCore::HTMLFormControlElement::setFormEnctype):
Simply calls setAttribute()
(WebCore::HTMLFormControlElement::formMethod):
Normalizes the value by parseMethodType().
(WebCore::HTMLFormControlElement::setFormMethod):
Simply calls setAttribute()
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::parseMappedAttribute):
Follow the Attributes function renaming.
(WebCore::HTMLFormElement::method):
Normalizes the value by parseMethodType().
* html/HTMLFormElement.idl:
Replace 'Reflect' with 'ConvertNullToNullString' in order to use a
getter function.
* html/HTMLInputElement.idl: ditto.
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::Attributes::parseEncodingType):
New function made from a part of old parseEncodingType().
(WebCore::FormSubmission::Attributes::updateEncodingType):
Renamed from parseEncodingType().
(WebCore::FormSubmission::Attributes::parseMethodType):
New function made from a part of old parseMethodType().
(WebCore::FormSubmission::Attributes::updateMethodType):
Renamed from parseMethodType().
(WebCore::FormSubmission::create):
Follow the Attributes function renaming.
* loader/FormSubmission.h:
(WebCore::FormSubmission::Attributes::methodString):
A helper function to provide normalized strings for FormSubmission::Method.

LayoutTests:

* fast/dom/element-attribute-js-null-expected.txt:
* fast/dom/element-attribute-js-null.html: Correct an expectation for HTMLFormElement::method.
* fast/forms/enctype-attribute-expected.txt: Added.
* fast/forms/enctype-attribute.html: Added.
* fast/forms/method-attribute-expected.txt: Added.
* fast/forms/method-attribute.html: Added.
* fast/forms/script-tests/submit-form-attributes.js: Correct expectations.
* fast/forms/submit-form-attributes-expected.txt: ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96484 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Qt]REGRESSION(r95912): It made sputnik tests flakey
zherczeg@webkit.org [Mon, 3 Oct 2011 06:49:50 +0000 (06:49 +0000)]
[Qt]REGRESSION(r95912): It made sputnik tests flakey
https://bugs.webkit.org/show_bug.cgi?id=68990

Reviewed by Geoffrey Garen.

Changing signed char to int in r96354 solved the
problem. However transitionCount still returns
with a signed char and should be changed to int.

* runtime/Structure.h:
(JSC::Structure::transitionCount):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96483 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoDFG misses some obvious opportunities for common subexpression elimination
fpizlo@apple.com [Mon, 3 Oct 2011 02:13:11 +0000 (02:13 +0000)]
DFG misses some obvious opportunities for common subexpression elimination
https://bugs.webkit.org/show_bug.cgi?id=69233

Reviewed by Oliver Hunt.

0.7% speed-up on SunSpider.

* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::getByValLoadElimination):
(JSC::DFG::Propagator::getMethodLoadElimination):
(JSC::DFG::Propagator::checkStructureLoadElimination):
(JSC::DFG::Propagator::getByOffsetLoadElimination):
(JSC::DFG::Propagator::getPropertyStorageLoadElimination):
(JSC::DFG::Propagator::performNodeCSE):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96482 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[chromium] Add WebWidget API for accessing the current WebCompositor
commit-queue@webkit.org [Mon, 3 Oct 2011 01:11:45 +0000 (01:11 +0000)]
[chromium] Add WebWidget API for accessing the current WebCompositor
https://bugs.webkit.org/show_bug.cgi?id=69181

Patch by James Robinson <jamesr@chromium.org> on 2011-10-02
Reviewed by Darin Fisher.

Add new WebWidgetClient::did(Activate|Deactivate)Compositor calls intended to replace
didActivateAccleratedCompositing(bool) so that the enable call can be parameterized.

Add a WebCompositor identifier parameter to didEnableAcceleratedCompositing that can be used on the compositor
thread to get access to a WebCompositor pointer.

* public/WebWidget.h:
(WebKit::WebWidget::compositor):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::compositor):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* src/WebViewImpl.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96481 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoStrength reduce Mac only Frame::searchForLabelsBeforeElement and Frame::matchLabelsAg...
weinig@apple.com [Mon, 3 Oct 2011 00:40:43 +0000 (00:40 +0000)]
Strength reduce Mac only Frame::searchForLabelsBeforeElement and Frame::matchLabelsAgainstElement into callers
https://bugs.webkit.org/show_bug.cgi?id=69230

Reviewed by Anders Carlsson.

../WebCore:

* WebCore.exp.in:
* page/Frame.h:
* page/mac/FrameMac.mm:

../WebKit/mac:

* WebView/WebHTMLRepresentation.mm:
(regExpForLabels):
(searchForLabelsBeforeElement):
(matchLabelsAgainstString):
(matchLabelsAgainstElement):
(-[WebHTMLRepresentation searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:]):
(-[WebHTMLRepresentation matchLabels:againstElement:]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96480 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoBug 67455 - Different regular expression result
barraclough@apple.com [Mon, 3 Oct 2011 00:22:04 +0000 (00:22 +0000)]
Bug 67455 - Different regular expression result

Reviewed by Darin Adler.

Fix a regression introduced in r72140. A return was added to the backtracking loop for
backtrackParentheses with QuantifierNonGreedy, so it always returns after one iteration.
This is incorrect. The additional return should only trigger to force an early return if
an error has occured.

Source/JavaScriptCore:

* yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::matchParentheses):
    - Simplify some nested if else logic.
(JSC::Yarr::Interpreter::backtrackParentheses):
    - Simplify some nested if else logic.
    - Only return early from backtrackParentheses on success/error, not on failure.

LayoutTests:

* fast/regex/parentheses-expected.txt:
* fast/regex/script-tests/parentheses.js:
    - Added test cases from bug.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96479 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoREGRESSION (r95474): Unable to type anywhere in nightly builds in WebKit1 mode
ap@apple.com [Sun, 2 Oct 2011 20:02:03 +0000 (20:02 +0000)]
REGRESSION (r95474): Unable to type anywhere in nightly builds in WebKit1 mode
https://bugs.webkit.org/show_bug.cgi?id=68542

Reviewed by Mark Rowe.

* WebView/WebView.mm: (-[WebView _usesDocumentViews]): Re-add this method for now.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96478 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
commit-queue@webkit.org [Sun, 2 Oct 2011 19:54:31 +0000 (19:54 +0000)]
[Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
https://bugs.webkit.org/show_bug.cgi?id=69223

Source/WebCore:

Add a missing import (NSWindow.h) in WebVideoFullscreenHUDWindowController.
Add a missing include path and a missing objective source file to WebCore.pro.

Patch by Zeno Albisser <zeno.albisser@nokia.com> on 2011-10-02
Reviewed by Noam Rosenthal.

No new tests, build fix.

* WebCore.pro:
* platform/mac/WebVideoFullscreenHUDWindowController.h:

Source/WebKit2:

After the merge of the Qt5 refactor branch, networking stuff has been
extracted into a separate library. The qmlplugin needs to link to that
library to get QNetworkReply defined.

Patch by Zeno Albisser <zeno.albisser@nokia.com> on 2011-10-02
Reviewed by Noam Rosenthal.

* UIProcess/API/qt/qmlplugin/qmlplugin.pro:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96477 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRemove an unused member in RenderTable::ColumnStruct
jchaffraix@webkit.org [Sun, 2 Oct 2011 19:41:08 +0000 (19:41 +0000)]
Remove an unused member in RenderTable::ColumnStruct
https://bugs.webkit.org/show_bug.cgi?id=69119

Reviewed by Darin Adler.

No test as there should be no change in behavior.

The member was added several years ago and its users were removed or changed. The code would
need a refactoring but this would be tricky to get right. This change just removes the member
to reap the short-term benefits.

* rendering/RenderTable.h:
(WebCore::RenderTable::ColumnStruct::ColumnStruct): Remove anything associated with m_width.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96476 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRemove temporary baselines after http://trac.webkit.org/changeset/96470.
abarth@webkit.org [Sun, 2 Oct 2011 17:38:09 +0000 (17:38 +0000)]
Remove temporary baselines after trac.webkit.org/changeset/96470.

* platform/chromium-cg-mac-leopard/svg/custom/grayscale-gradient-mask-2-expected.png: Added.
* platform/chromium-cg-mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Removed.
* platform/chromium-cg-mac/svg/custom/grayscale-gradient-mask-expected.txt: Removed.
* platform/chromium-linux-x86/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Removed.
* platform/chromium-linux-x86/svg/css/circle-in-mask-with-shadow-expected.txt: Removed.
* platform/chromium-linux/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Removed.
* platform/chromium-linux/svg/css/circle-in-mask-with-shadow-expected.txt: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Removed.
* platform/chromium-win-vista/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Removed.
* platform/chromium-win-vista/svg/css: Removed.
* platform/chromium-win-vista/svg/css/circle-in-mask-with-shadow-expected.txt: Removed.
* platform/chromium-win-xp/svg/css: Removed.
* platform/chromium-win-xp/svg/css/circle-in-mask-with-shadow-expected.txt: Removed.
* platform/chromium-win/svg/filters/filter-clip-expected.txt: Removed.
* platform/chromium/svg/filters: Removed.
* platform/chromium/svg/filters/filter-clip-expected.txt: Removed.
* platform/gtk/svg/css/circle-in-mask-with-shadow-expected.txt: Removed.
* platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt: Removed.
* platform/qt/svg/css/circle-in-mask-with-shadow-expected.txt: Removed.
* svg/css/circle-in-mask-with-shadow-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96475 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoClean up obsolete code in gardeningserver.py related to
abarth@webkit.org [Sun, 2 Oct 2011 17:35:35 +0000 (17:35 +0000)]
Clean up obsolete code in gardeningserver.py related to
STATIC_FILE_NAMES.  Rather than serve the UI via the Python HTTP
server, we just serve it off the filesystem directly.

We had planned to serve the UI off build.webkit.org, but that server is
somewhat slow.  We'll probably serve the UI of some web server, but
we'll need to work that out later.

* Scripts/webkitpy/tool/commands/gardenomatic.py:
* Scripts/webkitpy/tool/servers/gardeningserver.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96474 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRip out half-backed garden-o-matic features in preparation for wider use
abarth@webkit.org [Sun, 2 Oct 2011 17:18:28 +0000 (17:18 +0000)]
Rip out half-backed garden-o-matic features in preparation for wider use
https://bugs.webkit.org/show_bug.cgi?id=69226

This patch rips out a bunch of half-baked features and cleans up a
bunch of small nits with the core set of features.  We're going to ask
more folks to start using the tool, and having a bunch of half-baked
features around is distracting.  We can add these features back under a
flag and interate on them after we've got the core functionality
nailed.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/notifications.css:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96473 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUpdate baseline and expectations after http://trac.webkit.org/changeset/96470
abarth@webkit.org [Sun, 2 Oct 2011 15:25:49 +0000 (15:25 +0000)]
Update baseline and expectations after trac.webkit.org/changeset/96470

* platform/chromium-cg-mac-leopard/svg/custom/grayscale-gradient-mask-expected.png:
* platform/chromium-cg-mac-leopard/svg/custom/mask-colorspace-expected.png: Removed.
* platform/chromium-cg-mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png: Added.
* platform/chromium-cg-mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Added.
* platform/chromium-cg-mac/svg/custom/grayscale-gradient-mask-expected.png:
* platform/chromium-cg-mac/svg/custom/grayscale-gradient-mask-expected.txt: Added.
* platform/chromium-cg-mac/svg/custom/mask-colorspace-expected.png: Added.
* platform/chromium-cg-mac/svg/custom/mask-with-all-units-expected.png: Added.
* platform/chromium-cg-mac/svg/filters/filter-clip-expected.png: Added.
* platform/chromium-linux-x86/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Added.
* platform/chromium-linux-x86/svg/css/circle-in-mask-with-shadow-expected.txt: Added.
* platform/chromium-linux/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Added.
* platform/chromium-linux/svg/css/circle-in-mask-with-shadow-expected.png:
* platform/chromium-linux/svg/css/circle-in-mask-with-shadow-expected.txt: Added.
* platform/chromium-linux/svg/custom/mask-colorspace-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Added.
* platform/chromium-mac/svg/custom/mask-colorspace-expected.png:
* platform/chromium-mac/svg/filters/filter-clip-expected.png:
* platform/chromium-win-vista/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png:
* platform/chromium-win-vista/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Added.
* platform/chromium-win-vista/svg/css: Added.
* platform/chromium-win-vista/svg/css/circle-in-mask-with-shadow-expected.txt: Added.
* platform/chromium-win-xp/svg/css: Added.
* platform/chromium-win-xp/svg/css/circle-in-mask-with-shadow-expected.txt: Added.
* platform/chromium-win/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png:
* platform/chromium-win/svg/css/circle-in-mask-with-shadow-expected.png:
* platform/chromium-win/svg/custom/mask-colorspace-expected.png:
* platform/chromium-win/svg/filters/filter-clip-expected.txt: Added.
* platform/chromium/svg/filters: Added.
* platform/chromium/svg/filters/filter-clip-expected.txt: Added.
* platform/chromium/test_expectations.txt:
* platform/gtk/svg/custom/grayscale-gradient-mask-expected.txt: Removed.
* platform/gtk/svg/custom/mask-with-all-units-expected.txt: Removed.
* platform/gtk/svg/filters/filter-clip-expected.txt: Removed.
* platform/mac/svg/custom/grayscale-gradient-mask-expected.txt: Removed.
* platform/mac/svg/custom/mask-with-all-units-expected.txt: Removed.
* platform/mac/svg/filters/filter-clip-expected.txt: Removed.
* platform/qt/svg/custom/grayscale-gradient-mask-expected.txt: Removed.
* platform/qt/svg/custom/mask-with-all-units-expected.txt: Removed.
* platform/qt/svg/filters/filter-clip-expected.txt: Removed.
* svg/custom/grayscale-gradient-mask-expected.txt: Added.
* svg/custom/mask-with-all-units-expected.txt: Added.
* svg/filters/filter-clip-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96472 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoREGRESSION (r95502): Assertion failure in CSSPrimitiveValue::computeLengthDouble...
mitz@apple.com [Sun, 2 Oct 2011 08:25:34 +0000 (08:25 +0000)]
REGRESSION (r95502): Assertion failure in CSSPrimitiveValue::computeLengthDouble() when media query specifies unit-less length
https://bugs.webkit.org/show_bug.cgi?id=68760

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/media/invalid-lengths.html

Made length-comparison media queries accept only length values. In compatibility mode, numbers
are allowed as well, and they are interpreted as pixels.

* css/MediaQueryEvaluator.cpp:
(WebCore::computeLength): Added this helper function.
(WebCore::device_heightMediaFeatureEval): Changed to use computeLength().
(WebCore::device_widthMediaFeatureEval): Ditto.
(WebCore::heightMediaFeatureEval): Ditto.
(WebCore::widthMediaFeatureEval): Ditto.

LayoutTests:

* fast/media/invalid-lengths-expected.txt: Added.
* fast/media/invalid-lengths.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96471 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoSVG Mask should take 'color-interpolation' into account to determine the color space...
krit@webkit.org [Sun, 2 Oct 2011 07:15:08 +0000 (07:15 +0000)]
SVG Mask should take 'color-interpolation' into account to determine the color space of the mask image
https://bugs.webkit.org/show_bug.cgi?id=69076

Source/WebCore:

Reviewed by Simon Fraser.

SVG Masks should take 'color-interpolation' into account to determine the color space of the mask image.
The behavior was changed in SVG 1.1 SE. The color space of the mask image gets defined by the computed value of the
'color-interpolation' property. This will switch the default color space from linearRGB to sRGB for mask images and
is a performance improvement for platforms without native support for linearRGB color space. The
color space transformation can be avoided.

Test: svg/custom/grayscale-gradient-mask-2.svg

* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
* rendering/svg/RenderSVGResourceMasker.h:

LayoutTests:

Reviewed by Simon Fraser.

Added a new test case to check the behavior of SVG Masks on different values for the 'color-interpolation' property.
Since the default color space of the mask image changes from linearRGB to sRGB, a test needed an update.

* platform/mac/svg/custom/grayscale-gradient-mask-2-expected.png: Added.
* platform/mac/svg/custom/grayscale-gradient-mask-2-expected.txt: Added.
* platform/mac/svg/custom/grayscale-gradient-mask-expected.png:
* platform/mac/svg/custom/grayscale-gradient-mask-expected.txt:
* svg/custom/grayscale-gradient-mask-2.svg: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96470 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoTweak expectations for leopard some more.
abarth@webkit.org [Sun, 2 Oct 2011 06:49:32 +0000 (06:49 +0000)]
Tweak expectations for leopard some more.

* platform/chromium-cg-mac-leopard/fast/css/last-of-type-pseudo-class-expected.txt: Removed.
* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96469 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoCorrect post-build step for WinCairo test runs.
bfulgham@webkit.org [Sun, 2 Oct 2011 04:34:17 +0000 (04:34 +0000)]
Correct post-build step for WinCairo test runs.
https://bugs.webkit.org/show_bug.cgi?id=69191

Reviewed by Brian Weinstein.

* DumpRenderTree/win/DumpRenderTreePostBuild.cmd: Add additional
shell case to handle the CFLite build.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96468 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[chromium] Fixing draw matrix for composited layers. This
vangelis@chromium.org [Sun, 2 Oct 2011 02:21:48 +0000 (02:21 +0000)]
[chromium] Fixing draw matrix for composited layers. This
was a regression introduced by:
http://trac.webkit.org/changeset/96454

https://bugs.webkit.org/show_bug.cgi?id=69217

Reviewed by James Robinson.

Tests: compositor test now pass

* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::draw):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96467 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoLeopard build fix: Updated for Strong<T> changes.
ggaren@apple.com [Sun, 2 Oct 2011 01:13:04 +0000 (01:13 +0000)]
Leopard build fix: Updated for Strong<T> changes.

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
* WebView/WebScriptDebugger.mm:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96466 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRemoved redundant helper functions for allocating Strong handles
ggaren@apple.com [Sun, 2 Oct 2011 00:54:56 +0000 (00:54 +0000)]
Removed redundant helper functions for allocating Strong handles
https://bugs.webkit.org/show_bug.cgi?id=69218

Reviewed by Sam Weinig.

../JavaScriptCore:

* heap/Heap.h:
(JSC::Heap::handleHeap):
* runtime/JSGlobalData.h: Removed these helper functions, since they
just created indirection.

* heap/StrongInlines.h: Added. Broke out a header for inline functions
to resolve circular dependencies created by inlining. I'm told this is
the future for JavaScriptCore.

* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj: Go forth and build.

* API/JSCallbackObjectFunctions.h:
(JSC::::init):
* runtime/WeakGCMap.h:
(JSC::WeakGCMap::add):
(JSC::WeakGCMap::set):
* runtime/StructureTransitionTable.h:
(JSC::StructureTransitionTable::setSingleTransition):
* heap/Local.h:
(JSC::::Local):
* heap/Strong.h:
(JSC::::Strong):
(JSC::::set):
* heap/Weak.h:
(JSC::Weak::Weak):
(JSC::Weak::set): Allocate handles directly instead of going through a
chain of forwarding functions.

* bytecompiler/BytecodeGenerator.cpp:
* runtime/JSGlobalData.cpp:
* runtime/LiteralParser.cpp:
* runtime/RegExpCache.cpp: Updated for header changes.

../JavaScriptGlue:

* JSRun.cpp:
* JSValueWrapper.cpp:

../WebCore:

* ForwardingHeaders/heap/StrongInlines.h: Added.
* bindings/js/JSCallbackData.h:
* bindings/js/JSDOMWindowShell.cpp:
* bindings/js/ScheduledAction.h:
* bindings/js/ScriptCachedFrameData.cpp:
* bindings/js/ScriptController.cpp:
* bindings/js/ScriptState.cpp:
* bindings/js/ScriptValue.h:
* bindings/js/WorkerScriptController.cpp:
* bridge/runtime_root.cpp:

../WebKit2:

* WebProcess/Plugins/Netscape/NPJSObject.cpp:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96465 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdded myself to reviewers, because I'm now a reviewer.
fpizlo@apple.com [Sat, 1 Oct 2011 22:08:07 +0000 (22:08 +0000)]
Added myself to reviewers, because I'm now a reviewer.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96464 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAll of JSC's heuristics should be in one place for easier tuning
fpizlo@apple.com [Sat, 1 Oct 2011 22:03:22 +0000 (22:03 +0000)]
All of JSC's heuristics should be in one place for easier tuning
https://bugs.webkit.org/show_bug.cgi?id=69201

Reviewed by Oliver Hunt.

This makes it possible to change tiered compilation heuristics in
one place (Heuristics.cpp) without recompiling the whole project.

It also makes it possible to enable setting heuristics using
environment variables. This is off by default. When turned on, it
makes tuning the system much easier.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.pro:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::shouldOptimizeNow):
* bytecode/CodeBlock.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
* jit/JIT.cpp:
(JSC::JIT::emitOptimizationCheck):
* runtime/Heuristics.cpp: Added.
(JSC::Heuristics::parse):
(JSC::Heuristics::setHeuristic):
(JSC::Heuristics::initializeHeuristics):
* runtime/Heuristics.h: Added.
* runtime/InitializeThreading.cpp:
(JSC::initializeThreadingOnce):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96463 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoBencher script makes it difficult to do automated performance testing
fpizlo@apple.com [Sat, 1 Oct 2011 21:58:45 +0000 (21:58 +0000)]
Bencher script makes it difficult to do automated performance testing
https://bugs.webkit.org/show_bug.cgi?id=69207

Reviewed by Sam Weinig.

This adds two new features:

The ability to disable automatic VM detection, which is flaky if any
profiling features are enabled in jsc.

The ability to compute, and report, a scaled result for all benchmark
suites. It is the geometric mean of three numbers: SunSpider's
arithmetic mean, V8's geometric mean, and Kraken's arithmetic mean.
It is also possible to turn off all other output from bencher and just
get this number with the --brief option.

* Scripts/bencher:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96462 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoSupport string length in the DFG
oliver@apple.com [Sat, 1 Oct 2011 21:46:51 +0000 (21:46 +0000)]
Support string length in the DFG
https://bugs.webkit.org/show_bug.cgi?id=69215

Reviewed by Geoff Garen.

Adds a GetStringLength node to the DFG so that we can support
string.length inline.

* dfg/DFGNode.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::performNodeCSE):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::isKnownString):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* runtime/JSString.h:
(JSC::JSString::offsetOfLength):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96461 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWTR is not successfully changing the NSUserDefaults
weinig@apple.com [Sat, 1 Oct 2011 20:48:57 +0000 (20:48 +0000)]
WTR is not successfully changing the NSUserDefaults
https://bugs.webkit.org/show_bug.cgi?id=69204

Reviewed by Dan Bernstein.

* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):
Use -setVolatileDomain:forName:NSArgumentDomain instead of registerDefaults to
get our overrides picked up.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96460 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoDelete bogus text expectation.
abarth@webkit.org [Sat, 1 Oct 2011 19:56:47 +0000 (19:56 +0000)]
Delete bogus text expectation.

* platform/chromium-mac/http/tests/misc/acid3-expected.txt: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96459 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJSVALUE32_64 DFG JIT - unboxed integers and cells in register file must be reboxed...
commit-queue@webkit.org [Sat, 1 Oct 2011 19:21:44 +0000 (19:21 +0000)]
JSVALUE32_64 DFG JIT - unboxed integers and cells in register file must be reboxed before exiting from DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=69205

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-10-01
Reviewed by Gavin Barraclough.

If there are unboxed integers and cells in register file (e.g. by SetLocal),
they must be reboxed before exiting from the speculative DFG JIT execution.
This patch also adds a new ValueSourceKind (CellInRegisterFile) and a new
ValueRecoveryTechnique (AlreadyInRegisterFileAsCell).

* dfg/DFGJITCompiler32_64.cpp:
(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::ValueSource::dump):
(JSC::DFG::ValueRecovery::dump):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::ValueSource::forPrediction):
(JSC::DFG::ValueRecovery::alreadyInRegisterFileAsUnboxedCell):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96458 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoNote test as timing out.
abarth@webkit.org [Sat, 1 Oct 2011 17:32:10 +0000 (17:32 +0000)]
Note test as timing out.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96457 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUpdate Mac baselines.
abarth@webkit.org [Sat, 1 Oct 2011 17:29:56 +0000 (17:29 +0000)]
Update Mac baselines.

* platform/chromium-cg-mac-leopard/fast/css/last-of-type-pseudo-class-expected.txt: Added.
* platform/chromium-cg-mac-leopard/http/tests/misc/acid3-expected.txt: Removed.
* platform/chromium-cg-mac-leopard/svg/as-object: Added.
* platform/chromium-cg-mac-leopard/svg/as-object/embedded-svg-immediate-offsetWidth-query-expected.png: Added.
* platform/chromium-cg-mac-leopard/svg/as-object/embedded-svg-immediate-offsetWidth-query-expected.txt: Added.
* platform/chromium-cg-mac/http/tests/misc/acid3-expected.png:
* platform/chromium-cg-mac/http/tests/misc/acid3-expected.txt: Removed.
* platform/chromium-mac/http/tests/misc/acid3-expected.png:
* platform/chromium-mac/http/tests/misc/acid3-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96456 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUnreviewed, rolling out r96421.
commit-queue@webkit.org [Sat, 1 Oct 2011 07:22:29 +0000 (07:22 +0000)]
Unreviewed, rolling out r96421.
http://trac.webkit.org/changeset/96421
https://bugs.webkit.org/show_bug.cgi?id=69206

It broke Qt-WK2 build (Requested by ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-10-01

Source/JavaScriptCore:

* JavaScriptCore.pri:
* wtf/qt/UtilsQt.h: Removed.
* wtf/wtf.pri:

Source/WebCore:

* WebCore.pro:

Source/WebKit/qt:

* Api/qwebpage.cpp:
(QWebPage::javaScriptAlert):
(QWebPage::javaScriptConfirm):
(QWebPage::javaScriptPrompt):
* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::setToolTip):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96455 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[chromium] Track separate scroll deltas on the compositor thread
enne@google.com [Sat, 1 Oct 2011 03:15:10 +0000 (03:15 +0000)]
[chromium] Track separate scroll deltas on the compositor thread
https://bugs.webkit.org/show_bug.cgi?id=69034

Reviewed by James Robinson.

Source/WebCore:

Test: new tests in CCLayerTreeHostImplTest/CCLayerTreeHostTest

Track scroll deltas and maximum scrolls on LayerChromium/CCLayerImpl.
The CCLayerImpl tree is now able to adjust these scroll deltas
independent of the main thread. To push them back to the main thread,
CCLayerTreeHostImpl collects them all and then bakes them into the
scroll position during a begin frame and commit call. This allows new
deltas to be collected while the scroll position containing the old
delta and the old scroll position will be overwritten during the next
commit.

Only the main frame is supported right now for pushing this scroll
delta back into the authoritative WebKit source to keep both sides in
sync.

Move tilingTransform() to the impl tree because drawTransform() is now
updated using scroll deltas and so the results from calculating draw
transforms needs to be dynamic so that children are updated properly.

Also, exposed DebugScopedSetImplThread public because it's used in a
few places.

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::maxScrollPosition):
(WebCore::LayerChromium::setMaxScrollPosition):
(WebCore::LayerChromium::scrollDelta):
(WebCore::LayerChromium::scrollable):
* platform/graphics/chromium/NonCompositedContentHost.cpp:
(WebCore::NonCompositedContentHost::setViewport):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::scrollBy):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::maxScrollPosition):
(WebCore::CCLayerImpl::setMaxScrollPosition):
(WebCore::CCLayerImpl::scrollDelta):
(WebCore::CCLayerImpl::setScrollDelta):
(WebCore::CCLayerImpl::scrollable):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::applyScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::scrollRootLayer):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCProxy.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::start):
(WebCore::CCSingleThreadProxy::context):
(WebCore::CCSingleThreadProxy::finishAllRendering):
(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
(WebCore::CCSingleThreadProxy::commitIfNeeded):
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
(WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
(WebCore::CCThreadProxy::beginFrameAndCommit):
* platform/graphics/chromium/cc/CCThreadProxy.h:
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::tilingTransform):
(WebCore::CCTiledLayerImpl::draw):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:

Source/WebKit/chromium:

Add testing support for scroll deltas on layers.

* WebKit.gypi:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::applyScrollDelta):
* src/WebViewImpl.h:
* tests/CCLayerTreeHostImplTest.cpp: Added.
(WebCore::CCLayerTreeHostImplTest::CCLayerTreeHostImplTest):
(WebCore::CCLayerTreeHostImplTest::expectClearedScrollDeltasRecursive):
(WebCore::CCLayerTreeHostImplTest::expectContains):
(WebCore::TEST_F):
* tests/CCLayerTreeHostTest.cpp:
(WTF::TestHooks::applyScrollDelta):
(WTF::MockLayerTreeHostClient::applyScrollDelta):
(WTF::CCLayerTreeHostTest::runTest):
(WTF::CCLayerTreeHostTest::doBeginTest):
(WTF::CCLayerTreeHostTestThreadOnly::runTest):
(WTF::CCLayerTreeHostTestScrollSimple::CCLayerTreeHostTestScrollSimple):
(WTF::CCLayerTreeHostTestScrollSimple::beginTest):
(WTF::CCLayerTreeHostTestScrollSimple::beginCommitOnCCThread):
(WTF::CCLayerTreeHostTestScrollSimple::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestScrollSimple::applyScrollDelta):
(WTF::CCLayerTreeHostTestScrollSimple::afterTest):
(WTF::TEST_F):
(WTF::CCLayerTreeHostTestScrollMultipleRedraw::CCLayerTreeHostTestScrollMultipleRedraw):
(WTF::CCLayerTreeHostTestScrollMultipleRedraw::beginTest):
(WTF::CCLayerTreeHostTestScrollMultipleRedraw::beginCommitOnCCThread):
(WTF::CCLayerTreeHostTestScrollMultipleRedraw::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestScrollMultipleRedraw::applyScrollDelta):
(WTF::CCLayerTreeHostTestScrollMultipleRedraw::afterTest):
* tests/TreeSynchronizerTest.cpp:
(WebCore::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96454 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2011-09-30 Daniel Bates <dbates@webkit.org>
dbates@webkit.org [Sat, 1 Oct 2011 03:12:37 +0000 (03:12 +0000)]
2011-09-30  Daniel Bates  <dbates@webkit.org>

        Attempt to fix the Apple Windows and WinCairo Debug builds after
        <http://trac.webkit.org/changeset/96446> (https://bugs.webkit.org/show_bug.cgi?id=69203).

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Remove the symbol
        ?toStrictThisObject@JSObject@JSC@@UBE?AVJSValue@2@PAVExecState@2@@Z since the
        corresponding function, JSValue::toStrictThisObject(), was removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96453 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=69202
hyatt@apple.com [Sat, 1 Oct 2011 03:07:46 +0000 (03:07 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=69202

[CSS3 Regions] Make positioned objects use the first region as the ICB when it
is their containing block. Make sure static distance computations take into
account the current region as well.

Reviewed by Sam Weinig.

Source/WebCore:

Added new tests in fast/regions.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustPositionedBlock):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::startOffsetForContent):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
(WebCore::computeInlineStaticDistance):
(WebCore::computeLogicalLeftPositionedOffset):
(WebCore::computeLogicalTopPositionedOffset):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion):
(WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion):
(WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
* rendering/RenderFlowThread.h:

LayoutTests:

* fast/regions/positioned-objects-block-static-in-regions.html: Added.
* fast/regions/positioned-objects-block-static-in-rtl-regions.html: Added.
* fast/regions/positioned-objects-in-regions.html: Added.
* fast/regions/positioned-objects-in-rtl-regions.html: Added.
* fast/regions/positioned-objects-inline-static-in-regions.html: Added.
* fast/regions/positioned-objects-inline-static-in-rtl-regions.html: Added.
* fast/regions/positioned-objects-perpendicular-flows-in-regions.html: Added.
* platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.png: Added.
* platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.txt: Added.
* platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.png: Added.
* platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.txt: Added.
* platform/mac/fast/regions/positioned-objects-in-regions-expected.png: Added.
* platform/mac/fast/regions/positioned-objects-in-regions-expected.txt: Added.
* platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.png: Added.
* platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.txt: Added.
* platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.png: Added.
* platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.txt: Added.
* platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.png: Added.
* platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.txt: Added.
* platform/mac/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.png: Added.
* platform/mac/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96452 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoDFG operation results are not set correctly in JSVALUE32_64 DFG JIT
commit-queue@webkit.org [Sat, 1 Oct 2011 02:14:36 +0000 (02:14 +0000)]
DFG operation results are not set correctly in JSVALUE32_64 DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=69126

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-30
Reviewed by Gavin Barraclough.

The setupResults routine has the bug of reversing the source and destination.
Also some other trivial (but stupid) bugs need to be fixed in JSVALUE32_64 DFG JIT.

* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::setupTwoStubArgs):
(JSC::DFG::setupResults):
* dfg/DFGJITCodeGenerator32_64.cpp:
(JSC::DFG::JITCodeGenerator::fillJSValue):
(JSC::DFG::JITCodeGenerator::nonSpeculativeValueToInt32):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeCompare):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96451 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdding unit tests for LayerChromium. Emphasis on verifying
commit-queue@webkit.org [Sat, 1 Oct 2011 02:12:06 +0000 (02:12 +0000)]
Adding unit tests for LayerChromium.  Emphasis on verifying
behavior of notifySyncRequired callback and tree manipulations.
https://bugs.webkit.org/show_bug.cgi?id=68572

Patch by Shawn Singh <shawnsingh@chromium.org> on 2011-09-30
Reviewed by James Robinson.

* WebKit.gypi:
* tests/LayerChromiumTest.cpp: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96450 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoImplement currentColor support for CSS gradients
commit-queue@webkit.org [Sat, 1 Oct 2011 01:43:20 +0000 (01:43 +0000)]
Implement currentColor support for CSS gradients
https://bugs.webkit.org/show_bug.cgi?id=58730

Patch by David Barr <davidbarr@chromium.org> on 2011-09-30
Reviewed by Adam Barth.

Source/WebCore:

Allow currentColor as a CSS3 gradient color-stop.

Test: fast/css/linear-gradient-currentcolor.html

* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::isCacheable): Make currentColor uncacheable since the
background image may be invalidated if currentColor is used as a gradient stop and
the value of the 'color' property changes.
* css/CSSParser.cpp:
(WebCore::parseGradientColorOrKeyword): Accept the currentColor keyword.
* rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::image): Initialize document styleSelector so that
currentColor may be computed for a StyleGeneratedImage.

LayoutTests:

* fast/css/linear-gradient-currentcolor-expected.txt: Added.
* fast/css/linear-gradient-currentcolor.html: Added.
* platform/chromium/test_expectations.txt:
* platform/mac/fast/css/linear-gradient-currentcolor-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96449 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoCleanup: Extract code to launch a Mac WebKit application into a common function
dbates@webkit.org [Sat, 1 Oct 2011 01:40:31 +0000 (01:40 +0000)]
Cleanup: Extract code to launch a Mac WebKit application into a common function
https://bugs.webkit.org/show_bug.cgi?id=68662

Reviewed by Adam Roben.

Extracts common code to launch a WebKit application on Mac OS X into a function
so that we can remove duplicate code.

* Scripts/run-webkit-app: Modified to use webkitdirs::runMacWebKitApp().
* Scripts/webkitdirs.pm: Sorted @EXPORT list and added constant USE_OPEN_COMMAND.
(runMacWebKitApp): Added.
(runSafari): Modified to use webkitdirs::runMacWebKitApp().
(runMiniBrowser): Ditto.
(runWebKitTestRunner): Ditto.
(runTestWebKitAPI): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUpdate baseline for this test on Leopard.
abarth@webkit.org [Sat, 1 Oct 2011 01:37:02 +0000 (01:37 +0000)]
Update baseline for this test on Leopard.

* platform/chromium-cg-mac-leopard/fast/text/complex-synthetic-bold-space-width-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96447 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRemove toStrictThisObject, toThisString, toThisJSString
barraclough@apple.com [Sat, 1 Oct 2011 01:29:34 +0000 (01:29 +0000)]
Remove toStrictThisObject, toThisString, toThisJSString
https://bugs.webkit.org/show_bug.cgi?id=69203

Rubber stamped by Sam Weinig

These are no longer used.

../JavaScriptCore:

* JavaScriptCore.exp:
* runtime/JSActivation.cpp:
* runtime/JSActivation.h:
* runtime/JSObject.cpp:
* runtime/JSObject.h:
* runtime/JSStaticScopeObject.cpp:
* runtime/JSStaticScopeObject.h:
* runtime/JSValue.h:
* runtime/StrictEvalActivation.cpp:
* runtime/StrictEvalActivation.h:

../WebCore:

* bindings/js/JSDOMWindowBase.cpp:
* bindings/js/JSDOMWindowBase.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96446 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRemove ASSERT introduced in http://trac.webkit.org/changeset/96427
abarth@webkit.org [Sat, 1 Oct 2011 01:17:06 +0000 (01:17 +0000)]
Remove ASSERT introduced in trac.webkit.org/changeset/96427
which is triggering all over the place.

Sorting this out is covered in this bug:
https://bugs.webkit.org/show_bug.cgi?id=69200

* rendering/RenderView.cpp:
(WebCore::RenderView::layout):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agowatchlist: Add webkit-patch command to run watchlist.
levin@chromium.org [Sat, 1 Oct 2011 01:08:15 +0000 (01:08 +0000)]
watchlist: Add webkit-patch command to run watchlist.
https://bugs.webkit.org/show_bug.cgi?id=68973

Reviewed by Eric Seidel.

* Scripts/webkitpy/common/host.py: Exposed the watch_list.
* Scripts/webkitpy/common/watchlist/watchlist.py: Changed to return
the cc and messages as sorted lists. To allow for deterministic ordering.
* Scripts/webkitpy/common/watchlist/watchlist_unittest.py: Ditto.
* Scripts/webkitpy/tool/commands/__init__.py: Add ApplyWatchListLocal so
that it will be exposed as a command by webkit-patch.
* Scripts/webkitpy/tool/commands/applywatchlistlocal.py: Added.
* Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py: Added.
* Scripts/webkitpy/tool/commands/download.py: Added ApplyWatchList which mimics CheckStyle.
* Scripts/webkitpy/tool/commands/download_unittest.py: Added an appropriate test.
* Scripts/webkitpy/tool/mocktool.py: Mock out the watch list.
* Scripts/webkitpy/tool/steps/__init__.py: Added ApplyWatchList.
* Scripts/webkitpy/tool/steps/applywatchlist.py: Added.
* Scripts/webkitpy/tool/steps/applywatchlist_unittest.py: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96444 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoDFG does not speculate aggressively enough on put_by_id
fpizlo@apple.com [Sat, 1 Oct 2011 00:58:15 +0000 (00:58 +0000)]
DFG does not speculate aggressively enough on put_by_id
https://bugs.webkit.org/show_bug.cgi?id=69114

Reviewed by Oliver Hunt.

This adds new nodes along with optimizations for those nodes:

GetPropertyStorage: CheckStructure used to do both the structure
check and retrieve the storage pointer. Now CheckStructure just
checks the structure, and GetPropertyStorage retrieves the
storage pointer.

PutStructure: Changes the structure, and has the expected store
to load optimization with CheckStructure.

PutByOffset: Directly sets the value. Has store to load
optimization with GetByOffset.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::cellConstant):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::writeBarrier):
* dfg/DFGJITCodeGenerator.h:
* dfg/DFGNode.h:
(JSC::DFG::Node::hasStructure):
(JSC::DFG::Node::hasStorageAccessData):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::impureCSE):
(JSC::DFG::Propagator::checkStructureLoadElimination):
(JSC::DFG::Propagator::getByOffsetLoadElimination):
(JSC::DFG::Propagator::getPropertyStorageLoadElimination):
(JSC::DFG::Propagator::eliminate):
(JSC::DFG::Propagator::performNodeCSE):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUnreviewed, rolling out r96426.
abarth@webkit.org [Sat, 1 Oct 2011 00:46:50 +0000 (00:46 +0000)]
Unreviewed, rolling out r96426.
http://trac.webkit.org/changeset/96426
https://bugs.webkit.org/show_bug.cgi?id=69199

Broke a zillion image results on Chromium Skia Mac (Requested
by abarth|gardener on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-30

* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::getFocusRingOutset):
(WebCore::GraphicsContext::drawFocusRing):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96442 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agowatchlist: Add a way to detect a net increase or decrease of a pattern (in a file).
levin@chromium.org [Sat, 1 Oct 2011 00:39:52 +0000 (00:39 +0000)]
watchlist: Add a way to detect a net increase or decrease of a pattern (in a file).
https://bugs.webkit.org/show_bug.cgi?id=69031

Reviewed by Adam Barth.

* Scripts/webkitpy/common/config/watchlist: Added usage of the new pattern,
a comment to explain something important about the email addresses, and
a comment to let emacs know to treat the file as a python file.
* Scripts/webkitpy/common/watchlist/amountchangedpattern.py: Added.
Detects increases or decreases in a pattern.
* Scripts/webkitpy/common/watchlist/amountchangedpattern_unittest.py: Added.
* Scripts/webkitpy/common/watchlist/watchlist_unittest.py:
Added unit tests for watchlist which has "more" or "less".
* Scripts/webkitpy/common/watchlist/watchlistparser.py:
Added support for "more" or "less".

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFix assertion failure in XSS Auditor
isherman@chromium.org [Sat, 1 Oct 2011 00:25:09 +0000 (00:25 +0000)]
Fix assertion failure in XSS Auditor
https://bugs.webkit.org/show_bug.cgi?id=69050
https://code.google.com/p/chromium/issues/detail?id=97346

Reviewed by Daniel Bates.

Source/WebCore:

Test: fast/forms/xss-auditor-doesnt-crash.html

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init): Don't try to decode the HTML body if it is empty.

LayoutTests:

* fast/forms/xss-auditor-doesnt-crash-expected.txt: Added.
* fast/forms/xss-auditor-doesnt-crash.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96440 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdd support for eventSender.mouseScrollBy in WTR
weinig@apple.com [Sat, 1 Oct 2011 00:16:48 +0000 (00:16 +0000)]
Add support for eventSender.mouseScrollBy in WTR
https://bugs.webkit.org/show_bug.cgi?id=69189

Source/WebKit2:

Reviewed by Simon Fraser.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleWheelEvent):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::wheelEventSyncForTesting):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
Add sync version of wheel event handling for use in testing.

Tools:

Add implementation of eventSender.mouseScrollBy for the mac.

Reviewed by Simon Fraser.

* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::keyDown):
(WTR::EventSendingController::mouseScrollBy):
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseScrollBy):

LayoutTests:

Reviewed by Simon Fraser.

* platform/mac-wk2/Skipped:
Removes tests that used eventSender.mouseScrollBy.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96439 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoStringRecursionChecker should not work in terms of EncodedJSValue
barraclough@apple.com [Fri, 30 Sep 2011 23:54:44 +0000 (23:54 +0000)]
StringRecursionChecker should not work in terms of EncodedJSValue
https://bugs.webkit.org/show_bug.cgi?id=69188

Reviewed by Oliver Hunt.

0 is not the empty value on 32_64.
Code that casts literals to EncodedJSValues may be unsafe if we change our internal representation.

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncJoin):
* runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
* runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncToString):
* runtime/StringRecursionChecker.cpp:
(JSC::StringRecursionChecker::throwStackOverflowError):
(JSC::StringRecursionChecker::emptyString):
* runtime/StringRecursionChecker.h:
(JSC::StringRecursionChecker::performCheck):
(JSC::StringRecursionChecker::earlyReturnValue):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96438 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoLoading page on potterybankids causes reproducible assertion failure in debug builds
mjs@apple.com [Fri, 30 Sep 2011 23:30:59 +0000 (23:30 +0000)]
Loading page on potterybankids causes reproducible assertion failure in debug builds
https://bugs.webkit.org/show_bug.cgi?id=69185
<rdar://problem/10218241>

Reviewed by Simon Fraser.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::computeRepaintRects): Remove assert condition that isn't guaranteed
to be true.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoDFG JIT, Branch on integer can always be a 32-bit compare.
barraclough@apple.com [Fri, 30 Sep 2011 23:05:59 +0000 (23:05 +0000)]
DFG JIT, Branch on integer can always be a 32-bit compare.
https://bugs.webkit.org/show_bug.cgi?id=69174

Reviewed by Sam Weinig.

if (shouldSpeculateInteger(node.child1()) && !isStrictInt32(node.child1())),
the JSVALUE64 JIT will currently compare all 64bits in the register, but in
these cases the DataFormat is always a JS boxed integer. In these cases we
can just compare the low 32bits anyway - no need to check the tag.
This allows the code to be unified with the JSVALUE32_64 JIT.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96436 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Qt] Add missing include for QMimeData
caio.oliveira@openbossa.org [Fri, 30 Sep 2011 23:01:23 +0000 (23:01 +0000)]
[Qt] Add missing include for QMimeData
https://bugs.webkit.org/show_bug.cgi?id=69178

Reviewed by Tor Arne Vestbø.

This was implicitly included by other headers, but due to changes in
Qt5 we need to include explicitly.

* UIProcess/qt/QtWebPageProxy.cpp:
* WebProcess/WebPage/WebPage.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agofast/forms/text-control-intrinsic-widths.html fails on Mac if Word/Office fonts are...
simon.fraser@apple.com [Fri, 30 Sep 2011 22:53:53 +0000 (22:53 +0000)]
fast/forms/text-control-intrinsic-widths.html fails on Mac if Word/Office fonts are installed
https://bugs.webkit.org/show_bug.cgi?id=35273

Reviewed by Dan Bernstein.

There are two types of font issue that can cause layout test failure.
First, the user may have non-standard fonts installed that affect the layout
of some tests. For example, some tests use the MS Gothic font if installed.

Secondly, the user may have duplicate fonts installed in ~/Library/Fonts,
which override the system fonts (e.g. a copy of Arial from MS Office). For
some tests, this can affect font metrics or fallback behavior.

This change addresses the first problem only. It limits the set of fonts
available through NSFontManager, by swizzling some methods to return
a list of fonts or font families which only include fonts from a hardcoded
whitelist.

* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
(drt_NSFontManager_availableFontFamilies):
(drt_NSFontManager_availableFonts):
(swizzleNSFontManagerMethods):
(activateTestingFonts):
(adjustFonts):
(createWebViewAndOffscreenWindow):
(prepareConsistentTestingEnvironment):
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::allowedFontFamilySet):
(WTR::drt_NSFontManager_availableFontFamilies):
(WTR::drt_NSFontManager_availableFonts):
(WTR::swizzleNSFontManagerMethods):
(WTR::InjectedBundle::platformInitialize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoSource/WebCore: Support -webkit-tap-highlight-color when enabling touch events support.
jnd@chromium.org [Fri, 30 Sep 2011 22:31:01 +0000 (22:31 +0000)]
Source/WebCore: Support -webkit-tap-highlight-color when enabling touch events support.
https://bugs.webkit.org/show_bug.cgi?id=48544

Reviewed by Kenneth Rohde Christiansen.

Original code from the iOS WebCore code dump, extracted and modified by tijiang@rim and jnd@chromium.
Supports the new CSS property -webkit-tap-highlight-color on platforms which support touch events.
Platform can override WebCore::RenderTheme::platformTapHighlightColor to use its own platform
specific default tap highlight color. Otherwise RenderTheme::defaultTapHighlightColor will be
used as default tap highlight color.

Test: fast/events/touch/tap-highlight-color.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::tapHighlightColor):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::platformTapHighlightColor):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::initialTapHighlightColor):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::tapHighlightColor):
(WebCore::InheritedFlags::setTapHighlightColor):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:

LayoutTests: Support -webkit-tap-highlight-color in WebCore when enabling touch events support.
https://bugs.webkit.org/show_bug.cgi?id=48544.

Reviewed by Kenneth Rohde Christiansen.

Add a layout test to get customized tap highlight color set by page author.

* fast/css/getComputedStyle/computed-style-without-renderer.html:
* fast/css/getComputedStyle/computed-style.html:
* fast/events/touch/script-tests/tap-highlight-color.js: Added.
(onTouchStart):
(touchTargets):
* fast/events/touch/tap-highlight-color-expected.txt: Added.
* fast/events/touch/tap-highlight-color.html: Added.
* svg/css/getComputedStyle-basic.xhtml:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2011-09-30 Oliver Hunt <oliver@apple.com>
oliver@apple.com [Fri, 30 Sep 2011 22:23:33 +0000 (22:23 +0000)]
2011-09-30  Oliver Hunt  <oliver@apple.com>

        Need a sensible GGC policy

        Reviewed by Geoff Garen.

        This replaces the existing random collection policy
        with a deterministic policy based on nursery size.

        * heap/AllocationSpace.cpp:
        (JSC::AllocationSpace::allocateSlowCase):
        * heap/Heap.cpp:
        (JSC::Heap::Heap):
        (JSC::Heap::markRoots):
        (JSC::Heap::collect):
        * heap/Heap.h:
        * heap/MarkedSpace.cpp:
        (JSC::MarkedSpace::MarkedSpace):
        (JSC::MarkedSpace::resetAllocator):
        * heap/MarkedSpace.h:
        (JSC::MarkedSpace::nurseryWaterMark):
        (JSC::MarkedSpace::allocate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96432 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=69173
hyatt@apple.com [Fri, 30 Sep 2011 22:12:37 +0000 (22:12 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=69173

RTL/LTR mixtures still not correct in regions. Simplify the loop once I realized it's only
your directionality that matters and not your containing block's.

Reviewed by Dan Bernstein.

Source/WebCore:

Added new test in fast/regions.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::borderBoxRectInRegion):

LayoutTests:

* fast/regions/multiple-directionality-changes-in-variable-width-regions.html: Added.
* platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.png: Added.
* platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96431 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[chromium] Pass a processed bool in WebCompositorClient::didHandleInputEvent to indic...
commit-queue@webkit.org [Fri, 30 Sep 2011 22:00:33 +0000 (22:00 +0000)]
[chromium] Pass a processed bool in WebCompositorClient::didHandleInputEvent to indicate if the event was processed
https://bugs.webkit.org/show_bug.cgi?id=69169

Patch by James Robinson <jamesr@chromium.org> on 2011-09-30
Reviewed by Darin Fisher.

If the compositor does not process the input event the embedder might want to do something with it - for
example, if the input event type is part of a CTRL+T keyboard accelerator sequence the browser might want to
open a new tab. This passes that state through the didHandleInputEvent callback.

* public/WebCompositorClient.h:
* src/WebCompositorImpl.cpp:
(WebKit::WebCompositorImpl::handleInputEvent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96430 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoDFG 32-bit support for op_call and op_construct causes
fpizlo@apple.com [Fri, 30 Sep 2011 21:44:20 +0000 (21:44 +0000)]
DFG 32-bit support for op_call and op_construct causes
run-javascriptcore-tests to fail
https://bugs.webkit.org/show_bug.cgi?id=69171

Reviewed by Gavin Barraclough.

This fixes one obvious bug that was causing test failures (no
support for dummy slow case for op_add in 32_64), and disables
op_call and op_construct by default.

* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emit_op_add):
(JSC::JIT::emitSlow_op_add):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96429 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoNeed to skip webkitpy.common.checkout.baselineoptimizer_unittest.BaselineOptimizerTes...
levin@chromium.org [Fri, 30 Sep 2011 21:38:26 +0000 (21:38 +0000)]
Need to skip webkitpy.common.checkout.baselineoptimizer_unittest.BaselineOptimizerTest on Windows..
https://bugs.webkit.org/show_bug.cgi?id=69039

Reviewed by Adam Barth.

* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
Actually skip only one specific test that is failing on Windows.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96428 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/10208291> first-letter in generated before content with display:...
mitz@apple.com [Fri, 30 Sep 2011 21:36:57 +0000 (21:36 +0000)]
<rdar://problem/10208291> first-letter in generated before content with display: table is not updated

Reviewed by Sam Weinig.

Source/WebCore:

Test: fast/css-generated-content/first-letter-in-nested-before.html

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::updateBeforeAfterContent): Preserve the style type of anonymous
containers around the generated content when updating their style. This preserves the first-letter-ness
of the inline wrapping the first letter, which allows updateFirstLetter() to identify it later.

LayoutTests:

* fast/css-generated-content/first-letter-in-nested-before-expected.png: Added.
* fast/css-generated-content/first-letter-in-nested-before-expected.txt: Added.
* fast/css-generated-content/first-letter-in-nested-before.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96427 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoInset focus ring (Skia on Mac)
caryclark@google.com [Fri, 30 Sep 2011 21:26:08 +0000 (21:26 +0000)]
Inset focus ring (Skia on Mac)
https://bugs.webkit.org/show_bug.cgi?id=69166
http://code.google.com/p/chromium/issues/detail?id=97956

This focus ring was drawn too large and was left tracks
in subsequent invalidations. Make it more closely match
the CG version.

Reviewed by Stephen White.

No new tests. This platform is not enabled.

* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::getFocusRingOutset):
(WebCore::GraphicsContext::drawFocusRing):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96426 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUnreviewed, rolling out r96422.
commit-queue@webkit.org [Fri, 30 Sep 2011 21:23:44 +0000 (21:23 +0000)]
Unreviewed, rolling out r96422.
http://trac.webkit.org/changeset/96422
https://bugs.webkit.org/show_bug.cgi?id=69170

Broke Windows build and kling wanted to roll it out as well
(Requested by rniwa on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-30

* rendering/InlineBox.cpp:
(WebCore::InlineBox::prevOnLineExists):
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96425 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoCrash due to out of bounds read/write in MarkedSpace
ggaren@apple.com [Fri, 30 Sep 2011 21:15:04 +0000 (21:15 +0000)]
Crash due to out of bounds read/write in MarkedSpace
https://bugs.webkit.org/show_bug.cgi?id=69148

This was a case of being surprised by a poorly aritulcated cell size limit,
plus an incorrect ASSERT guarding the cell size limit.

Reviewed by Oliver Hunt.

* heap/MarkedSpace.h:
(JSC::MarkedSpace::sizeClassFor): Changed heap size ranges to be inclusive,
since it makes the ranges easier to understand.

Bumped up the max cell size to support the use case in this bug. Since the
atomSize is much bigger than it used to be, there isn't much accounting
cost to handling more size classes.

Switched to FixedArray, to help catch SizeClass indexing bugs in the future.

* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::resetAllocator):
(JSC::MarkedSpace::canonicalizeCellLivenessData): Updated for size ranges
being inclusive.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96424 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=69167
hyatt@apple.com [Fri, 30 Sep 2011 21:04:45 +0000 (21:04 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=69167

[CSS3 Regions] Fix some bugs in the computation of the logical left and width offsets
for blocks in variable width regions. Specifically, this patch addresses a minor bug
with overflow:hidden/scroll/auto block placement and with RTL directionality.

Reviewed by Sam Weinig.

Source/WebCore:

Added five new tests in fast/regions.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::logicalRightOffsetForContent):
Avoid a double fetch of the border box in a given region by not calling
logicalLeftOffsetForContent. No correctness change here. It's just cleaner.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::borderBoxRectInRegion):
Change the shifted optimization to be cached for "self" rather than for "containing block".
Rework the adjustment loop to handle changes in directionality and to fix correctness
issues with RTL.

(WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
Don't double adjust if an object uses line width as the containing block width. In that
case we already computed the line width in the region, so we don't need to apply any
additional fixup.

(WebCore::RenderBox::renderBoxRegionInfo):
* rendering/RenderBoxRegionInfo.h:
(WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
(WebCore::RenderBoxRegionInfo::isShifted):
Changed the shifted code to be on self rather than on containing block.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout):
Refactor the layout code for RenderFlowThread to properly set up region rects assuming
right alignment in RTL code. This change forces us to compute our maximum logical width
first before looping through the regions again to set their content rects.

LayoutTests:

* fast/regions/overflow-in-variable-width-regions.html: Added.
* fast/regions/overflow-rtl-in-variable-width-regions.html: Added.
* fast/regions/percentage-margins-mixed-ltr-dominant-regions.html: Added.
* fast/regions/percentage-margins-mixed-rtl-dominant-regions.html: Added.
* fast/regions/percentage-margins-rtl-variable-width-regions.html: Added.
* platform/mac/fast/regions/overflow-in-variable-width-regions-expected.png: Added.
* platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt: Added.
* platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.png: Added.
* platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt: Added.
* platform/mac/fast/regions/percentage-margins-mixed-ltr-dominant-regions-expected.png: Added.
* platform/mac/fast/regions/percentage-margins-mixed-ltr-dominant-regions-expected.txt: Added.
* platform/mac/fast/regions/percentage-margins-mixed-rtl-dominant-regions-expected.png: Added.
* platform/mac/fast/regions/percentage-margins-mixed-rtl-dominant-regions-expected.txt: Added.
* platform/mac/fast/regions/percentage-margins-rtl-variable-width-regions-expected.png: Added.
* platform/mac/fast/regions/percentage-margins-rtl-variable-width-regions-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoREGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and...
commit-queue@webkit.org [Fri, 30 Sep 2011 20:49:27 +0000 (20:49 +0000)]
REGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and extra memory use.
https://bugs.webkit.org/show_bug.cgi?id=64914

Patch by Andreas Kling <kling@webkit.org> on 2011-09-30
Reviewed by Antti Koivisto.

Remove InlineBox::prevOnLineExists() and its two accompanying bitfields
since nobody is using them anymore. nextOnLineExists() is still used by
GTK+ accessibility code.

Also added a compile-time assertion to guard against future bloating of
the InlineBox class.

* rendering/InlineBox.cpp:
(WebCore::SameSizeAsInlineBox::~SameSizeAsInlineBox):
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96422 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Qt] Build fix: Qt::escape is deprecated in Qt5
commit-queue@webkit.org [Fri, 30 Sep 2011 20:47:43 +0000 (20:47 +0000)]
[Qt] Build fix: Qt::escape is deprecated in Qt5
https://bugs.webkit.org/show_bug.cgi?id=69162

Use QString::toHtmlEscaped in the Qt5 case.

Patch by Pierre Rossi <pierre.rossi@gmail.com> on 2011-09-30
Reviewed by Andreas Kling.

Source/JavaScriptCore:

* JavaScriptCore.pri:
* wtf/qt/UtilsQt.h: Added.
(escapeHtml):
* wtf/wtf.pri:

Source/WebCore:

No new tests needed.

* WebCore.pro: adjust the include path accordingly
in the v8 case.

Source/WebKit/qt:

* Api/qwebpage.cpp:
(QWebPage::javaScriptAlert):
(QWebPage::javaScriptConfirm):
(QWebPage::javaScriptPrompt):
* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::setToolTip):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96421 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUpdate baselines after http://trac.webkit.org/changeset/96404.
abarth@webkit.org [Fri, 30 Sep 2011 20:36:23 +0000 (20:36 +0000)]
Update baselines after trac.webkit.org/changeset/96404.

* platform/chromium-cg-mac/fast/text/atsui-multiple-renderers-expected.png: Added.
* platform/chromium-cg-mac/fast/text/complex-synthetic-bold-space-width-expected.png: Added.
* platform/chromium-linux/fast/text/complex-synthetic-bold-space-width-expected.png: Added.
* platform/chromium-mac/fast/text/atsui-multiple-renderers-expected.png:
* platform/chromium-mac/fast/text/complex-synthetic-bold-space-width-expected.png: Added.
* platform/chromium-win/fast/text/complex-synthetic-bold-space-width-expected.png: Added.
* platform/chromium-win/fast/text/complex-synthetic-bold-space-width-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96420 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFix bug in getHostCallReturnValue of DFG JIT on X86
commit-queue@webkit.org [Fri, 30 Sep 2011 20:36:08 +0000 (20:36 +0000)]
Fix bug in getHostCallReturnValue of DFG JIT on X86
https://bugs.webkit.org/show_bug.cgi?id=69133

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-30
Reviewed by Gavin Barraclough.

We need to insert the additional argument in the stack slot before
return address instead of simply pushing it afterwards.
Also getHostCallReturnValue* should be attributed as stdcall
to make the stack cleaned up by the callee.

* dfg/DFGOperations.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96419 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Qt] wtf header files are unknown to Qt Creator
commit-queue@webkit.org [Fri, 30 Sep 2011 20:22:20 +0000 (20:22 +0000)]
[Qt] wtf header files are unknown to Qt Creator
https://bugs.webkit.org/show_bug.cgi?id=69158

Adding the HEADERS variable in wtf.pri so that
the header files can be accessed easily.

Patch by Pierre Rossi <pierre.rossi@gmail.com> on 2011-09-30
Reviewed by Andreas Kling.

* wtf/wtf.pri:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96418 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Qt] Prevent qDebug() output from DRT and WTR unless --verbose
vestbo@webkit.org [Fri, 30 Sep 2011 20:05:20 +0000 (20:05 +0000)]
[Qt] Prevent qDebug() output from DRT and WTR unless --verbose

For DRT we didn't install the message handler early enough to
catch output while constructing the QApplication. For WTR we
didn't even install a message handler.

Since the UI process will forward any output from the web process
we set an environment variable QT_WEBKIT_SUPPRESS_WEB_PROCESS_OUTPUT
in WTR before the web process is started. This is picked up by the
web process which installs its own message handler.

The environment variable can be overriden on the command line if you
want to see output from the web process, or you can pass --verbose to
WTR to see output from both processes.

https://bugs.webkit.org/show_bug.cgi?id=69132

Reviewed by Andreas Kling.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Qt] Make sure WTR sizes the window and item correctly
vestbo@webkit.org [Fri, 30 Sep 2011 20:04:57 +0000 (20:04 +0000)]
[Qt] Make sure WTR sizes the window and item correctly

Revision 96345 changed the logic for how the view and
window was created, but missed a vital part, setting
the size.

We now use a QSGView for the window, that has a simple
item as its root object that is always resized to fit
within the window. The webview is then parented to the
root object and set to anchors.fill: parent. That way
any window geometry changes will propagate to the web
view.

https://bugs.webkit.org/show_bug.cgi?id=69134

Reviewed by Andreas Kling.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoMerge some more of DFGSpeculativeJIT 32_64/64
barraclough@apple.com [Fri, 30 Sep 2011 20:01:38 +0000 (20:01 +0000)]
Merge some more of DFGSpeculativeJIT 32_64/64
https://bugs.webkit.org/show_bug.cgi?id=69164

Reviewed by Oliver Hunt.

* dfg/DFGJITCodeGenerator.h:
* dfg/DFGJITCodeGenerator32_64.cpp:
* dfg/DFGJITCodeGenerator64.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileValueAdd):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileValueAdd):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::compile):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[EFL] Only save the current viewport in PixelDumpSupportEfl.
commit-queue@webkit.org [Fri, 30 Sep 2011 19:34:33 +0000 (19:34 +0000)]
[EFL] Only save the current viewport in PixelDumpSupportEfl.
https://bugs.webkit.org/show_bug.cgi?id=68450

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-30
Reviewed by Antonio Gomes.

The previous implementation saved the whole page contents in the final
PNG, however the baselines and expectations in the tree only want the
current viewport (with a scrollbar, if needed), so we now only save the
currently visible contents.

* DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
(createBitmapContextFromWebView): Use
ewk_frame_visible_content_geometry_get instead of
ewk_frame_contents_size_get.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRemove didCompleteRubberBandForMainFrame UIClient callback
andersca@apple.com [Fri, 30 Sep 2011 19:11:39 +0000 (19:11 +0000)]
Remove didCompleteRubberBandForMainFrame UIClient callback
https://bugs.webkit.org/show_bug.cgi?id=69161

Reviewed by Adam Roben.

* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebUIClient.cpp:
* UIProcess/WebUIClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::didCompleteRubberBandForFrame):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agowebkit->chromium DEPS roll 102910->103471
abarth@webkit.org [Fri, 30 Sep 2011 19:05:32 +0000 (19:05 +0000)]
webkit->chromium DEPS roll 102910->103471
https://bugs.webkit.org/show_bug.cgi?id=69160

Patch by Elliot Poger <epoger@google.com> on 2011-09-30
Reviewed by Adam Barth.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96412 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[EFL] Support and keep track of extra windows (views).
commit-queue@webkit.org [Fri, 30 Sep 2011 18:44:46 +0000 (18:44 +0000)]
[EFL] Support and keep track of extra windows (views).
https://bugs.webkit.org/show_bug.cgi?id=68454

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-30
Reviewed by Antonio Gomes.

So far, window.open and related JavaScript code would not work, as
DRTView did not implementation
Ewk_View_Smart_Class::window_{open,close}. The default implementation
in ewk just returns the current window/view, which broke any
layouttest which relied on window.open.

We now properly create and remove these new views. Unfortunately, the
current way ewk works (and due to the fact that we cannot pass class
methods as function pointers to the EFL functions), DRTView needs to
know that DRTChrome exists and call `browser' directly in some points.

* DumpRenderTree/efl/DumpRenderTreeView.cpp:
(onWindowCreate):
(onWindowCloseDelayed):
(onWindowClose):
(drtViewTiledAdd):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRemove unused ReplaceSelectionCommand::copyStyleToChildren
rniwa@webkit.org [Fri, 30 Sep 2011 18:28:13 +0000 (18:28 +0000)]
Remove unused ReplaceSelectionCommand::copyStyleToChildren
https://bugs.webkit.org/show_bug.cgi?id=69153

Reviewed by Antonio Gomes.

Removed the function because it's no called anywhere.

* editing/ReplaceSelectionCommand.cpp:
* editing/ReplaceSelectionCommand.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFix EnabledAtRuntime support for constants.
commit-queue@webkit.org [Fri, 30 Sep 2011 18:20:22 +0000 (18:20 +0000)]
Fix EnabledAtRuntime support for constants.
https://bugs.webkit.org/show_bug.cgi?id=67311

Patch by Aaron Colwell <acolwell@chromium.org> on 2011-09-30
Reviewed by Adam Barth.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96409 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=69043
hyatt@apple.com [Fri, 30 Sep 2011 18:18:15 +0000 (18:18 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=69043

[CSS3 Regions] Blocks split across regions with variable width need to size
differently in each region.

This patch adds the capability for blocks to have variable width and positioning
when split across regions. It is very rudimentary and so far only operates on basic
normal flow RenderBlocks. Future patches will expand the support to cover other layout
constructs like flexible boxes and tables.

Reviewed by Sam Weinig.

Added new tests in fast/regions and updated existing results.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
* rendering/HitTestResult.h:
(WebCore::HitTestResult::region):
(WebCore::HitTestResult::setRegion):
The hit test result now holds the active RenderRegion so that hit testing can adjust
block widths and positions when hit testing their border boxes.

* rendering/PaintInfo.h:
(WebCore::PaintInfo::PaintInfo):
The paint info struct now holds the active RenderRegion so that painting can adjust
block widths and positions when painting borders and backgrounds and shadows.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
If our width ever changes, we invalidate all of our cached RenderBoxRegionInfo in all
regions that we span.

(WebCore::RenderBlock::clearRenderBoxRegionInfo):
Called to clear out our cached region-specific information in all regions that we span.

(WebCore::RenderBlock::borderBoxRectInRegionAtPosition):
Returns the borderBoxRect for the region at the specified vertical offset. This rect
can be both shifted horizontally and have a different width from our original border rect.

(WebCore::RenderBlock::logicalLeftOffsetForContent):
(WebCore::RenderBlock::logicalRightOffsetForContent):
Modified to call borderBoxRectInRegionAtPosition so that lines will fit inside
the content rect of the border box rect for the specific region.

* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalRightOffsetForContent):
Modified to call logicalLeftOffsetForContent since it's cleaner.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::borderBoxRectInRegion):
Called to compute the border box rect in a specific region. The result is cached in a HashMap
in the region itself so that subsequent lookups are fast.

(WebCore::RenderBox::nodeAtPoint):
Modified to use the border box rect in the active region when hit testing the backgrounds of boxes.

(WebCore::RenderBox::paintBoxDecorations):
Modified to use the border box rect in the active region when painting the backgrounds of boxes.

(WebCore::RenderBox::containingBlockLogicalWidthForContent):
(WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeLogicalWidthInRegion):
Helpers for computing logical widths and margins in a specific region. The result is then cached
in a HashMap in the region.

(WebCore::RenderBox::renderBoxRegionInfo):
The function for obtaining the region-specific information for a given box.

* rendering/RenderBox.h:
(WebCore::RenderBox::borderBoxRectInRegion):
New function for returning the border box rect in a given region.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
Make sure mask painting honors the active region.

* rendering/RenderBoxRegionInfo.h: Added.
(WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
(WebCore::RenderBoxRegionInfo::logicalLeft):
(WebCore::RenderBoxRegionInfo::logicalWidth):
(WebCore::RenderBoxRegionInfo::containingBlockChainIsShifted):
New class held by RenderRegions that caches box-specific info for a given region. This will eventually
expand to include custom styles as well, but for now it is limited to a new logical left and a new
logical width, along with a bit for optimizing accumulated shifting when painting/hit testing to avoid
too much groveling up the containing block chain.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
Removed the region fitting optimization, since eventually everyone is going to care, and there's no reason
to limit it with the results now being cached.

(WebCore::RenderFlowThread::layout):
All box-specific region information is always cleared whenever the regions are invalidated.

(WebCore::RenderFlowThread::computeLogicalWidth):
Modified to set up RenderBoxRegionInfo for the flow thread in all regions.

(WebCore::RenderFlowThread::paintIntoRegion):
(WebCore::RenderFlowThread::hitTestRegion):
Modified to take the region instead of the region's rectangle so that painting and hit testing of the flow
thread layer tree can properly receive the active region.

(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
Helper for removing a box's information from all regions. For now it grovels through every region, so eventually
we may want to have a cache of the start/end regions for a given box somewhere.

* rendering/RenderFlowThread.h:
Removal of the region fitting stuff.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintOverlayScrollbars):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::paintPaginatedChildLayer):
(WebCore::RenderLayer::paintChildLayerIntoColumns):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
Modified to pass the current region down through painting functions so that it is known at paint time.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
Added a new bit to RenderObjects, inRenderFlowThread(), so that it is quick to determine whether or not an
object needs flow thread special casing.

(WebCore::RenderObject::enclosingRenderFlowThread):
Modified enclosingRenderFlowThread to be able to quickly return 0 if the object is not in a flow thread.

(WebCore::RenderObject::containerForRepaint):
Same.

* rendering/RenderObject.h:
(WebCore::RenderObject::setParent):
setParent now updates inRenderFlowThread() state.

(WebCore::RenderObject::inRenderFlowThread):
(WebCore::RenderObject::setInRenderFlowThread):
Adding the new bit.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
Make sure when an object is removed from a RenderFlowThread that it deletes its box-specific information
in all regions.

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::~RenderRegion):
(WebCore::RenderRegion::paintReplaced):
(WebCore::RenderRegion::nodeAtPoint):
(WebCore::RenderRegion::renderBoxRegionInfo):
(WebCore::RenderRegion::setRenderBoxRegionInfo):
(WebCore::RenderRegion::removeRenderBoxRegionInfo):
(WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
(WebCore::RenderRegion::matchesRenderFlowThreadLogicalWidth):
* rendering/RenderRegion.h:
Added the new HashMap for holding box-specific region information. Also added an additional optimization to
check if a specific region matches the overall width of the RenderFlowThread. If it does, we don't need to
cache box-specific information for that region.

* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::paintIntoRect):
* rendering/svg/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
Modified the PaintInfo construction to include the region argument. It's not optional so that callers will
have to consider it (since masks illustrated this is necessary).

LayoutTests:

* fast/regions/percentage-margins-variable-width-regions.html: Added.
* platform/mac/fast/regions/percentage-margins-variable-width-regions-expected.png: Added.
* platform/mac/fast/regions/percentage-margins-variable-width-regions-expected.txt: Added.
* platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.png:
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png:
* platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.png:
* platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png:
* platform/mac/fast/regions/webkit-flow-inlines-dynamic-expected.png:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-expected.png:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-expected.png:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96408 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agofeBlend uses a table of function pointers which reduces inlineability inside the...
timothy_horton@apple.com [Fri, 30 Sep 2011 18:09:14 +0000 (18:09 +0000)]
feBlend uses a table of function pointers which reduces inlineability inside the main loop
https://bugs.webkit.org/show_bug.cgi?id=69154
<rdar://problem/10215221>

Reviewed by Darin Adler.

Don't use a table of function pointers inside the feBlend inner loop, instead
use switch and inline functions, bringing a 20% performance gain across the
board to feBlend.

No new tests, minor performance improvement.

* platform/graphics/filters/FEBlend.cpp:
(WebCore::normal):
(WebCore::multiply):
(WebCore::screen):
(WebCore::darken):
(WebCore::lighten):
(WebCore::FEBlend::apply):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96407 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdd getCallData to MethodTable in ClassInfo
mhahnenberg@apple.com [Fri, 30 Sep 2011 17:59:15 +0000 (17:59 +0000)]
Add getCallData to MethodTable in ClassInfo
https://bugs.webkit.org/show_bug.cgi?id=69024

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

Added the getCallData to the MethodTable in the ClassInfo struct.
* runtime/ClassInfo.h:

Source/WebCore:

No new tests.

* WebCore.exp.in:

Changed getCallData from private to protected to allow subclasses who
don't override getCallData themselves to reference it in their own
method tables when calling the CREATE_METHOD_TABLE macro.
* bridge/runtime_method.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96406 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebKitTestRunner needs layoutTestController.setAppCacheMaximumSize
qi.2.zhang@nokia.com [Fri, 30 Sep 2011 17:26:14 +0000 (17:26 +0000)]
WebKitTestRunner needs layoutTestController.setAppCacheMaximumSize
https://bugs.webkit.org/show_bug.cgi?id=42698

Reviewed by Andreas Kling.

Source/WebKit2:

Implemented layoutTestController.setAppCacheMaximumSize and layoutTestController.clearApplicationCache,
and call clearApplicationCache when layoutTest start up.

* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleClearApplicationCache):
(WKBundleSetAppCacheMaximumSize):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearApplicationCache):
(WebKit::InjectedBundle::setAppCacheMaximumSize):
* WebProcess/InjectedBundle/InjectedBundle.h:

Tools:

Implemented layoutTestController.setAppCacheMaximumSize and layoutTestController.clearApplicationCache,
and call clearApplicationCache when layoutTest start up.

* WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR::LayoutTestController::clearAllApplicationCaches):
(WTR::LayoutTestController::setAppCacheMaximumSize):
* WebKitTestRunner/InjectedBundle/LayoutTestController.h:

LayoutTests:

Removed http/tests/appcache/max-size.html from skipped list, and also the "failed" expected file for http/tests/appcache/interrupted-update-expected.html

* platform/mac-wk2/http/tests/appcache: Removed.
* platform/mac-wk2/http/tests/appcache/interrupted-update-expected.txt: Removed.
* platform/wk2/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96405 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoComplex spaces with synthetic bold are too wide
mitz@apple.com [Fri, 30 Sep 2011 17:05:22 +0000 (17:05 +0000)]
Complex spaces with synthetic bold are too wide
https://bugs.webkit.org/show_bug.cgi?id=69033

Patch by Ned Holbrook <nholbrook@apple.com> on 2011-09-30
Reviewed by Dan Bernstein.

Source/WebCore:

Test: fast/text/complex-synthetic-bold-space-width.html

* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances): Subtract synthetic bold offset from spaceWidth.
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::shapeAndPlaceItem): Ditto.

LayoutTests:

* fast/text/complex-synthetic-bold-space-width.html: Added.
* platform/mac/fast/text/atsui-multiple-renderers-expected.png:
* platform/mac/fast/text/atsui-multiple-renderers-expected.txt:
* platform/mac/fast/text/complex-synthetic-bold-space-width-expected.png: Added.
* platform/mac/fast/text/complex-synthetic-bold-space-width-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoLayoutTests: Rewrite fast/dom/HTMLInputElement/input-size-attribute.html
commit-queue@webkit.org [Fri, 30 Sep 2011 17:00:10 +0000 (17:00 +0000)]
LayoutTests: Rewrite fast/dom/HTMLInputElement/input-size-attribute.html
https://bugs.webkit.org/show_bug.cgi?id=69130

Patch by Antaryami Pandia <antaryami.pandia@motorola.com> on 2011-09-30
Reviewed by Alexey Proskuryakov.

* fast/dom/HTMLInputElement/input-size-attribute-expected.txt:
* fast/dom/HTMLInputElement/input-size-attribute.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96403 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Qt][WK2] Change WebKitTestRunner to use QMouseEvents instead of QGraphicsSceneMouseE...
commit-queue@webkit.org [Fri, 30 Sep 2011 14:54:02 +0000 (14:54 +0000)]
[Qt][WK2] Change WebKitTestRunner to use QMouseEvents instead of QGraphicsSceneMouseEvents
https://bugs.webkit.org/show_bug.cgi?id=69145

This is a follow up to https://bugs.webkit.org/show_bug.cgi?id=69105
Due to refactorings in Qt5, QMouseEvent now supports floating point coordinates
and is perfectly suitable for SceneGraph as well. GraphicsScene events
will not be available in QtGui anymore in future. Therefore we also have to change
QtWebKit to use QMouseEvents instead of QGraphicsSceneMouseEvents.

Patch by Zeno Albisser <zeno.albisser@nokia.com> on 2011-09-30
Reviewed by Chang Shu.

* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
(WTR::EventSenderProxy::createMouseEvent):
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReplace textInputController.doCommand with eventSender.keyDown in password-echo tests
commit-queue@webkit.org [Fri, 30 Sep 2011 14:44:02 +0000 (14:44 +0000)]
Replace textInputController.doCommand with eventSender.keyDown in password-echo tests
https://bugs.webkit.org/show_bug.cgi?id=69143

textInputController.doCommand is not supported very well across the platforms. Replace it
with eventSender.keyDown would make the tests pass on more platforms and potentially WK2.

Patch by Chang Shu <cshu@webkit.org> on 2011-09-30
Reviewed by Antonio Gomes.

* editing/input/resources/password-echo.js:
(init):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[UNIX] Add a method to get information for an already loaded plugin module
carlosgc@webkit.org [Fri, 30 Sep 2011 14:23:43 +0000 (14:23 +0000)]
[UNIX] Add a method to get information for an already loaded plugin module
https://bugs.webkit.org/show_bug.cgi?id=69139

Reviewed by Martin Robinson.

* Shared/Plugins/Netscape/NetscapePluginModule.h: Add pluginInfo().
* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::pluginInfo): Private method to get
the plugin information from the module, it must be called when the
module has been already initialized.
(WebKit::NetscapePluginModule::getPluginInfo): Use pluginInfo() to
get information of the plugin module for the given path.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Qt][WK2] Event delivery in QDesktopWebView is broken after merge of Qt5 refactor
commit-queue@webkit.org [Fri, 30 Sep 2011 11:58:30 +0000 (11:58 +0000)]
[Qt][WK2] Event delivery in QDesktopWebView is broken after merge of Qt5 refactor
https://bugs.webkit.org/show_bug.cgi?id=69105

This changes QDesktopWebView and QDesktopWebPageProxy to use QMouseEvent instead
of QGraphicsSceneMouseEvent.
Further it removes an endless loop introduced by the QSGItem::event() function
delivering inputMethodEvents but no other events.

Patch by Zeno Albisser <zeno.albisser@nokia.com> on 2011-09-30
Reviewed by Andreas Kling.

* Shared/NativeWebMouseEvent.h:
(WebKit::NativeWebMouseEvent::nativeEvent):
* Shared/NativeWebWheelEvent.h:
(WebKit::NativeWebWheelEvent::nativeEvent):
* Shared/qt/NativeWebMouseEventQt.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
* Shared/qt/NativeWebWheelEventQt.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
* Shared/qt/WebEventFactoryQt.cpp:
(WebKit::mouseButtonForEvent):
(WebKit::webEventTypeForEvent):
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
* Shared/qt/WebEventFactoryQt.h:
* UIProcess/API/qt/qdesktopwebview.cpp:
(QDesktopWebView::mousePressEvent):
(QDesktopWebView::mouseMoveEvent):
(QDesktopWebView::mouseReleaseEvent):
(QDesktopWebView::mouseDoubleClickEvent):
(QDesktopWebView::wheelEvent):
(QDesktopWebView::event):
* UIProcess/API/qt/qdesktopwebview.h:
* UIProcess/qt/qdesktopwebpageproxy.cpp:
(QDesktopWebPageProxy::handleEvent):
(QDesktopWebPageProxy::handleMouseMoveEvent):
(QDesktopWebPageProxy::handleMousePressEvent):
(QDesktopWebPageProxy::handleMouseReleaseEvent):
(QDesktopWebPageProxy::handleMouseDoubleClickEvent):
(QDesktopWebPageProxy::handleWheelEvent):
(QDesktopWebPageProxy::handleHoverMoveEvent):
* UIProcess/qt/qdesktopwebpageproxy.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWeb Inspector: [chromium] expose inspector protocol version to the embedder.
pfeldman@chromium.org [Fri, 30 Sep 2011 10:44:46 +0000 (10:44 +0000)]
Web Inspector: [chromium] expose inspector protocol version to the embedder.
https://bugs.webkit.org/show_bug.cgi?id=69092

Source/WebCore:

This change also introduces major/minor inspector version components.

Reviewed by Yury Semikhatsky.

* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* inspector/Inspector-0.1.json: Renamed from Source/WebCore/inspector/Inspector.draft-01.json.
* inspector/Inspector.json:
* inspector/generate-inspector-protocol-version: Renamed from Source/WebCore/inspector/validate-protocol-compatibility.

Source/WebKit/chromium:

Reviewed by Yury Semikhatsky.

* public/WebDevToolsAgent.h:
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgent::inspectorProtocolVersion):
(WebKit::WebDevToolsAgent::supportsInspectorProtocolVersion):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Chromium] Layout test failures under Snow Leopard
hamaji@chromium.org [Fri, 30 Sep 2011 08:07:01 +0000 (08:07 +0000)]
[Chromium] Layout test failures under Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=54322

Unreviewed test_expectations.txt update. acid3 seems to be IMAGE+TEXT, not IMAGE

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Chromium] Layout Test fast/frames/frame-set-rotation-hit.html and fast/frames/frame...
hamaji@chromium.org [Fri, 30 Sep 2011 08:00:28 +0000 (08:00 +0000)]
[Chromium] Layout Test fast/frames/frame-set-rotation-hit.html and fast/frames/frame-set-scaling-hit.html are failing
https://bugs.webkit.org/show_bug.cgi?id=69136

Unreviewed test_expectations.txt update

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoVersioning.
mrowe@apple.com [Fri, 30 Sep 2011 07:14:12 +0000 (07:14 +0000)]
Versioning.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=69106
antti@apple.com [Fri, 30 Sep 2011 07:07:17 +0000 (07:07 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=69106
Universal attribute selectors disable style sharing

Reviewed by Dave Hyatt.

Selectors of type [foo="bar"] ended up marking every element style with the affectedByAttributeSelectors bit
rendering style sharing inoperative. This happens on http://www.whatwg.org/specs/web-apps/current-work/ for example.

Instead we now mark style with affectedByUncommonAttributeSelectors bit only if an attribute selector actually
matches the element. Before sharing, we also check the current element against collected attribute rules.
We can share the style if neither element was affected.

This speeds up style matching and applying ~15% on full HTML5 spec (=~0.7s). Sharing percentage goes from 0% to ~30%.
Increased sharing should also save a substantial amount of memory.

* css/CSSSelector.h:
(WebCore::CSSSelector::isAttributeSelector):
* css/CSSStyleSelector.cpp:
(WebCore::RuleData::containsUncommonAttributeSelector):
(WebCore::collectSpecialRulesInDefaultStyle):
(WebCore::assertNoSiblingRulesInDefaultStyle):
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::matchRules):
(WebCore::CSSStyleSelector::matchesRuleSet):
(WebCore::CSSStyleSelector::canShareStyleWithElement):
(WebCore::CSSStyleSelector::locateSharedStyle):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::selectorListContainsUncommonAttributeSelector):
(WebCore::isCommonAttributeSelectorAttribute):
(WebCore::containsUncommonAttributeSelector):
(WebCore::RuleData::RuleData):
(WebCore::collectFeaturesFromSelector):
(WebCore::collectFeaturesFromList):
* css/CSSStyleSelector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::affectedByUncommonAttributeSelectors):
(WebCore::InheritedFlags::setAffectedByUncommonAttributeSelectors):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96393 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[chromium] Add WebKit API for sending input events to the compositor thread
jamesr@google.com [Fri, 30 Sep 2011 07:05:19 +0000 (07:05 +0000)]
[chromium] Add WebKit API for sending input events to the compositor thread
https://bugs.webkit.org/show_bug.cgi?id=69117

Reviewed by Darin Fisher.

Source/WebCore:

Convert to using an externally-provided thread instead of one managed by CCThreadProxy internally. Most changes
in these files are mechanically changing references from ccThread to s_ccThread to reflect the class-static
nature of this pointer, the rest are removing the old thread creation codepath.

These changes are covered by the CC* unit tests and by the gpu layout tests when run with the
use_threaded_compositing=1 gyp define.

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::setThread):
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::~CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::finishAllRendering):
(WebCore::CCThreadProxy::initializeLayerRenderer):
(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
(WebCore::CCThreadProxy::setNeedsRedraw):
(WebCore::CCThreadProxy::start):
(WebCore::CCThreadProxy::stop):
(WebCore::CCThreadProxy::beginFrameAndCommit):
(WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:

Source/WebKit/chromium:

Adds a new WebKit interface to allow the embedder to pass input events directly to the compositor thread.
Exposes the new WebCompositor interface and associated client. These interfaces are slightly different in that
they can only be interacted with from the compositor thread.

Changes the initialization path for the compositor thread to using an externally allocated and managed thread
instead of one internal to WebCore so that the embedder can interact with the thread more easily. This also
simplifies the startup and shutdown paths.  The contract is that WebCompositor::setThread() must be called
before any compositor can be initialized and the passed-in thread must outlive all compositor instances.

Each WebCompositor instance is associated with a WebWidget.  There isn't any way to get a WebCompositor for a
given WebWidget in this patch, that will be done in a follow-up.

* WebKit.gyp:
* public/WebCompositor.h:
(WebKit::WebCompositor::~WebCompositor):
* public/WebCompositorClient.h:
(WebKit::WebCompositorClient::~WebCompositorClient):
* src/CCThreadImpl.cpp:
(WebKit::CCThreadImpl::create):
(WebKit::CCThreadImpl::CCThreadImpl):
* src/CCThreadImpl.h:
* src/WebCompositorImpl.cpp: Added.
(WebKit::WebCompositor::setThread):
(WebKit::WebCompositorImpl::WebCompositorImpl):
(WebKit::WebCompositorImpl::~WebCompositorImpl):
(WebKit::WebCompositorImpl::setClient):
(WebKit::WebCompositorImpl::handleInputEvent):
* src/WebCompositorImpl.h:
(WebKit::WebCompositorImpl::create):
* src/WebViewImpl.cpp:
* src/WebViewImpl.h:
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTest::CCLayerTreeHostTest):
* tests/CCThreadTest.cpp:
(WebKit::TEST):

Tools:

Adds support for creating and setting a compositor thread in DRT.

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::WebViewHost):
* DumpRenderTree/chromium/WebViewHost.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96392 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdd op_call/op_constructor support to JSVALUE32_64 DFG JIT
commit-queue@webkit.org [Fri, 30 Sep 2011 06:17:13 +0000 (06:17 +0000)]
Add op_call/op_constructor support to JSVALUE32_64 DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=69120

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-29
Reviewed by Gavin Barraclough.

Improve the coverage of JSVALUE32_64 DFG JIT.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::tagOfCallData):
(JSC::DFG::payloadOfCallData):
* dfg/DFGJITCodeGenerator32_64.cpp:
(JSC::DFG::JITCodeGenerator::emitCall):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agowatchlist: Add cross-checks for WatchList once it is filled.
levin@chromium.org [Fri, 30 Sep 2011 05:22:55 +0000 (05:22 +0000)]
watchlist: Add cross-checks for WatchList once it is filled.
https://bugs.webkit.org/show_bug.cgi?id=68975

Reviewed by Eric Seidel.

* Scripts/webkitpy/common/watchlist/watchlist.py: Made the data members public
instead of having trivial getter and setters.
* Scripts/webkitpy/common/watchlist/watchlist_unittest.py: Fix the unit tests to
pass the validation checks.
* Scripts/webkitpy/common/watchlist/watchlistparser.py: Add validation checks
and fix a few style nits.
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py: Add tests for the
validation checks.
* Scripts/webkitpy/common/watchlist/watchlistrule.py: Make definitions_to_match public.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoDFG JIT - register not unlocked after usage in ArithDiv
commit-queue@webkit.org [Fri, 30 Sep 2011 05:15:58 +0000 (05:15 +0000)]
DFG JIT - register not unlocked after usage in ArithDiv
https://bugs.webkit.org/show_bug.cgi?id=69122

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-29
Reviewed by Geoffrey Garen.

Some allocated register is not unlocked after the usage in ArithDiv.
Also there's a typo in "ENBALE_DFG_CONSISTENTCY_CHECK".

* dfg/DFGNode.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96389 268f45cc-cd09-0410-ab3c-d52691b4dbfc