WebKit-https.git
8 years agoFix broken non-JIT build.
commit-queue@webkit.org [Tue, 21 Aug 2012 03:52:40 +0000 (03:52 +0000)]
Fix broken non-JIT build.
https://bugs.webkit.org/show_bug.cgi?id=94564.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-20
Reviewed by Filip Pizlo.

Added some UNUSED_PARAM() macros to make the compiler happy.

* runtime/Executable.cpp:
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):

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

8 years ago[BlackBerry] Select popup shows blank content when its option tags contain '\' characters
commit-queue@webkit.org [Tue, 21 Aug 2012 03:38:53 +0000 (03:38 +0000)]
[BlackBerry] Select popup shows blank content when its option tags contain '\' characters
https://bugs.webkit.org/show_bug.cgi?id=94321

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2012-08-20
Reviewed by George Staikos.

PR 194224

When the SelectPopupClient generates HTML, if there is a character '\' in the select options'
description, we should escape it to avoid the character being interpreted as an escape character.

* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::generateHTML):

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

8 years agoShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
shinyak@chromium.org [Tue, 21 Aug 2012 03:22:06 +0000 (03:22 +0000)]
ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
https://bugs.webkit.org/show_bug.cgi?id=91704

Reviewed by Dimitri Glazkov.

Source/WebCore:

According to the spec, ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception. The existing implementation
returned null object instead.

We change the cloneNode() interface so that we can throw an exception from cloneNode().

Test: fast/dom/shadow/shadowroot-clonenode.html

* dom/Attr.cpp:
(WebCore::Attr::cloneNode):
* dom/Attr.h:
* dom/CDATASection.cpp:
(WebCore::CDATASection::cloneNode):
* dom/CDATASection.h:
(CDATASection):
* dom/Comment.cpp:
(WebCore::Comment::cloneNode):
* dom/Comment.h:
(Comment):
* dom/Document.cpp:
(WebCore::Document::cloneNode):
* dom/Document.h:
(Document):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::cloneNode):
* dom/DocumentFragment.h:
(DocumentFragment):
* dom/DocumentType.cpp:
(WebCore::DocumentType::cloneNode):
* dom/DocumentType.h:
(DocumentType):
* dom/Element.cpp:
(WebCore::Element::cloneNode):
* dom/Element.h:
(Element):
* dom/EntityReference.cpp:
(WebCore::EntityReference::cloneNode):
* dom/EntityReference.h:
(EntityReference):
* dom/Node.h:
(Node):
(WebCore::Node::cloneNode):
* dom/Node.idl:
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::cloneNode):
* dom/ProcessingInstruction.h:
(ProcessingInstruction):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::cloneNode):
* dom/ShadowRoot.h:
(ShadowRoot):
* dom/Text.cpp:
(WebCore::Text::cloneNode):
* dom/Text.h:
(Text):

LayoutTests:

* fast/dom/shadow/shadowroot-clonenode-expected.txt: Added.
* fast/dom/shadow/shadowroot-clonenode.html: Added.

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

8 years ago[Chromium-win] Use native digits in parsing/formatting dates in the textfield part...
tkent@chromium.org [Tue, 21 Aug 2012 03:04:46 +0000 (03:04 +0000)]
[Chromium-win] Use native digits in parsing/formatting dates in the textfield part of input[type=date]
https://bugs.webkit.org/show_bug.cgi?id=94281

Reviewed by Hajime Morita.

Source/WebCore:

Tests: Add some cases to Source/WebKit/chromium/tests/LocaleWinTest.cpp

* platform/text/LocaleWin.cpp:
(WebCore::LocaleWin::isLocalizedDigit): A helper for parseNumber(). This
return true if the specified character is one of native digits.
(WebCore::LocaleWin::parseNumber):
Try to parse ASCII digits, then try to parse native digtis. This
becomes a member of LocaleWin because it uses
convertFromLocalizedNumber().
(WebCore::LocaleWin::appendNumber): Apply convertToLocalizedNumber().
(WebCore::LocaleWin::appendTwoDigitsNumber): ditto.
(WebCore::LocaleWin::appendFourDigitsNumber): ditto.
* platform/text/LocaleWin.h:
(LocaleWin):
- Make some static functions member functions of LocaleWin.
- Add isLocalizedDigit().

Source/WebKit/chromium:

* tests/LocaleWinTest.cpp:
(TEST_F): Added formatting and parsing tests for Persian locale to check
native digit behavior.

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

8 years agoAdd a watcher for WTF changes
benjamin@webkit.org [Tue, 21 Aug 2012 02:59:22 +0000 (02:59 +0000)]
Add a watcher for WTF changes

Unreviewed.

Add myself as a watcher for changes in WTF.

* Scripts/webkitpy/common/config/watchlist:

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

8 years agoUnreviewed Chromium gardening. Improved how a few test
kbr@google.com [Tue, 21 Aug 2012 02:49:22 +0000 (02:49 +0000)]
Unreviewed Chromium gardening. Improved how a few test
expectations were merged together in r126117.

* platform/chromium/TestExpectations:

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

8 years agoRename collectGarbageIfNecessary() to hintForCollectGarbage()
haraken@chromium.org [Tue, 21 Aug 2012 02:47:21 +0000 (02:47 +0000)]
Rename collectGarbageIfNecessary() to hintForCollectGarbage()
https://bugs.webkit.org/show_bug.cgi?id=94455

Reviewed by Adam Barth.

This is a follow-up patch for r126098.

collectGarbage() always collects garbage. collectGarbageIfNecessary() just sends
an idle notification to V8, which is just a hint for V8 to trigger GC.
To clarify the difference, this patch renames collectGarbageIfNecessary()
to hintForCollectGarbage().

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::clearForClose):
(WebCore::ScriptController::clearForNavigation):
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::hintForCollectGarbage):
* bindings/v8/V8GCController.h:
(V8GCController):

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

8 years ago[chromium] Texture layer should not generate zero textureId quads
commit-queue@webkit.org [Tue, 21 Aug 2012 02:35:33 +0000 (02:35 +0000)]
[chromium] Texture layer should not generate zero textureId quads
https://bugs.webkit.org/show_bug.cgi?id=94550

Patch by Alexandre Elias <aelias@google.com> on 2012-08-20
Reviewed by Adrienne Walker.

After a context loss, CCTextureLayerImpl would clear its textureId
but continued to produce external resources and quads with the zero
textureid.  Add early returns so that CCTextureLayerImpl becomes
inert after a context loss.

Added assertion in read lock so that dontUseOldResourcesAfterLostContext
test catches the problem.

* platform/graphics/chromium/cc/CCResourceProvider.h:
(WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
* platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
(WebCore::CCTextureLayerImpl::willDraw):
(WebCore::CCTextureLayerImpl::appendQuads):
(WebCore::CCTextureLayerImpl::didDraw):
(WebCore::CCTextureLayerImpl::didLoseContext):

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

8 years ago[Chromium] Make the popup positioning code testable
tkent@chromium.org [Tue, 21 Aug 2012 02:33:47 +0000 (02:33 +0000)]
[Chromium] Make the popup positioning code testable
https://bugs.webkit.org/show_bug.cgi?id=94086

Reviewed by Hajime Morita.

Source/WebCore:

Introduce PopupContent interface in order to make a mock.

* platform/chromium/PopupContainer.cpp:
(WebCore::PopupContainer::layoutAndCalculateWidgetRectInternal):
 - Make it a member of PopupContainer to avoid namespace pollution.
 - Use PopupContent interface.
 - Make the code clearer.
* platform/chromium/PopupContainer.h:
(PopupContainer): Expose layoutAndCalculateWidgetRectInternal.

* platform/chromium/PopupListBox.cpp:
(WebCore::PopupListBox::popupContentHeight): Added.
* platform/chromium/PopupListBox.h:
(PopupContent): Added.
(PopupListBox): Inherit PopupContent.
(WebCore::PopupListBox::~PopupListBox):
Make this virtual because this class has some virtual functions.

Source/WebKit/chromium:

* WebKit.gypi: Add PopupContainerTest.cpp.
* tests/PopupContainerTest.cpp: Added.
(MockPopupContent):
(calculatePosition):
(TEST):

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

8 years agoXSSAuditor too tolerant of injected data: URLs from other "hostless" schemes.
tsepez@chromium.org [Tue, 21 Aug 2012 02:11:02 +0000 (02:11 +0000)]
XSSAuditor too tolerant of injected data: URLs from other "hostless" schemes.
https://bugs.webkit.org/show_bug.cgi?id=94547

Reviewed by Adam Barth.

Source/WebCore:

Check that there is a host before making same-host tests.

Test: fast/frames/xss-auditor-handles-file-urls.html

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::eraseAttributeIfInjected):
(WebCore::XSSAuditor::isLikelySafeResource):
* html/parser/XSSAuditor.h:

LayoutTests:

* fast/frames/resources/static-xss-vector.html: Added.
* fast/frames/xss-auditor-handles-file-urls-expected.txt: Added.
* fast/frames/xss-auditor-handles-file-urls.html: Added.

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

8 years agoRemoved dead code from a very old iteration of CSS counters.
commit-queue@webkit.org [Tue, 21 Aug 2012 02:03:27 +0000 (02:03 +0000)]
Removed dead code from a very old iteration of CSS counters.
https://bugs.webkit.org/show_bug.cgi?id=94539

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-08-20
Reviewed by Eric Seidel.

Remove two unused shorts that were on StyleRareNonInheritedData that are no longer used.

No tests, this just removes dead code.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

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

8 years agoFix inspector with variables enabled and enable inspector variables tests by default.
macpherson@chromium.org [Tue, 21 Aug 2012 02:00:42 +0000 (02:00 +0000)]
Fix inspector with variables enabled and enable inspector variables tests by default.
https://bugs.webkit.org/show_bug.cgi?id=94296

Reviewed by Hajime Morita.

Source/WebCore:

Change from using getPropertyName static function to CSSProperty::cssName(), which can resolve variables if needed.

Covered by inspector/styles/variables.

* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::item):

LayoutTests:

Fix paths to included javascript and enable tests by default on Chromium port.

* inspector/styles/variables/css-variables.html:
* platform/chromium/TestExpectations:

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

8 years agoUnreviewed. Fixed lint errors in TestExpectations after r126110.
kbr@google.com [Tue, 21 Aug 2012 01:59:26 +0000 (01:59 +0000)]
Unreviewed. Fixed lint errors in TestExpectations after r126110.

* platform/chromium/TestExpectations:

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

8 years agoCancel the outstanding vibration pattern if the pattern is 0 or an empty list
commit-queue@webkit.org [Tue, 21 Aug 2012 01:50:14 +0000 (01:50 +0000)]
Cancel the outstanding vibration pattern if the pattern is 0 or an empty list
https://bugs.webkit.org/show_bug.cgi?id=94085

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-20
Reviewed by Kentaro Hara.

vibrate() method to stop the device from vibrating is getting called before the
vibration is in effect. Hence, it is failing to cancel the pre-existing instance
of processing vibration patterns.

This patch cancel the pre-existing instance of the processing vibration patterns
always when the vibrate() method called with pattern 0 or an empty list.

No new tests since there is no return value in the Vibration API to test this
particular case. Existing test fast/dom/navigator-vibration.html covers testing of
the Vibration API.

* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::vibrate):

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

8 years ago[Chromium] Fix warnings on Windows builds
commit-queue@webkit.org [Tue, 21 Aug 2012 01:28:23 +0000 (01:28 +0000)]
[Chromium] Fix warnings on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=94543

Patch by Scott Graham <scottmg@chromium.org> on 2012-08-20
Reviewed by Adrienne Walker.

* tests/CCMathUtilTest.cpp:

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

8 years agoAllow MutationEvents to be enabled/disabled per context
adamk@chromium.org [Tue, 21 Aug 2012 01:14:51 +0000 (01:14 +0000)]
Allow MutationEvents to be enabled/disabled per context
https://bugs.webkit.org/show_bug.cgi?id=94016

Reviewed by Ojan Vafai.

Source/WebCore:

Chromium wants to be able to turn MutationEvents off for some
Documents (e.g., for Apps V2). This patch makes the firing (and the
constructor on DOMWindow) of MutationEvents a per-context feature, with
the default being enabled.

No functional change (since the feature defaults to enabled).
It's not clear to me that there's a way to test this in DRT without
adding a special hook for this one feature. It will be tested in
Chromium once it's implemented in Chromium.

* dom/ContextFeatures.cpp:
(WebCore::ContextFeatures::mutationEventsEnabled): Add new method,
with the default being enabled.
* dom/ContextFeatures.h:
* dom/Document.cpp:
(WebCore::Document::addMutationEventListenerTypeIfEnabled): Add new
method that checks the ContextFeature flag before adding the passed-in
listener type.
(WebCore::Document::addListenerTypeIfNeeded): Call the new method
instead of addListenerType for MutationEvent types.
* dom/Document.h:
(WebCore::Document::addListenerType): Make private to avoid anyone
outside Document from enabling MutationEvent listeners. All callers
must go through addListenerTypeIfNeeded.

Source/WebKit/chromium:

Add Chromium/WebKit API for enabling/disabling MutationEvents via
WebPermissionClient.

* public/WebPermissionClient.h:
(WebPermissionClient):
(WebKit::WebPermissionClient::allowMutationEvents):
* src/ContextFeaturesClientImpl.cpp:
(WebKit::ContextFeaturesClientImpl::askIfIsEnabled):

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

8 years agoUnreviewed, rolling out r126095.
kbr@google.com [Tue, 21 Aug 2012 01:00:48 +0000 (01:00 +0000)]
Unreviewed, rolling out r126095.
http://trac.webkit.org/changeset/126095
https://bugs.webkit.org/show_bug.cgi?id=94555

Breaks compilation of downstream WebWidget::paint
implementations (Requested by jamesr on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-20

* public/WebWidget.h:
(WebKit::WebWidget::paint):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::paint):
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::paint):
* src/WebPopupMenuImpl.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::paint):
* src/WebViewImpl.h:
(WebViewImpl):

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

8 years ago[Sub-pixel Layout] Block selection gap repainting can leave one pixel gaps
leviw@chromium.org [Tue, 21 Aug 2012 00:59:37 +0000 (00:59 +0000)]
[Sub-pixel Layout] Block selection gap repainting can leave one pixel gaps
https://bugs.webkit.org/show_bug.cgi?id=94526

