WebKit-https.git
8 years agoRemove ActiveNodeContext in favour of BlackBerry::Platform::WebContext
commit-queue@webkit.org [Tue, 13 Mar 2012 15:02:49 +0000 (15:02 +0000)]
Remove ActiveNodeContext in favour of BlackBerry::Platform::WebContext
https://bugs.webkit.org/show_bug.cgi?id=80984

Remove ActiveNodeContext, and switch the implementation to
provide a BlackBerry::Platform::WebContext. The new object
adds an explicit IsImage flag, as well as IsAudio and IsVideo
for the HTML5 elements.

Note that for many videos both IsVideo and IsAudio will be true,
as videos typically have audio streams as well.

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-03-13
Reviewed by George Staikos.

* Api/ActiveNodeContext.h: Removed.
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::webContext):
(BlackBerry::WebKit::WebPage::webContext):
* Api/WebPage.h:
* Api/WebPage_p.h:

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

8 years agoFix an enumeration name in ReasonsFrameCannotBeInPageCache.
gavinp@chromium.org [Tue, 13 Mar 2012 14:57:53 +0000 (14:57 +0000)]
Fix an enumeration name in ReasonsFrameCannotBeInPageCache.
https://bugs.webkit.org/show_bug.cgi?id=80849

Reviewed by Brady Eidson.

It seems that somebody goofed, and named one of the
ReasonsFrameCannotBeInPageCache antonymically.

* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):

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

8 years agoFile upload control should use File.name() rather than File.path() to show chosen...
kinuko@chromium.org [Tue, 13 Mar 2012 14:38:27 +0000 (14:38 +0000)]
File upload control should use File.name() rather than File.path() to show chosen filenames
https://bugs.webkit.org/show_bug.cgi?id=80970

In some rare cases (e.g. files from FileSystem API or files created
using the newly added WebKit API) File.name has different displayName
from the basename of file.path, and in the file uploader controller we
should use File.name rather than File.path.

Reviewed by Kent Tamura.

No new tests: existing tests should pass as this should not change
behavior in regular use cases.  (New behavior where File.name differs
from File.path can be only tested in chromeos environment, therefore
not adding new tests for that)

* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::fileListNameForWidth): Updated to handle FileList.
* platform/gtk/RenderThemeGtk.h:
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::fileListNameForWidth): Updated to handle FileList.
* platform/qt/RenderThemeQt.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::fileTextValue): Changed to pass FileList rather than FileList->paths().
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::fileListNameForWidth): Updated to handle FileList and use File.name for displaying the file name.
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::fileListNameForWidth): Updated to handle FileList.

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

8 years agoDromaeo perf-tests results are wrong
haraken@chromium.org [Tue, 13 Mar 2012 14:09:46 +0000 (14:09 +0000)]
Dromaeo perf-tests results are wrong
https://bugs.webkit.org/show_bug.cgi?id=80974

Reviewed by Hajime Morita.

Dromaeo perf-tests had reported the sum of runs/seconds as "ms".
This patch fixes them to report the execution time per run.

At present, they report "0.0ms" for "stdev". This is because
dromaeorunner.js can just know stdev of "runs/seconds"
and cannot calculate stdev of "ms" from that. We can fix it later.

* Dromaeo/resources/dromaeorunner.js:
(.):

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

8 years ago[Qt] Skip some tests until fix.
ossy@webkit.org [Tue, 13 Mar 2012 14:09:18 +0000 (14:09 +0000)]
[Qt] Skip some tests until fix.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-03-13
Reviewed by Csaba Osztrogonác.

* platform/qt/Skipped:

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

8 years agoAllow WebFileChooser to return extra file info (like displayName) in addition to...
kinuko@chromium.org [Tue, 13 Mar 2012 14:06:48 +0000 (14:06 +0000)]
Allow WebFileChooser to return extra file info (like displayName) in addition to mere file paths
https://bugs.webkit.org/show_bug.cgi?id=80719

Reviewed by Kent Tamura.

Source/WebCore:

No new tests: this change itself shouldn't change existing behavior.

* fileapi/File.cpp:
(WebCore::createBlobDataForFileWithName): Renamed from createBlobDataForFileSystemFile.
* fileapi/File.h:
* html/FileInputType.cpp:
(WebCore::FileInputType::saveFormControlState): Updated to handle File.name.
(WebCore::FileInputType::restoreFormControlState): Ditto.
(WebCore::FileInputType::setFileList): Changed the signature to take
FileChooserFileInfo.
(WebCore::FileInputType::filesChosen): Ditto.
(WebCore::FileInputType::receiveDroppedFiles):
* html/FileInputType.h:
(FileInputType):
* platform/FileChooser.cpp:
(WebCore::FileChooser::chooseFiles): Added an overloaded method that
takes FileChooserFileInfo.
(WebCore):
* platform/FileChooser.h:
(WebCore::FileChooserFileInfo::FileChooserFileInfo): Added.
* platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension): Removed surrouonding ifdefs as this function is now used even if FILE_SYSTEM is not enabled.
* platform/MIMETypeRegistry.h:
(MIMETypeRegistry):

Source/WebKit/chromium:

* public/WebFileChooserCompletion.h:
(SelectedFileInfo): Added.
(WebFileChooserCompletion):
(WebKit::WebFileChooserCompletion::didChooseFile): Added an overloaded
method that takes SelectedFileInfo.
* src/WebFileChooserCompletionImpl.cpp:
(WebKit::WebFileChooserCompletionImpl::didChooseFile): Ditto.
(WebKit):
* src/WebFileChooserCompletionImpl.h:
(WebFileChooserCompletionImpl):

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

8 years ago[EFL] Remove a duplicate allocation of matrix entry.
commit-queue@webkit.org [Tue, 13 Mar 2012 12:38:37 +0000 (12:38 +0000)]
[EFL] Remove a duplicate allocation of matrix entry.
https://bugs.webkit.org/show_bug.cgi?id=79362

Patch by JungJik Lee <jungjik.lee@samsung.com> on 2012-03-13
Reviewed by Zoltan Herczeg.

A matrix entry is created when calling ewk_matrix_new.
Another matrix is created inside ewk_tile_matrix_zoom_level_set.
This patch is for getting rid of a duplicated creation of the matrix.

* ewk/ewk_tiled_backing_store.cpp:
(_Ewk_Tiled_Backing_Store_Item):
(_ewk_tiled_backing_store_zoom_set_internal):
* ewk/ewk_tiled_matrix.cpp:
(ewk_tile_matrix_new):
(ewk_tile_matrix_zoom_level_set):
(ewk_tile_matrix_entry_new):
(ewk_tile_matrix_size_get):
* ewk/ewk_tiled_matrix.h:

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

8 years agoUnreviewed, skipping some more failing tests.
morrita@google.com [Tue, 13 Mar 2012 12:28:18 +0000 (12:28 +0000)]
Unreviewed, skipping some more failing tests.

* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed inspector compilation module name fix after r110550.
vsevik@chromium.org [Tue, 13 Mar 2012 12:25:02 +0000 (12:25 +0000)]
Unreviewed inspector compilation module name fix after r110550.

* inspector/compile-front-end.py:

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

8 years ago[Qt] Set correct device width and height.
commit-queue@webkit.org [Tue, 13 Mar 2012 12:24:56 +0000 (12:24 +0000)]
[Qt] Set correct device width and height.
https://bugs.webkit.org/show_bug.cgi?id=80980

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-03-13
Reviewed by Tor Arne Vestbø.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::computeViewportConstraints):

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

8 years agoUnreviewed, skip new failing test on GTK.
philn@webkit.org [Tue, 13 Mar 2012 10:00:50 +0000 (10:00 +0000)]
Unreviewed, skip new failing test on GTK.

* platform/gtk/Skipped:

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

8 years agoUnreviewed, marking a test as fail which needs reaseline.
morrita@google.com [Tue, 13 Mar 2012 09:57:52 +0000 (09:57 +0000)]
Unreviewed, marking a test as fail which needs reaseline.

* platform/chromium/test_expectations.txt:

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

8 years agoWeb Inspector: Changes to the list of scripts for front-end compilation should not...
vsevik@chromium.org [Tue, 13 Mar 2012 09:47:46 +0000 (09:47 +0000)]
Web Inspector: Changes to the list of scripts for front-end compilation should not require update of number of scripts in module.
https://bugs.webkit.org/show_bug.cgi?id=80872

Reviewed by Pavel Feldman.

* inspector/compile-front-end.py: Added.
* inspector/compile-front-end.sh:

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

8 years agoWeb Inspector: move ResourceScriptMapping to a separate file.
podivilov@chromium.org [Tue, 13 Mar 2012 09:10:42 +0000 (09:10 +0000)]
Web Inspector: move ResourceScriptMapping to a separate file.
https://bugs.webkit.org/show_bug.cgi?id=80859

Reviewed by Vsevolod Vlasov.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/ResourceScriptMapping.js: Copied from Source/WebCore/inspector/front-end/ScriptMapping.js.
(WebInspector.ResourceScriptMapping):
(WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
(WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeListChanged):
(WebInspector.ResourceScriptMapping.prototype._uiSourceCodeListChanged):
(WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
(WebInspector.ResourceScriptMapping.prototype.setFormatSource):
(WebInspector.ResourceScriptMapping.prototype.forceUpdateSourceMapping):
(WebInspector.ResourceScriptMapping.prototype.reset):
* inspector/front-end/ScriptMapping.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

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

8 years agoUnreviewed, skipping some failing tests.
morrita@google.com [Tue, 13 Mar 2012 08:56:17 +0000 (08:56 +0000)]
Unreviewed, skipping some failing tests.

* platform/chromium/test_expectations.txt:

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

8 years agoRename OptionsObject to Dictionary
haraken@chromium.org [Tue, 13 Mar 2012 08:48:36 +0000 (08:48 +0000)]
Rename OptionsObject to Dictionary
https://bugs.webkit.org/show_bug.cgi?id=80802

Reviewed by Adam Barth.

For clarification, rename OptionsObject.{h,cpp} to Dictionary.{h,cpp}.
This patch just renames and sorts alphabetically.

No tests. No change in behavior.

* GNUmakefile.list.am:
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
* Modules/indexeddb/IDBDatabase.h:
(WebCore::IDBDatabase::createObjectStore):
(IDBDatabase):
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBKeyRange.h:
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
* Modules/indexeddb/IDBObjectStore.h:
(WebCore::IDBObjectStore::createIndex):
(IDBObjectStore):
* Modules/indexeddb/IDBObjectStore.idl:
* Target.pri:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* bindings/js/Dictionary.h: Renamed from Source/WebCore/bindings/js/OptionsObject.h.
(WebCore):
(Dictionary):
(WebCore::Dictionary::Dictionary):
(WebCore::Dictionary::isObject):
(WebCore::Dictionary::isUndefinedOrNull):
(WebCore::Dictionary::get):
(WebCore::Dictionary::getWithUndefinedOrNullCheck):
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createDictionaryFromValue):
* bindings/js/IDBBindingUtilities.h:
(WebCore):
* bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateParametersCheck):
(GenerateEventConstructorCallback):
(GetNativeType):
(JSValueToNative):
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::optionsObject):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_options_object):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj optionsObject:ooo:]):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::constructorCallback):
(WebCore::fillTestEventConstructorInit):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::optionsObjectCallback):
* bindings/v8/Dictionary.cpp: Renamed from Source/WebCore/bindings/v8/OptionsObject.cpp.
(WebCore):
(WebCore::Dictionary::Dictionary):
(WebCore::Dictionary::~Dictionary):
(WebCore::Dictionary::operator=):
(WebCore::Dictionary::isObject):
(WebCore::Dictionary::isUndefinedOrNull):
(WebCore::Dictionary::getKey):
(WebCore::Dictionary::get):
(WebCore::Dictionary::getWithUndefinedOrNullCheck):
* bindings/v8/Dictionary.h: Renamed from Source/WebCore/bindings/v8/OptionsObject.h.
(WebCore):
(Dictionary):
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::observeCallback):

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

8 years agoREGRESSION: Spellcheck tests hit assertions on Mac.
shinyak@chromium.org [Tue, 13 Mar 2012 08:38:38 +0000 (08:38 +0000)]
REGRESSION: Spellcheck tests hit assertions on Mac.
https://bugs.webkit.org/show_bug.cgi?id=80883

Reviewed by Ryosuke Niwa.

Source/WebKit/mac:

The bug was caused by the closure object created in requestCheckingOfString accessing
request's member variables even though the request object is not an NSObject or allocated
in stack. This resulted in the closure not being able to access those variables when invoked.

Fixed the bug by making local copies of those member variables.

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCheckingOfString):

LayoutTests:

Some words used in spellcheck-paste.js are considered as correct spellings in Mac's spellchecker.
This patch changes them into 'zz' so that Mac's spellchecker can make them as misspelling.

* editing/spelling/script-tests/spellcheck-paste.js:
(pasteAndVerify.trial):
(pasteAndVerify):
(tests):
* editing/spelling/spellcheck-paste-expected.txt:

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

8 years agoSVG Animations update baseVal instead of animVal
zimmermann@webkit.org [Tue, 13 Mar 2012 08:27:14 +0000 (08:27 +0000)]
SVG Animations update baseVal instead of animVal
https://bugs.webkit.org/show_bug.cgi?id=12437

Reviewed by Dirk Schulze.

Source/WebCore:

Begin implementing the last missing core piece of the SVG DOM: proper animVal support.
Most SVG DOM interfaces exposing eg. lengths use SVGAnimatedLength. eg. from SVGRectElement:
"readonly attribute SVGAnimatedLength x;" SVGAnimatedXXX contains following methods:
"readonly attribute SVGLength baseVal; readonly attribute SVGLength animVal;"
From SVG DOM perspective, animVal and baseVal are two distinctive objects, animVal != baseVal.
Its underlying value is the same though, if no animation is running on that attribute.

As soon as a SMIL animation starts animating an SVGAnimated* target attribute, its
baseVal and animVal may begin to differ. The animVal always reflect the current animated
value (including all effects of additive/accumulated animations) which is shown on screen
when eg animating the width of a <rect>. The baseVal is is equal to the underlying XML
property value / SVG DOM value, but may be influenced through dynamic changes.
(Consider changing rect1.width.baseVal.value while 'width' is animated)

During the last year we prepared our animation code to turn on animVal support.
This patch adds the last missing pieces to turn on animVal support for the SVGLength.
SVGLengthList and all other types will follow, one after the other.

I've decided to write an exhaustive ChangeLog, as this as the base for any future
work in this area - hopefully making this more reviewable.

Tests: svg/animations/additive-from-to-width-animation.html
       svg/animations/additive-values-width-animation.html
       svg/animations/change-baseVal-while-animating-fill-freeze-2.html
       svg/animations/change-baseVal-while-animating-fill-freeze.html
       svg/animations/change-baseVal-while-animating-fill-remove-2.html
       svg/animations/change-baseVal-while-animating-fill-remove.html
       svg/animations/change-target-while-animating-SVG-property.html
       svg/animations/multiple-animations-fill-freeze.html
       svg/animations/remove-animation-element-while-animation-is-running.html
       svg/repaint/repainting-after-animation-element-removal.svg

* svg/SVGAnimateElement.cpp: Remove unnecessary std namespace inclusion.
(WebCore::SVGAnimateElement::SVGAnimateElement): Remove now-obsolete m_aboutToStopAnimation.
(WebCore::SVGAnimateElement::calculateAnimatedValue): Swap assertion order, to test hasTagName() _before_ casting.
(WebCore::SVGAnimateElement::resetToBaseValue):
    Stop relying on the cached baseValue (breaking additive="sum"+values animation) for SVG DOM primitive animations.
    Avoid any string roundtrips previously needed to reset the SVGAnimatedType to the base value. Just grab the
    currentBaseValue() from the associated SVGAnimatedProperty, which includes all dynamic changes to the baseVal
    either by SVG DOM or setAttribute() calls - this way we don't need to utilize the buggy cache in SMILTimeContainer,
    which can be removed once all SVG DOM primitive types switched to the new animVal concept.

    NOTE: When multiple animations of the same attribute are applied to a target element, resetToBaseValue() will be called
    for the highest priority SVGSMILElement, on every animation step! Consider two <animate> elements, applied to a target
    <rect> which both animate the 'x' attribute, one from 0s to 2s, the other from 4s to 6s. The last <animate> element
    will reuse the SVGAnimatedType m_animatedType from the first <animate> element, and never create an own m_animatedType.
    When the animation starts the first time at 0s, we update the rect.x.animVals SVGLength* pointer, to point to the
    SVGAnimatedType of the first <animate> element, owning the m_animatedType. From that point on each call to rect.x.animVal
    will always return the same value as the SVGAnimatedType of the first <animate> element holds. Now after 2s the first
    <animate> element becomes inactive, but its m_animatedType remains alive. The bindings don't notice this change at all.
    Now at 4s, the second animation element gets active. It reuses the SVGAnimatedType of the first <animate> element, and
    applies its animation changes to that SVGAnimatedType, which is immediately reflected in the bindings w/o any additional
    work. It's very important for the understanding when animationStarted/animationEnded need to be called.

