[WebIDL] Annotate IDL interfaces under Source/WebCore/dom/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122271

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/dom/.

* dom/CharacterData.idl:
* dom/ChildNode.idl:
* dom/ClientRectList.idl:
* dom/Clipboard.idl:
* dom/CompositionEvent.idl:
* dom/CustomEvent.idl:
* dom/DOMCoreException.idl:
* dom/DOMImplementation.idl:
* dom/DOMNamedFlowCollection.idl:
* dom/DOMStringList.idl:
* dom/DOMStringMap.idl:
* dom/DataTransferItem.idl:
* dom/DataTransferItemList.idl:
* dom/DeviceMotionEvent.idl:
* dom/DeviceOrientationEvent.idl:
* dom/Document.idl:
* dom/DocumentFragment.idl:
* dom/DocumentType.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/EventException.idl:
* dom/EventListener.idl:
* dom/EventTarget.idl:
* dom/KeyboardEvent.idl:
* dom/MessageEvent.idl:
* dom/MessagePort.idl:
* dom/MouseEvent.idl:
* dom/MutationEvent.idl:
* dom/MutationObserver.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/NodeFilter.idl:
* dom/NodeIterator.idl:
* dom/NodeList.idl:
* dom/Range.idl:
* dom/RangeException.idl:
* dom/ShadowRoot.idl:
* dom/Text.idl:
* dom/TextEvent.idl:
* dom/TouchEvent.idl:
* dom/TouchList.idl:
* dom/TreeWalker.idl:
* dom/UIEvent.idl:
* dom/WebKitNamedFlow.idl:
* dom/WheelEvent.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WebIDL] Annotate IDL interfaces under Source/WebCore/fileapi/ with the OperationsNotDeletable attribute
https://bugs.webkit.org/show_bug.cgi?id=122275

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/fileapi/.

* fileapi/Blob.idl:
* fileapi/FileException.idl:
* fileapi/FileList.idl:
* fileapi/FileReader.idl:
* fileapi/FileReaderSync.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Support for-of syntax
https://bugs.webkit.org/show_bug.cgi?id=122339

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add support for for-of syntax to JSC.  As part of doing this I had to make
us support unique empty strings as identifiers.  In a follow on patch i'm
going to remove the distinction entirely as it's purely a complicating
separation.

Otherwise the logic here is fairly self-explanatory.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::addConstant):
(JSC::BytecodeGenerator::emitCall):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::CallArguments::CallArguments):
(JSC::ForOfNode::emitBytecode):
* jit/JITOperations.cpp:
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createForOfLoop):
* parser/NodeConstructors.h:
(JSC::EnumerationNode::EnumerationNode):
(JSC::ForInNode::ForInNode):
(JSC::ForOfNode::ForOfNode):
* parser/Nodes.h:
* parser/Parser.cpp:
(JSC::::parseVarDeclarationList):
(JSC::::parseForStatement):
* parser/Parser.h:
(JSC::Parser::isofToken):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createForOfLoop):
* runtime/ArrayIteratorPrototype.cpp:
(JSC::ArrayIteratorPrototype::finishCreation):
(JSC::arrayIteratorPrototypeIterate):
* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::create):
(JSC::ArrayPrototype::finishCreation):
* runtime/ArrayPrototype.h:
* runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::CommonIdentifiers):
* runtime/CommonIdentifiers.h:
* runtime/Identifier.h:
(JSC::Identifier::from):
* runtime/JSCJSValue.cpp:
(JSC::JSValue::dumpInContext):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
* runtime/JSObject.cpp:
(JSC::JSObject::putDirectNativeFunction):
* runtime/PrivateName.h:
(JSC::PrivateName::PrivateName):
* runtime/PropertyName.h:
(JSC::PropertyName::PropertyName):

Source/WTF:

Update assertions and add a helper function to StringImpl
to save repeated unique or identifier calls.

* wtf/text/StringImpl.h:
(WTF::StringImpl::isIdentifierOrUnique):
(WTF::StringImpl::setIsIdentifier):
(WTF::StringImpl::setIsAtomic):

LayoutTests:

Add test cases for the one type that supports for-of so far