Reviewed by Eric Seidel.

Source/WebCore:

Reverting RenderLayer's m_blockSelectionGapsBounds to be an IntRect and applying enclosingIntRect to the
gapRects added to the bounds. Previously, we'd end multiple block gaps and pixel snap the result, which
can yield results one pixel off in width and height.

Covered by existing tests. This undoes some of the rebaselining from when sub-pixel was enabled for Chromium.

* rendering/RenderLayer.cpp:
* rendering/RenderLayer.h:

LayoutTests:

Correcting pixel gap repainting reverts a bunch of chromium expectations to their pre-sub-pixel layout
versions. This largely triggers 1-pixel image diffs in input fields.

* platform/chromium-mac/editing/input/caret-at-the-edge-of-input-expected.png:
* platform/chromium-mac/editing/inserting/before-after-input-element-expected.png:
* platform/chromium-mac/editing/pasteboard/4806874-expected.png:
* platform/chromium-mac/editing/pasteboard/drop-text-without-selection-expected.png:
* platform/chromium-mac/editing/pasteboard/input-field-1-expected.png:
* platform/chromium-mac/editing/selection/3690703-2-expected.png:
* platform/chromium-mac/editing/selection/3690703-expected.png:
* platform/chromium-mac/editing/selection/3690719-expected.png:
* platform/chromium-mac/editing/selection/4895428-3-expected.png:
* platform/chromium-mac/editing/selection/4975120-expected.png:
* platform/chromium-mac/editing/selection/drag-select-1-expected.png:
* platform/chromium-mac/editing/selection/select-across-readonly-input-1-expected.png:
* platform/chromium-mac/editing/selection/select-across-readonly-input-2-expected.png:
* platform/chromium-mac/editing/selection/select-across-readonly-input-3-expected.png:
* platform/chromium-mac/editing/selection/select-across-readonly-input-4-expected.png:
* platform/chromium-mac/editing/selection/select-across-readonly-input-5-expected.png:
* platform/chromium-mac/editing/selection/select-from-textfield-outwards-expected.png:
* platform/chromium-mac/fast/block/margin-collapse/103-expected.png:
* platform/chromium-mac/fast/css/input-search-padding-expected.png:
* platform/chromium-mac/fast/css/line-height-determined-by-primary-font-expected.png:
* platform/chromium-mac/fast/css/line-height-expected.png:
* platform/chromium-mac/fast/css/square-button-appearance-expected.png:
* platform/chromium-mac/fast/css/text-overflow-input-expected.png:
* platform/chromium-mac/fast/dom/isindex-001-expected.png:
* platform/chromium-mac/fast/dom/isindex-002-expected.png:
* platform/chromium-mac/fast/events/autoscroll-expected.png:
* platform/chromium-mac/fast/events/context-no-deselect-expected.png:
* platform/chromium-mac/fast/forms/basic-buttons-expected.png:
* platform/chromium-mac/fast/forms/basic-inputs-expected.png:
* platform/chromium-mac/fast/forms/box-shadow-override-expected.png:
* platform/chromium-mac/fast/forms/button-sizes-expected.png:
* platform/chromium-mac/fast/forms/color/input-appearance-color-expected.png:
* platform/chromium-mac/fast/forms/date/date-appearance-expected.png:
* platform/chromium-mac/fast/forms/encoding-test-expected.png:
* platform/chromium-mac/fast/forms/fieldset-align-expected.png:
* platform/chromium-mac/fast/forms/floating-textfield-relayout-expected.png:
* platform/chromium-mac/fast/forms/form-element-geometry-expected.png:
* platform/chromium-mac/fast/forms/input-align-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-default-bkcolor-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-disabled-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-focus-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-height-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-preventDefault-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-readonly-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-selection-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-visibility-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-width-expected.png:
* platform/chromium-mac/fast/forms/input-baseline-expected.png:
* platform/chromium-mac/fast/forms/input-disabled-color-expected.png:
* platform/chromium-mac/fast/forms/input-double-click-selection-gap-bug-expected.png:
* platform/chromium-mac/fast/forms/input-field-text-truncated-expected.png:
* platform/chromium-mac/fast/forms/input-placeholder-paint-order-expected.png:
* platform/chromium-mac/fast/forms/input-placeholder-visibility-1-expected.png:
* platform/chromium-mac/fast/forms/input-placeholder-visibility-3-expected.png:
* platform/chromium-mac/fast/forms/input-readonly-autoscroll-expected.png:
* platform/chromium-mac/fast/forms/input-readonly-dimmed-expected.png:
* platform/chromium-mac/fast/forms/input-readonly-empty-expected.png:
* platform/chromium-mac/fast/forms/input-spaces-expected.png:
* platform/chromium-mac/fast/forms/input-table-expected.png:
* platform/chromium-mac/fast/forms/input-text-click-inside-expected.png:
* platform/chromium-mac/fast/forms/input-text-click-outside-expected.png:
* platform/chromium-mac/fast/forms/input-text-double-click-expected.png:
* platform/chromium-mac/fast/forms/input-text-drag-down-expected.png:
* platform/chromium-mac/fast/forms/input-text-option-delete-expected.png:
* platform/chromium-mac/fast/forms/input-text-scroll-left-on-blur-expected.png:
* platform/chromium-mac/fast/forms/input-text-self-emptying-click-expected.png:
* platform/chromium-mac/fast/forms/input-text-word-wrap-expected.png:
* platform/chromium-mac/fast/forms/input-type-text-min-width-expected.png:
* platform/chromium-mac/fast/forms/input-value-expected.png:
* platform/chromium-mac/fast/forms/input-width-expected.png:
* platform/chromium-mac/fast/forms/minWidthPercent-expected.png:
* platform/chromium-mac/fast/forms/number/number-appearance-rtl-expected.png:
* platform/chromium-mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.png:
* platform/chromium-mac/fast/forms/number/number-appearance-spinbutton-layer-expected.png:
* platform/chromium-mac/fast/forms/placeholder-position-expected.png:
* platform/chromium-mac/fast/forms/placeholder-pseudo-style-expected.png:
* platform/chromium-mac/fast/forms/plaintext-mode-2-expected.png:
* platform/chromium-mac/fast/forms/tabbing-input-iframe-expected.png:
* platform/chromium-mac/fast/forms/text-style-color-expected.png:
* platform/chromium-mac/fast/forms/textfield-focus-ring-expected.png:
* platform/chromium-mac/fast/forms/textfield-overflow-expected.png:
* platform/chromium-mac/fast/forms/validation-message-appearance-expected.png:
* platform/chromium-mac/fast/forms/visual-hebrew-text-field-expected.png:
* platform/chromium-mac/fast/frames/take-focus-from-iframe-expected.png:
* platform/chromium-mac/fast/html/details-no-summary4-expected.png:
* platform/chromium-mac/fast/html/details-open-javascript-expected.png:
* platform/chromium-mac/fast/html/details-open2-expected.png:
* platform/chromium-mac/fast/html/details-open4-expected.png:
* platform/chromium-mac/fast/lists/dynamic-marker-crash-expected.png:
* platform/chromium-mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png:
* platform/chromium-mac/fast/repaint/subtree-root-skipped-expected.png:
* platform/chromium-mac/fast/replaced/replaced-breaking-expected.png:
* platform/chromium-mac/fast/replaced/replaced-breaking-mixture-expected.png:
* platform/chromium-mac/fast/replaced/width100percent-textfield-expected.png:
* platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.png:
* platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.png:
* platform/chromium-mac/fast/speech/speech-bidi-rendering-expected.png:
* platform/chromium-mac/fast/table/003-expected.png:
* platform/chromium-mac/fast/table/colspanMinWidth-expected.png:
* platform/chromium-mac/fast/table/spanOverlapRepaint-expected.png:
* platform/chromium-mac/fast/table/text-field-baseline-expected.png:
* platform/chromium-mac/fast/text/textIteratorNilRenderer-expected.png:
* platform/chromium-mac/fast/transforms/transformed-focused-text-input-expected.png:
* platform/chromium-mac/plugins/mouse-click-plugin-clears-selection-expected.png:
* platform/chromium-mac/svg/custom/inline-svg-in-xhtml-expected.png:
* platform/chromium-mac/svg/hixie/mixed/003-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/45621-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug1188-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug12384-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug18359-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug24200-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug2479-2-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug2479-3-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug28928-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug4382-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug4527-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug46368-1-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug46368-2-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug51037-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug55545-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug59354-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug7342-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug96334-expected.png:
* platform/chromium-mac/tables/mozilla/dom/tableDom-expected.png:
* platform/chromium-mac/tables/mozilla/other/move_row-expected.png:
* platform/chromium-mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png:
* platform/chromium/TestExpectations:

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

8 years ago[V8] Move instrumentedCallFunction() from V8Proxy to ScriptController
haraken@chromium.org [Tue, 21 Aug 2012 00:52:47 +0000 (00:52 +0000)]
[V8] Move instrumentedCallFunction() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94456

Reviewed by Adam Barth.

To kill V8Proxy, this patch moves instrumentedCallFunction() from V8Proxy
to ScriptController. Also this patch renames instrumentedCallFunction()
to callFunctionWithInstrumentation(), for consistency with callFunction().

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::callFunction):
(WebCore):
(WebCore::handleMaxRecursionDepthExceeded):
(WebCore::resourceInfo):
(WebCore::resourceString):
(WebCore::ScriptController::callFunctionWithInstrumentation):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/ScriptFunctionCall.cpp:
(WebCore::ScriptCallback::call):
* bindings/v8/V8Callback.cpp:
(WebCore::invokeCallback):
* bindings/v8/V8NodeFilterCondition.cpp:
(WebCore::V8NodeFilterCondition::acceptNode):
* bindings/v8/V8Proxy.cpp:
(WebCore):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/V8WindowErrorHandler.cpp:
(WebCore::V8WindowErrorHandler::callListenerFunction):
* bindings/v8/custom/V8CustomXPathNSResolver.cpp:
(WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):

Source/WebKit/chromium:

* src/WebDevToolsFrontendImpl.cpp:
(WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):

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

8 years agosetMockGeolocationPosition not defined in WKTR
beidson@apple.com [Tue, 21 Aug 2012 00:50:54 +0000 (00:50 +0000)]
setMockGeolocationPosition not defined in WKTR
https://bugs.webkit.org/show_bug.cgi?id=94554

Unreviewed (bot gardening)

* platform/wk2/Skipped:

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

8 years agoNever notify of insertedIntoTree during document destruction.
commit-queue@webkit.org [Tue, 21 Aug 2012 00:45:17 +0000 (00:45 +0000)]
Never notify of insertedIntoTree during document destruction.
https://bugs.webkit.org/show_bug.cgi?id=94535

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-08-20
Reviewed by Eric Seidel.

Never notify of insertedIntoTree during document destruction. Previously since we
avoid notifying of willBeRemovedFromTree it's possible we could have gotten several
insertedIntoTree notifications without ever being told we were removed.

No tests needed since this just closes holes related to future code.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::appendChildNode): Never call insertedIntoTree during document destruction.
(WebCore::RenderObjectChildList::insertChildNode): Same.
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::attachRegion): Removed unneeded document destruction check.

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

8 years ago[chromium] Initialize GraphicsLayerChromium::m_contentsLayerId when setting contents...
jamesr@google.com [Tue, 21 Aug 2012 00:37:07 +0000 (00:37 +0000)]
[chromium] Initialize GraphicsLayerChromium::m_contentsLayerId when setting contents layer
https://bugs.webkit.org/show_bug.cgi?id=94552

Reviewed by Kenneth Russell.

Set it or it don't work good.

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setupContentsLayer):

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

8 years agoSource/WebCore: parse CSS attribute -webkit-blend-mode
krit@webkit.org [Tue, 21 Aug 2012 00:35:27 +0000 (00:35 +0000)]
Source/WebCore: parse CSS attribute -webkit-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=94024

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-08-20
Reviewed by Dirk Schulze.

Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/

Tests: css3/compositing/blend-mode-property-parsing-invalid.html
       css3/compositing/blend-mode-property-parsing.html
       css3/compositing/blend-mode-property.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore):
(WebCore::RenderLayerBacking::updateLayerBlendMode):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::setBlendMode):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

LayoutTests: parse CSS attribute -webkit-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=94024

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-08-20
Reviewed by Dirk Schulze.

Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/

* css3/compositing: Added.
* css3/compositing/blend-mode-property-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-invalid-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-invalid.html: Added.
* css3/compositing/blend-mode-property-parsing.html: Added.
* css3/compositing/blend-mode-property.html: Added.
* css3/compositing/script-tests: Added.
* css3/compositing/script-tests/blend-mode-property-parsing-invalid.js: Added.
(testInvalidFilterRule):
* css3/compositing/script-tests/blend-mode-property-parsing.js: Added.
(jsWrapperClass):
(shouldBeType):
(testFilterRule):
* css3/compositing/script-tests/blend-mode-property.js: Added.
* platform/chromium/css3/compositing/blend-mode-property-expected.txt : Added.
* platform/chromium/css3/compositing/blend-mode-property-parsing-expected.txt : Added.

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

8 years ago[EFL] Move jhbuild dependencies based on SVN to tarballs
commit-queue@webkit.org [Tue, 21 Aug 2012 00:32:09 +0000 (00:32 +0000)]
[EFL] Move jhbuild dependencies based on SVN to tarballs
https://bugs.webkit.org/show_bug.cgi?id=90374

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Moved all the dependencies based on SVN to tarballs taken from a
equivalent snapshot from the official git mirror. This will make
update-webkitefl not dependent on network connection after the first
run. The bots will not fail if EFL SVN server in unreachable.
The reason why git mirror is not used directly is to minimize the
total size of source code we need to download.

* efl/jhbuild.modules:

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