(WebCore::SVGAnimateElement::applyResultsToTarget): Remove now-obsolete m_aboutToStopAnimation logic. No need to know it at this point.
(WebCore::SVGAnimateElement::targetElementWillChange):
    Renamed from targetElementDidChange(). This method is called from SVGSMILElement for following conditions:
    - animation element is destructed
    - animation element is removed from document
    - target element of animation is destructed
    - target element of animation is removed from document
    - target element of animation changes id

    Whenever any of this happens, we need to reset the animVal. Resetting the animVal involves resetting the PropertyType* pointer,
    eg. SVGLength*, from the animVal property tear off, belonging to a certain SVGAnimatedProperty (eg. rect.x) to the initial
    value again, which is the 'm_x' of the SVGRectElement. This is needed as the SVGAnimatedType the animVal currently points to,
    if an animation is/was running, is destructed in targetElementWillChange(), to reset the SVGAnimateElement to the initial
    state before it received a target. This is the only place which destructed the m_animatedType, and thus the only place that
    needs to take care of resetting the animVal pointers.

* svg/SVGAnimatedLength.cpp:
(WebCore::SVGAnimatedLengthAnimator::constructFromCopy):
    Add a new constructFromCopy(SVGGenericAnimatedType) function to SVGAnimatedLengthAnimator.
    It takes a type-unsafe SVGGenericAnimatedType - the caller has to guarantee the type matches.
    This is strictly enforced for the single caller of constructFromCopy, and guaranteed to be safe.

* svg/SVGAnimatedLength.h: Add new constructFromCopy method, which is used to avoid string-roundtrips when resetting to base values.
* svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::supportsAnimVal): Only returns true for AnimatedLength, for now.
(WebCore::SVGAnimatedType::setVariantValue): Takes a SVGGenericAnimatedType, assuming the type matches. Callers have to guarantee type-safety!
* svg/SVGAnimatedType.h:
(SVGAnimatedType): Add new static supportsAnimVal(AnimatedPropertyType) function.
(WebCore::SVGAnimatedType::variantValue): Add a generic accessor for all animated types, called variant(). Only one place uses this.
* svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::constructFromCopy):
    New method to construct an eg. SVGAnimatedLengthAnimator right from a SVGLength, instead of a String.
    In that case the SVGAnimatedType just stores a pointer to the underlying SVGLength, no copying and or other roundtrips involved.

* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::svgAttributeChanged):
    Implement this instead of attributeChanged. The previous implementation reset the animation state to Inactive, causing a full
    rebuild, whenever any attribute changes, even though it might not be related for the animation element, eg.
    animate.setAttribute("stdDeviationX", "foobar"). Fix that by checking if we support the attribute (keyTimes/keySplines/etc..)
    , if not pass it on to SVGSMILElement (which supports begin/end/etc..) to check if it can handle that.

(WebCore::SVGAnimationElement::animationAttributeChanged):
    Called from our svgAttributeChanged, and/or from SVGSMILElement::svgAttributeChanged, whenever a _known_ attribute has changed.
    This sledgehammer should be used with care, instead of each time attributeChanged() is called :-)