* js/basic-for-of-expected.txt: Added.
* js/basic-for-of.html: Added.
* js/regress/for-of-iterate-array-entries.html: Added.
* js/regress/for-of-iterate-array-keys.html: Added.
* js/regress/for-of-iterate-array-values.html: Added.
* js/regress/script-tests/for-of-iterate-array-entries.js: Added.
(foo):
* js/regress/script-tests/for-of-iterate-array-keys.js: Added.
(foo):
* js/regress/script-tests/for-of-iterate-array-values.js: Added.
(foo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Made WinLauncher have better error handling, crash reporting, and modifiability.
https://bugs.webkit.org/show_bug.cgi?id=122319

Patch by Alex Christensen <achristensen@webkit.org> on 2013-10-04
Reviewed by Brent Fulgham.

* WinLauncher/WinLauncher.cpp:
(WinLauncherWebHost::didFailProvisionalLoadWithError):
Don't display the numerous "Cancelled" messages that are obviously from the user.
(createCrashReport): Added.
(dllLauncherEntryPoint):
Made main loop back into while loop and write a crash report if it crashes.
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj.filters:
Added WinLauncherReplace.h.
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props:
Added linking to DbgHelp.lib.
* WinLauncher/WinLauncherReplace.h:
Added to make modifying WinLauncher behaviour and appearance easy.
(processCrashDump): Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Inserting a JS generated keyframe animation shouldn't trigger a whole document style recalc
https://bugs.webkit.org/show_bug.cgi?id=119479

Patch by Ralph Thomas <ralpht@gmail.com> on 2013-10-04
Reviewed by Antti Koivisto.

Change CSSStyleSheet::didMutateRules to not invalidate all node's styles when inserting a
@-webkit-keyframes rule, and to instead insert the rule directly into the StyleResolver.

Test: animation/keyframes-dynamic.html: adds and removes keyframe rules using JavaScript and
validates that the correct elements are animated.

* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::insertRule):
* css/CSSStyleSheet.h:

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] Layout Tests for selecting text in 2 regions for other writing modes
https://bugs.webkit.org/show_bug.cgi?id=122327

Reviewed by Alexandru Chiculita.

Add versions for other writing modes (horizontal-bt, vertical-lr and
vertical-rl) for test
fast/regions/selection/selecting-text-in-2-regions.html.

* fast/regions/resources/helper.js:
(selectContentByIdsVert): Add new method when selecting context in a
vertical writing mode.
* fast/regions/resources/region-style.css: Add some new CSS classes for
vertical writing mode.
* fast/regions/selection/selecting-text-in-2-regions-horiz-bt-expected.html:
Added.
* fast/regions/selection/selecting-text-in-2-regions-horiz-bt.html:
Added.
* fast/regions/selection/selecting-text-in-2-regions-vert-lr-expected.html:
Added.
* fast/regions/selection/selecting-text-in-2-regions-vert-lr.html:
Added.
* fast/regions/selection/selecting-text-in-2-regions-vert-rl-expected.html:
Added.
* fast/regions/selection/selecting-text-in-2-regions-vert-rl.html:
Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tighten typing in some RenderLayer code.
<https://webkit.org/b/122342>

Reviewed by Antti Koivisto.

Use tighter types instead of Node and RenderObject inside RenderLayer
where applicable.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] Basic shapes should be animatable for shape-outside
https://bugs.webkit.org/show_bug.cgi?id=122343

Reviewed by Dirk Schulze.

Source/WebCore:

Test: fast/shapes/shape-outside-floats/shape-outside-animation.html

Add shape outside to the list of animatable properties. The infrastructure
is already in place for animating basic shapes on shape-inside and clipping
paths. See https://bugs.webkit.org/show_bug.cgi?id=101854.

* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

LayoutTests:

Add tests checking that shape-outside basic shape values correctly tween
between values.

* animations/resources/animation-test-helpers.js:
(getPropertyValue): Add shape-outside to list of properties that do not parse
with the default behavior.
(comparePropertyValue): Compare shape-outsides after parsing their shape notation.
* fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt: Added.
* fast/shapes/shape-outside-floats/shape-outside-animation.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update svn-config for new Visual Studio extensions
https://bugs.webkit.org/show_bug.cgi?id=122344

Reviewed by Brent Fulgham.

* svn-config: Add new Visual Studio extensions.


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