8 years ago[V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
haraken@chromium.org [Tue, 21 Aug 2012 00:31:09 +0000 (00:31 +0000)]
[V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
https://bugs.webkit.org/show_bug.cgi?id=94460

Reviewed by Adam Barth.

To kill V8Proxy, we move retrieve{Window,Frame,PerContextData}()
from V8Proxy to V8Binding. Also, this patch renames these methods as follows:

- retrieveWindow() -> toDOMWindow()
- retrieveFrame() -> toFrameIfNotDetached()
- retrievePerContextData() -> perContextDataForCurrentWorld()

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/BindingState.cpp:
(WebCore::activeDOMWindow):
(WebCore::firstDOMWindow):
(WebCore::activeFrame):
(WebCore::firstFrame):
(WebCore::currentFrame):
(WebCore::currentDocument):
* bindings/v8/PageScriptDebugServer.cpp:
(WebCore::retrieveFrameWithGlobalObjectCheck):
(WebCore::PageScriptDebugServer::getDebugListenerForContext):
(WebCore::PageScriptDebugServer::runMessageLoopOnPause):
* bindings/v8/V8Binding.cpp:
(WebCore::retrieveWindow):
(WebCore):
(WebCore::retrieveFrame):
(WebCore::retrievePerContextData):
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::constructorForType):
* bindings/v8/V8NPUtils.cpp:
(WebCore::convertV8ObjectToNPVariant):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::handleOutOfMemory):
(WebCore::V8Proxy::context):
(WebCore::V8Proxy::matchesCurrentContext):
* bindings/v8/V8Proxy.h:
(V8Proxy):

Source/WebKit/chromium:

* src/WebBindings.cpp:
(WebKit::makeIntArrayImpl):
(WebKit::makeStringArrayImpl):
* src/WebFrameImpl.cpp:
(WebKit::WebFrame::frameForContext):

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

8 years ago[BLACKBERRY] Add notification if an element does not have touch move or mouse move...
commit-queue@webkit.org [Tue, 21 Aug 2012 00:20:43 +0000 (00:20 +0000)]
[BLACKBERRY] Add notification if an element does not have touch move or mouse move handlers.
https://bugs.webkit.org/show_bug.cgi?id=94529

Patch by Genevieve Mak <gmak@rim.com> on 2012-08-20
Reviewed by George Staikos.

Send a notification to the client if the fat finger element does
not have a mouse move or touch move handler or if it is empty.
PR #177701

Reviewed Internally By Mike Lattanzio and Antonio Gomes.

* Api/WebPageClient.h:
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

8 years agoLots of "error, test and reference image have different properties" in pixel test...
simon.fraser@apple.com [Tue, 21 Aug 2012 00:16:41 +0000 (00:16 +0000)]
Lots of "error, test and reference image have different properties" in pixel test output
https://bugs.webkit.org/show_bug.cgi?id=92578

Reviewed by Dirk Pranke.

Improve ImageDiff's error reporting when test result image and expected image
differ in their properties.

* DumpRenderTree/cg/ImageDiffCG.cpp:

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

8 years agoYank an unneccessary if added in r125810.
inferno@chromium.org [Tue, 21 Aug 2012 00:09:47 +0000 (00:09 +0000)]
Yank an unneccessary if added in r125810.
https://bugs.webkit.org/show_bug.cgi?id=85804

Reviewed by Levi Weintraub.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):

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

8 years ago[chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsL...
jamesr@google.com [Tue, 21 Aug 2012 00:06:28 +0000 (00:06 +0000)]
[chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsLayer when setting up a new contents layer
https://bugs.webkit.org/show_bug.cgi?id=94544

Reviewed by Adrienne Walker.

Source/Platform:

Exposes an id so users of the WebLayer API can make identity checks for layers that they do not have ownership
of.

* chromium/public/WebLayer.h:
(WebLayer):

Source/WebCore:

GraphicsLayerChromium only keeps a weak pointer to its m_contentsLayer. When replacing it with a new contents
layer, it may be unsafe to touch the old value. It's also completely unnecessary.

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsTo):
(WebCore::GraphicsLayerChromium::setupContentsLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:

Source/WebKit/chromium:

* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::id):
(WebKit):
* src/WebLayerImpl.h:
(WebLayerImpl):

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

8 years ago[V8] Move collectGarbage() from ScriptController to V8GCController
haraken@chromium.org [Tue, 21 Aug 2012 00:02:03 +0000 (00:02 +0000)]
[V8] Move collectGarbage() from ScriptController to V8GCController
https://bugs.webkit.org/show_bug.cgi?id=94455

Reviewed by Adam Barth.

- This patch moves collectGarbage() from ScriptController to V8GCController.
- This patch makes collectGarbage() a static method.
- This patch removes ScriptController::lowMemoryNotification()
since it is not used at all.

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/ScriptController.cpp:
* bindings/v8/ScriptController.h:
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::collectGarbage):
(WebCore):
* bindings/v8/V8GCController.h:
(V8GCController):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::collectGarbage):

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

8 years agoREGRESSION (125759) fast/forms/file/selected-files-from-history-state.html fails...
beidson@apple.com [Tue, 21 Aug 2012 00:00:13 +0000 (00:00 +0000)]
REGRESSION (125759) fast/forms/file/selected-files-from-history-state.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=94549

Unreviewed (Bot gardening)

* platform/mac-wk2/Skipped:

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

8 years ago[V8] Remove V8Proxy from V8IsolatedContext
haraken@chromium.org [Mon, 20 Aug 2012 23:57:30 +0000 (23:57 +0000)]
[V8] Remove V8Proxy from V8IsolatedContext
https://bugs.webkit.org/show_bug.cgi?id=94450

Reviewed by Adam Barth.

This patch removes dependency on V8Proxy from V8IsolatedContext.

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluateInIsolatedWorld):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
* bindings/v8/V8IsolatedContext.h:
(WebCore):
(V8IsolatedContext):

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

8 years agoWebWidget should be able to paint into a zoomed canvas without aliasing
abarth@webkit.org [Mon, 20 Aug 2012 23:57:24 +0000 (23:57 +0000)]
WebWidget should be able to paint into a zoomed canvas without aliasing
https://bugs.webkit.org/show_bug.cgi?id=92043

Reviewed by James Robinson.

If accelerated compositing is enabled, WebWidget::paint reads back from
the compositor rather than re-painting the widget. That approach works
well if the canvas we're rendering into is at a similar resolution to
the pixels in the compositor, but if the canvas has been scaled (e.g.,
to help the user disambiguate links), then reading back from the
compositor will cause aliasing artifacts.

This patch adds an option to paint to let the embedder request a
software re-rendering of the widget to avoid these aliasing artifacts.

* public/WebWidget.h:
(WebKit::WebWidget::paint):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::paint):
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::paint):
* src/WebPopupMenuImpl.h:
* src/WebViewImpl.cpp:
(WebKit::canvasBackgroundForTransparencey):
(WebKit):
(WebKit::WebViewImpl::paint):
* src/WebViewImpl.h:
(WebViewImpl):

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

8 years agoCanvas drawImage() should draw SVG at the correct scale.
pdr@google.com [Mon, 20 Aug 2012 23:50:23 +0000 (23:50 +0000)]
Canvas drawImage() should draw SVG at the correct scale.
https://bugs.webkit.org/show_bug.cgi?id=94377

Source/WebCore:

Previously, drawing SVG in canvas would render at the incorrect scale
because imageSizeForRenderer did not take into account the page scale.
After this patch, we now incorporate the page scale in
CachedImage::imageSizeForRenderer().

Reviewed by Tim Horton.

Test: svg/as-image/svg-as-image-canvas.html

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):

LayoutTests:

Reviewed by Tim Horton.

* svg/as-image/resources/100px-green-rect.svg: Added.
* svg/as-image/svg-as-image-canvas-expected.html: Added.
* svg/as-image/svg-as-image-canvas.html: Added.

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

8 years agoFixed erroneous line number for LLint frame when throwing exceptions.
commit-queue@webkit.org [Mon, 20 Aug 2012 23:48:00 +0000 (23:48 +0000)]
Fixed erroneous line number for LLint frame when throwing exceptions.
https://bugs.webkit.org/show_bug.cgi?id=94051.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-20
Reviewed by Filip Pizlo.

For LLInt frames, before throwing an exception, adjust the PC from the
return PC back to the call PC if we are indeed at a call site.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::adjustPCIfAtCallSite):
(JSC):
(JSC::CodeBlock::bytecodeOffset):
* bytecode/CodeBlock.h:
(CodeBlock):
* llint/LLIntExceptions.cpp:
(JSC::LLInt::fixupPCforExceptionIfNeeded):
(LLInt):
(JSC::LLInt::interpreterThrowInCaller):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):

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

8 years agoUpdate TestExpectations now that stray ASSERT is fixed in AudioParamTimeline
crogers@google.com [Mon, 20 Aug 2012 23:45:57 +0000 (23:45 +0000)]
Update TestExpectations now that stray ASSERT is fixed in AudioParamTimeline
https://bugs.webkit.org/show_bug.cgi?id=94548

Unreviewed.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed. Roll WebKit chromium DEPS forward.
jamesr@google.com [Mon, 20 Aug 2012 23:43:58 +0000 (23:43 +0000)]
Unreviewed. Roll WebKit chromium DEPS forward.

* DEPS:

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

8 years agoAssertion going back to results.html page from an image diff result
simon.fraser@apple.com [Mon, 20 Aug 2012 23:43:14 +0000 (23:43 +0000)]
Assertion going back to results.html page from an image diff result
https://bugs.webkit.org/show_bug.cgi?id=94143

Reviewed by Adam Barth.

Avoid redundantly setting the DOMWindow on a JSDOMWindow shell in
ScriptCachedFrameData::restore(), as we may have already done this
in ScriptController::clearWindowShell(). This avoids an assertion
on some platforms when going Back to the test results page from
a diff image.

* bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::restore):

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

8 years agoUnsafe vsprintf usage in TestNetscapePlugin
japhet@chromium.org [Mon, 20 Aug 2012 23:39:39 +0000 (23:39 +0000)]
Unsafe vsprintf usage in TestNetscapePlugin
https://bugs.webkit.org/show_bug.cgi?id=94522

Reviewed by Adam Barth.

* DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
(pluginLogWithArguments): Using vsnprintf instead of vsprintf to ensure we don't overflow
    the message buffer.
(testDocumentOpen):
(testWindowOpen):

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

8 years ago[WebGL] OES_vertex_array_object is not correctly un/binding or deleting
dino@apple.com [Mon, 20 Aug 2012 23:33:47 +0000 (23:33 +0000)]
[WebGL] OES_vertex_array_object is not correctly un/binding or deleting
https://bugs.webkit.org/show_bug.cgi?id=94029

Reviewed by Ken Russell.

When the currently bound vertex array is deleted, the specification says that
the default object should be bound in its place. Also, binding a null object
as a vertex array was not actually clearing the bound object at the GL layer.
And lastly, it should not be possible to bind a deleted vertex array.

The test case for this is the public Khronos WebGL conformance suite, in particular:
conformance/extensions/oes-vertex-array-object.html

* html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::deleteVertexArrayOES): Check if the deleted array is
currently bound, and if so, unbind it.
(WebCore::OESVertexArrayObject::bindVertexArrayOES): Make sure never to bind an
array that has been marked as deleted.
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::bindVertexArrayOES): Remove the null check on bind. We
do need to call glBindVertexArrayAPPLE with a null value in order to clear it.

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

8 years ago2d.imageData.object.wrap.html has wrong expectations
commit-queue@webkit.org [Mon, 20 Aug 2012 23:25:29 +0000 (23:25 +0000)]
2d.imageData.object.wrap.html has wrong expectations
https://bugs.webkit.org/show_bug.cgi?id=94089

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Updating and renaming the test to match new version in W3C approved tests.

* canvas/philip/tests/2d.imageData.object.clamp-expected.txt: Renamed from LayoutTests/canvas/philip/tests/2d.imageData.object.wrap-expected.txt.
* canvas/philip/tests/2d.imageData.object.clamp.html: Renamed from LayoutTests/canvas/philip/tests/2d.imageData.object.wrap.html.
* platform/chromium/TestExpectations: Unskipping.
* platform/efl/Skipped: Unskipping.
* platform/gtk/TestExpectations: Unskipping.
* platform/mac/Skipped: Unskipping.
* platform/qt/Skipped: Unskipping.

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

8 years ago[V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
haraken@chromium.org [Mon, 20 Aug 2012 23:18:17 +0000 (23:18 +0000)]
[V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94459

Reviewed by Adam Barth.

To kill V8Proxy, we can move clearForClose() and
clearForNavigation() from V8Proxy to ScriptController.

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::resetIsolatedWorlds):
(WebCore):
(WebCore::ScriptController::clearForClose):
(WebCore::ScriptController::clearForNavigation):
(WebCore::ScriptController::clearWindowShell):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::~V8Proxy):
(WebCore::V8Proxy::handleOutOfMemory):
* bindings/v8/V8Proxy.h:
(V8Proxy):

Source/WebKit/chromium:

* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::detachedFromParent3):

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

8 years agoCSS Masking and CSS Filters applied in wrong order
krit@webkit.org [Mon, 20 Aug 2012 23:07:21 +0000 (23:07 +0000)]
CSS Masking and CSS Filters applied in wrong order
https://bugs.webkit.org/show_bug.cgi?id=94354

Reviewed by Dean Jackson.

Source/WebCore:

According to the Filter Effects spec, the order should be first filters, then masking and clipping.
Changed the order on applying the different effects in RenderLayer.

Test: css3/filters/filter-mask-clip-order.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents): First filter, then mask and clip the content.

LayoutTests:

The test checks the correct order on applying CSS Masking, Filter Effects and CSS Clipping.
According to the Filter Effects spec, the order should be first filters, then masking and clipping.

* css3/filters/filter-mask-clip-order-expected.html: Added.
* css3/filters/filter-mask-clip-order.html: Added.
* css3/filters/resources/mask.png: Added.

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

8 years ago[V8] Move mainWorldContext() from V8Proxy to ScriptController
haraken@chromium.org [Mon, 20 Aug 2012 22:42:35 +0000 (22:42 +0000)]
[V8] Move mainWorldContext() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94453

Reviewed by Adam Barth.