(WebCore::setTargetAttributeAnimatedCSSValue):
    Remove support for removing properties from the override style sheet. I've added this optimization too early, we should reevaluate
    this once more types support animVal. It currently complexifies the logic too much, requiring setAttributeAnimatedValue to know
    if the animation ends (and that's not easy to figure out, at least not using started/endedActiveInterval, as I anticipated).

(WebCore::findMatchingAnimatedProperty):
    Add helper functions which retrieves a SVGAnimatedProperty* for a given SVGElement* targetElement, an attributeName, and an attribute
    type. eg. findMatchingAnimatedProperty(myRectElement, SVGNames::xAttr, AnimatedLength) returns the SVGAnimatedProperty which is
    exposed to JS, that holds: SVGProperty* baseVal, and SVGProperty* animVal. (Lazily created if they got accessed from JS.). This is
    used to update the animVal pointing to a new eg. SVGLength* value, once animation has started, to make rect->x() return that new
    SVGLength* value (internally), and to reflect the current animated value in rect.x.animVal.value from JS.

(WebCore::SVGAnimationElement::applyAnimatedValue): Refactored from setTargetAttributeAnimatedValue, to simplify the code.
(WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
    Helper function to share code betweeen animationStarted/animationEnded.
    It takes a SVGAnimatedProperty* and a SVGAnimatedType* which may be zero, indicating that the animation ended.
    It calls animationStarted/animationEnded on the given SVGAnimatedProperty, to update the animVal state.
    It also figures out all instances of the target element, and their SVGAnimatedProperties that may need updating.

(WebCore::SVGAnimationElement::animationStarted): Uses the helper above, passing on the given animatedType.
(WebCore::SVGAnimationElement::animationEnded): Uses the helper above, passing 0 as animatedType.
(WebCore::InstanceUpdateBlocker::InstanceUpdateBlocker):
    Added new helper struct, doing element->setInstancesUpdatedBlock(true) on construction and setInstancesUpdatesBlocked(false) on
    destruction, making it impossible to forget one. If we ever rewrite svgAttributeChanged & co to auto-update the cloned instances,
    this can go away.

(WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
    Now takes an SVGAnimatedType* instead of a String parameter. In order to avoid string-roundtrips for animVal support, let us
    decide if we need to construct a String out of it, or not. For animations supporting animVal (only SVGLength) we don't need
    to update any attribute or animVal pointer here, that happens automatically! We only need to notify the targetElement eg,
    that its xAttr changed! Previously we had to call targetElement->setAttribute("x", "...") on every animation step for
    SVGLength animations - that's gone now! The SVGAnimatedType pointers remains the same during the whole animation, so there's
    no need to call animationStarted() at each animated step!

(WebCore::SVGAnimationElement::animatedPropertyForType):
    Helper function returning a SVGAnimatedProperty* for the current target element & current target attribute, if the
    current animation is running on a type supporting animVal (SVGLength), or returning 0. This is needed for SVGAnimateElement.
    Reuses the existing findMatchingAnimatedProperty code.

* svg/SVGAnimationElement.h:
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
    Add comment to clarify why caching baseValues is just wrong. For SVGLength animations the problem is now gone.
    This is exercised using the new additive-from-to-width-animation.html & additive-values-width-animation.html tests.

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::removedFromDocument):
    Since animVal requires that the SVGAnimatedProperties are correctly reset if an animation element is removed from the document,
    we have to call targetElementWillChange(0) from here. That requires to move the "m_attributeName = anyQName()" line down,
    otherwise targetElementWillChange() would early exit, as no valid attributeName was specified.

    This is verified using the new svg/animations/remove-animation-element-while-animation-is-running.html
    and svg/repaint/repainting-after-animation-element-removal.svg tests.

(WebCore::SVGSMILElement::isSupportedAttribute): Add function like all SVG*Elements have identifying their supported attributes.
(WebCore::SVGSMILElement::svgAttributeChanged):
    Implement svgAttributeChanged instead of attributeChanged. Only take action if the attribute is actually supported.
    If one of the common attributes like begin/end/etc. changed, be sure to call animationAttributeChanged() so that our
    ancestor-classes get notified about this and can take action as well. NOTE: This is not about animating begin/end attributes,
    but about pure DOM changes. begin/end/et.. are not exposed to the SVG DOM, we still reuse the svgAttributeChanged logic
    for consistency. (This does NOT make those attributes animatable, nothing this here as it came up while reviewing).

(WebCore::SVGSMILElement::targetElement): Adapt logic to targetElementDidChange -> targetElementWillChange change.
(WebCore::SVGSMILElement::targetElementWillChange):
    Renamed from targetElementDidChange. Added "oldTarget" as parameter as well. Our ancestor-classes like SVGAnimateElement
    use this to properly deregister the animVal in the old target, before resetting the SVGAnimatedType, otherwise we'd leave
    dangling pointers around (verified manually by guard malloc runs, that none of this happens).

    Also add a default implementation here in targetElementWillChange, that ancestor classes have to call.
    Now we properly call endedActiveInterval() if the m_activeState is currently Active, so that animations are shut-down
    just like if the animation properly ends (use the same cleanup routines, etc.). Not doing that now leads to assertions.

(WebCore::SVGSMILElement::resetTargetElement):
    Instead of forcing m_activeState to be inactive, use the standard methods to end the animation.
    targetElementWillChange(m_targetElement, 0) and animationAttributeChanged().

    resetTargetElement() is only called by SVGDocumentExtensions::removeAllAnimationElementsFromTarget() for following conditions:
    - targetElement gets destructed
    - targetElement gets removed from the document
    - targetElement id changes

    If the targetElement gets destructed or removed, no actions need to be taken, as the SVGAnimatedPropertys are teared down
    as well. But if only the id changes, we still have to properly disconnect the animVals - this is all handled through
    targetElementWillChange now - that's why this has to be called from here as well.
    That explains why targetElementWillChange() now needs to check if the targetElement is destructing or not.

* svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
    Pass the AnimatedPropertyType from the SVGPropertyInfo to the SVGAnimatedProperties.
    Requires mechanic changes in all SVGAnimated* classes. We need acccess to the AnimatedPropertyType
    to verify the SVGAnimatedType objects, passed to animationStarted, match our type. This is to enforce
    strict type-checking, whenever SVGGenericAnimatedTypes are passed around.

(WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
(WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
* svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
(WebCore::SVGAnimatedListPropertyTearOff::create):
(WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
(WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
* svg/properties/SVGAnimatedProperty.h: Store AnimatedPropertyType, add accessors.
(WebCore::SVGAnimatedProperty::animatedPropertyType): Add accessor.
(WebCore::SVGAnimatedProperty::animationValueChanged): New animVal related functions to be implemented in the animated tear offs.
(WebCore::SVGAnimatedProperty::animationStarted): Ditto.
(WebCore::SVGAnimatedProperty::animationEnded): Ditto.
(WebCore::SVGAnimatedProperty::currentBaseValue):
    Generic accessor for the baseVal: returns a SVGGenericAnimatedType.
    It takes an AnimatedPropertyType as input, that's only needed to verify that the type we're returning matches
    the expectation of the caller. If not, return 0 to avoid any potential casting mistakes, which would lead to crashes.

(WebCore::SVGAnimatedProperty::SVGAnimatedProperty): Store m_animatedPropertyType.
* svg/properties/SVGAnimatedPropertyTearOff.h:
(WebCore::SVGAnimatedPropertyTearOff::create): Same changes as in the other tear offs: pass around AnimatedPropertyType.
(WebCore::SVGAnimatedPropertyTearOff::currentBaseValue): Returns &m_property, if the type matches (see above).
(SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
(WebCore::SVGAnimatedPropertyTearOff::animationValueChanged): No-op for non list types, don't need to do anything here.
(WebCore::SVGAnimatedPropertyTearOff::animationStarted):
(WebCore::SVGAnimatedPropertyTearOff::animationEnded):
    Store the currently animated value in the animVal() property tear off, that's also re-used as-is for the JS bindings.
    As this is important, here's an example of how this affects methods like rect->x() used in the renderers.

    Setting m_isAnimating to true, redirects any rect->x() calls that previously returned rect->m_x, to
    rect->xAnimated()->animVal()->propertyReference() (which returns the same SVGLength& that the SVGAnimatedElement
    m_animatedType contains). Calling rect->setXBaseValue() still modifies rect->m_x, and is used by all parseAttribute()
    methods in svg/ as setAttribute() calls only ever modify the "baseValue", never the current animated value.
    rect.x.baseVal will return a SVGLength object corresponding to rect->m_x.
    rect.x.animVal will return a SVGLength object corresponding to rect->xAnimated()->animVal()->propertyReference().

    These implementation details are all hidden in the SVGAnimatedPropertyMacros. Here's an example from SVGRectElement:
    DECLARE_ANIMATED_LENGTH(X, x) -> Replace PropertyType with 'SVGLength', LowerProperty with 'x', and UpperProperty with 'X'.

    PropertyType& LowerProperty() const
    {
        if (TearOffType* wrapper = SVGAnimatedProperty::lookupWrapper<UseOwnerType, TearOffType, IsDerivedFromSVGElement<UseOwnerType>::value>(this, LowerProperty##PropertyInfo())) {
            if (wrapper->isAnimating())
                return wrapper->currentAnimatedValue();
        }
        return m_##LowerProperty.value;
    }

    PropertyType& LowerProperty##BaseValue() const
    {
        return m_##LowerProperty.value;
    }

    void set##UpperProperty##BaseValue(const PropertyType& type)
    {
        m_##LowerProperty.value = type;
    }

    Any code outside of svg/, eg. in rendering/svg, does not need to care about any baseVal/animVal differences.
    During layout eg. RenderSVGRect calls rect->x().value(someLengthContext) to get the current 'x' as float. If an animation
    is running on that rect element it will automatically retrieve the last set animated value here - all under the hood.
    I hope that sheds some light in those myserious functions, they were designed with animVal in mind, but we never had that until now :-)

(WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
(WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff): Add destructor to debug builds veryifing that m_isAnimating is false.
* svg/properties/SVGAnimatedStaticPropertyTearOff.h: Ditto.
(WebCore::SVGAnimatedStaticPropertyTearOff::create):
(WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
* svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.
(WebCore::SVGAnimatedTransformListPropertyTearOff::create):
(WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
* svg/properties/SVGPropertyInfo.h: Add SVGGenericAnimatedType definition.
* svg/properties/SVGPropertyTearOff.h: Remove obsolete updateAnimVal method - switched to using setValue directly.

LayoutTests:

Update test expectations after turning on animVal support for SVGLength, the first primitive now support animVal.
Added several new tests, checking additive behaviour with SVGLength objects, removing animation elements
while animations are running (+ test repainting of those cases), etc.

* platform/mac/svg/repaint/repainting-after-animation-element-removal-expected.png: Added.
* platform/mac/svg/repaint/repainting-after-animation-element-removal-expected.txt: Added.
* svg/animations/additive-from-to-width-animation-expected.txt: Added.
* svg/animations/additive-from-to-width-animation.html: Added.
* svg/animations/additive-values-width-animation-expected.txt: Added.
* svg/animations/additive-values-width-animation.html: Added.
* svg/animations/animVal-basics-expected.txt:
* svg/animations/animate-calcMode-spline-by-expected.txt:
* svg/animations/animate-calcMode-spline-from-by-expected.txt:
* svg/animations/animate-calcMode-spline-from-to-expected.txt:
* svg/animations/animate-calcMode-spline-to-expected.txt:
* svg/animations/animate-calcMode-spline-values-expected.txt:
* svg/animations/animate-elem-02-t-drt-expected.txt:
* svg/animations/animate-elem-09-t-drt-expected.txt:
* svg/animations/animate-elem-10-t-drt-expected.txt:
* svg/animations/animate-elem-11-t-drt-expected.txt:
* svg/animations/animate-elem-12-t-drt-expected.txt:
* svg/animations/animate-elem-13-t-drt-expected.txt:
* svg/animations/animate-elem-14-t-drt-expected.txt:
* svg/animations/animate-elem-15-t-drt-expected.txt:
* svg/animations/animate-elem-16-t-drt-expected.txt:
* svg/animations/animate-elem-17-t-drt-expected.txt:
* svg/animations/animate-elem-18-t-drt-expected.txt:
* svg/animations/animate-elem-19-t-drt-expected.txt:
* svg/animations/animate-end-attribute-expected.txt:
* svg/animations/animate-endElement-beginElement-expected.txt:
* svg/animations/animate-from-to-keyTimes-expected.txt:
* svg/animations/animate-insert-begin-expected.txt:
* svg/animations/animate-insert-no-begin-expected.txt:
* svg/animations/animate-keySplines-expected.txt:
* svg/animations/animate-number-calcMode-discrete-keyTimes-expected.txt:
* svg/animations/attributeTypes-expected.txt:
* svg/animations/change-baseVal-while-animating-fill-freeze-2-expected.txt: Added.
* svg/animations/change-baseVal-while-animating-fill-freeze-2.html: Added.
* svg/animations/change-baseVal-while-animating-fill-freeze-expected.txt: Added.
* svg/animations/change-baseVal-while-animating-fill-freeze.html: Added.
* svg/animations/change-baseVal-while-animating-fill-remove-2-expected.txt: Added.
* svg/animations/change-baseVal-while-animating-fill-remove-2.html: Added.
* svg/animations/change-baseVal-while-animating-fill-remove-expected.txt: Added.
* svg/animations/change-baseVal-while-animating-fill-remove.html: Added.
* svg/animations/change-target-while-animating-SVG-property-expected.txt: Added.
* svg/animations/change-target-while-animating-SVG-property.html: Added.
* svg/animations/multiple-animations-fill-freeze-expected.txt: Added.
* svg/animations/multiple-animations-fill-freeze.html: Added.
* svg/animations/remove-animation-element-while-animation-is-running-expected.txt: Added.
* svg/animations/remove-animation-element-while-animation-is-running.html: Added.
* svg/animations/resources/additive-from-to-width-animation.svg: Added.
* svg/animations/resources/additive-values-width-animation.svg: Added.
* svg/animations/resources/change-baseVal-while-animating-fill-freeze.svg: Added.
* svg/animations/resources/change-baseVal-while-animating-fill-remove.svg: Added.
* svg/animations/resources/change-target-while-animating-SVG-property.svg: Added.
* svg/animations/resources/multiple-animations-fill-freeze.svg: Added.
* svg/animations/resources/remove-animation-element-while-animation-is-running.svg: Added.
* svg/animations/script-tests/additive-from-to-width-animation.js: Added.
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/additive-values-width-animation.js: Added.
(sample1):
(sample2):
(sample3):
(changeBaseVal):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/animVal-basics.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-calcMode-spline-by.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-calcMode-spline-from-by.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-calcMode-spline-from-to.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-calcMode-spline-to.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-calcMode-spline-values.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-elem-02-t-drt.js:
(sampleAfterBegin):
(sampleAfterMid):
(sampleAfterBeginOfFirstRepetition):
(sampleAfterMidOfFirstRepetition):
* svg/animations/script-tests/animate-elem-09-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-10-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-11-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-12-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-13-t-drt.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/animate-elem-14-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-15-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-16-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-17-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-18-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-19-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-end-attribute.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-endElement-beginElement.js:
(sample1):
* svg/animations/script-tests/animate-from-to-keyTimes.js:
(sample1):
(sample2):
* svg/animations/script-tests/animate-insert-begin.js:
(sample1):
(sample2):
* svg/animations/script-tests/animate-insert-no-begin.js:
(sample1):
(sample2):
* svg/animations/script-tests/animate-keySplines.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/animate-number-calcMode-discrete-keyTimes.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/attributeTypes.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/change-baseVal-while-animating-fill-freeze-2.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/change-baseVal-while-animating-fill-freeze.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/change-baseVal-while-animating-fill-remove-2.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/change-baseVal-while-animating-fill-remove.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/change-target-while-animating-SVG-property.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/multiple-animations-fill-freeze.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(sample6):
(sample7):
(sample8):
(executeTest):
* svg/animations/script-tests/remove-animation-element-while-animation-is-running.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(executeTest):
* svg/animations/script-tests/svglength-animation-LengthModeHeight.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-LengthModeOther.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-LengthModeWidth.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-invalid-value-1.js:
(sample2):
* svg/animations/script-tests/svglength-animation-invalid-value-2.js:
(sample2):
* svg/animations/script-tests/svglength-animation-invalid-value-3.js:
(sample2):
* svg/animations/script-tests/svglength-animation-number-to-number.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-cm.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-ems.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-exs.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-in.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-number.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-pc.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-percentage.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-pt.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-px.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-unitType.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-values.js:
(sample2):
(sample3):
(sample4):
(sample5):
* svg/animations/svglength-animation-LengthModeHeight-expected.txt:
* svg/animations/svglength-animation-LengthModeOther-expected.txt:
* svg/animations/svglength-animation-LengthModeWidth-expected.txt:
* svg/animations/svglength-animation-invalid-value-1-expected.txt:
* svg/animations/svglength-animation-invalid-value-2-expected.txt:
* svg/animations/svglength-animation-invalid-value-3-expected.txt:
* svg/animations/svglength-animation-number-to-number-expected.txt:
* svg/animations/svglength-animation-px-to-cm-expected.txt:
* svg/animations/svglength-animation-px-to-ems-expected.txt:
* svg/animations/svglength-animation-px-to-exs-expected.txt:
* svg/animations/svglength-animation-px-to-in-expected.txt:
* svg/animations/svglength-animation-px-to-number-expected.txt:
* svg/animations/svglength-animation-px-to-pc-expected.txt:
* svg/animations/svglength-animation-px-to-percentage-expected.txt:
* svg/animations/svglength-animation-px-to-pt-expected.txt:
* svg/animations/svglength-animation-px-to-px-expected.txt:
* svg/animations/svglength-animation-unitType-expected.txt:
* svg/animations/svglength-animation-values-expected.txt:
* svg/repaint/repainting-after-animation-element-removal.svg: Added.

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

8 years agoImplement CSSPropertyTextOverflow in CSSStyleApplyProperty.
macpherson@chromium.org [Tue, 13 Mar 2012 08:12:12 +0000 (08:12 +0000)]
Implement CSSPropertyTextOverflow in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=80934

Reviewed by Andreas Kling.

No new tests / refactoring only.

* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):

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

8 years agoUnreviewed, inspector test rebaseline after r110532.
philn@webkit.org [Tue, 13 Mar 2012 07:28:46 +0000 (07:28 +0000)]
Unreviewed, inspector test rebaseline after r110532.

* inspector/styles/svg-style-expected.txt:

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

8 years ago[Forms] Re-factor label.for tests for extending test coverage
commit-queue@webkit.org [Tue, 13 Mar 2012 07:24:42 +0000 (07:24 +0000)]
[Forms] Re-factor label.for tests for extending test coverage
https://bugs.webkit.org/show_bug.cgi?id=80574

Patch by Yosifumi Inoue <yosin@chromium.org> on 2012-03-13
Reviewed by Kent Tamura.

This patch changes label.labels attribute testing with using shared
utility functions, createFormControlDataSet for representing form
related information of HTML5 specification and setupLabelsTeset for
populating test sample dom tree and data set.

This patch extends coverage of existing label.labels test to cover
defined in the specification, labelable-elements.html, and adds
multiple label entries tests, labels-multiple-*.html.

Note: test failure of hidden input type will be fixed by
https://bugs.webkit.org/show_bug.cgi?id=80403

Note: test failure of output element will be fixed by
https://bugs.webkit.org/show_bug.cgi?id=80466

* fast/forms/label/labelable-elements-expected.txt: Added.
* fast/forms/label/labelable-elements.html: Added.
* fast/forms/label/labels-add-htmlFor-label-expected.txt:
* fast/forms/label/labels-add-htmlFor-label.html:
* fast/forms/label/labels-add-parent-label-expected.txt:
* fast/forms/label/labels-add-parent-label.html:
* fast/forms/label/labels-change-htmlFor-attribute-expected.txt:
* fast/forms/label/labels-change-htmlFor-attribute.html:
* fast/forms/label/labels-multiple-sibling-labels-expected.txt: Added.
* fast/forms/label/labels-multiple-sibling-labels.html: Added.
* fast/forms/label/labels-parent-and-sibling-labels-expected.txt: Added.
* fast/forms/label/labels-parent-and-sibling-labels.html: Added.
* fast/forms/label/labels-remove-htmlFor-attribute-expected.txt:
* fast/forms/label/labels-remove-htmlFor-attribute.html:
* fast/forms/label/labels-remove-htmlFor-label-expected.txt:
* fast/forms/label/labels-remove-htmlFor-label.html:
* fast/forms/label/labels-remove-parent-label-expected.txt:
* fast/forms/label/labels-remove-parent-label.html:
* fast/forms/label/labels-set-htmlFor-attribute-expected.txt:
* fast/forms/label/labels-set-htmlFor-attribute.html:
* fast/forms/resources/common.js:
(createFormControlDataSet): Returns form control data set for providing
labelable elements and supported elements information.
* fast/forms/resources/label-test-util.js: Added.
(setupLabelsTest.return.dataSet.dataSet.getLabelableElementData):
(setupLabelsTest): Populate dom tree for unit tests.

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

8 years agoSwitch Chromium from LocaleToScriptMappingICU.cpp to LocaleToScriptMappingDefault.cpp
commit-queue@webkit.org [Tue, 13 Mar 2012 06:42:41 +0000 (06:42 +0000)]
Switch Chromium from LocaleToScriptMappingICU.cpp to LocaleToScriptMappingDefault.cpp
https://bugs.webkit.org/show_bug.cgi?id=80935

Patch by Matt Falkenhagen <falken@chromium.org> on 2012-03-12
Reviewed by Kent Tamura.

ICU seems to have issues with non-well-formed locale strings.
Currently, the only port that uses LocaleToScriptMappingICU.cpp is
Chromium.

No new tests. LocaleToScriptMappingDefault.cpp is already used by
other ports and covered by existing tests.

* WebCore.gyp/WebCore.gyp:

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

8 years agoFix test cases for RegExp multiline
commit-queue@webkit.org [Tue, 13 Mar 2012 06:15:58 +0000 (06:15 +0000)]
Fix test cases for RegExp multiline
https://bugs.webkit.org/show_bug.cgi?id=80822

Patch by Hojong Han <hojong.han@samsung.com> on 2012-03-12
Reviewed by Gavin Barraclough.

* tests/mozilla/js1_2/regexp/RegExp_multiline.js:
* tests/mozilla/js1_2/regexp/RegExp_multiline_as_array.js:
* tests/mozilla/js1_2/regexp/beginLine.js:
* tests/mozilla/js1_2/regexp/endLine.js:

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

8 years agoFix IndexedDB build with JSC
commit-queue@webkit.org [Tue, 13 Mar 2012 05:38:59 +0000 (05:38 +0000)]
Fix IndexedDB build with JSC
https://bugs.webkit.org/show_bug.cgi?id=80207

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-03-12
Reviewed by Adam Barth.

This fixes the build of WebKit when IndexedDB is enabled. Most functions were added
empty implementation, it compiles but IndexedDB is not working.

* DerivedSources.make: Added missing IDL files.
* Modules/indexeddb/IDBDatabaseBackendImpl.h: Fix warnings and build errors.
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: ditto.
(WebCore::IDBDatabaseCallbacksImpl::unregisterDatabase): ditto.
* Modules/indexeddb/IDBFactoryBackendImpl.cpp: ditto.
(WebCore::IDBFactoryBackendImpl::openBackingStore):
* Modules/indexeddb/IDBIndexBackendImpl.cpp: ditto.
(WebCore::IDBIndexBackendImpl::countInternal):
* Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Fix the method signature and add
an empty implementation.
(WebCore):
(WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
(WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Fix warnings.
(WebCore::IDBObjectStoreBackendImpl::countInternal):
* Modules/indexeddb/IDBPendingTransactionMonitor.cpp: ditto.
(WebCore::transactions):
* Modules/indexeddb/IDBRequest.cpp: ditto.
(WebCore::IDBRequest::resetReadyState):
* Modules/indexeddb/IDBRequest.h: ditto.
(WebCore::IDBRequest::onSuccessWithPrefetch):
(WebCore):
(WebCore::JSIDBVersionChangeRequest::visitChildren):
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue): Fix the creation of IDBKeys.
(WebCore::createOptionsObjectFromValue): Add an empty implementation of
the handling of database options (IDBObjectStoreParameters).
(WebCore):
* bindings/js/IDBBindingUtilities.h:
(WebCore):
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS): Add the missing IDBAny's types.
* bindings/js/JSIDBKeyCustom.cpp:
(WebCore::toJS): Add the missing IDBKey's types.
* bindings/js/JSIDBVersionChangeRequestCustom.cpp: Added.
IDBVersionChangeRequest has the attribute EventTarget so it requires
the visitChildren() function. An empty implementation was added.
* bindings/js/OptionsObject.h: Add an empty implementation.
(WebCore):
(OptionsObject):
(WebCore::OptionsObject::OptionsObject):
(WebCore::OptionsObject::isObject):
(WebCore::OptionsObject::isUndefinedOrNull):
(WebCore::OptionsObject::get):
(WebCore::OptionsObject::getWithUndefinedOrNullCheck):
* bindings/js/SerializedScriptValue.cpp: Add the missing functions needed by IndexedDB.
(WebCore):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::toWireString):
(WebCore::SerializedScriptValue::createFromWire):
(WebCore::SerializedScriptValue::numberValue):
(WebCore::SerializedScriptValue::deserialize):
* bindings/js/SerializedScriptValue.h:
(SerializedScriptValue):
* bindings/scripts/CodeGeneratorJS.pm: Modify the code generator to:
-Support the IDBKey type correctly.
-Support the OptionsObject type.
-Generate valid function call for static functions.
(GenerateImplementationFunctionCall):
(JSValueToNative):
(NativeToJSValue):
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore):

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

8 years agoUnreviewed, rolling out r110529.
morrita@google.com [Tue, 13 Mar 2012 05:36:39 +0000 (05:36 +0000)]
Unreviewed, rolling out r110529.
http://trac.webkit.org/changeset/110529
https://bugs.webkit.org/show_bug.cgi?id=80969

breaks mac build (Requested by morrita on #webkit).

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

Source/WebCore:

* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::computeUnoccludedContentRect):

Source/WebKit/chromium:

* tests/CCOcclusionTrackerTest.cpp:
(WebCore):

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

8 years agoUnreviewed, rolling out r110524.
morrita@google.com [Tue, 13 Mar 2012 05:03:08 +0000 (05:03 +0000)]
Unreviewed, rolling out r110524.
http://trac.webkit.org/changeset/110524
https://bugs.webkit.org/show_bug.cgi?id=80936

breaks chromium win build. (Requested by morrita on #webkit).

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

Source/WebCore:

* Target.pri:
* UseV8.cmake:
* WebCore.gypi:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
* bindings/scripts/test/V8/V8Float64Array.h:
(V8Float64Array):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
* bindings/v8/NPV8Object.cpp:
(WebCore::npObjectTypeInfo):
* bindings/v8/V8GCController.cpp:
(WebCore::GrouperVisitor::visitDOMWrapper):
* bindings/v8/WrapperTypeInfo.h:
(WebCore):
(WrapperTypeInfo):
* bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
(WebCore):
(WebCore::toV8):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
(WebCore):
* bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
(WebCore):
(WebCore::toV8):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::toV8):
(WebCore):
* bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
* css/CSSStyleSheet.idl:
* css/StyleSheet.idl:
* dom/DOMStringMap.idl:
* dom/NamedNodeMap.idl:
* html/DOMTokenList.idl:
* html/track/TextTrackList.idl:

LayoutTests:

* platform/chromium/test_expectations.txt:

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

8 years ago[V8][Refactoring] Remove getCachedWrapperSlow() from V8Bindings.cpp
haraken@chromium.org [Tue, 13 Mar 2012 04:20:00 +0000 (04:20 +0000)]
[V8][Refactoring] Remove getCachedWrapperSlow() from V8Bindings.cpp
https://bugs.webkit.org/show_bug.cgi?id=80924

Reviewed by Adam Barth.

getCachedWrapperSlow() is called by getCachedWrapper() only,
and getCachedWrapperSlow() just calls getCachedWrapperInline().
Thus, this patch expands getCachedWrapperInline() into getCachedWrapper(),
and removes getCachedWrapperSlow().

No tests. No change in behavior.

* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):

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

8 years ago[V8][Refactoring] Remove existingWrapper() from generated code
haraken@chromium.org [Tue, 13 Mar 2012 04:03:27 +0000 (04:03 +0000)]
[V8][Refactoring] Remove existingWrapper() from generated code
https://bugs.webkit.org/show_bug.cgi?id=80927

Reviewed by Adam Barth.

Currently wrap() calls existingWrapper(), and existingWrapper()
just calls getCachedWrapper(). We can remove existingWrapper() from the generated code.

Test: bindings/scripts/test/*

* bindings/scripts/CodeGeneratorV8.pm: Removed existingWrapper().
(GenerateHeader):
(GenerateNormalAttrGetter):

* bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results.
(V8Float64Array):
(WebCore::V8Float64Array::wrap):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
(WebCore::V8TestActiveDOMObject::wrap):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
(WebCore::V8TestCustomNamedGetter::wrap):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
(WebCore::V8TestEventConstructor::wrap):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
(WebCore::V8TestEventTarget::wrap):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
(WebCore::V8TestInterface::wrap):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
(WebCore::V8TestMediaQueryListListener::wrap):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
(WebCore::V8TestNamedConstructor::wrap):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
(WebCore::TestObjInternal::cachedAttribute1AttrGetter):
(WebCore::TestObjInternal::cachedAttribute2AttrGetter):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
(WebCore::V8TestObj::wrap):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
(WebCore::V8TestSerializedScriptValueInterface::wrap):

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

8 years ago[chromium] Use tileRect instead of pointer derefs
commit-queue@webkit.org [Tue, 13 Mar 2012 03:33:31 +0000 (03:33 +0000)]
[chromium] Use tileRect instead of pointer derefs
https://bugs.webkit.org/show_bug.cgi?id=80919

Patch by Dana Jansens <danakj@chromium.org> on 2012-03-12
Reviewed by Adrienne Walker.

Covered by existing tests.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawTileQuad):

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

8 years agowebkit-patch optimize-baselines sometimes creates a mac-future result
ojan@chromium.org [Tue, 13 Mar 2012 03:14:20 +0000 (03:14 +0000)]
webkit-patch optimize-baselines sometimes creates a mac-future result
https://bugs.webkit.org/show_bug.cgi?id=80717

Reviewed by Adam Barth.

* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
(_baseline_search_hypergraph):
(BaselineOptimizer._find_optimal_result_placement):
(BaselineOptimizer._filter_virtual_ports):
* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
(BaselineOptimizerTest.test_no_add_mac_future):

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

8 years agoSVG should support transform-origin and relative values
commit-queue@webkit.org [Tue, 13 Mar 2012 02:45:38 +0000 (02:45 +0000)]
SVG should support transform-origin and relative values
https://bugs.webkit.org/show_bug.cgi?id=79068

Patch by Hans Muller <hmuller@adobe.com> on 2012-03-12
Reviewed by Dirk Schulze.

Source/WebCore:

Added SVG support for the CSS 'transform-origin' property and for percentage
values in the transform translate function.  The changes conform to
http://dev.w3.org/csswg/css3-transforms/.

Tests: svg/transforms/percent-transform-values.xhtml
       svg/transforms/transform-origin-css-property.xhtml

* css/svg.css:
(*):
(html|* > svg):
Default transform-origin for SVG elements is 0 0.

* platform/Length.h:
(WebCore::Length::calcFloatValue):
Added a calcFloatValue overload whose max parameter (for percent lengths) is a float.
The original version will be obsolete when the sub-pixel layout support is completed.

* rendering/style/RenderStyle.cpp:
* rendering/style/RenderStyle.h:
(WebCore):
(WebCore::requireTransformOrigin):
Transforms that only include translations don't depend on the transform-origin.

(WebCore::RenderStyle::applyTransform):
SVG elements interpret non-percentage/keyword transform-origin values relative to their viewport,
unlike HTML which interprets all transform-origin values relative to the element's origin.
The new FloatRect applyTransform() function handles SVG semantics. Similarly, SVG elements interpret
percentage/keyword transform-origin values relative to the origin of their objectBoundingBox(), HTML
uses the borderBox.  All this per http://dev.w3.org/csswg/css3-transforms/.

* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::animatedLocalTransform):

LayoutTests:

Added tests for SVG CSS transform-origin property support and for
CSS translations specified with percentages and applied to an SVG element.

* svg/transforms/change-transform-origin-css-expected.xhtml: Added.
* svg/transforms/change-transform-origin-css.xhtml: Added.
* svg/transforms/change-transform-origin-presentation-attribute-expected.xhtml: Added.
* svg/transforms/change-transform-origin-presentation-attribute.xhtml: Added.
* svg/transforms/percent-transform-values-expected.txt: Added.
* svg/transforms/percent-transform-values.xhtml: Added.
* svg/transforms/transform-origin-css-property-expected.xhtml: Added.
* svg/transforms/transform-origin-css-property.xhtml: Added.

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

8 years agoUnreviewed Windows build fix.
morrita@google.com [Tue, 13 Mar 2012 02:42:47 +0000 (02:42 +0000)]
Unreviewed Windows build fix.

* src/WebViewImpl.cpp:

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

8 years agoFix assert seen in DRT due to not calling EventSender.mouseUp in a previous test
weinig@apple.com [Tue, 13 Mar 2012 02:29:12 +0000 (02:29 +0000)]
Fix assert seen in DRT due to not calling EventSender.mouseUp in a previous test
https://bugs.webkit.org/show_bug.cgi?id=80925

Reviewed by Maciej Stachowiak.

* fast/events/input-element-display-none-in-dragleave-crash.html:
Add call to eventSender.mouseUp().

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

8 years ago[chromium] Use projectQuad to apply inverse mapRect
commit-queue@webkit.org [Tue, 13 Mar 2012 02:27:21 +0000 (02:27 +0000)]
[chromium] Use projectQuad to apply inverse mapRect
https://bugs.webkit.org/show_bug.cgi?id=80741

Patch by Dana Jansens <danakj@chromium.org> on 2012-03-12
Reviewed by Adrienne Walker.

Source/WebCore:

Unit test: CCOcclusionTrackerTest3dTransform
           CCOcclusionTrackerTestPerspectiveTransform
           CCOcclusionTrackerTestPerspectiveTransformBehindCamera

* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::projectQuad):
(WebCore):
(WebCore::computeUnoccludedContentRect):

Source/WebKit/chromium:

* tests/CCOcclusionTrackerTest.cpp:
(WebCore):
(CCOcclusionTrackerTest3dTransform):
(WebCore::CCOcclusionTrackerTest3dTransform::runMyTest):
(CCOcclusionTrackerTestPerspectiveTransform):
(WebCore::CCOcclusionTrackerTestPerspectiveTransform::runMyTest):
(CCOcclusionTrackerTestPerspectiveTransformBehindCamera):
(WebCore::CCOcclusionTrackerTestPerspectiveTransformBehindCamera::runMyTest):

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

8 years ago[BlackBerry] Upstream the BlackBerry change to platform/graphics/FontPlatformData.h
leo.yang@torchmobile.com.cn [Tue, 13 Mar 2012 02:17:32 +0000 (02:17 +0000)]
[BlackBerry] Upstream the BlackBerry change to platform/graphics/FontPlatformData.h
https://bugs.webkit.org/show_bug.cgi?id=80820

Reviewed by Rob Buis.

The BlackBerry is using the FontPlatformData from Chromium porting.

* platform/graphics/FontPlatformData.h:

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

8 years agoMore Windows build fixing.
jberlin@webkit.org [Tue, 13 Mar 2012 01:58:27 +0000 (01:58 +0000)]
More Windows build fixing.

* DumpRenderTree/win/WorkQueueItemWin.cpp:

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

8 years agoAfter webgl canvas resize, bindings might be lost
zmo@google.com [Tue, 13 Mar 2012 01:52:59 +0000 (01:52 +0000)]
After webgl canvas resize, bindings might be lost
https://bugs.webkit.org/show_bug.cgi?id=80895

Reviewed by Stephen White.

Source/WebCore:

Test: fast/canvas/webgl/texture-bindings-uneffected-on-resize.html

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::reshape): recover bindings after reshape.

LayoutTests:

* fast/canvas/webgl/texture-bindings-uneffected-on-resize-expected.txt: Added.
* fast/canvas/webgl/texture-bindings-uneffected-on-resize.html: Added.

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

8 years ago[V8][Refactoring] Remove getWrapper() and getWrapperSlow()
haraken@chromium.org [Tue, 13 Mar 2012 01:38:54 +0000 (01:38 +0000)]
[V8][Refactoring] Remove getWrapper() and getWrapperSlow()
https://bugs.webkit.org/show_bug.cgi?id=80920

Reviewed by Adam Barth.

Now getWrapper() is the same as getExistingWrapper().
getWrapperSlow() is the same as getExistingWrapperSlow().
This patch removes getWrapper() and getWrapperSlow().
Also this patch renames getExistingWrapper() to getCachedWrapper().

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getWrapperSlow):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getWrapper):
(V8DOMWrapper):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::toV8Slow):

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

8 years ago[V8] Use v8::V8::AddHiddenReferences instead of SetHiddenValue
arv@chromium.org [Tue, 13 Mar 2012 01:37:07 +0000 (01:37 +0000)]
[V8] Use v8::V8::AddHiddenReferences instead of SetHiddenValue
https://bugs.webkit.org/show_bug.cgi?id=80880

Reviewed by Adam Barth.

Source/WebCore:

We used to add a hidden property in the getter to the returned wrapper.
With this patch we instead handle the liveness of the wrapper in the GC phase by
calling v8::V8::AddHiddenReference.

To reduce the amount of custom code we need, the V8 code generator now supports
GenerateIsReachable (as well as CustomIsReachable) which, even though different
from the JSC attribute, is used in the same cases and takes the same values (even though
at the moment not all JSC values are supported by V8).

No new tests. Covered by existing tests.

* Target.pri:
* UseV8.cmake:
* WebCore.gypi:
* bindings/scripts/CodeGeneratorJS.pm:
(GetGenerateIsReachable):
(GetCustomIsReachable):
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(NeedsToVisitDOMWrapper):
(GetGenerateIsReachable):
(GetCustomIsReachable):
(GenerateVisitDOMWrapper):
(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
* bindings/scripts/test/V8/V8Float64Array.h:
(V8Float64Array):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
* bindings/v8/NPV8Object.cpp:
(WebCore::npObjectTypeInfo):
* bindings/v8/V8GCController.cpp:
(WebCore::GrouperVisitor::visitDOMWrapper):
* bindings/v8/WrapperTypeInfo.h:
(WebCore):
(WrapperTypeInfo):
* bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
* bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
* bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
* css/CSSStyleSheet.idl:
* css/StyleSheet.idl:
* dom/DOMStringMap.idl:
* dom/NamedNodeMap.idl:
* html/DOMTokenList.idl:
* html/track/TextTrackList.idl:

LayoutTests:

* platform/chromium/test_expectations.txt:

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

8 years agoMore Windows build fixing.
jberlin@webkit.org [Tue, 13 Mar 2012 01:31:25 +0000 (01:31 +0000)]
More Windows build fixing.

* DumpRenderTree/win/AccessibilityControllerWin.cpp:
* DumpRenderTree/win/EditingDelegate.cpp:
* DumpRenderTree/win/EventSender.cpp:
* DumpRenderTree/win/FrameLoadDelegate.cpp:
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
* DumpRenderTree/win/UIDelegate.cpp:

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

8 years agoRemove obsolete 'CPU' modifier.
dpranke@chromium.org [Tue, 13 Mar 2012 01:29:50 +0000 (01:29 +0000)]
Remove obsolete 'CPU' modifier.

Unreviewed, expectations change.

* platform/chromium/test_expectations.txt:

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

8 years agoObject.defineProperty doesn't respect attributes when applied to the Global Object
barraclough@apple.com [Tue, 13 Mar 2012 01:16:08 +0000 (01:16 +0000)]
Object.defineProperty doesn't respect attributes when applied to the Global Object
https://bugs.webkit.org/show_bug.cgi?id=38636
Object.defineProperty doesn't create property on Global Object in the presence of a setter in the prototype chain
https://bugs.webkit.org/show_bug.cgi?id=48911

Rubber stamped by Michael Saboff.

* fast/js/Object-defineProperty-expected.txt:
* fast/js/script-tests/Object-defineProperty.js:
    - Added test cases for bugs #38636 & #48911.

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

8 years agoMore Windows build fixing.
jberlin@webkit.org [Tue, 13 Mar 2012 01:13:57 +0000 (01:13 +0000)]
More Windows build fixing.

* MarshallingHelpers.cpp:
* WebDatabaseManager.cpp:

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

8 years ago[V8][Refactoring] Make getWrapperSlow() and getExistingWrapperSlow() same
haraken@chromium.org [Tue, 13 Mar 2012 01:10:21 +0000 (01:10 +0000)]
[V8][Refactoring] Make getWrapperSlow() and getExistingWrapperSlow() same
https://bugs.webkit.org/show_bug.cgi?id=80916

Reviewed by Adam Barth.

This is one of the steps for fixing bug 80841.
This patch makes getWrapperSlow() and getExistingWrapperSlow() same.
In the next patch, we will remove getExistingWrapper() and getExistingWrapperSlow().

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getWrapperSlow):

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

8 years agoArithmetic use inference should be procedure-global and should run in tandem
fpizlo@apple.com [Tue, 13 Mar 2012 01:05:54 +0000 (01:05 +0000)]
Arithmetic use inference should be procedure-global and should run in tandem
with type propagation
https://bugs.webkit.org/show_bug.cgi?id=80819
<rdar://problem/11034006>

Reviewed by Gavin Barraclough.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* dfg/DFGArithNodeFlagsInferencePhase.cpp: Removed.
* dfg/DFGArithNodeFlagsInferencePhase.h: Removed.
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::isNotNegZero):
(PredictionPropagationPhase):
(JSC::DFG::PredictionPropagationPhase::isNotZero):
(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::mergeDefaultArithFlags):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::flags):
(VariableAccessData):
(JSC::DFG::VariableAccessData::mergeFlags):

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

8 years agoRemove obsolete chromium-gpu-* platform directories for LayoutTests baselines.
dpranke@chromium.org [Tue, 13 Mar 2012 01:02:59 +0000 (01:02 +0000)]
Remove obsolete chromium-gpu-* platform directories for LayoutTests baselines.

Unreviewed, baselines change.

All of the baselines are now in platform/chromium-*/platform/chromium/virtual/gpu/*.

* platform/chromium-gpu-linux/fast/canvas/arc360-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/canvas-before-css-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/canvas-bg-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/canvas-bg-expected.txt: Removed.
* platform/chromium-gpu-linux/fast/canvas/canvas-composite-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/canvas-resize-reset-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/canvas-text-baseline-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/canvas-transforms-during-path-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/canvasDrawingIntoSelf-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/drawImage-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/fill-stroke-clip-reset-path-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/fillrect-gradient-zero-stops-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/fillrect_gradient-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/image-object-in-canvas-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/image-pattern-rotate-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/patternfill-repeat-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/quadraticCurveTo-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/setWidthResetAfterForcedRender-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/shadow-offset-1-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/shadow-offset-2-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/shadow-offset-3-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/shadow-offset-4-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/shadow-offset-5-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/shadow-offset-6-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/shadow-offset-7-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/toDataURL-alpha-expected.png: Removed.
* platform/chromium-gpu-linux/fast/canvas/zero-size-fill-rect-expected.png: Removed.
* platform/chromium-gpu-linux/fast/media/mq-transform-02-expected.png: Removed.
* platform/chromium-gpu-linux/fast/media/mq-transform-02-expected.txt: Removed.
* platform/chromium-gpu-linux/fast/media/mq-transform-03-expected.png: Removed.
* platform/chromium-gpu-linux/fast/media/mq-transform-03-expected.txt: Removed.
* platform/chromium-gpu-linux/fast/repaint/canvas-putImageData-expected.png: Removed.
* platform/chromium-gpu-linux/fast/repaint/canvas-putImageData-expected.txt: Removed.
* platform/chromium-gpu-linux/media/audio-controls-rendering-expected.png: Removed.
* platform/chromium-gpu-linux/media/controls-after-reload-expected.png: Removed.
* platform/chromium-gpu-linux/media/controls-strict-expected.png: Removed.
* platform/chromium-gpu-linux/media/controls-styling-expected.png: Removed.
* platform/chromium-gpu-linux/media/controls-without-preload-expected.png: Removed.
* platform/chromium-gpu-linux/media/media-controls-clone-expected.png: Removed.
* platform/chromium-gpu-linux/media/media-document-audio-repaint-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-aspect-ratio-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-canvas-alpha-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-colorspace-yuv420-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-colorspace-yuv422-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-controls-rendering-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-display-toggle-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-frame-accurate-seek-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-layer-crash-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-no-audio-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-playing-and-pause-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-transformed-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-volume-slider-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-zoom-controls-expected.png: Removed.
* platform/chromium-gpu-linux/media/video-zoom-expected.png: Removed.
* platform/chromium-gpu-mac/canvas/philip/tests/2d.gradient.radial.cone.cylinder-expected.txt: Removed.
* platform/chromium-gpu-mac/canvas/philip/tests/2d.line.width.basic-expected.txt: Removed.
* platform/chromium-gpu-mac/canvas/philip/tests/2d.line.width.transformed-expected.txt: Removed.
* platform/chromium-gpu-mac/canvas/philip/tests/2d.path.arcTo.shape.curve1-expected.txt: Removed.
* platform/chromium-gpu-mac/canvas/philip/tests/2d.path.arcTo.shape.curve2-expected.txt: Removed.
* platform/chromium-gpu-mac/canvas/philip/tests/2d.shadow.enable.blur-expected.txt: Removed.
* platform/chromium-gpu-mac/canvas/philip/tests/2d.text.draw.fontface.notinpage-expected.txt: Removed.
* platform/chromium-gpu-mac/canvas/philip/tests/2d.transformation.setTransform.skewed-expected.txt: Removed.
* platform/chromium-gpu-mac/canvas/philip/tests/2d.transformation.transform.skewed-expected.txt: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-as-image-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-bg-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-bg-zoom-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-composite-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-composite-fill-repaint-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-composite-transformclip-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-currentColor-expected.txt: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-draw-canvas-on-canvas-shadow-expected.txt: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-fillPath-shadow-expected.txt: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-shadow-expected.txt: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-text-alignment-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-text-baseline-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-transform-skewed-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/canvas-transforms-during-path-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/fillrect-gradient-zero-stops-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/fillrect_gradient-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/image-object-in-canvas-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/image-pattern-rotate-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/patternfill-repeat-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/quadraticCurveTo-expected.png: Removed.
* platform/chromium-gpu-mac/fast/canvas/setWidthResetAfterForcedRender-expected.png: Removed.
* platform/chromium-gpu-mac/media/controls-after-reload-expected.png: Removed.
* platform/chromium-gpu-mac/media/controls-strict-expected.png: Removed.
* platform/chromium-gpu-mac/media/controls-styling-expected.png: Removed.
* platform/chromium-gpu-mac/media/controls-without-preload-expected.png: Removed.
* platform/chromium-gpu-mac/media/video-aspect-ratio-expected.png: Removed.
* platform/chromium-gpu-mac/media/video-controls-rendering-expected.png: Removed.
* platform/chromium-gpu-mac/media/video-display-toggle-expected.png: Removed.
* platform/chromium-gpu-mac/media/video-layer-crash-expected.png: Removed.
* platform/chromium-gpu-mac/media/video-no-audio-expected.png: Removed.
* platform/chromium-gpu-mac/media/video-playing-and-pause-expected.png: Removed.
* platform/chromium-gpu-mac/media/video-transformed-expected.png: Removed.
* platform/chromium-gpu-mac/media/video-volume-slider-expected.png: Removed.
* platform/chromium-gpu-mac/media/video-zoom-controls-expected.png: Removed.
* platform/chromium-gpu-mac/media/video-zoom-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/arc360-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-as-image-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-as-image-expected.txt: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-as-image-incremental-repaint-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-as-image-incremental-repaint-expected.txt: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-before-css-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-bg-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-bg-expected.txt: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-bg-zoom-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-bg-zoom-expected.txt: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-composite-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-composite-fill-repaint-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-composite-transformclip-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-empty-image-pattern-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-resize-reset-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-text-alignment-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-text-baseline-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-transform-identity-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-transform-infinity-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-transform-multiply-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-transform-nan-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-transform-non-invertible-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-transform-skewed-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvas-transforms-during-path-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/canvasDrawingIntoSelf-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/drawImage-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/fill-stroke-clip-reset-path-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/fillrect-gradient-zero-stops-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/fillrect_gradient-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/gradient-add-second-start-end-stop-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/image-object-in-canvas-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/image-pattern-rotate-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/patternfill-repeat-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/quadraticCurveTo-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/setWidthResetAfterForcedRender-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/shadow-offset-1-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/shadow-offset-2-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/shadow-offset-3-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/shadow-offset-4-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/shadow-offset-5-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/shadow-offset-6-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/shadow-offset-7-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/toDataURL-alpha-expected.png: Removed.
* platform/chromium-gpu-win/fast/canvas/zero-size-fill-rect-expected.png: Removed.
* platform/chromium-gpu-win/media/controls-after-reload-expected.png: Removed.
* platform/chromium-gpu-win/media/controls-strict-expected.png: Removed.
* platform/chromium-gpu-win/media/controls-styling-expected.png: Removed.
* platform/chromium-gpu-win/media/controls-without-preload-expected.png: Removed.
* platform/chromium-gpu-win/media/video-aspect-ratio-expected.png: Removed.
* platform/chromium-gpu-win/media/video-canvas-alpha-expected.png: Removed.
* platform/chromium-gpu-win/media/video-colorspace-yuv420-expected.png: Removed.
* platform/chromium-gpu-win/media/video-colorspace-yuv422-expected.png: Removed.
* platform/chromium-gpu-win/media/video-controls-rendering-expected.png: Removed.
* platform/chromium-gpu-win/media/video-display-toggle-expected.png: Removed.
* platform/chromium-gpu-win/media/video-frame-accurate-seek-expected.png: Removed.
* platform/chromium-gpu-win/media/video-layer-crash-expected.png: Removed.
* platform/chromium-gpu-win/media/video-no-audio-expected.png: Removed.
* platform/chromium-gpu-win/media/video-playing-and-pause-expected.png: Removed.
* platform/chromium-gpu-win/media/video-transformed-expected.png: Removed.
* platform/chromium-gpu-win/media/video-volume-slider-expected.png: Removed.
* platform/chromium-gpu-win/media/video-zoom-controls-expected.png: Removed.
* platform/chromium-gpu-win/media/video-zoom-expected.png: Removed.
* platform/chromium-gpu/media/video-colorspace-yuv420-expected.png: Removed.
* platform/chromium-gpu/media/video-colorspace-yuv422-expected.png: Removed.
* platform/chromium-gpu/media/video-frame-accurate-seek-expected.png: Removed.

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

8 years agoremove the 'gpu' group from the flakiness dashboard
dpranke@chromium.org [Tue, 13 Mar 2012 00:55:56 +0000 (00:55 +0000)]
remove the 'gpu' group from the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=80353

Reviewed by Adam Barth.

Since those bots are obsolete, we don't need this any more.

* TestResultServer/static-dashboards/builders.js:
* TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
(testPlatformAndBuildType):
(testHtmlForTestTypeSwitcherGroup):

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

8 years ago[V8] Refactor some header includes in V8 bindings
haraken@chromium.org [Tue, 13 Mar 2012 00:53:27 +0000 (00:53 +0000)]
[V8] Refactor some header includes in V8 bindings
https://bugs.webkit.org/show_bug.cgi?id=80913

Reviewed by Adam Barth.

This patch refactors some header includes in V8 bindings
required for fixing bug 80841.

No tests. No change in behavior.

* bindings/v8/DOMDataStore.h:
(DOMDataStore):
* bindings/v8/V8DOMMap.h:
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::isolatedContext):
* bindings/v8/V8IsolatedContext.h:
(WebCore::V8IsolatedContext::getEntered):
(V8IsolatedContext):
* bindings/v8/WorldContextHandle.cpp:

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

8 years agoremove graphics_type from webkitpy.layout_tests.models.test_configuration
dpranke@chromium.org [Tue, 13 Mar 2012 00:50:22 +0000 (00:50 +0000)]
remove graphics_type from webkitpy.layout_tests.models.test_configuration
https://bugs.webkit.org/show_bug.cgi?id=80643

Reviewed by Ojan Vafai.

Now that the chromium-gpu ports are gone, there's no need for
the graphics_type CPU/GPU distinction. Most of this change is
just updating tests accordingly.

* Scripts/webkitpy/layout_tests/controllers/test_expectations_editor_unittest.py:
(TestExpectationEditorTests):
* Scripts/webkitpy/layout_tests/models/test_configuration.py:
(TestConfiguration.__init__):
(TestConfiguration.category_order):
(TestConfiguration.__str__):
(TestConfiguration.__repr__):
(TestConfiguration.__hash__):
(TestConfigurationConverter.to_specifiers_list):
* Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py:
(make_mock_all_test_configurations_set):
(TestConfigurationTest.test_items):
(TestConfigurationTest.test_keys):
(TestConfigurationTest.test_str):
(TestConfigurationTest.test_repr):
(TestConfigurationTest.test_hash):
(TestConfigurationTest.test_hash.query_unknown_key):
(TestConfigurationTest.test_eq):
(TestConfigurationTest.test_values):
(SpecifierSorterTest.test_specifier_priority):
(SpecifierSorterTest.test_sort_specifiers):
(TestConfigurationConverterTest.test_to_config_set):
(TestConfigurationConverterTest.test_macro_expansion):
(TestConfigurationConverterTest.test_to_specifier_lists):
(TestConfigurationConverterTest.test_converter_macro_collapsing):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(test_error_on_different_build_type):
(TestExpectationSerializerTests.test_parsed_to_string):
(TestExpectationSerializerTests.test_reconstitute_only_these):
* Scripts/webkitpy/layout_tests/port/apple.py:
(ApplePort._generate_all_test_configurations):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.__init__):
(Port.name):
(Port.version):
(Port.test_configuration):
* Scripts/webkitpy/layout_tests/port/builders.py:
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort):
(ChromiumPort._generate_all_test_configurations):
* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort.__init__):
* Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py:
(ChromiumLinuxPortTest.test_check_illegal_port_names):
* Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
(ChromiumMacPortTest.test_baseline_path):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumPortTest.test_all_test_configurations):
* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort._generate_all_test_configurations):
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort._generate_all_test_configurations):
* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort._generate_all_test_configurations):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.all_test_configurations):
(TestPort._all_build_types):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
(BuildCoverageExtrapolatorTest.test_extrapolate):
(GardeningExpectationsUpdaterTest.test_unknown_failure_type):
(GardeningExpectationsUpdaterTest.test_add_new_expectation):
(GardeningExpectationsUpdaterTest.test_replace_old_expectation):
(GardeningExpectationsUpdaterTest.test_pass_expectation):
(GardeningExpectationsUpdaterTest.test_supplement_old_expectation):
(GardeningExpectationsUpdaterTest.test_spurious_updates):

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

8 years ago_runtime_feature_list isn't supported on Apple Mac DRT
dpranke@chromium.org [Tue, 13 Mar 2012 00:43:10 +0000 (00:43 +0000)]
_runtime_feature_list isn't supported on Apple Mac DRT
https://bugs.webkit.org/show_bug.cgi?id=80906

Reviewed by Eric Seidel.

It looks like this feature is actually only supported on the Win
DRT port, so this patch reworks the code to make that clearer
and reduce unnecessary overrides.

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort._path_to_webcore_library):
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort._path_to_webcore_library):
* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort._skipped_file_search_paths):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort._runtime_feature_list):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(TestWebKitPort.__init__):
(TestWebKitPort.all_test_configurations):
(test_skipped_directories_for_features):
* Scripts/webkitpy/layout_tests/port/win.py:
(WinPort):
(WinPort._runtime_feature_list):
* Scripts/webkitpy/layout_tests/port/win_unittest.py:
(WinPortTest.test_operating_system):
(WinPortTest):
(WinPortTest.test_runtime_feature_list):

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

8 years agoFix typo in PageClientImpl where we were overriding viewLayerHostingMode with
weinig@apple.com [Tue, 13 Mar 2012 00:31:25 +0000 (00:31 +0000)]
Fix typo in PageClientImpl where we were overriding viewLayerHostingMode with
a function called layerHostingMode.

Reviewed by Anders Carlsson.

* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::viewLayerHostingMode):
Update name and add OVERRIDE to catch this in the future.

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

8 years agoUnreviewed, rolling out r110501.
commit-queue@webkit.org [Tue, 13 Mar 2012 00:22:38 +0000 (00:22 +0000)]
Unreviewed, rolling out r110501.
http://trac.webkit.org/changeset/110501
https://bugs.webkit.org/show_bug.cgi?id=80908

Broke the Apple-Win build (Requested by abarth on #webkit).

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

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/DirectoryEntry.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.cpp.
(WebCore):
(WebCore::DirectoryEntry::DirectoryEntry):
(WebCore::DirectoryEntry::createReader):
(WebCore::DirectoryEntry::getFile):
(WebCore::DirectoryEntry::getDirectory):
(WebCore::DirectoryEntry::removeRecursively):
* fileapi/DirectoryEntry.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.h.
(WebCore):
(DirectoryEntry):
(WebCore::DirectoryEntry::create):
(WebCore::DirectoryEntry::isDirectory):
* fileapi/DirectoryEntry.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.idl.
* fileapi/DirectoryEntrySync.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.cpp.
(WebCore):
(WebCore::DirectoryEntrySync::DirectoryEntrySync):
(WebCore::DirectoryEntrySync::createReader):
(WebCore::DirectoryEntrySync::getFile):
(WebCore::DirectoryEntrySync::getDirectory):
(WebCore::DirectoryEntrySync::removeRecursively):
* fileapi/DirectoryEntrySync.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.h.
(WebCore):
(DirectoryEntrySync):
(WebCore::DirectoryEntrySync::create):
(WebCore::DirectoryEntrySync::isDirectory):
* fileapi/DirectoryEntrySync.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.idl.
* fileapi/DirectoryReader.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.cpp.
(WebCore):
(WebCore::DirectoryReader::DirectoryReader):
(WebCore::DirectoryReader::readEntries):
* fileapi/DirectoryReader.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.h.
(WebCore):
(DirectoryReader):
(WebCore::DirectoryReader::create):
(WebCore::DirectoryReader::filesystem):
* fileapi/DirectoryReader.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.idl.
* fileapi/DirectoryReaderBase.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderBase.h.
(WebCore):
(DirectoryReaderBase):
(WebCore::DirectoryReaderBase::filesystem):
(WebCore::DirectoryReaderBase::setHasMoreEntries):
(WebCore::DirectoryReaderBase::DirectoryReaderBase):
* fileapi/DirectoryReaderSync.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.cpp.
(WebCore):
(WebCore::DirectoryReaderSync::DirectoryReaderSync):
(WebCore::DirectoryReaderSync::readEntries):
* fileapi/DirectoryReaderSync.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.h.
(WebCore):
(DirectoryReaderSync):
(WebCore::DirectoryReaderSync::create):
* fileapi/DirectoryReaderSync.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.idl.

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

8 years ago[chromium/mac] Make sure libWebKitSystemInterface.a doesn't contain ppc object files.
thakis@chromium.org [Tue, 13 Mar 2012 00:15:28 +0000 (00:15 +0000)]
[chromium/mac] Make sure libWebKitSystemInterface.a doesn't contain ppc object files.
https://bugs.webkit.org/show_bug.cgi?id=80902

Reviewed by Adam Barth.

Follow-up to http://codereview.chromium.org/9638015/

No intended behavior change.

* WebCore.gyp/mac/adjust_visibility.sh:

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

8 years agoWebCore: Add support for AudioNode "tailTime()" and "latencyTime()"
jer.noble@apple.com [Tue, 13 Mar 2012 00:09:18 +0000 (00:09 +0000)]
WebCore: Add support for AudioNode "tailTime()" and "latencyTime()"
https://bugs.webkit.org/show_bug.cgi?id=74750

Reviewed by Chris Rogers.

No new tests; optimization of existing code path, so covered by existing tests.

To account for AudioNodes which may generate non-silent audio when fed silent input
for a certain amount of time after the last non-silent audio data, add two new virtual
functions tailTime() and latencyTime().

* webaudio/AudioNode.h:
(WebCore::AudioNode::tailTime): Added. Pure virtual.
(WebCore::AudioNode::latencyTime): Added. Pure virtual.
* platform/audio/AudioProcessor.h:
(WebCore::AudioProcessor::tailTime): Added. Pure virtual.
(WebCore::AudioProcessor::latencyTime): Added. Pure virtual.
* platform/audio/AudioDSPKernel.h:
(WebCore::AudioDSPKernel::tailTime): Added. Pure virtual.
(WebCore::AudioDSPKernel::latencyTime): Added. Pure virtual.

Added tailTime() and latencyTime() overrides to the following classes:
* platform/audio/AudioDSPKernelProcessor.cpp:
(WebCore::AudioDSPKernelProcessor::tailTime):
(WebCore::AudioDSPKernelProcessor::latencyTime):
* platform/audio/AudioDSPKernelProcessor.h:
* platform/audio/DynamicsCompressor.h:
(WebCore::DynamicsCompressor::tailTime):
(WebCore::DynamicsCompressor::latencyTime):
* platform/audio/EqualPowerPanner.h:
* platform/audio/HRTFPanner.cpp:
(WebCore::HRTFPanner::tailTime):
(WebCore::HRTFPanner::latencyTime):
* platform/audio/HRTFPanner.h:
* platform/audio/Panner.h:
* webaudio/AudioBasicProcessorNode.cpp:
(WebCore::AudioBasicProcessorNode::tailTime):
(WebCore::AudioBasicProcessorNode::latencyTime):
* webaudio/AudioBasicProcessorNode.h:
* webaudio/AudioChannelMerger.h:
* webaudio/AudioChannelSplitter.h:
* webaudio/AudioDestinationNode.h:
* webaudio/AudioGainNode.h:
* webaudio/AudioPannerNode.h:
* webaudio/AudioSourceNode.h:
* webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::tailTime):
(WebCore::BiquadDSPKernel::latencyTime):
* webaudio/BiquadDSPKernel.h:
* webaudio/BiquadFilterNode.h:
* webaudio/ConvolverNode.cpp:
(WebCore::ConvolverNode::tailTime):
(WebCore::ConvolverNode::latencyTime):
* webaudio/ConvolverNode.h:
* webaudio/DelayDSPKernel.cpp:
(WebCore::DelayDSPKernel::tailTime):
(WebCore::DelayDSPKernel::latencyTime):
* webaudio/DelayDSPKernel.h:
* webaudio/DelayProcessor.h:
* webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::tailTime):
(WebCore::DynamicsCompressorNode::latencyTime):
* webaudio/DynamicsCompressorNode.h:
* webaudio/JavaScriptAudioNode.cpp:
(WebCore::JavaScriptAudioNode::tailTime):
(WebCore::JavaScriptAudioNode::latencyTime):
* webaudio/JavaScriptAudioNode.h:
* webaudio/RealtimeAnalyserNode.h:
* webaudio/WaveShaperDSPKernel.h:

The following functions were added as support for the new AudioNode and AudioProcessor functions:
* platform/audio/Biquad.cpp:
(WebCore::Biquad::latencyFrames):
* platform/audio/Biquad.h:
* platform/audio/Reverb.cpp:
(WebCore::Reverb::latencyFrames):
* platform/audio/ReverbConvolver.h:
(WebCore::ReverbConvolver::latencyFrames):

The following functions were made const-correct:
* platform/audio/HRTFPanner.h:
(WebCore::HRTFPanner::fftSize):
* platform/audio/Reverb.h:
(WebCore::Reverb::impulseResponseLength):

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

8 years agoWebTileLayers should be opaque
andersca@apple.com [Tue, 13 Mar 2012 00:07:16 +0000 (00:07 +0000)]
WebTileLayers should be opaque
https://bugs.webkit.org/show_bug.cgi?id=80907
<rdar://problem/11034390>

Reviewed by Andreas Kling.

* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::createTileLayer):
Call -[CALayer setOpaque:] on the newly created WebTileLayer.

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

8 years agoFix rounding in scrollbar rect calculations
eae@chromium.org [Mon, 12 Mar 2012 23:51:09 +0000 (23:51 +0000)]
Fix rounding in scrollbar rect calculations
https://bugs.webkit.org/show_bug.cgi?id=80894

Reviewed by Eric Seidel.

Fix usage of subpixel units in RenderScrollbar::buttonRect and
RenderScrollbar::trackRect.

No new tests, no new functionality.

* rendering/LayoutTypes.h:
(WebCore::isIntegerValue):
Add dummy isIntegerValue function, will be replaced with actual
implementation once LayoutUnit is remapped to FractionalLayoutUnit.

* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::buttonRect):
(WebCore::RenderScrollbar::trackRect):
Change rect calculations to use pixel snapped values.

* rendering/RenderScrollbarPart.h:
(RenderScrollbarPart):
(WebCore::RenderScrollbarPart::marginTop):
(WebCore::RenderScrollbarPart::marginBottom):
(WebCore::RenderScrollbarPart::marginLeft):
(WebCore::RenderScrollbarPart::marginRight):
Add ASSERT to ensure that scrollbar parts are always aligned to device
pixels.

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

8 years ago[GObject IDL Parser] STRING argument should be HASHREF
commit-queue@webkit.org [Mon, 12 Mar 2012 23:46:17 +0000 (23:46 +0000)]
[GObject IDL Parser] STRING argument should be HASHREF
https://bugs.webkit.org/show_bug.cgi?id=78877

Patch by C Anthony Risinger <anthony@xtfx.me> on 2012-03-12
Reviewed by Kentaro Hara.

* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateFunctions): extendedAttributes are hashes, not strings

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

8 years agoMore Windows build fixing.
jberlin@webkit.org [Mon, 12 Mar 2012 23:43:01 +0000 (23:43 +0000)]
More Windows build fixing.

Use fully qualified paths for WTF headers.

* platform/graphics/cg/ImageSourceCGWin.cpp:
* platform/graphics/win/UniscribeController.h:
* platform/win/DragImageCGWin.cpp:
* platform/win/DragImageCairoWin.cpp:
* platform/win/DragImageWin.cpp:
* rendering/RenderThemeSafari.cpp:

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

8 years agoThis baseline also applies to chromium-mac-snowleopard, so we can move
abarth@webkit.org [Mon, 12 Mar 2012 23:40:19 +0000 (23:40 +0000)]
This baseline also applies to chromium-mac-snowleopard, so we can move
it up the fallback chain.

* platform/chromium-mac-leopard/fast/events/scrollbar-double-click-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/events/scrollbar-double-click-expected.txt: Added.

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

8 years agoMove DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
commit-queue@webkit.org [Mon, 12 Mar 2012 23:38:34 +0000 (23:38 +0000)]
Move DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
https://bugs.webkit.org/show_bug.cgi?id=80625

Patch by Mark Pilgrim <pilgrim@chromium.org> on 2012-03-12
Reviewed by Adam Barth.

No new tests, all existing tests pass.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Modules/filesystem: Added.
* Modules/filesystem/DirectoryEntry.cpp: Copied from Source/WebCore/fileapi/DirectoryEntry.cpp.
* Modules/filesystem/DirectoryEntry.h: Copied from Source/WebCore/fileapi/DirectoryEntry.h.
* Modules/filesystem/DirectoryEntry.idl: Copied from Source/WebCore/fileapi/DirectoryEntry.idl.
* Modules/filesystem/DirectoryEntrySync.cpp: Copied from Source/WebCore/fileapi/DirectoryEntrySync.cpp.
* Modules/filesystem/DirectoryEntrySync.h: Copied from Source/WebCore/fileapi/DirectoryEntrySync.h.
* Modules/filesystem/DirectoryEntrySync.idl: Copied from Source/WebCore/fileapi/DirectoryEntrySync.idl.
* Modules/filesystem/DirectoryReader.cpp: Copied from Source/WebCore/fileapi/DirectoryReader.cpp.
* Modules/filesystem/DirectoryReader.h: Copied from Source/WebCore/fileapi/DirectoryReader.h.
* Modules/filesystem/DirectoryReader.idl: Copied from Source/WebCore/fileapi/DirectoryReader.idl.
* Modules/filesystem/DirectoryReaderBase.h: Copied from Source/WebCore/fileapi/DirectoryReaderBase.h.
* Modules/filesystem/DirectoryReaderSync.cpp: Copied from Source/WebCore/fileapi/DirectoryReaderSync.cpp.
* Modules/filesystem/DirectoryReaderSync.h: Copied from Source/WebCore/fileapi/DirectoryReaderSync.h.
* Modules/filesystem/DirectoryReaderSync.idl: Copied from Source/WebCore/fileapi/DirectoryReaderSync.idl.
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/DirectoryEntry.cpp: Removed.
* fileapi/DirectoryEntry.h: Removed.
* fileapi/DirectoryEntry.idl: Removed.
* fileapi/DirectoryEntrySync.cpp: Removed.
* fileapi/DirectoryEntrySync.h: Removed.
* fileapi/DirectoryEntrySync.idl: Removed.
* fileapi/DirectoryReader.cpp: Removed.
* fileapi/DirectoryReader.h: Removed.
* fileapi/DirectoryReader.idl: Removed.
* fileapi/DirectoryReaderBase.h: Removed.
* fileapi/DirectoryReaderSync.cpp: Removed.
* fileapi/DirectoryReaderSync.h: Removed.
* fileapi/DirectoryReaderSync.idl: Removed.

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=80903 InspectorDOMStorageAgent creates a...
beidson@apple.com [Mon, 12 Mar 2012 23:34:24 +0000 (23:34 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=80903 InspectorDOMStorageAgent creates a Storage object which is a DOMWindowProperty - Should use the StorageArea directly

Reviewed by Tim Hatcher.

No new tests. (No behavior change)

Changed to hold the StorageArea directly and added a Frame* accessor:
* inspector/InspectorDOMStorageResource.h:
(WebCore::InspectorDOMStorageResource::create):
(WebCore::InspectorDOMStorageResource::storageArea):
(WebCore::InspectorDOMStorageResource::frame):
(InspectorDOMStorageResource):

* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):

* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::didUseDOMStorage):

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

8 years ago[Skia] Release CGImage used to apply color space conversion to SkBitmap
abarth@webkit.org [Mon, 12 Mar 2012 23:23:56 +0000 (23:23 +0000)]
[Skia] Release CGImage used to apply color space conversion to SkBitmap
https://bugs.webkit.org/show_bug.cgi?id=80892

Patch by Brian Salomon <bsalomon@google.com> on 2012-03-12
Reviewed by Adam Barth.

Regressions should be covered by any test that does image decode on the mac.

* platform/image-decoders/skia/ImageDecoderSkia.cpp:
(WebCore::resolveColorSpace):

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

8 years agoNode::op and Node::flags should be private
fpizlo@apple.com [Mon, 12 Mar 2012 23:15:45 +0000 (23:15 +0000)]
Node::op and Node::flags should be private
https://bugs.webkit.org/show_bug.cgi?id=80824
<rdar://problem/11033435>

Reviewed by Gavin Barraclough.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeStateAtTail):
(JSC::DFG::AbstractState::mergeToSuccessors):
* dfg/DFGArithNodeFlagsInferencePhase.cpp:
(JSC::DFG::ArithNodeFlagsInferencePhase::propagate):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::injectLazyOperandPrediction):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::getArgument):
(JSC::DFG::ByteCodeParser::flushArgument):
(JSC::DFG::ByteCodeParser::toInt32):
(JSC::DFG::ByteCodeParser::isJSConstant):
(JSC::DFG::ByteCodeParser::makeSafe):
(JSC::DFG::ByteCodeParser::makeDivSafe):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::linkBlock):
* dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::performBlockCFA):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::canonicalize):
(JSC::DFG::CSEPhase::endIndexForPureCSE):
(JSC::DFG::CSEPhase::pureCSE):
(JSC::DFG::CSEPhase::byValIsPure):
(JSC::DFG::CSEPhase::clobbersWorld):
(JSC::DFG::CSEPhase::impureCSE):
(JSC::DFG::CSEPhase::globalVarLoadElimination):
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::checkFunctionElimination):
(JSC::DFG::CSEPhase::checkStructureLoadElimination):
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
(JSC::DFG::CSEPhase::getPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::getIndexedPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::getScopeChainLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
(DFG):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::addShouldSpeculateInteger):
(JSC::DFG::Graph::negateShouldSpeculateInteger):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):
* dfg/DFGNode.cpp: Removed.
* dfg/DFGNode.h:
(DFG):
(JSC::DFG::Node::Node):
(Node):
(JSC::DFG::Node::op):
(JSC::DFG::Node::flags):
(JSC::DFG::Node::setOp):
(JSC::DFG::Node::setFlags):
(JSC::DFG::Node::mergeFlags):
(JSC::DFG::Node::filterFlags):
(JSC::DFG::Node::clearFlags):
(JSC::DFG::Node::setOpAndDefaultFlags):
(JSC::DFG::Node::mustGenerate):
(JSC::DFG::Node::isConstant):
(JSC::DFG::Node::isWeakConstant):
(JSC::DFG::Node::valueOfJSConstant):
(JSC::DFG::Node::hasVariableAccessData):
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::resolveGlobalDataIndex):
(JSC::DFG::Node::hasArithNodeFlags):
(JSC::DFG::Node::arithNodeFlags):
(JSC::DFG::Node::setArithNodeFlag):
(JSC::DFG::Node::mergeArithNodeFlags):
(JSC::DFG::Node::hasConstantBuffer):
(JSC::DFG::Node::hasRegexpIndex):
(JSC::DFG::Node::hasVarNumber):
(JSC::DFG::Node::hasScopeChainDepth):
(JSC::DFG::Node::hasResult):
(JSC::DFG::Node::hasInt32Result):
(JSC::DFG::Node::hasNumberResult):
(JSC::DFG::Node::hasJSResult):
(JSC::DFG::Node::hasBooleanResult):
(JSC::DFG::Node::isJump):
(JSC::DFG::Node::isBranch):
(JSC::DFG::Node::isTerminal):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasFunctionCheckData):
(JSC::DFG::Node::hasStructureTransitionData):
(JSC::DFG::Node::hasStructureSet):
(JSC::DFG::Node::hasStorageAccessData):
(JSC::DFG::Node::hasFunctionDeclIndex):
(JSC::DFG::Node::hasFunctionExprIndex):
(JSC::DFG::Node::child1):
(JSC::DFG::Node::child2):
(JSC::DFG::Node::child3):
(JSC::DFG::Node::firstChild):
(JSC::DFG::Node::numChildren):
* dfg/DFGNodeFlags.cpp: Copied from Source/JavaScriptCore/dfg/DFGNode.cpp.
* dfg/DFGNodeFlags.h: Added.
(DFG):
(JSC::DFG::nodeUsedAsNumber):
(JSC::DFG::nodeCanTruncateInteger):
(JSC::DFG::nodeCanIgnoreNegativeZero):
(JSC::DFG::nodeMayOverflow):
(JSC::DFG::nodeCanSpeculateInteger):
* dfg/DFGNodeType.h: Added.
(DFG):
(JSC::DFG::defaultFlags):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::vote):
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):
(JSC::DFG::PredictionPropagationPhase::fixupNode):
* dfg/DFGRedundantPhiEliminationPhase.cpp:
(JSC::DFG::RedundantPhiEliminationPhase::run):
(JSC::DFG::RedundantPhiEliminationPhase::replacePhiChild):
(JSC::DFG::RedundantPhiEliminationPhase::updateBlockVariableInformation):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::useChildren):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compare):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::detectPeepHoleBranch):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
(JSC::DFG::VirtualRegisterAllocationPhase::run):

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

8 years agoUpdate LayoutUnit usage in RenderMathML* classes
leviw@chromium.org [Mon, 12 Mar 2012 22:59:44 +0000 (22:59 +0000)]
Update LayoutUnit usage in RenderMathML* classes
https://bugs.webkit.org/show_bug.cgi?id=77916

Reviewed by Eric Seidel.

The purpose of this patch is to ensure MathML rendering does not regress when
we switch to sub-pixel layout. A subsequent patch can likely improve MathML's
rendering when zoom is applied.

To accomplish this without changing the current heuristics for positioning,
we continue to use integers for sizes and locations, using pixel snapping
when communicating with other Rendering classes.

No new tests. No change in behavior.

* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::paint): Cleaning up debug painting to be on
pixel boundaries instead of subpixel.
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::paint): Reverting to integers for determining
the vertical offset.
(WebCore::RenderMathMLFraction::baselinePosition):
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint): Using integers for height and width
and only accumulating pixel snapped values.
(WebCore::RenderMathMLRoot::layout): Setting padding with integers to
avoid inconsistent rounding based on the root's location.
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layout):
* rendering/mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::paint): See RenderMathMLRoot.
(WebCore::RenderMathMLSquareRoot::layout): Ditto.
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::getOffsetHeight):
(WebCore::RenderMathMLUnderOver::layout):

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

8 years agoUse smaller tiles for right and bottom edges
andersca@apple.com [Mon, 12 Mar 2012 22:48:42 +0000 (22:48 +0000)]
Use smaller tiles for right and bottom edges
https://bugs.webkit.org/show_bug.cgi?id=80893
<rdar://problem/11032873>

Reviewed by Sam Weinig.

* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::rectForTileIndex):
Intersect the rect with the tile cache bounds.

(WebCore::TileCache::revalidateTiles):
Resize already existing tiles if needed.

(WebCore::TileCache::createTileLayer):
This now takes a tile rect. Use setFrame instead of setting the bounds and position separately.

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

8 years agoSource/WebCore: WebKit2: remove NSPasteboard access for promised data from the WebProcess
enrica@apple.com [Mon, 12 Mar 2012 22:45:47 +0000 (22:45 +0000)]
Source/WebCore: WebKit2: remove NSPasteboard access for promised data from the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=80073

Reviewed by Alexey Proskuryakov.

* WebCore.exp.in: Added two exported methods.
* platform/mac/FileSystemMac.mm:
(WebCore::setMetaData): Last parameter in the call to wkSetMetadataURL
needs to be wrapped in String before casting to NSString.

Source/WebKit2: WebKit2: remove NSPasteboard access for promised data from the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=80073

Reviewed by Alexey Proskuryakov.

This patch removes the last remaining access to NSPasteboard from the WebProcess.
The code in WebDragClient::declareAndWriteDragImage now packages all the data
required for the drag and the promised drag types and sends one request to the UI
process that will place the data in the NSPasteboard when appropriate.

* UIProcess/API/mac/PageClientImpl.h: Added setPromisedData method.
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setPromisedData):
* UIProcess/API/mac/WKView.mm:
(matchesExtensionOrEquivalent): Added.
(fileExists): Added.
(pathWithUniqueFilenameForPath): Added.
(-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
(-[WKView pasteboardChangedOwner:]):
(-[WKView pasteboard:provideDataForType:]):
(-[WKView namesOfPromisedFilesDroppedAtDestination:]):
* UIProcess/API/mac/WKViewInternal.h: Added _setPromisedData.
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h: Added method for the new message.
* UIProcess/WebPageProxy.messages.in: Added setPromisedData message.
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::setPromisedData):
* WebProcess/WebCoreSupport/WebDragClient.cpp:
* WebProcess/WebCoreSupport/WebDragClient.h:
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::declareAndWriteDragImage):
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Added SetMetadataURL.

WebKitLibraries: WebKit2: remove NSPasteboard access for promised data from the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=80073

* WebKitSystemInterface.h: Touched the file to make build system happy.
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceSnowLeopard.a:

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

8 years agoUpdate expected results after http://trac.webkit.org/changeset/110480.
abarth@webkit.org [Mon, 12 Mar 2012 22:40:02 +0000 (22:40 +0000)]
Update expected results after trac.webkit.org/changeset/110480.
These results are very similar to our previous results and seem
slightly improved AFAICT.

* platform/chromium-mac-leopard/fast/forms/input-appearance-bkcolor-expected.png:
* platform/chromium-mac-leopard/fast/forms/input-disabled-color-expected.png:
* platform/chromium-mac-leopard/fast/forms/text-style-color-expected.png:
* platform/chromium-mac-leopard/tables/mozilla/bugs/bug99948-expected.png:
* platform/chromium-mac-snowleopard/fast/block/float/032-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/input-appearance-bkcolor-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/input-disabled-color-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/text-style-color-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug99948-expected.png:

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

8 years ago[Blackberry] Make the process of marking all matches interruptible and asynchronous...
commit-queue@webkit.org [Mon, 12 Mar 2012 22:38:05 +0000 (22:38 +0000)]
[Blackberry] Make the process of marking all matches interruptible and asynchronous for find-in-page
https://bugs.webkit.org/show_bug.cgi?id=80831

Patch by Andy Chen <andchen@rim.com> on 2012-03-12
Reviewed by Antonio Gomes.

* WebKitSupport/InPageSearchManager.cpp:
(BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::DeferredScopeStringMatches):
(BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::doTimeout):
(BlackBerry::WebKit::InPageSearchManager::InPageSearchManager):
(BlackBerry::WebKit::InPageSearchManager::~InPageSearchManager):
(BlackBerry::WebKit::InPageSearchManager::findNextString):
(BlackBerry::WebKit::InPageSearchManager::shouldSearchForText):
(BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
(BlackBerry::WebKit::InPageSearchManager::clearTextMatches):
(BlackBerry::WebKit::InPageSearchManager::frameUnloaded):
(BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
(BlackBerry::WebKit::InPageSearchManager::scopeStringMatchesSoon):
(BlackBerry::WebKit::InPageSearchManager::callScopeStringMatches):
(BlackBerry::WebKit::InPageSearchManager::cancelPendingScopingEffort):
* WebKitSupport/InPageSearchManager.h:

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

8 years agoRestore previous expecation for chromium-mac-leopard. rniwa says this
abarth@webkit.org [Mon, 12 Mar 2012 22:37:02 +0000 (22:37 +0000)]
Restore previous expecation for chromium-mac-leopard.  rniwa says this
is the right thing to do.

* platform/chromium-mac-leopard/fast/events/scrollbar-double-click-expected.txt: Added.

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

8 years agoYet another Mac rebaseline.
rniwa@webkit.org [Mon, 12 Mar 2012 22:28:14 +0000 (22:28 +0000)]
Yet another Mac rebaseline.

* editing/pasteboard/dataTransfer-setData-getData-expected.txt:
* platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:

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

8 years agoConvert some fast/regions pixel tests to reftests
commit-queue@webkit.org [Mon, 12 Mar 2012 22:24:39 +0000 (22:24 +0000)]
Convert some fast/regions pixel tests to reftests
https://bugs.webkit.org/show_bug.cgi?id=79132

Patch by Rebecca Hauck <rhauck@adobe.com> on 2012-03-12
Reviewed by Dirk Schulze.

* fast/regions/floats-basic-in-variable-width-regions-expected.html: Added.
* fast/regions/floats-basic-in-variable-width-regions.html:
* platform/chromium/test_expectations.txt:
* platform/efl/fast/regions/floats-basic-in-variable-width-regions-expected.png: Removed.
* platform/efl/fast/regions/floats-basic-in-variable-width-regions-expected.txt: Removed.
* platform/mac/fast/regions/floats-basic-in-variable-width-regions-expected.png: Removed.
* platform/mac/fast/regions/floats-basic-in-variable-width-regions-expected.txt: Removed.

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

8 years ago clang build fix
ap@apple.com [Mon, 12 Mar 2012 22:22:59 +0000 (22:22 +0000)]
    clang build fix

        * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::convertToLength): Reorder
        boolean operators, so that a warning about "use of logical || with constant operand" doesn't
        appear.

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

8 years agoCrash in Text::splitText due to mutation events.
inferno@chromium.org [Mon, 12 Mar 2012 22:17:55 +0000 (22:17 +0000)]
Crash in Text::splitText due to mutation events.
https://bugs.webkit.org/show_bug.cgi?id=80828

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/text/split-text-crash.xhtml

* dom/Range.cpp:
(WebCore::Range::insertNode): replace m_start.container() calls with ref protected node.

LayoutTests:

* fast/text/split-text-crash-expected.txt: Added.
* fast/text/split-text-crash.xhtml: Added.

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

8 years ago[chromium] Fix clang build for CCOcclusionTracker tests
abarth@webkit.org [Mon, 12 Mar 2012 21:59:55 +0000 (21:59 +0000)]
[chromium] Fix clang build for CCOcclusionTracker tests
https://bugs.webkit.org/show_bug.cgi?id=80891

Patch by Dana Jansens <danakj@chromium.org> on 2012-03-12
Reviewed by Adam Barth.

* tests/CCOcclusionTrackerTest.cpp:
(WebCore::CCOcclusionTrackerTest::createRoot):
(WebCore::CCOcclusionTrackerTest::createLayer):
(WebCore::CCOcclusionTrackerTest::createDrawingLayer):

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

8 years agoNull argument to texSubImage2D crashes
kbr@google.com [Mon, 12 Mar 2012 21:59:15 +0000 (21:59 +0000)]
Null argument to texSubImage2D crashes
https://bugs.webkit.org/show_bug.cgi?id=80778

Reviewed by Dean Jackson.

Source/WebCore:

Generate INVALID_VALUE OpenGL error upon receiving null argument.
Final behavior still being decided on public-webgl mailing list.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::validateTexFuncData):
* html/canvas/WebGLRenderingContext.h:

LayoutTests:

Updated tex-sub-image-2d-bad-args test to verify new behavior.

* fast/canvas/webgl/tex-sub-image-2d-bad-args-expected.txt:
* fast/canvas/webgl/tex-sub-image-2d-bad-args.html:

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

8 years agoRemove CSSStyleSelector's convertToLength method and use CSSPrimitiveValue's version...
macpherson@chromium.org [Mon, 12 Mar 2012 21:54:35 +0000 (21:54 +0000)]
Remove CSSStyleSelector's convertToLength method and use CSSPrimitiveValue's version directly.
https://bugs.webkit.org/show_bug.cgi?id=80484

Reviewed by Julien Chaffraix.

No new tests / code cleanup only.

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::convertToLength):
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyClip::convertToLength):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):

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

8 years ago[chromium] Restore canvas2D acceleration after context loss.
senorblanco@chromium.org [Mon, 12 Mar 2012 21:52:14 +0000 (21:52 +0000)]
[chromium] Restore canvas2D acceleration after context loss.
https://bugs.webkit.org/show_bug.cgi?id=80629

Reviewed by James Robinson.

Covered by existing canvas tests, and manual testing (killing the GPU
process).

Source/WebCore:

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::create):
(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
(WebCore::Canvas2DLayerChromium::drawsContent):
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
(Canvas2DLayerChromium):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::applyFilters):
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(SharedGraphicsContext3DImpl):
(WebCore::SharedGraphicsContext3DImpl::SharedGraphicsContext3DImpl):
(WebCore::SharedGraphicsContext3DImpl::get):
(WebCore):
(WebCore::SharedGraphicsContext3D::get):
* platform/graphics/gpu/SharedGraphicsContext3D.h:
(SharedGraphicsContext3D):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::createAcceleratedCanvas):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::PlatformContextSkia):
(WebCore):
* platform/graphics/skia/PlatformContextSkia.h:
(WebCore):
(WebCore::PlatformContextSkia::isAccelerated):
(WebCore::PlatformContextSkia::setAccelerated):
(PlatformContextSkia):

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::sharedGraphicsContext3D):

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

8 years agoIt doesn't make sense to return const unsigned, and GCC warns about it.
staikos@webkit.org [Mon, 12 Mar 2012 21:36:10 +0000 (21:36 +0000)]
It doesn't make sense to return const unsigned, and GCC warns about it.
Remove const.
https://bugs.webkit.org/show_bug.cgi?id=80790

Reviewed by Antonio Gomes.

* platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
(WebCore::ComplexTextController::length):
(WebCore::ComplexTextController::numCodePoints):
(WebCore::ComplexTextController::offsetX):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=80888
bdakin@apple.com [Mon, 12 Mar 2012 21:33:48 +0000 (21:33 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=80888
Clear background for NSTextFieldCell is unreliable and not necessary
-and corresponding-
<rdar://problem/10663710>

Reviewed by Dan Bernstein.

With http://trac.webkit.org/changeset/104240 I thought it was necessary to
make NSTextFieldCells draw with a clear background in order to allow styled
text fields. That is not actually necessary; we just had a different bug
where isControlStyled() was only checking for styled borders on text fields.
Text fields can also be styled with backgrounds, so they need the full check.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::isControlStyled):
(WebCore::RenderThemeMac::textField):

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

8 years agoCleanup obsolete files.
commit-queue@webkit.org [Mon, 12 Mar 2012 21:17:10 +0000 (21:17 +0000)]
Cleanup obsolete files.
https://bugs.webkit.org/show_bug.cgi?id=80737

Patch by Scott Byer <scottbyer@chromium.org> on 2012-03-12
Reviewed by James Robinson.

.:

* wscript:

Source/WebCore:

No new code.

* GNUmakefile.list.am:
* PlatformWinCE.cmake:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* platform/ScrollAnimatorWin.cpp: Removed.
* platform/ScrollAnimatorWin.h: Removed.

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

8 years agoMake texImage2D error for wrong size ArrayBufferView more helpful
commit-queue@webkit.org [Mon, 12 Mar 2012 21:15:23 +0000 (21:15 +0000)]
Make texImage2D error for wrong size ArrayBufferView more helpful
https://bugs.webkit.org/show_bug.cgi?id=80868

It took me about 30 minutes to figure out my texImage2D was failing
not because my ArrayBufferView was too small but because the default
alignment is 4. A better error message might help devs find this issue
faster.

Patch by Gregg Tavares <gman@google.com> on 2012-03-12
Reviewed by Kenneth Russell.

No new tests as no new functionality.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::validateTexFuncData):

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

8 years ago4 shadow DOM tests fail on Mac port
dglazkov@chromium.org [Mon, 12 Mar 2012 21:08:22 +0000 (21:08 +0000)]
4 shadow DOM tests fail on Mac port
https://bugs.webkit.org/show_bug.cgi?id=80869

Reviewed by Ryosuke Niwa.

* fast/dom/shadow/content-element-move.html: Changed to use ensureShadowRoot.
* fast/dom/shadow/iframe-shadow.html: Changed to use WebKitShadowRoot polyfil.
* fast/dom/shadow/resources/polyfill.js: Added.
* fast/dom/shadow/shadow-on-image.html: Changed to use WebKitShadowRoot polyfil.
* platform/wk2/Skipped: Added a test that should have been skipped when landed.

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

8 years agoUpdate include path of the test scripts after r110470.
alexis.menard@openbossa.org [Mon, 12 Mar 2012 21:07:07 +0000 (21:07 +0000)]
Update include path of the test scripts after r110470.

Reviewed by Philippe Normand.

* fast/dom/HTMLSelectElement/select-selectedIndex-multiple.html:
* fast/dom/HTMLSelectElement/select-selectedIndex.html:
* fast/dom/HTMLSelectElement/select-selectedOptions.html:

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

8 years agoAdd test expectations accidentally left out of r110465.
adamk@chromium.org [Mon, 12 Mar 2012 21:04:48 +0000 (21:04 +0000)]
Add test expectations accidentally left out of r110465.

* fast/mutation/delivery-order-expected.txt: Added.

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

8 years agoMac rebaseline. Offset is always 700px now.
rniwa@webkit.org [Mon, 12 Mar 2012 20:47:26 +0000 (20:47 +0000)]
Mac rebaseline. Offset is always 700px now.

* platform/mac/fast/events/scrollbar-double-click-expected.txt: Removed.
* platform/win/fast/events/scrollbar-double-click-expected.txt: Removed.

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

8 years agoMove <select> related layout tests in the place they should be.
alexis.menard@openbossa.org [Mon, 12 Mar 2012 20:33:46 +0000 (20:33 +0000)]
Move <select> related layout tests in the place they should be.

Reviewed by Andreas Kling.

* fast/dom/HTMLSelectElement/select-selectedIndex-bug-12942-expected.txt: Added.
* fast/dom/HTMLSelectElement/select-selectedIndex-bug-12942.html: Added.
* fast/dom/HTMLSelectElement/select-selectedIndex-expected.txt: Added.
* fast/dom/HTMLSelectElement/select-selectedIndex-multiple-expected.txt: Added.
* fast/dom/HTMLSelectElement/select-selectedIndex-multiple.html: Added.
* fast/dom/HTMLSelectElement/select-selectedIndex.html: Added.
* fast/dom/HTMLSelectElement/select-selectedOptions-expected.txt: Added.
* fast/dom/HTMLSelectElement/select-selectedOptions.html: Added.
* fast/dom/select-selectedIndex-bug-12942-expected.txt: Removed.
* fast/dom/select-selectedIndex-bug-12942.html: Removed.
* fast/dom/select-selectedIndex-expected.txt: Removed.
* fast/dom/select-selectedIndex-multiple-expected.txt: Removed.
* fast/dom/select-selectedIndex-multiple.html: Removed.
* fast/dom/select-selectedIndex.html: Removed.
* fast/dom/select-selectedOptions-expected.txt: Removed.
* fast/dom/select-selectedOptions.html: Removed.

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

8 years agoInfinite repaint loop with SVGImageCache and deferred repaint timers
timothy_horton@apple.com [Mon, 12 Mar 2012 20:26:58 +0000 (20:26 +0000)]
Infinite repaint loop with SVGImageCache and deferred repaint timers
https://bugs.webkit.org/show_bug.cgi?id=78315
<rdar://problem/10651634>

Reviewed by Nikolas Zimmermann.

Only defer image redraw on a timer if we're in layout. This breaks
the repaint loop while still preventing us from drawing inside layout.

Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
preventing deferred repaint timers from being started during that process.

No new tests, as the problem only occurs in a nonstandard configuration.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::endDeferredRepaints):
(WebCore::FrameView::startDeferredRepaintTimer):
(WebCore):
(WebCore::FrameView::doDeferredRepaints):
(WebCore::FrameView::deferredRepaintTimerFired):
(WebCore::FrameView::beginDisableRepaints):
(WebCore::FrameView::endDisableRepaints):
* page/FrameView.h:
(FrameView):
(WebCore::FrameView::repaintsDisabled):
* rendering/RenderView.cpp:
(WebCore::RenderView::shouldRepaint):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawSVGToImageBuffer):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::frameView):
(WebCore):
* svg/graphics/SVGImage.h:
(WebCore):
* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::imageContentChanged):
(WebCore::SVGImageCache::redraw):
(WebCore::SVGImageCache::redrawTimerFired):
(WebCore):
* svg/graphics/SVGImageCache.h:
(SVGImageCache):

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

8 years agoIndexedDB: layout test style update
dgrogan@chromium.org [Mon, 12 Mar 2012 20:26:20 +0000 (20:26 +0000)]
IndexedDB: layout test style update
https://bugs.webkit.org/show_bug.cgi?id=80555

Change layoutTestController.waitUntilDone to var jsTestIsAsync = true
and idb-specific done() to finishJSTest();

Following the uniform style results in less overall code and makes
them easier to convert to worker layout tests.

Reviewed by Tony Chang.

* storage/indexeddb/constants.html:
* storage/indexeddb/create-and-remove-object-store.html:
* storage/indexeddb/create-object-store-options.html:
* storage/indexeddb/createObjectStore-name-argument-required.html:
* storage/indexeddb/createObjectStore-null-name.html:
* storage/indexeddb/cursor-continue.html:
* storage/indexeddb/cursor-delete.html:
* storage/indexeddb/cursor-inconsistency.html:
* storage/indexeddb/cursor-index-delete.html:
* storage/indexeddb/cursor-key-order.html:
* storage/indexeddb/cursor-primary-key-order.html:
* storage/indexeddb/cursor-reverse-bug.html:
* storage/indexeddb/cursor-skip-deleted.html:
* storage/indexeddb/cursor-update-value-argument-required.html:
* storage/indexeddb/cursor-update.html:
* storage/indexeddb/data-corruption.html:
* storage/indexeddb/database-basics.html:
* storage/indexeddb/database-name-undefined.html:
* storage/indexeddb/database-odd-names.html:
* storage/indexeddb/database-quota.html:
* storage/indexeddb/delete-closed-database-object.html:
* storage/indexeddb/delete-range.html:
* storage/indexeddb/deleteIndex.html:
* storage/indexeddb/deleteObjectStore-name-argument-required.html:
* storage/indexeddb/deleteObjectStore-null-name.html:
* storage/indexeddb/duplicates.html:
* storage/indexeddb/error-causes-abort-by-default.html:
* storage/indexeddb/exception-in-event-aborts-expected.txt:
* storage/indexeddb/exception-in-event-aborts.html:
* storage/indexeddb/factory-basics.html:
* storage/indexeddb/factory-cmp.html:
* storage/indexeddb/factory-deletedatabase-interactions.html:
* storage/indexeddb/factory-deletedatabase.html:
* storage/indexeddb/index-count.html:
* storage/indexeddb/index-cursor.html:
* storage/indexeddb/index-get-key-argument-required.html:
* storage/indexeddb/index-multientry.html:
* storage/indexeddb/index-unique.html:
* storage/indexeddb/invalid-keys.html:
* storage/indexeddb/key-generator.html:
* storage/indexeddb/key-sort-order-across-types.html:
* storage/indexeddb/key-sort-order-date.html:
* storage/indexeddb/key-type-array.html:
* storage/indexeddb/key-type-infinity.html:
* storage/indexeddb/keypath-basics.html:
* storage/indexeddb/keypath-edges.html:
* storage/indexeddb/keypath-fetch-key.html:
* storage/indexeddb/keyrange-required-arguments.html:
* storage/indexeddb/keyrange.html:
* storage/indexeddb/list-ordering.html:
* storage/indexeddb/mozilla/add-twice-failure.html:
* storage/indexeddb/mozilla/autoincrement-indexes.html:
* storage/indexeddb/mozilla/bad-keypath.html:
* storage/indexeddb/mozilla/clear.html:
* storage/indexeddb/mozilla/create-index-unique.html:
* storage/indexeddb/mozilla/create-index-with-integer-keys.html:
* storage/indexeddb/mozilla/create-objectstore-basics.html:
* storage/indexeddb/mozilla/create-objectstore-null-name.html:
* storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html:
* storage/indexeddb/mozilla/cursor-mutation.html:
* storage/indexeddb/mozilla/cursor-update-updates-indexes.html:
* storage/indexeddb/mozilla/cursors.html:
* storage/indexeddb/mozilla/delete-result.html:
* storage/indexeddb/mozilla/event-source.html:
* storage/indexeddb/mozilla/global-data.html:
* storage/indexeddb/mozilla/indexes.html:
* storage/indexeddb/mozilla/key-requirements-delete-null-key.html:
* storage/indexeddb/mozilla/key-requirements-inline-and-passed.html:
* storage/indexeddb/mozilla/key-requirements-put-no-key.html:
* storage/indexeddb/mozilla/key-requirements-put-null-key.html:
* storage/indexeddb/mozilla/key-requirements.html:
* storage/indexeddb/mozilla/object-cursors.html:
* storage/indexeddb/mozilla/object-identity.html:
* storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html:
* storage/indexeddb/mozilla/object-store-remove-values.html:
* storage/indexeddb/mozilla/objectstorenames.html:
* storage/indexeddb/mozilla/odd-result-order.html:
* storage/indexeddb/mozilla/open-database-null-name.html:
* storage/indexeddb/mozilla/put-get-values.html:
* storage/indexeddb/mozilla/readonly-transactions.html:
* storage/indexeddb/mozilla/readwrite-transactions.html:
* storage/indexeddb/mozilla/readyState.html:
* storage/indexeddb/mozilla/remove-index.html:
* storage/indexeddb/mozilla/remove-objectstore.html:
* storage/indexeddb/mozilla/versionchange-abort.html:
* storage/indexeddb/mozilla/versionchange.html:
* storage/indexeddb/mutating-cursor.html:
* storage/indexeddb/objectStore-required-arguments.html:
* storage/indexeddb/objectstore-autoincrement.html:
* storage/indexeddb/objectstore-clear.html:
* storage/indexeddb/objectstore-count.html:
* storage/indexeddb/objectstore-cursor.html:
* storage/indexeddb/objectstore-removeobjectstore.html:
* storage/indexeddb/odd-strings.html:
* storage/indexeddb/open-close-version.html:
* storage/indexeddb/open-cursor.html:
* storage/indexeddb/open-during-transaction.html:
* storage/indexeddb/queued-commands.html:
* storage/indexeddb/readonly-properties.html:
* storage/indexeddb/readonly.html:
* storage/indexeddb/request-event-propagation.html:
* storage/indexeddb/resources/shared.js:
(unexpectedSuccessCallback):
(unexpectedErrorCallback):
(unexpectedAbortCallback):
(unexpectedCompleteCallback):
(unexpectedBlockedCallback):
* storage/indexeddb/setVersion-null.html:
* storage/indexeddb/setVersion-undefined.html:
* storage/indexeddb/set_version_blocked.html:
* storage/indexeddb/set_version_queue.html:
* storage/indexeddb/structured-clone.html:
* storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html:
* storage/indexeddb/transaction-abort-with-js-recursion.html:
* storage/indexeddb/transaction-abort.html:
* storage/indexeddb/transaction-after-close.html:
* storage/indexeddb/transaction-and-objectstore-calls.html:
* storage/indexeddb/transaction-crash-on-abort.html:
* storage/indexeddb/transaction-event-propagation.html:
* storage/indexeddb/transaction-read-only.html:
* storage/indexeddb/transaction-rollback.html:
* storage/indexeddb/transaction-storeNames-required.html:
* storage/indexeddb/two-version-changes.html:
* storage/indexeddb/value-undefined.html:
* storage/indexeddb/values-odd-types.html:
* storage/indexeddb/version-change-abort-expected.txt:
* storage/indexeddb/version-change-abort.html:
* storage/indexeddb/version-change-exclusive.html:
* storage/indexeddb/versionchangerequest-activedomobject.html:

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

8 years agoMac rebaseline.
rniwa@webkit.org [Mon, 12 Mar 2012 20:21:31 +0000 (20:21 +0000)]
Mac rebaseline.

* platform/mac/fast/dom/Window/window-properties-expected.txt:
* platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/mac/fast/dom/prototype-inheritance-2-expected.txt:

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

8 years ago[MutationObservers] Enforce a consistent order of MutationRecord delivery
adamk@chromium.org [Mon, 12 Mar 2012 20:11:16 +0000 (20:11 +0000)]
[MutationObservers] Enforce a consistent order of MutationRecord delivery
https://bugs.webkit.org/show_bug.cgi?id=80549

Reviewed by Ojan Vafai.

Source/WebCore:

Mutations should be delivered in order of creation.

Tests: fast/mutation/create-during-delivery.html
       fast/mutation/delivery-order.html
       fast/mutation/mutate-during-delivery.html

* dom/WebKitMutationObserver.cpp:
(WebCore):
(WebCore::WebKitMutationObserver::ObserverLessThan::operator()): Functor for use with std::sort.
(WebCore::WebKitMutationObserver::create):
(WebCore::WebKitMutationObserver::WebKitMutationObserver):
(WebCore::WebKitMutationObserver::deliverAllMutations): Move observers into a sorted vector before delivery.
* dom/WebKitMutationObserver.h: Add a "priority" member which monotonically increases with each construction.

LayoutTests:

* fast/mutation/create-during-delivery-expected.txt: Added.
* fast/mutation/create-during-delivery.html: Added.
* fast/mutation/delivery-order.html: Added.
* fast/mutation/mutate-during-delivery-expected.txt: Added.
* fast/mutation/mutate-during-delivery.html: Added.

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

8 years ago[Chromium] Force compositeAndReadback through regular scheduling flow
nduca@chromium.org [Mon, 12 Mar 2012 20:08:20 +0000 (20:08 +0000)]
[Chromium] Force compositeAndReadback through regular scheduling flow
https://bugs.webkit.org/show_bug.cgi?id=77049

Reviewed by James Robinson.

Source/WebCore:

* platform/graphics/chromium/cc/CCFrameRateController.cpp:
(WebCore::CCFrameRateController::onTimerTick):
* platform/graphics/chromium/cc/CCFrameRateController.h:
(CCFrameRateControllerClient):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::setNeedsForcedCommit):
(WebCore):
(WebCore::CCScheduler::vsyncTick):
* platform/graphics/chromium/cc/CCScheduler.h:
(CCScheduler):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
(WebCore::CCSchedulerStateMachine::setNeedsForcedCommit):
(WebCore):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
(CCSchedulerStateMachine):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::requestReadbackOnImplThread):
(WebCore::CCThreadProxy::forceBeginFrameOnImplThread):
(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrame):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):
(WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
(BeginFrameAndCommitState):

Source/WebKit/chromium:

* tests/CCFrameRateControllerTest.cpp:
(WebKitTests::FakeCCFrameRateControllerClient::reset):
(WebKitTests::FakeCCFrameRateControllerClient::vsyncTicked):
(WebKitTests::FakeCCFrameRateControllerClient::vsyncTick):
(FakeCCFrameRateControllerClient):
(WebKitTests::TEST):
* tests/CCLayerTreeHostTest.cpp:
(WTF):
(CCLayerTreeHostTestCompositeAndReadbackWhileInvisible):
(WTF::CCLayerTreeHostTestCompositeAndReadbackWhileInvisible::CCLayerTreeHostTestCompositeAndReadbackWhileInvisible):
(WTF::CCLayerTreeHostTestCompositeAndReadbackWhileInvisible::beginTest):
(WTF::CCLayerTreeHostTestCompositeAndReadbackWhileInvisible::didCommitAndDrawFrame):
(WTF::CCLayerTreeHostTestCompositeAndReadbackWhileInvisible::afterTest):
(WTF::TEST_F):
* tests/CCSchedulerStateMachineTest.cpp:
(WebCore::StateMachine::setNeedsForcedCommit):
(WebCore::StateMachine::needsForcedCommit):
(StateMachine):
(WebCore::TEST):
(WebCore):

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

8 years agoIndexedDB: Handle LevelDB database corruption
jsbell@chromium.org [Mon, 12 Mar 2012 19:57:00 +0000 (19:57 +0000)]
IndexedDB: Handle LevelDB database corruption
https://bugs.webkit.org/show_bug.cgi?id=79413

Source/WebCore:

Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.

Reviewed by Tony Chang.

Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'

* Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
(WebCore::IDBLevelDBBackingStore::open):
* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::destroy):
(WebCore):
* platform/leveldb/LevelDBDatabase.h:
(LevelDBDatabase):

Source/WebKit/chromium:

Reviewed by Tony Chang.

* WebKit.gyp: Skip LevelDBTest.cpp in shared component builds due to webkit_support dependency
* WebKit.gypi: Add LevelDBTest.cpp
* tests/LevelDBTest.cpp: Added.
(WebCore):
(SimpleComparator):
(WebCore::SimpleComparator::compare):
(WebCore::SimpleComparator::name):
(WebCore::encodeString):
(WebCore::TEST):

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

8 years ago[Chromium] Temporary build-fix for the Android bot
peter@chromium.org [Mon, 12 Mar 2012 19:50:34 +0000 (19:50 +0000)]
[Chromium] Temporary build-fix for the Android bot
https://bugs.webkit.org/show_bug.cgi?id=80862

Reviewed by Adam Barth.

Manually set the environmental variables required to compile source
files through the Android NDK instead of relying on the envsetup.sh
script. A proper fix will be landed to Chromium ASAP, and following
a Chromium roll into WebKit this code will be removed.

* Scripts/webkitdirs.pm:
(buildChromiumMakefile):

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

8 years ago[Qt] Use right construct to detect config_test_gccdepends
vestbo@webkit.org [Mon, 12 Mar 2012 19:44:37 +0000 (19:44 +0000)]
[Qt] Use right construct to detect config_test_gccdepends

Reviewed by Andreas Kling.

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

8 years ago[Qt] Expose location of WebKit's bin and imports dir through module file
vestbo@webkit.org [Mon, 12 Mar 2012 19:44:16 +0000 (19:44 +0000)]
[Qt] Expose location of WebKit's bin and imports dir through module file

Reviewed by Andreas Kling.

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

8 years agoFix regression on fast/table/table-row-compositing-repaint-crash.html
shawnsingh@chromium.org [Mon, 12 Mar 2012 19:24:45 +0000 (19:24 +0000)]
Fix regression on fast/table/table-row-compositing-repaint-crash.html
https://bugs.webkit.org/show_bug.cgi?id=80804

Reviewed by Simon Fraser.

Covered by existing tests.

http://trac.webkit.org/changeset/110401/ accidentally caused
fast/table/table-row-compositing-repaint-crash.html to fail.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):

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

8 years agoCSS3 calc: enable mixed percent/absolute for font
mikelawther@chromium.org [Mon, 12 Mar 2012 19:20:56 +0000 (19:20 +0000)]
CSS3 calc: enable mixed percent/absolute for font
https://bugs.webkit.org/show_bug.cgi?id=80813

Reviewed by Ojan Vafai.

Source/WebCore:

Add support for mixed percent/absolute expressions to the font handling class.

* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyFontSize::applyValue):

LayoutTests:

* css3/calc/font-expected.txt:
* css3/calc/font-size-expected.txt:

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

8 years agoMinor DataLog fixes
laszlo.1.gombos@nokia.com [Mon, 12 Mar 2012 19:18:14 +0000 (19:18 +0000)]
Minor DataLog fixes
https://bugs.webkit.org/show_bug.cgi?id=80826

Reviewed by Andreas Kling.

* bytecode/ExecutionCounter.cpp:
Do not include DataLog.h, it is not used.

* jit/ExecutableAllocator.cpp:
Ditto.

* wtf/DataLog.cpp:
(WTF::initializeLogFileOnce):
Add missing semi-colon to the code path where DATA_LOG_FILENAME is defined.

* wtf/HashTable.cpp:
Include DataLog as it is used.

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

8 years agoupdate expectations in preparation for bitmap-sampling fix in skia
reed@google.com [Mon, 12 Mar 2012 18:58:47 +0000 (18:58 +0000)]
update expectations in preparation for bitmap-sampling fix in skia
https://bugs.webkit.org/show_bug.cgi?id=80837

Unreviewed

* platform/chromium/test_expectations.txt:

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

8 years agoRestore Attr::style() functionality.
kling@webkit.org [Mon, 12 Mar 2012 18:51:32 +0000 (18:51 +0000)]
Restore Attr::style() functionality.
<http://webkit.org/b/80678>
<rdar://problem/10933904>

Reviewed by Antti Koivisto.

The neutering of Attr::style() in r106740 broke some internal clients of the Obj-C API,
so this was definitely premature.

Since we no longer have a per-Attribute style object, synthesize one in style() and
hang it off of the Attr. This grows Attr by one pointer, but it's a low-volume object
so it shouldn't matter much.

We recreate the StylePropertySet object on every call to style(), to avoid complicating
things with custom invalidation code.

* dom/Attr.cpp:
(WebCore::Attr::style):
* dom/Attr.h:
* dom/StyledElement.h:
(WebCore::StyledElement::collectStyleForAttribute):

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