This patch moves mainWorldContext() from V8Proxy to ScriptController.
In addition, this patch removes dependency on V8Proxy from WorldContextHandle.

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/DOMTransaction.cpp:
(WebCore::DOMTransaction::callFunction):
* bindings/v8/NPV8Object.cpp:
(WebCore::toV8Context):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::mainWorldContext):
(WebCore):
(WebCore::ScriptController::bindToWindowObject):
(WebCore::createScriptObject):
(WebCore::ScriptController::createScriptObjectForPluginElement):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/ScriptState.cpp:
(WebCore::mainWorldScriptState):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::prepareListenerObject):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::context):
(WebCore::toV8Context):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/WorldContextHandle.cpp:
(WebCore::WorldContextHandle::adjustedContext):
* bindings/v8/WorldContextHandle.h:
(WebCore):
(WorldContextHandle):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::mainWorldScriptContext):

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

8 years agofast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven...
fpizlo@apple.com [Mon, 20 Aug 2012 22:41:06 +0000 (22:41 +0000)]
fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven-final-object.html on 32-bit
https://bugs.webkit.org/show_bug.cgi?id=94538

Reviewed by Mark Hahnenberg.

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

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

8 years agofast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final...
fpizlo@apple.com [Mon, 20 Aug 2012 22:32:18 +0000 (22:32 +0000)]
fast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.html crashes on 32-bit
https://bugs.webkit.org/show_bug.cgi?id=94026

Reviewed by Mark Hahnenberg.

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

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

8 years agoRemove redundant TOUCH_LISTENER event type
adamk@chromium.org [Mon, 20 Aug 2012 22:24:35 +0000 (22:24 +0000)]
Remove redundant TOUCH_LISTENER event type
https://bugs.webkit.org/show_bug.cgi?id=94524

Reviewed by Ryosuke Niwa.

Source/WebCore:

Code that needs to determine whether there are touch listeners
can instead call Document::touchEventHandlerCount(), added in r107832.
TOUCH_LISTENER didn't fit very well into the hasListenerType() model
anyway, as there's not a 1:1 correspondance between the enum value and
an event.

* dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded): Remove two bits of code:
the bookkeeping for TOUCH_LISTENER, and the notification into
ChromeClient (which is handled by calls to didAddTouchEventHandler in
all the places that call addListenerTypeIfNeeded).
(WebCore::Document::didRemoveTouchEventHandler): Remove bookkeeping for TOUCH_LISTENER.
* dom/Document.h:
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore): Call touchEventHandlerCount instead of hasListenerType.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType): ditto
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent): ditto
* page/Frame.cpp:
(WebCore::Frame::setDocument): ditto
* testing/Internals.cpp: Remove hasTouchEventListener method since its
data source no longer exists.
* testing/Internals.h: ditto
(Internals):
* testing/Internals.idl: ditto

Source/WebKit/chromium:

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setIsAcceptingTouchEvents): Remove
bookkeeping for TOUCH_LISTENER.

LayoutTests:

Removed tests for hasTouchEventListener as they're redundant
with tests for touchEventHandlerCount.

* fast/events/touch/touch-handler-count-expected.txt:
* fast/events/touch/touch-handler-count.html:

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

8 years ago[BlackBerry] Enable XHR Response BLOB
staikos@webkit.org [Mon, 20 Aug 2012 22:23:54 +0000 (22:23 +0000)]
[BlackBerry] Enable XHR Response BLOB
https://bugs.webkit.org/show_bug.cgi?id=94525

Reviewed by Rob Buis.

.:

Add the XHR response blob enable feature to the cmake build system and
enable it for BlackBerry.

* Source/cmake/OptionsBlackBerry.cmake: Add the feature and enable
* Source/cmakeconfig.h.cmake: Add the feature

Tools:

Turn on the XHR response blob feature for the BlackBerry port.

* Scripts/webkitperl/FeatureList.pm: Add the feature and enable it.

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

8 years agoReftest fast/text-autosizing/nested-em-line-height.html needs updating after r126058
kbr@google.com [Mon, 20 Aug 2012 22:22:55 +0000 (22:22 +0000)]
Reftest fast/text-autosizing/nested-em-line-height.html needs updating after r126058
https://bugs.webkit.org/show_bug.cgi?id=94528

Unreviewed Chromium gardening. Narrow test expectation.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed Chromium gardening. Adding suppressions for failing tests.
kbr@google.com [Mon, 20 Aug 2012 22:08:43 +0000 (22:08 +0000)]
Unreviewed Chromium gardening. Adding suppressions for failing tests.

https://bugs.webkit.org/show_bug.cgi?id=94521
https://bugs.webkit.org/show_bug.cgi?id=94528
https://bugs.webkit.org/show_bug.cgi?id=94532

* platform/chromium/TestExpectations:

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

8 years ago[chromium] Change WebLayer from a concrete type to a pure virtual interface
jamesr@google.com [Mon, 20 Aug 2012 21:57:44 +0000 (21:57 +0000)]
[chromium] Change WebLayer from a concrete type to a pure virtual interface
https://bugs.webkit.org/show_bug.cgi?id=94174

Reviewed by Adrienne Walker.

Source/Platform:

This changes WebLayer from a value type to a pure virtual interface and changes Web*Layers from subtypes to
standalone types that have a WebLayer. This better isolates the implementation from the interface and, since
it's not possible to re-wrap an existing layer, makes cleanup explicit instead of requiring the caller to invoke
special cleanup methods before shutdown.

* chromium/public/WebContentLayer.h:
(WebContentLayer):
* chromium/public/WebExternalTextureLayer.h:
(WebExternalTextureLayer):
* chromium/public/WebIOSurfaceLayer.h:
(WebIOSurfaceLayer):
* chromium/public/WebImageLayer.h:
(WebImageLayer):
* chromium/public/WebLayer.h:
(WebKit):
(WebLayer):
(WebKit::WebLayer::~WebLayer):
* chromium/public/WebScrollableLayer.h:
(WebScrollableLayer):
* chromium/public/WebScrollbarLayer.h:
(WebScrollbarLayer):
* chromium/public/WebSolidColorLayer.h:
(WebKit):
(WebSolidColorLayer):
(WebKit::WebSolidColorLayer::~WebSolidColorLayer):
* chromium/public/WebVideoLayer.h:
(WebVideoLayer):

Source/WebCore:

This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
m_transformLayer) and assembles the final layer tree.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
(ScrollingCoordinatorPrivate):
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::scrollLayer):
(WebCore::scrollableLayerForGraphicsLayer):
(WebCore):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::clearLayer):
(AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::prepareForDraw):
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::skCanvas):
(WebCore::Canvas2DLayerBridge::layer):
(WebCore::Canvas2DLayerBridge::contextAcquired):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(WebCore):
(Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::layer):
(DrawingBufferPrivate):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::removeFromParent):
(WebCore::GraphicsLayerChromium::setSize):
(WebCore::GraphicsLayerChromium::clearBackgroundColor):
(WebCore::GraphicsLayerChromium::setContentsOpaque):
(WebCore::GraphicsLayerChromium::setFilters):
(WebCore::GraphicsLayerChromium::setBackgroundFilters):
(WebCore::GraphicsLayerChromium::setMaskLayer):
(WebCore::GraphicsLayerChromium::setBackfaceVisibility):
(WebCore::GraphicsLayerChromium::setOpacity):
(WebCore::GraphicsLayerChromium::setReplicatedByLayer):
(WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::setContentsTo):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::pauseAnimation):
(WebCore::GraphicsLayerChromium::removeAnimation):
(WebCore::GraphicsLayerChromium::suspendAnimations):
(WebCore::GraphicsLayerChromium::resumeAnimations):
(WebCore::GraphicsLayerChromium::addLinkHighlight):
(WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
(WebCore::GraphicsLayerChromium::platformLayer):
(WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
(WebCore::GraphicsLayerChromium::setDebugBorder):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::updateLayerPosition):
(WebCore::GraphicsLayerChromium::updateLayerSize):
(WebCore::GraphicsLayerChromium::updateAnchorPoint):
(WebCore::GraphicsLayerChromium::updateTransform):
(WebCore::GraphicsLayerChromium::updateChildrenTransform):
(WebCore::GraphicsLayerChromium::updateMasksToBounds):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
(WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
(WebCore::GraphicsLayerChromium::updateContentsRect):
(WebCore::GraphicsLayerChromium::updateContentsScale):
(WebCore::GraphicsLayerChromium::setupContentsLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore::GraphicsLayerChromium::hasContentsLayer):
(WebCore::GraphicsLayerChromium::contentLayer):
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::contentsLayer):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::rootLayer):
* platform/graphics/chromium/LayerChromium.h:

Source/WebKit/chromium:

This updates the implementation of the Web*Layer family to the new design and updates callers in WebViewImpl /
NonCompositedContentHost.

* WebKit.gyp:
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
(WebKit::NonCompositedContentHost::setScrollLayer):
(WebKit::NonCompositedContentHost::setViewport):
(WebKit::NonCompositedContentHost::scrollLayer):
* src/NonCompositedContentHost.h:
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayer::create):
(WebKit::WebContentLayerImpl::WebContentLayerImpl):
(WebKit::WebContentLayerImpl::~WebContentLayerImpl):
(WebKit::WebContentLayerImpl::layer):
(WebKit):
(WebKit::WebContentLayerImpl::clearClient):
(WebKit::WebContentLayerImpl::setDoubleSided):
(WebKit::WebContentLayerImpl::setContentsScale):
(WebKit::WebContentLayerImpl::setUseLCDText):
(WebKit::WebContentLayerImpl::setDrawCheckerboardForMissingTiles):
(WebKit::WebContentLayerImpl::paintContents):
* src/WebContentLayerImpl.h:
(WebContentLayerImpl):
* src/WebExternalTextureLayer.cpp: Removed.
* src/WebExternalTextureLayerImpl.cpp: Added.
(WebKit):
(WebKit::WebExternalTextureLayer::create):
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::~WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::layer):
(WebKit::WebExternalTextureLayerImpl::clearClient):
(WebKit::WebExternalTextureLayerImpl::setTextureId):
(WebKit::WebExternalTextureLayerImpl::setFlipped):
(WebKit::WebExternalTextureLayerImpl::setUVRect):
(WebKit::WebExternalTextureLayerImpl::setOpaque):
(WebKit::WebExternalTextureLayerImpl::setPremultipliedAlpha):
(WebKit::WebExternalTextureLayerImpl::willModifyTexture):
(WebKit::WebExternalTextureLayerImpl::setRateLimitContext):
(WebTextureUpdaterImpl):
(WebKit::WebTextureUpdaterImpl::WebTextureUpdaterImpl):
(WebKit::WebExternalTextureLayerImpl::prepareTexture):
(WebKit::WebExternalTextureLayerImpl::context):
* src/WebExternalTextureLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebContentLayer.cpp.
(WebKit):
(WebExternalTextureLayerImpl):
* src/WebIOSurfaceLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebIOSurfaceLayer.cpp.
(WebKit):
(WebKit::WebIOSurfaceLayer::create):
(WebKit::WebIOSurfaceLayerImpl::WebIOSurfaceLayerImpl):
(WebKit::WebIOSurfaceLayerImpl::~WebIOSurfaceLayerImpl):
(WebKit::WebIOSurfaceLayerImpl::setIOSurfaceProperties):
(WebKit::WebIOSurfaceLayerImpl::layer):
* src/WebIOSurfaceLayerImpl.h: Copied from Source/Platform/chromium/public/WebImageLayer.h.
(WebCore):
(WebKit):
(WebIOSurfaceLayerImpl):
* src/WebImageLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebSolidColorLayer.cpp.
(WebKit):
(WebKit::WebImageLayer::create):
(WebKit::WebImageLayerImpl::WebImageLayerImpl):
(WebKit::WebImageLayerImpl::~WebImageLayerImpl):
(WebKit::WebImageLayerImpl::layer):
(WebKit::WebImageLayerImpl::setBitmap):
* src/WebImageLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebImageLayer.cpp.
(WebCore):
(WebKit):
(WebImageLayerImpl):
* src/WebLayer.cpp: Removed.
* src/WebLayerImpl.cpp:
(WebKit::WebLayer::create):
(WebKit::WebLayerImpl::WebLayerImpl):
(WebKit::WebLayerImpl::~WebLayerImpl):
(WebKit):
(WebKit::WebLayerImpl::invalidateRect):
(WebKit::WebLayerImpl::invalidate):
(WebKit::WebLayerImpl::addChild):
(WebKit::WebLayerImpl::insertChild):
(WebKit::WebLayerImpl::replaceChild):
(WebKit::WebLayerImpl::setChildren):
(WebKit::WebLayerImpl::removeFromParent):
(WebKit::WebLayerImpl::removeAllChildren):
(WebKit::WebLayerImpl::setAnchorPoint):
(WebKit::WebLayerImpl::anchorPoint):
(WebKit::WebLayerImpl::setAnchorPointZ):
(WebKit::WebLayerImpl::anchorPointZ):
(WebKit::WebLayerImpl::setBounds):
(WebKit::WebLayerImpl::bounds):
(WebKit::WebLayerImpl::setMasksToBounds):
(WebKit::WebLayerImpl::masksToBounds):
(WebKit::WebLayerImpl::setMaskLayer):
(WebKit::WebLayerImpl::setReplicaLayer):
(WebKit::WebLayerImpl::setOpacity):
(WebKit::WebLayerImpl::opacity):
(WebKit::WebLayerImpl::setOpaque):
(WebKit::WebLayerImpl::opaque):
(WebKit::WebLayerImpl::setPosition):
(WebKit::WebLayerImpl::position):
(WebKit::WebLayerImpl::setSublayerTransform):
(WebKit::WebLayerImpl::sublayerTransform):
(WebKit::WebLayerImpl::setTransform):
(WebKit::WebLayerImpl::transform):
(WebKit::WebLayerImpl::setDrawsContent):
(WebKit::WebLayerImpl::drawsContent):
(WebKit::WebLayerImpl::setPreserves3D):
(WebKit::WebLayerImpl::setUseParentBackfaceVisibility):
(WebKit::WebLayerImpl::setBackgroundColor):
(WebKit::WebLayerImpl::setFilters):
(WebKit::WebLayerImpl::setBackgroundFilters):
(WebKit::WebLayerImpl::setDebugBorderColor):
(WebKit::WebLayerImpl::setDebugBorderWidth):
(WebKit::WebLayerImpl::setDebugName):
(WebKit::WebLayerImpl::setAnimationDelegate):
(WebKit::WebLayerImpl::addAnimation):
(WebKit::WebLayerImpl::removeAnimation):
(WebKit::WebLayerImpl::pauseAnimation):
(WebKit::WebLayerImpl::suspendAnimations):
(WebKit::WebLayerImpl::resumeAnimations):
(WebKit::WebLayerImpl::hasActiveAnimation):
(WebKit::WebLayerImpl::transferAnimationsTo):
(WebKit::WebLayerImpl::setForceRenderSurface):
(WebKit::WebLayerImpl::clearRenderSurface):
(WebKit::WebLayerImpl::setScrollPosition):
(WebKit::WebLayerImpl::setScrollable):
(WebKit::WebLayerImpl::setHaveWheelEventHandlers):
(WebKit::WebLayerImpl::setShouldScrollOnMainThread):
(WebKit::WebLayerImpl::setNonFastScrollableRegion):
(WebKit::WebLayerImpl::setIsContainerForFixedPositionLayers):
(WebKit::WebLayerImpl::setFixedToContainerLayer):
(WebKit::WebLayerImpl::layer):
* src/WebLayerImpl.h:
(WebCore):
(WebLayerImpl):
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::setRootLayer):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::create):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
(WebKit::WebMediaPlayerClientImpl::repaint):
(WebKit::WebMediaPlayerClientImpl::setOpaque):
(WebKit::WebMediaPlayerClientImpl::platformLayer):
(WebKit::WebMediaPlayerClientImpl::acceleratedRenderingInUse):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setBackingTextureId):
(WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
(WebKit::WebPluginContainerImpl::commitBackingTexture):
(WebKit::WebPluginContainerImpl::setOpaque):
(WebKit::WebPluginContainerImpl::platformLayer):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):
* src/WebScrollableLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebScrollableLayer.cpp.
(WebKit):
(WebKit::WebScrollableLayer::setScrollPosition):
(WebKit::WebScrollableLayer::setScrollable):
(WebKit::WebScrollableLayer::setHaveWheelEventHandlers):
(WebKit::WebScrollableLayer::setShouldScrollOnMainThread):
(WebKit::WebScrollableLayer::setNonFastScrollableRegion):
(WebKit::WebScrollableLayer::setIsContainerForFixedPositionLayers):
(WebKit::WebScrollableLayer::setFixedToContainerLayer):
* src/WebScrollbarLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarLayer.cpp.
(WebKit):
(WebKit::WebScrollbarLayer::create):
(WebKit::WebScrollbarLayerImpl::WebScrollbarLayerImpl):
(WebKit::WebScrollbarLayerImpl::~WebScrollbarLayerImpl):
(WebKit::WebScrollbarLayerImpl::layer):
(WebKit::WebScrollbarLayerImpl::setScrollLayer):
* src/WebScrollbarLayerImpl.h: Copied from Source/WebKit/chromium/src/WebSolidColorLayerImpl.h.
(WebCore):
(WebKit):
(WebScrollbarLayerImpl):
* src/WebSolidColorLayerImpl.cpp:
(WebKit::WebSolidColorLayer::create):
(WebKit::WebSolidColorLayerImpl::WebSolidColorLayerImpl):
(WebKit::WebSolidColorLayerImpl::layer):
(WebKit):
(WebKit::WebSolidColorLayerImpl::setBackgroundColor):
* src/WebSolidColorLayerImpl.h:
(WebCore):
(WebKit):
(WebSolidColorLayerImpl):
* src/WebVideoLayerImpl.cpp: Copied from Source/WebKit/chromium/src/WebVideoLayer.cpp.
(WebKit):
(WebKit::WebVideoLayer::create):
(WebKit::WebVideoLayerImpl::WebVideoLayerImpl):
(WebKit::WebVideoLayerImpl::~WebVideoLayerImpl):
(WebKit::WebVideoLayerImpl::layer):
(WebKit::WebVideoLayerImpl::active):
* src/WebVideoLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebVideoLayer.cpp.
(WebCore):
(WebKit):
(WebVideoLayerImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setRootGraphicsLayer):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit):
* src/WebViewImpl.h:
* tests/ImageLayerChromiumTest.cpp:
(WebCore::TEST):
* tests/WebLayerTest.cpp:
* tests/WebLayerTreeViewTest.cpp:

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

8 years ago[chromium] CCMathUtilTest.smallestAngleBetweenVectors unit test failing
shawnsingh@chromium.org [Mon, 20 Aug 2012 21:50:21 +0000 (21:50 +0000)]
[chromium] CCMathUtilTest.smallestAngleBetweenVectors unit test failing
https://bugs.webkit.org/show_bug.cgi?id=94502

Reviewed by Kenneth Russell.

The test needed to use EXPECT_FLOAT_EQ instead of EXPECT_EQ. In
this patch, the test is also re-enabled.

* tests/CCMathUtilTest.cpp:

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

8 years agoMove transformFriendlyBoundingBox out of Range
rniwa@webkit.org [Mon, 20 Aug 2012 21:41:02 +0000 (21:41 +0000)]
Move transformFriendlyBoundingBox out of Range
https://bugs.webkit.org/show_bug.cgi?id=94366

Source/WebCore:

Patch by Leandro Gracia Gil <leandrogracia@chromium.org> on 2012-08-20
Reviewed by Simon Fraser and Ryosuke Niwa.

Bug 93111 introduced a new method in Range called transformFriendlyBoundingBox.
However, this method should not have been added there in order to reduce the
dependencies between Range and the rendering code. This patch moves it to a
static method in RenderObject.

Tests: existing tests, no new feature added by this patch.

* dom/Range.cpp:
* dom/Range.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteBoundingBoxRectForRange):
(WebCore):
* rendering/RenderObject.h:
(RenderObject):

Source/WebKit/chromium:

Patch by Leandro Gracia Gil <leandrogracia@chromium.org> on 2012-08-20
Reviewed by Ryosuke Niwa.

Update the WebKit code that makes use of transformFriendlyBoundingBox.

* src/FindInPageCoordinates.cpp:
(WebKit::findInPageRectFromRange):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::find):
(WebKit::WebFrameImpl::selectFindMatch):

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

8 years agoFix change for timeout detection to not crash if we have no output :)
dpranke@chromium.org [Mon, 20 Aug 2012 21:38:42 +0000 (21:38 +0000)]
Fix change for timeout detection to not crash if we have no output :)
https://bugs.webkit.org/show_bug.cgi?id=94505

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):

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

8 years agoReplace isolate || bidi-override by isolate-override
rniwa@webkit.org [Mon, 20 Aug 2012 21:34:11 +0000 (21:34 +0000)]
Replace isolate || bidi-override by isolate-override
https://bugs.webkit.org/show_bug.cgi?id=89746

Reviewed by Levi Weintraub.

Source/WebCore:

The combination of bidi-isolate and isolate was replaced by a single isolate-override in
http://lists.w3.org/Archives/Public/www-style/2012May/0541.html. The spec. has been updated accordingly:
http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi

To follow the specification change, added -webkit-isolate-override and removed the support for
isolate || bidi-override, simplifying the CSS parser and serializer.

Test: fast/text/bidi-override-isolate.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed. We can just new a CSSPrimitiveValue
constructor now.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added now that unicode-bidi always creates a signle
primitive value instead of a primitive value of css value list.
(WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
* css/CSSValueKeywords.in: Added -webkit-isolate-override
* css/StyleBuilder.cpp:
(WebCore): Removed ApplyPropertyUnicodeBidi since we can use ApplyPropertyDefault now.
(WebCore::StyleBuilder::StyleBuilder): Use ApplyPropertyDefault.
* platform/text/UnicodeBidi.h: Renamed OverrideIsolate to IsolateOverride to match the spec.
(WebCore::isIsolated):
(WebCore::isOverride):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRuns):

LayoutTests:

Rebaseline test expectations. These tests test the new behavior and new property value -webkit-isolate-override.

* fast/css/unicode-bidi-computed-value-expected.txt:
* fast/css/unicode-bidi-computed-value.html:
* fast/text/bidi-override-isolate.html:

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

8 years agoRenderGrid children should always be RenderBoxes
tony@chromium.org [Mon, 20 Aug 2012 21:32:03 +0000 (21:32 +0000)]
RenderGrid children should always be RenderBoxes
https://bugs.webkit.org/show_bug.cgi?id=94305

Reviewed by Abhishek Arya.

Source/WebCore:

During RenderGrid::layout, we assume all the children are RenderBoxes.
When removing children, if the last child is an anonymous block, we don't
want to remove the anonymous block for grids. Ensure this doesn't happen
by adding canCollapseAnonymousBlockChild to RenderBlock (flexboxen and
grid can override this method).

Test: fast/css-grid-layout/should-not-collapse-anonymous-blocks.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild): Check canCollapseAnonymousBlockChild().
* rendering/RenderBlock.h:
(WebCore::RenderBlock::canCollapseAnonymousBlockChild):
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
* rendering/RenderFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
* rendering/RenderGrid.h: canCollapseAnonymousBlockChild returns false.

LayoutTests:

Add test case from fuzzer.

* fast/css-grid-layout/should-not-collapse-anonymous-blocks-expected.txt: Added.
* fast/css-grid-layout/should-not-collapse-anonymous-blocks.html: Added.

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

8 years agotemporarily disable ImageDiff on WK2 ports for ref tests
dpranke@chromium.org [Mon, 20 Aug 2012 21:30:38 +0000 (21:30 +0000)]
temporarily disable ImageDiff on WK2 ports for ref tests
https://bugs.webkit.org/show_bug.cgi?id=94517

Reviewed by Brady Eidson.

ImageDiff appears to be unable to handle the pngs returned from
WebKitTestRunner, so we disable checking images by default
for ref tests on wk2 ports (unless pixel tests is explicitly enabled).

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_output_with_reference):

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

8 years agoUnreviewed, rolling out r126026.
kbr@google.com [Mon, 20 Aug 2012 21:16:51 +0000 (21:16 +0000)]
Unreviewed, rolling out r126026.
http://trac.webkit.org/changeset/126026
https://bugs.webkit.org/show_bug.cgi?id=94449

Caused assertion failure in layout test touchadjustment/context-menu.html

Source/WebCore:

* page/TouchAdjustment.cpp:
(TouchAdjustment):
(WebCore::TouchAdjustment::providesContextMenuItems):
(WebCore::TouchAdjustment::appendSubtargetsForNodeToList):
(WebCore::TouchAdjustment::compileSubtargetList):
(WebCore::findBestClickableCandidate):
(WebCore::findBestContextMenuCandidate):

LayoutTests:

* touchadjustment/context-menu-select-text.html:
* touchadjustment/context-menu-text-subtargets-expected.txt: Removed.
* touchadjustment/context-menu-text-subtargets.html: Removed.
* touchadjustment/resources/touchadjustment.js:

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

8 years ago[BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
commit-queue@webkit.org [Mon, 20 Aug 2012 21:15:36 +0000 (21:15 +0000)]
[BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
https://bugs.webkit.org/show_bug.cgi?id=94514

Patch by Andrew Lo <anlo@rim.com> on 2012-08-20
Reviewed by Rob Buis.

Add wtf::CString definition to fix build break when enabling DEBUG_LAYER_ANIMATION
debug prints. Fix build warnings from prints.

No new tests, non-functional change.

* platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
(WebCore::GraphicsLayerBlackBerry::addAnimation):
(WebCore::GraphicsLayerBlackBerry::pauseAnimation):

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

8 years ago[JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an...
commit-queue@webkit.org [Mon, 20 Aug 2012 21:12:55 +0000 (21:12 +0000)]
[JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported object
https://bugs.webkit.org/show_bug.cgi?id=94493

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-20
Reviewed by Oliver Hunt.

Source/WebCore:

Update JSC implementation for SerializedScriptValue::create() so that
a DataCloneError is thrown when the input value is an unsupported
object. The previous implementation was not throwing any error.

This change is according to the structured clone specification at:
http://www.w3.org/TR/html5/common-dom-interfaces.html#structured-clone

This also matches the corresponding V8 implementation.

Test: fast/events/message-port-multi.html.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::serialize):
(WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
* bindings/js/SerializedScriptValue.h:

LayoutTests:

Add checks for Function, Error and host objects arguments to
MessagePort.postMessage() in fast/events/message-port-multi.html.

According to the structured clone specification, we should throw
a DataCloneError for such input types.

* fast/dom/Window/anonymous-slot-with-changes-expected.txt:
* fast/dom/Window/anonymous-slot-with-changes.html: Update test to expect
an exception when passing a function to postMessage().
* fast/events/message-port-multi-expected.txt: Update expected result
accordingly.
* fast/events/resources/message-port-multi.js:
(testTransfers.try.f1):
* platform/chromium/fast/events/message-port-multi-expected.txt: Removed.
Now identical to global expectation.

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

8 years agoUnreviewed, rolling out r125884.
commit-queue@webkit.org [Mon, 20 Aug 2012 21:11:07 +0000 (21:11 +0000)]
Unreviewed, rolling out r125884.
http://trac.webkit.org/changeset/125884
https://bugs.webkit.org/show_bug.cgi?id=94523

Appears to be causing a top crash in the Canary channel
(Requested by abarth on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-20

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
(WebCore::mainThreadNormalWorld):
* bindings/v8/DOMWrapperWorld.h:
(WebCore):
(WebCore::DOMWrapperWorld::create):
(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
(DOMWrapperWorld):
* bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
(WebCore):
(WebCore::IsolatedWorld::IsolatedWorld):
(WebCore::IsolatedWorld::~IsolatedWorld):
* bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
(WebCore):
(IsolatedWorld):
(WebCore::IsolatedWorld::create):
(WebCore::IsolatedWorld::count):
(WebCore::IsolatedWorld::id):
(WebCore::IsolatedWorld::domDataStore):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
(WebCore::V8IsolatedContext::destroy):
* bindings/v8/V8IsolatedContext.h:
(WebCore::V8IsolatedContext::getEntered):
(WebCore::V8IsolatedContext::world):
(V8IsolatedContext):
* bindings/v8/V8PerIsolateData.h:
(WebCore::V8PerIsolateData::registerDOMDataStore):
(WebCore::V8PerIsolateData::unregisterDOMDataStore):

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

8 years agoRemove improper ASSERT in AudioParamTimeline::valuesForTimeRangeImpl()
crogers@google.com [Mon, 20 Aug 2012 21:09:18 +0000 (21:09 +0000)]
Remove improper ASSERT in AudioParamTimeline::valuesForTimeRangeImpl()
https://bugs.webkit.org/show_bug.cgi?id=94504

Reviewed by Kenneth Russell.

AudioParamTimeline::valuesForTimeRangeImpl() is able to handle the case where there are no timeline events.
So don't ASSERT for that case.

* Modules/webaudio/AudioParamTimeline.cpp:
(WebCore::AudioParamTimeline::valuesForTimeRangeImpl):

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

8 years agoAdd missing FIXME: to previous change.
dpranke@chromium.org [Mon, 20 Aug 2012 21:03:07 +0000 (21:03 +0000)]
Add missing FIXME: to previous change.
https://bugs.webkit.org/show_bug.cgi?id=94505

Reviewed by Ojan Vafai.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):

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

8 years agoLine boxes not being dirtied correctly during inline removal
kenrb@chromium.org [Mon, 20 Aug 2012 21:02:32 +0000 (21:02 +0000)]
Line boxes not being dirtied correctly during inline removal
https://bugs.webkit.org/show_bug.cgi?id=93156

Reviewed by David Hyatt.

Source/WebCore:

When two inline objects were being removed from different lineboxes
in an ancestral RenderBlock, the way the RenderBlock was being marked
prevented the second linebox from being marked dirty. This causes
it to not get layout in the subsequent layout pass.

This patch causes only the descendants corresponding to actual changed
lineboxes to have their ancestorLineBoxDirty bit set, rather than
the RenderBlock that contains the lineboxes themselves.

* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

LayoutTests:

Test exercising crashing condition for bug 93156.

* fast/block/line-layout/double-line-break-obj-removal-crash.html: Added
* fast/block/line-layout/double-line-break-obj-removal-crash-expected.txt: Added

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

8 years agoIntermittenly, many WebKit2 tests have results from the wrong test compared to the...
dpranke@chromium.org [Mon, 20 Aug 2012 20:59:47 +0000 (20:59 +0000)]
Intermittenly, many WebKit2 tests have results from the wrong test compared to the test just run, giving false failures.
https://bugs.webkit.org/show_bug.cgi?id=94505

Reviewed by Ojan Vafai.

It looks like if the webprocess times out, WTR may tell NRWT
that the test completed, but not properly reset its internal
state, and then return stale output for subsequent tests.

This patch modifies NRWT temporarily to check for
"Timed out waiting for final message from web process" in stdout
and treat that as a timeout (and thus kill WTR); this seems
to solve the cascade of failures, but of course there's probably
still a bug in WTR that needs to be fixed.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):

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

8 years ago[Chromium] detectContentIntentAround has a misleading name
leandrogracia@chromium.org [Mon, 20 Aug 2012 20:48:52 +0000 (20:48 +0000)]
[Chromium] detectContentIntentAround has a misleading name
https://bugs.webkit.org/show_bug.cgi?id=94349

Reviewed by Adam Barth.

The current WebViewClient API exposes a method named detectContentIntentAround.
However, this is not designed to detect any "content intent", but to allow the embedder
to detect content around a position and fire Android intents if appropriate.

This patch also disables content detection if the touched node listens to events
that consume the tap action like clicks, touch events or mouse events.

* public/WebViewClient.h:
(WebViewClient):
(WebKit::WebViewClient::detectContentAround):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::detectContentOnTouch):
* src/WebViewImpl.h:
(WebViewImpl):

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

8 years ago[css3-text] Add getComputedStyle tests for -webkit-text-decoration-line
commit-queue@webkit.org [Mon, 20 Aug 2012 20:44:36 +0000 (20:44 +0000)]
[css3-text] Add getComputedStyle tests for -webkit-text-decoration-line
https://bugs.webkit.org/show_bug.cgi?id=94108

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Changeset r125205 introduced new CSS3 property "-webkit-text-decoration-line",
with included basic getComputedStyle* layout tests for parsing check. This
patch adds a new, more robust getComputedStyle-based layout test for this
property.

* fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line-expected.txt: Added.
* fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line.html: Added.
* fast/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-line.js: Added.

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

8 years agoNRWT reports unexpected EOF
dpranke@chromium.org [Mon, 20 Aug 2012 20:25:03 +0000 (20:25 +0000)]
NRWT reports unexpected EOF
https://bugs.webkit.org/show_bug.cgi?id=94387

Reviewed by Adam Barth.

Stop logging "Unexpected EOF" when we are reading the last few
bytes from stdout/stderr after stopping the subprocess.

* Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess._wait_for_data_and_update_buffers_using_select):
(ServerProcess.stop):

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

8 years agoText Autosizing: Only take into account block width <= document layout width.
commit-queue@webkit.org [Mon, 20 Aug 2012 20:23:31 +0000 (20:23 +0000)]
Text Autosizing: Only take into account block width <= document layout width.
https://bugs.webkit.org/show_bug.cgi?id=93862

Patch by John Mellor <johnme@chromium.org> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Instead of calculating the textAutosizingMultiplier purely based on the
width of each block, we now work out the maximum width of the block
that could be displayed onscreen at any one time, and use that value.
This avoids excessive text size multiplication (there's no point making
text bigger than this, since you wouldn't be able to zoom out far
enough to read it!).

To determine the maximum onscreen block width, we take the minimum of
the block width and the layoutWidth of the narrowest non-flattened
ancestor frame. Flattened frames are ignored since they don't impose a
hard limit on the maximum width that can be displayed, instead they can
stretch to fit their contents. Note that on mobile the layoutWidth of
the main frame is the fixed layout width aka viewport width.

In practice this caps the maximum multiplier to a value that depends
on the metrics of the device. For example on a Nexus S (480 x 800px
and 1.5x devicePixelRatio) with a 980px default fixed layout width,
this limits the multiplier to: 980 / (480/1.5) = 3.0625

Most pages won't have blocks that actually hit this cap, or they will
only slightly exceed it (so their multiplier will only be slightly
reduced). For example it's not uncommon for desktop pages to be
slightly wider than 980px, but they would have to additionally have
text that spans the full width of the page for this to affect them, and
even then it would merely slightly decrease their multiplier).

This will have more dramatic effects on the rare desktop pages which
give a width=device-width (or similar) mobile viewport tag (on ports
which support viewports). A follow-up patch will hopefully address this
by wrapping the text in such excessively wide blocks to the layoutWidth.

Tests: fast/text-autosizing/narrow-iframe-flattened.html
       fast/text-autosizing/narrow-iframe.html
       fast/text-autosizing/wide-block.html
       fast/text-autosizing/wide-iframe.html

* page/FrameView.cpp:
(WebCore::FrameView::isInChildFrameWithFrameFlattening):

    Made public and const, so can be used from TextAutosizer.

* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::processSubtree):

    Computes the minimum layout width of the parent frames, as described
    above.

(WebCore::TextAutosizer::processBlock):

    Limits used block width to this min layout width.

LayoutTests:

Added 4 tests: a block wider than the main frame, iframes both narrower
than and wider than the main frame, both also containing wide blocks,
and a narrow iframe expanded by frame flattening.

I verified experimentally that narrow-iframe-flattened.html passes, by
enabling frame flattening in Settings.cpp, but unfortunately it won't
get run by any bots since the only platform which currently enables
Text Autosizing (Chromium), doesn't enable frame flattening (or have
the DRT methods required to test it).

* fast/text-autosizing/font-scale-factor-expected.html:
* fast/text-autosizing/font-scale-factor.html:
* fast/text-autosizing/narrow-iframe-expected.html: Added.
* fast/text-autosizing/narrow-iframe-flattened-expected.html: Added.
* fast/text-autosizing/narrow-iframe-flattened.html: Added.
* fast/text-autosizing/narrow-iframe.html: Added.
* fast/text-autosizing/wide-block-expected.html: Added.
* fast/text-autosizing/wide-block.html: Added.
* fast/text-autosizing/wide-iframe-expected.html: Added.
* fast/text-autosizing/wide-iframe.html: Added.
* platform/chromium/TestExpectations:
* platform/win/Skipped:
* platform/wincairo/Skipped:

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

8 years agoRespect runtime flags for Device Orientation and Device Motion
hans@chromium.org [Mon, 20 Aug 2012 19:53:44 +0000 (19:53 +0000)]
Respect runtime flags for Device Orientation and Device Motion
https://bugs.webkit.org/show_bug.cgi?id=94479

Reviewed by Adam Barth.

Source/WebCore:

There are flags that allows disabling of device orientation and device
motion at runtime. These flags determine the availability of the
corresponding event constructors in DOMWindow.

However, the flags should also control the ability to add event
listeners for these events, otherwise the feature can be used even if
it is disabled.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):

Source/WebKit/chromium:

WebRuntimeFeatures::enableDeviceMotion should not be hard-coded to
false.

* src/WebViewImpl.cpp:
(WebKit::WebView::create):

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

8 years agoRemove incorrect getBBox() code
pdr@google.com [Mon, 20 Aug 2012 19:52:16 +0000 (19:52 +0000)]
Remove incorrect getBBox() code
https://bugs.webkit.org/show_bug.cgi?id=94419

Reviewed by Dirk Schulze.

SVGPathElement defines a getBBox() function that is wrong and
should use objectBoundingBox(). This patch cleans this up.

No new tests as this is just a cleanup of old code.

* svg/SVGPathElement.cpp:
(WebCore):
* svg/SVGPathElement.h:
(SVGPathElement):

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

8 years ago[Chromium] Schedule texture uploads based on hard-coded timer and vsync.
commit-queue@webkit.org [Mon, 20 Aug 2012 19:50:23 +0000 (19:50 +0000)]
[Chromium] Schedule texture uploads based on hard-coded timer and vsync.
https://bugs.webkit.org/show_bug.cgi?id=84281

Patch by David Reveman <reveman@chromium.org> on 2012-08-20
Reviewed by James Robinson.

Source/WebCore:

Improve interaction between vsync and texture uploads by performing
uploads in smaller batches and use a hard-coded timer to emulate
upload completion. This greatly reduces the chance of the compositor
missing a vsync due to being busy with texture uploads.

The CCScheduler client is now given a time limit when told to update
more resources. This time limit is passed to an instance of the
CCTextureUpdateController class, which is responsible for performing
texture updates until the limit is reached.

Unit tests: CCSchedulerTest.RequestCommit
            CCTextureUpdateControllerTest.UpdateMoreTextures
            CCTextureUpdateControllerTest.HasMoreUpdates

* platform/graphics/chromium/cc/CCFrameRateController.cpp:
(WebCore::CCFrameRateController::nextTickTime):
(WebCore):
* platform/graphics/chromium/cc/CCFrameRateController.h:
(CCFrameRateController):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
(CCSchedulerClient):
* platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
(WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
(WebCore::CCTextureUpdateController::CCTextureUpdateController):
(WebCore::CCTextureUpdateController::updateMoreTextures):
(WebCore):
(WebCore::CCTextureUpdateController::onTimerFired):
(WebCore::CCTextureUpdateController::monotonicTimeNow):
(WebCore::CCTextureUpdateController::updateMoreTexturesTime):
(WebCore::CCTextureUpdateController::updateMoreTexturesSize):
(WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
(WebCore::CCTextureUpdateController::updateMoreTexturesNow):
* platform/graphics/chromium/cc/CCTextureUpdateController.h:
(WebCore::CCTextureUpdateController::create):
(CCTextureUpdateController):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
* platform/graphics/chromium/cc/CCThreadProxy.h:

Source/WebKit/chromium:

* tests/CCSchedulerTest.cpp:
(WebKitTests::TEST):
* tests/CCSchedulerTestCommon.h:
(WebKitTests::FakeCCTimeSource::FakeCCTimeSource):
(WebKitTests::FakeCCTimeSource::setNextTickTime):
(FakeCCTimeSource):
* tests/CCTextureUpdateControllerTest.cpp:

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

8 years ago[css3-text] Add parsing support for -webkit-text-decoration-style
commit-queue@webkit.org [Mon, 20 Aug 2012 19:36:03 +0000 (19:36 +0000)]
[css3-text] Add parsing support for -webkit-text-decoration-style
https://bugs.webkit.org/show_bug.cgi?id=94093

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-08-20
Reviewed by Julien Chaffraix.

This patch implements the "text-decoration-style" property parsing as specified
in CSS3 working draft, with "-webkit-" prefix. The specification can be found
here: http://dev.w3.org/csswg/css3-text/#text-decoration-style

Additionally, Mozilla implementation details can be found here:
https://developer.mozilla.org/en-US/docs/CSS/text-decoration-style

This is an individual task for bug 90958. Rendering support will be handled on a
different bug.

Source/WebCore:

Test: fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::renderTextDecorationStyleFlagsToCSSValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h: Added non-bitwise TextDecorationStyle enum.
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Added m_textDecorationStyle to default and copy constructors.
(WebCore::StyleRareNonInheritedData::operator==): Include m_textDecorationStyle in comparison.
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):
Added m_textDecorationStyle here as it won't be used regularly.

LayoutTests:

* fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style-expected.txt: Added.
* fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style.html: Added.
* fast/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-style.js: Added.

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

8 years ago[BlackBerry] Persist cookies not from atexit() but the new onThreadFinished()
jpetsovits@rim.com [Mon, 20 Aug 2012 19:23:40 +0000 (19:23 +0000)]
[BlackBerry] Persist cookies not from atexit() but the new onThreadFinished()
https://bugs.webkit.org/show_bug.cgi?id=94482
RIM PR 184923

Reviewed by Yong Li.

BlackBerry::Platform recently made changes that ensure
that MessageClient threads are being shut down correctly.
A new onThreadFinished() virtual was introduced for
custom clean-up functionality and can replace the
atexit() handler that we previously used to flush cookies
to the cookie database backingstore.

No new functionality, no new tests.

* platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
(WebCore):
(WebCore::CookieDatabaseBackingStore::onThreadFinished):
(WebCore::CookieDatabaseBackingStore::sendChangesToDatabaseSynchronously):
* platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
(CookieDatabaseBackingStore):
* platform/blackberry/CookieManager.cpp:
(WebCore):
(WebCore::cookieManager):
* platform/blackberry/CookieManager.h:

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

8 years ago[chromium] Move non-GL-specific code out of LayerRendererChromium
commit-queue@webkit.org [Mon, 20 Aug 2012 19:15:44 +0000 (19:15 +0000)]
[chromium] Move non-GL-specific code out of LayerRendererChromium
https://bugs.webkit.org/show_bug.cgi?id=93927

Patch by Alexandre Elias <aelias@google.com> on 2012-08-20
Reviewed by Adrienne Walker.

This patch moves most of the generic logic dealing with matrices and
render passes into a new class "CCDirectRenderer" that sits between
CCRenderer and LayerRendererChromium, and also publicly exposes a
few other things like the UnthrottledTextureUploader.

The plan is for the future software compositing implementation to also
derive from CCDirectRenderer, whereas the ubercompositor delegating
renderer will still derive from CCRenderer.

No new tests (no-op refactoring).

* WebCore.gypi:
* platform/graphics/chromium/GeometryBinding.cpp:
(WebCore::GeometryBinding::GeometryBinding):
* platform/graphics/chromium/GeometryBinding.h:
(GeometryBinding):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::beginDrawingFrame):
(WebCore::LayerRendererChromium::drawQuad):
(WebCore::LayerRendererChromium::drawRenderPassQuad):
(WebCore::LayerRendererChromium::drawTileQuad):
(WebCore::LayerRendererChromium::finishDrawingFrame):
(WebCore::LayerRendererChromium::drawQuadGeometry):
(WebCore::LayerRendererChromium::bindFramebufferToOutputSurface):
(WebCore):
(WebCore::LayerRendererChromium::bindFramebufferToTexture):
(WebCore::LayerRendererChromium::enableScissorTestRect):
(WebCore::LayerRendererChromium::disableScissorTest):
(WebCore::LayerRendererChromium::setDrawViewportSize):
(WebCore::LayerRendererChromium::makeContextCurrent):
(WebCore::LayerRendererChromium::initializeSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/TextureCopier.h:
(TextureCopier):
* platform/graphics/chromium/TextureUploader.h:
(UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::create):
(WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
(WebCore):
* platform/graphics/chromium/cc/CCDirectRenderer.cpp: Added.
(projectionMatrix):
(canvasMatrix):
(WebCore):
(WebCore::CCDirectRenderer::DrawingFrame::initializeMatrices):
(WebCore::CCDirectRenderer::DrawingFrame::initializeScissors):
(WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
(WebCore::CCDirectRenderer::drawFrame):
(WebCore::CCDirectRenderer::drawRenderPass):
(WebCore::CCDirectRenderer::useRenderPass):
(WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
(WebCore::CCDirectRenderer::renderPassTextureSize):
(WebCore::CCDirectRenderer::renderPassTextureFormat):
* platform/graphics/chromium/cc/CCDirectRenderer.h: Added.
(WebCore):
(CCDirectRenderer):
(WebCore::CCDirectRenderer::~CCDirectRenderer):
(WebCore::CCDirectRenderer::resourceProvider):
(WebCore::CCDirectRenderer::CCDirectRenderer):
(DrawingFrame):
(WebCore::CCDirectRenderer::DrawingFrame::DrawingFrame):
(CachedTexture):
(WebCore::CCDirectRenderer::CachedTexture::create):
(WebCore::CCDirectRenderer::CachedTexture::~CachedTexture):
(WebCore::CCDirectRenderer::CachedTexture::isComplete):
(WebCore::CCDirectRenderer::CachedTexture::setIsComplete):
(WebCore::CCDirectRenderer::CachedTexture::CachedTexture):
(WebCore::CCDirectRenderer::quadVertexRect):
(WebCore::CCDirectRenderer::quadRectTransform):

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

8 years agoUnreviewed Chromium gardening. Fixed invalid test expectation.
kbr@google.com [Mon, 20 Aug 2012 19:10:06 +0000 (19:10 +0000)]
Unreviewed Chromium gardening. Fixed invalid test expectation.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed Chromium rebaselining and test failure suppressions.
kbr@google.com [Mon, 20 Aug 2012 18:55:12 +0000 (18:55 +0000)]
Unreviewed Chromium rebaselining and test failure suppressions.

Source/WebKit/chromium:

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

* tests/CCMathUtilTest.cpp:

LayoutTests:

https://bugs.webkit.org/show_bug.cgi?id=94494
https://bugs.webkit.org/show_bug.cgi?id=94501
https://bugs.webkit.org/show_bug.cgi?id=94502

* platform/chromium-mac-snowleopard/fast/forms/input-double-click-selection-gap-bug-expected.png:
* platform/chromium-mac/fast/css/text-overflow-input-expected.png:
* platform/chromium-mac/fast/forms/box-shadow-override-expected.png:
* platform/chromium-mac/fast/forms/input-double-click-selection-gap-bug-expected.png:
* platform/chromium/TestExpectations:

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

8 years agoIntroduce a will-be-removed-from-tree notification in RenderObject
jchaffraix@webkit.org [Mon, 20 Aug 2012 18:52:25 +0000 (18:52 +0000)]
Introduce a will-be-removed-from-tree notification in RenderObject
https://bugs.webkit.org/show_bug.cgi?id=94271

Reviewed by Abhishek Arya.

Following bug 93874, we have an insertion notification. This change adds the
matching removal notification (willBeRemovedFromTree).

Refactoring covered by existing tests.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
Removed the code from here and moved it below.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeRemovedFromTree):
* rendering/RenderObject.h:
This is the base function that should be called by every instance.

* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::willBeRemovedFromTree):
* rendering/RenderListItem.h:
* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::willBeRemovedFromTree):
* rendering/RenderQuote.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::willBeRemovedFromTree):
* rendering/RenderRegion.h:
Overriden functions.

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

8 years agoCSP 1.1: The 'plugin-types' warning should include details about explicit type declar...
commit-queue@webkit.org [Mon, 20 Aug 2012 18:33:20 +0000 (18:33 +0000)]
CSP 1.1: The 'plugin-types' warning should include details about explicit type declaration when relevant.
https://bugs.webkit.org/show_bug.cgi?id=94432

Patch by Mike West <mkwst@chromium.org> on 2012-08-20
Reviewed by Adam Barth.

Source/WebCore:

Given a 'plugin-types' Content Security Policy directive, an 'object' or
'embed' tag is blocked if it doesn't include an explicit declaration of
the plugin's expected media type. This restriction should be made clear
in the console warning that's generated.

Existing tests have been adjusted to agree with the new error string.

* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
    If a media type fail to match the policy's restrictions, and the
    declared type attribute is empty, then add another line to the
    console warning, espousing the virtues of explicit declaration.

LayoutTests:

* http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-url-expected.txt:

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

8 years ago[chromium] Update HUD resources as a final step to drawing a frame
danakj@chromium.org [Mon, 20 Aug 2012 18:23:08 +0000 (18:23 +0000)]
[chromium] Update HUD resources as a final step to drawing a frame
https://bugs.webkit.org/show_bug.cgi?id=93743

Reviewed by Adrienne Walker.

The HUD should be painted as a last step, after the whole frame has been
generated. This introduces a new "updateHudTexture" method on the HUD layer
and has the HUD layer save itself on CCLayerTreeHostImpl so that it can
call back to this method.

This allows the CCLayerTreeHostImpl to cause the HUD layer to update its
texture as a final step before drawing the frame, allowing the HUD texture
to contain all possible information about the current frame.

* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
(WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
(WebCore):
(WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
(WebCore::CCHeadsUpDisplayLayerImpl::updateHudTexture):
* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
(CCHeadsUpDisplayLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore):
(WebCore::CCLayerTreeHostImpl::setHudLayer):
(WebCore::CCLayerTreeHostImpl::hudLayer):
(CCLayerTreeHostImpl):

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

8 years ago[chromium] Add tracing for active composited animations
vollick@chromium.org [Mon, 20 Aug 2012 18:21:45 +0000 (18:21 +0000)]
[chromium] Add tracing for active composited animations
https://bugs.webkit.org/show_bug.cgi?id=84210

Reviewed by James Robinson.

This patch issues the trace events from the animations. Animations will
report when they start and finish on the main and impl threads (via
TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
change state.

Source/WebCore:

No new tests, only changes tracing behavior.

* platform/graphics/chromium/cc/CCActiveAnimation.cpp:
(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::~CCActiveAnimation):
(WebCore::CCActiveAnimation::setRunState):
(WebCore::CCActiveAnimation::clone):
(WebCore):
(WebCore::CCActiveAnimation::cloneAndInitialize):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(WebCore::CCActiveAnimation::isControllingInstance):
(CCActiveAnimation):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
(WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
(WebCore::CCLayerAnimationController::tickAnimations):

Source/WebKit/chromium:

* src/WebAnimationImpl.cpp:
(WebKit::WebAnimationImpl::cloneToCCAnimation):
* tests/CCAnimationTestCommon.h:

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

8 years agoTemporarily disable the 20+ crash and 500+ failure options on WK2 bots.
beidson@apple.com [Mon, 20 Aug 2012 18:16:45 +0000 (18:16 +0000)]
Temporarily disable the 20+ crash and 500+ failure options on WK2 bots.
https://bugs.webkit.org/show_bug.cgi?id=94506

Reviewed by Dirk Pranke.

When running WK2 tests, don't add the "abort early" command line options.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(ConfigureBuild.start):
(RunWebKitTests):
(RunWebKitTests.start):
(RunWebKit2Tests.start):

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

8 years agowebkitfullscreenchange not fired properly in iframe.
bbudge@chromium.org [Mon, 20 Aug 2012 18:11:22 +0000 (18:11 +0000)]
webkitfullscreenchange not fired properly in iframe.
https://bugs.webkit.org/show_bug.cgi?id=93525

Reviewed by Adam Barth.

webkitCancelFullScreen exits fullscreen by invoking webkitExitFullScreen on topDocument.
However, if webkitDidExitFullScreenForElement is invoked on a descendant document, no events
get dispatched. This change starts the event dispatch delay timer on the document where
webkitCancelFullScreen was called, so that the events get dispatched. In addition, when events
are dispatched, the check whether a node has been removed is changed to also check that the
node isn't in another document, as can happen with frames. Finally, webkitExitFullscreen
is fixed to remove unnecessary code and conform to the spec.

No new tests (the existing fullscreen/exit-full-screen-iframe.html test now passes).

* dom/Document.cpp:
(WebCore::Document::webkitExitFullscreen):
(WebCore::Document::webkitDidExitFullScreenForElement):
(WebCore::Document::fullScreenChangeDelayTimerFired):

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

8 years ago[chromium] pepper plugins sometimes are shifted by 1 pixel
commit-queue@webkit.org [Mon, 20 Aug 2012 18:01:40 +0000 (18:01 +0000)]
[chromium] pepper plugins sometimes are shifted by 1 pixel
https://bugs.webkit.org/show_bug.cgi?id=94257

Patch by Yuzhu Shen <yzshen@chromium.com> on 2012-08-20
Reviewed by Levi Weintraub.

Change RenderWidget::updateWidgetGeometry() to use LayoutRect instead of IntRect to avoid unwanted truncation
(when converting from FloatRect to IntRect).

This makes sure that the optimized rendering code path of Pepper plugin
(PluginInstance::GetBitmapForOptimizedPluginPaint) has consistent coordinates with the normal WebKit rendering
code path.

No new tests because we don't have Pepper plugin tests in WebKit.

* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::updateWidgetGeometry):

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

8 years ago<https://bugs.webkit.org/show_bug.cgi?id=94486>
sullivan@apple.com [Mon, 20 Aug 2012 16:53:36 +0000 (16:53 +0000)]
<https://bugs.webkit.org/show_bug.cgi?id=94486>
<rdar://problem/12128557>
REGRESSION (r121482, Lion-only): Closing a popover containing a WKView can crash

Reviewed by Darin Adler.

* UIProcess/API/mac/WKView.mm:
(-[WKView viewWillMoveToWindow:]):
Avoid calling the code added in 121482 that ensures that the undo stack is cleaned up
before the WKView is moved from one window to another when the WKView is being moved
out of a popover window. This avoids a bug in OS X 10.7 that was fixed in 10.8.
While this technically reopens a potentially crashing code path that 121482 closed,
it only reopens it for WKViews that are used for text editing and that are removed
from an NSPopover at some time earlier than tear-down of the NSPopover.

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

8 years agopostMessage() in MessagePort.idl does not match spec
commit-queue@webkit.org [Mon, 20 Aug 2012 16:39:11 +0000 (16:39 +0000)]
postMessage() in MessagePort.idl does not match spec
https://bugs.webkit.org/show_bug.cgi?id=94477

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-20
Reviewed by Kentaro Hara.

Update definition of postMessage() in MessagePort.idl
to match the specification at:
http://www.w3.org/TR/html5/comms.html#messageport

The first argument should be of type 'any', not
'DOMString'.

No new tests, no behavior change.

* dom/MessagePort.idl:

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

8 years agoUnreviewed, rolling out r125989.
commit-queue@webkit.org [Mon, 20 Aug 2012 16:13:19 +0000 (16:13 +0000)]
Unreviewed, rolling out r125989.
http://trac.webkit.org/changeset/125989
https://bugs.webkit.org/show_bug.cgi?id=94485

"Two of the new tests always failed on Mac bots" (Requested by
bradee-oh on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-20

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

LayoutTests:

* css3/compositing/blend-mode-property-expected.txt: Removed.
* css3/compositing/blend-mode-property-parsing-expected.txt: Removed.
* css3/compositing/blend-mode-property-parsing-invalid-expected.txt: Removed.
* css3/compositing/blend-mode-property-parsing-invalid.html: Removed.
* css3/compositing/blend-mode-property-parsing.html: Removed.
* css3/compositing/blend-mode-property.html: Removed.
* css3/compositing/script-tests/blend-mode-property-parsing-invalid.js: Removed.
* css3/compositing/script-tests/blend-mode-property-parsing.js: Removed.
* css3/compositing/script-tests/blend-mode-property.js: Removed.

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

8 years ago[Qt] Custom tap-highlight-color renders fully opaque
allan.jensen@nokia.com [Mon, 20 Aug 2012 15:18:17 +0000 (15:18 +0000)]
[Qt] Custom tap-highlight-color renders fully opaque
https://bugs.webkit.org/show_bug.cgi?id=94468

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Adjust the default tap-highlight-color to figure in that is will be
drawn semi-transparent.

* rendering/RenderTheme.h:
(RenderTheme):

Source/WebKit2:

Draw tap-highlight-color at 50% transparency, to better match how
existing WebKit browsers act on custom tap-highlight colors.

* WebProcess/WebPage/TapHighlightController.cpp:
(WebKit::TapHighlightController::drawRect):

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

8 years ago[GTK] Replace webkit_web_view_replace_content with webkit_web_view_load_alternate_html
carlosgc@webkit.org [Mon, 20 Aug 2012 15:10:55 +0000 (15:10 +0000)]
[GTK] Replace webkit_web_view_replace_content with webkit_web_view_load_alternate_html
https://bugs.webkit.org/show_bug.cgi?id=94471

Reviewed by Martin Robinson.

In WebKit1 there's code to prevent that load signals are emitted
when loading internal custom error pages. We added
webkit_web_view_replace_content() with the same idea, but it has
ended up being problematic, because it allows to add any HTML
content (in WebKit1 we assumed internal error pages never failed
and always loaded) and it's impossible to know when the load has
finished. It also required a lot of logic to handle
replace_content as an especial case, in order to hide the fact
that it loads content. This patch renames
webkit_web_view_replace_content() as
webkit_web_view_load_alternate_html() and emit load events
normally.

* UIProcess/API/gtk/WebKitWebView.cpp:
(_WebKitWebViewPrivate):
(webkitWebViewLoadChanged):
(webkitWebViewLoadFailed):
(webkitWebViewSetEstimatedLoadProgress):
(webkitWebViewResourceLoadStarted):
(webkitWebViewGetLoadingWebResource):
(webkitWebViewRemoveLoadingWebResource):
(webkitWebViewResourceLoadFinished):
(webkit_web_view_load_alternate_html):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestLoaderClient.cpp:
(testLoadAlternateHTML):
(beforeAll):
* UIProcess/API/gtk/tests/TestResources.cpp:
(beforeAll):
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(beforeAll):
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::loadAlternateHTML):
* UIProcess/API/gtk/tests/WebViewTest.h:

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

8 years agoWeb Inspector: [WebGL] Add minimum transport protocol from backend to frontend
commit-queue@webkit.org [Mon, 20 Aug 2012 15:05:09 +0000 (15:05 +0000)]
Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
https://bugs.webkit.org/show_bug.cgi?id=88973

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-08-20
Reviewed by Pavel Feldman.

Added the following protocol methods to communicate with the WebGL injected
module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.

* inspector/CodeGeneratorInspector.py:
* inspector/InjectedScriptWebGLModule.cpp:
(WebCore::InjectedScriptWebGLModule::captureFrame):
(WebCore):
(WebCore::InjectedScriptWebGLModule::dropTraceLog):
(WebCore::InjectedScriptWebGLModule::getTraceLog):
(WebCore::InjectedScriptWebGLModule::replayTraceLog):
* inspector/InjectedScriptWebGLModule.h:
(InjectedScriptWebGLModule):
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorWebGLAgent.cpp:
(WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
(WebCore::InspectorWebGLAgent::dropTraceLog):
(WebCore):
(WebCore::InspectorWebGLAgent::captureFrame):
(WebCore::InspectorWebGLAgent::getTraceLog):
(WebCore::InspectorWebGLAgent::replayTraceLog):
* inspector/InspectorWebGLAgent.h:
(WebCore):
(WebCore::InspectorWebGLAgent::create):
(InspectorWebGLAgent):

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

8 years agoUpdate canvas tests that are using CanvasPixelArray
commit-queue@webkit.org [Mon, 20 Aug 2012 15:04:59 +0000 (15:04 +0000)]
Update canvas tests that are using CanvasPixelArray
https://bugs.webkit.org/show_bug.cgi?id=94474

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-20
Reviewed by Andreas Kling.

CanvasPixelArray is deprecated. W3C already updated these tests on the
approved tests repository. Using Uint8ClampedArray, they now pass on
WebKit.

* canvas/philip/tests/2d.imageData.create1.type.html:
* canvas/philip/tests/2d.imageData.create2.type.html:
* canvas/philip/tests/2d.imageData.get.type.html:
* platform/chromium/TestExpectations:
* platform/efl/Skipped:
* platform/gtk/TestExpectations:
* platform/mac/canvas/philip/tests/2d.imageData.create1.type-expected.txt: Removed.
* platform/mac/canvas/philip/tests/2d.imageData.create2.type-expected.txt: Removed.
* platform/mac/canvas/philip/tests/2d.imageData.get.type-expected.txt: Removed.
* platform/qt/Skipped:

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

8 years ago[TouchAdjustment] Adjust to word or selection
allan.jensen@nokia.com [Mon, 20 Aug 2012 14:50:24 +0000 (14:50 +0000)]
[TouchAdjustment] Adjust to word or selection
https://bugs.webkit.org/show_bug.cgi?id=94449

Reviewed by Antonio Gomes.

Source/WebCore:

Makes each separate word a separate subtarget when context menu triggers
selections, and only the selected part of a partial selected node a
target when selections are not overridden.

Test: touchadjustment/context-menu-text-subtargets.html

* page/TouchAdjustment.cpp:
(TouchAdjustment):
(WebCore::TouchAdjustment::providesContextMenuItems):
(WebCore::TouchAdjustment::appendQuadsToSubtargetList):
(WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
(WebCore::TouchAdjustment::appendContextSubtargetsForNode):
(WebCore::TouchAdjustment::compileSubtargetList):
(WebCore::findBestClickableCandidate):
(WebCore::findBestContextMenuCandidate):

LayoutTests:

Tests that touch-adjustment can adjust to the right subtargets within text-nodes.

* touchadjustment/context-menu-select-text.html:
* touchadjustment/context-menu-text-subtargets-expected.txt: Added.
* touchadjustment/context-menu-text-subtargets.html: Added.
* touchadjustment/resources/touchadjustment.js:
(pointToString):
(shouldBeWithin):

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

8 years agoNot reviewed: fixing flaky inspector test.
pfeldman@chromium.org [Mon, 20 Aug 2012 14:34:01 +0000 (14:34 +0000)]
Not reviewed: fixing flaky inspector test.

* http/tests/inspector/resource-tree/resource-tree-frame-navigate.html:
* http/tests/inspector/resource-tree/resource-tree-test.js:
(initialize_ResourceTreeTest.InspectorTest.dumpResourcesTree):

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 20 Aug 2012 13:57:52 +0000 (13:57 +0000)]
Unreviewed GTK gardening.

Fixing the failure expectations for a flaky crasher XFrameOptions test
in debug builds. When it doesn't crash it fails due to text diff.

* platform/gtk/TestExpectations:

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

8 years agoThe 2d.imageData.object.round canvas test is failing
commit-queue@webkit.org [Mon, 20 Aug 2012 13:24:50 +0000 (13:24 +0000)]
The 2d.imageData.object.round canvas test is failing
https://bugs.webkit.org/show_bug.cgi?id=40272

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Source/WTF:

According to the Uint8ClampedArray spec (http://www.khronos.org/registry/typedarray/specs/latest/#7.1)
which references WebIDL's clamping rules, with implications defined in http://www.w3.org/TR/WebIDL/#es-octet
we need to round to nearest integer, and to the even one if exactly halfway in between.
As a solution: applying C99's lrint which, in default rounding mode, does that.

The updated version of test 2d.imageData.object.round.html test passes now.

* wtf/MathExtras.h:
(lrint): Assembly based implementation for MSVC under X86, otherwise falling back to casting.
* wtf/Uint8ClampedArray.h:
(WTF::Uint8ClampedArray::set): lrint instead of simple rounding.

LayoutTests:

Fixing expectations for the imageData rounding test, unskipping the tests on all ports.

* canvas/philip/tests/2d.imageData.object.round.html: Fixing expected results according to "round to even in halfway case".
* fast/canvas/canvas-ImageData-behaviour-expected.txt: Fixing expected results according to "round to even in halfway case".
* fast/canvas/canvas-ImageData-behaviour.js: Fixing expected results according to "round to even in halfway case".
* platform/chromium/TestExpectations: Updating bug id for 2d.imageData.object.round.html and for wrap case, adding SVG case for rebaselining.
* platform/efl/Skipped: 2d.imageData.object.round.html
* platform/efl/TestExpectations: Moving 2d.imageData.object.wrap.html case here with new bug id.
* platform/gtk/TestExpectations: Unskippng 2d.imageData.object.round.html, updating bug id for wrap case.
* platform/mac/Skipped: Unskipping 2d.imageData.object.round.html.
* platform/qt/Skipped: Unskipping 2d.imageData.object.round.html.

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

8 years agoRegression(r124945): Build is broken when touch events is disabled
commit-queue@webkit.org [Mon, 20 Aug 2012 12:45:19 +0000 (12:45 +0000)]
Regression(r124945): Build is broken when touch events is disabled
https://bugs.webkit.org/show_bug.cgi?id=94466

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Added missing guards around touch events code.

* ewk/ewk_touch_event.cpp:
* ewk/ewk_touch_event_private.h:

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

8 years ago[GTK] Provide backwards compatible method for WebKitDOMWebKitNamedFlow::overflow
commit-queue@webkit.org [Mon, 20 Aug 2012 12:25:57 +0000 (12:25 +0000)]
[GTK] Provide backwards compatible method for WebKitDOMWebKitNamedFlow::overflow
https://bugs.webkit.org/show_bug.cgi?id=94464

Patch by Xan Lopez <xlopez@igalia.com> on 2012-08-20
Reviewed by Carlos Garcia Campos.

Provide a compatibility method to access the new 'overset'
property through the old 'overflow' name in
WebKitDOMWebKitNamedFlow. Note that trying to access it through
g_object_get directly will give a runtime warning, since the
property does not actually exist anymore; this is done purely to
maintain API compatibility.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_webkit_named_flow_get_overflow): add method.
* bindings/gobject/WebKitDOMCustom.h:

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

8 years ago[EFL] Update flaky tests to make the bots green
commit-queue@webkit.org [Mon, 20 Aug 2012 12:21:29 +0000 (12:21 +0000)]
[EFL] Update flaky tests to make the bots green
https://bugs.webkit.org/show_bug.cgi?id=94467

Unreviewed EFL gardening. Mark several tests as
flaky in order to make the bots green.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-20

* platform/efl/TestExpectations:

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

8 years ago[EFL][WK2] Add unit tests for WKEinaSharedString
commit-queue@webkit.org [Mon, 20 Aug 2012 11:52:26 +0000 (11:52 +0000)]
[EFL][WK2] Add unit tests for WKEinaSharedString
https://bugs.webkit.org/show_bug.cgi?id=94104

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Added unit tests for WKEinaSharedString class.

* PlatformEfl.cmake:
* UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp: Added.
(checkString):
(TEST_F):

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

8 years ago[chromium] Convert screen space scroll gestures to layer space
commit-queue@webkit.org [Mon, 20 Aug 2012 11:01:41 +0000 (11:01 +0000)]
[chromium] Convert screen space scroll gestures to layer space
https://bugs.webkit.org/show_bug.cgi?id=92499

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-08-20
Reviewed by James Robinson.

Source/WebCore:

Scroll gestures should be converted from screen space to local layer space to
correctly apply the scroll delta to page scaled and/or transformed layers.
Visually this means that the scrolled content will always follow the user's
finger for any "well-formed" layer transform.

Wheel scroll deltas will still be directly interpreted as local layer scroll
coordinates.

We also adjust the logic for propagating ("bubbling") scroll events to parent
layers. Previously a parent layer was allowed to scroll in the screen-space
axis orthogonal to the direction the starting layer scrolled toward. For
example if a vertically scrolling layer is scrolled diagonally down and right,
the layer moves down and its parent to the right.

This patch generalizes this behavior to non-axis aligned transformed layers so
that the scrolling direction of any parent is constrained to be perpendicular
direction of movement of the starting layer. This makes the scrolling behavior
of transformed layers physically plausible. For instance, assume a 45 degree
rotated, vertically scrollable layer. Dragging your finger vertically
(relative to the layer) scrolls the layer up and down, while horizontal
movement results in the parent of the layer moving in a corresponding way.

Since generally users want to scroll a single layer in one direction, this
patch also introduces a rule that if the resulting movement of a layer is
within 45 degrees of the original scroll input, the bubbling process is
stopped. This makes it possible to reliably scroll a single layer without
affecting any of its parents.

Added new unit tests:
    CCLayerTreeHostImplTest.scrollAxisAlignedRotatedLayer
    CCLayerTreeHostImplTest.scrollNonAxisAlignedRotatedLayer
    CCLayerTreeHostImplTest.scrollScaledLayer
    CCMathUtilTest.smallestAngleBetweenVectors
    CCMathUtilTest.vectorProjection

* platform/graphics/chromium/cc/CCInputHandler.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::scrollBegin):
(WebCore::scrollLayerWithScreenSpaceDelta):
(WebCore):
(WebCore::scrollLayerWithLocalDelta):
(WebCore::CCLayerTreeHostImpl::scrollBy):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCMathUtil.cpp:
(WebCore::CCMathUtil::smallestAngleBetweenVectors):
(WebCore):
(WebCore::CCMathUtil::projectVector):
* platform/graphics/chromium/cc/CCMathUtil.h:
(CCMathUtil):

Source/WebKit/chromium:

Added new tests for verifying transformed layer scrolling:

    CCLayerTreeHostImplTest.scrollAxisAlignedRotatedLayer
    CCLayerTreeHostImplTest.scrollNonAxisAlignedRotatedLayer
    CCLayerTreeHostImplTest.scrollScaledLayer

Also some tests for the introduced math utilities:

    CCMathUtilTest.smallestAngleBetweenVectors
    CCMathUtilTest.vectorProjection

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
* tests/CCLayerTreeHostImplTest.cpp: Adjusted scroll delta in scrollChildBeyondLimit to avoid triggering the 45 degree rule.
* tests/CCLayerTreeHostTest.cpp:
* tests/CCMathUtilTest.cpp:
* tests/WebCompositorInputHandlerImplTest.cpp:
(MockCCInputHandlerClient):
(WebKit::TEST_F):

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