<https://webkit.org/b/120088> Define Clipboard::hasData() only when building with drag support

Reviewed by Darin Adler.

Clipboard::hasData() is specific to drag-and-drop support. We should only define it when
such support is enabled.

* dom/Clipboard.cpp: Move hasData() to DRAG_SUPPORT section of the file.
* dom/Clipboard.h: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/120078> Replace NodeRenderingContext with RenderStyle& as shouldCreateRenderer() argument

Reviewed by Darin Adler.

This simplifies the code. NodeRenderingContext was only used for getting the RenderStyle.

* dom/Element.cpp:
(WebCore::Element::rendererIsNeeded):
* dom/Element.h:
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::elementInsideRegionNeedsRenderer):
(WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::rendererIsNeeded):
* dom/PseudoElement.h:
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::rendererIsNeeded):
* html/HTMLAppletElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::rendererIsNeeded):
* html/HTMLElement.h:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
* html/HTMLEmbedElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::rendererIsNeeded):
* html/HTMLFormElement.h:
* html/HTMLFrameElement.cpp:
(WebCore::HTMLFrameElement::rendererIsNeeded):
* html/HTMLFrameElement.h:
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::rendererIsNeeded):
* html/HTMLFrameSetElement.h:
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::rendererIsNeeded):
* html/HTMLIFrameElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::rendererIsNeeded):
* html/HTMLInputElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::rendererIsNeeded):
* html/HTMLMediaElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::rendererIsNeeded):
* html/HTMLObjectElement.h:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::rendererIsNeeded):
* html/HTMLVideoElement.h:
* html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::rendererIsNeeded):
* html/shadow/DetailsMarkerControl.h:
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::rendererIsNeeded):
* html/shadow/InsertionPoint.h:
* html/shadow/MeterShadowElement.cpp:
(WebCore::MeterShadowElement::rendererIsNeeded):
(WebCore::MeterInnerElement::rendererIsNeeded):
* html/shadow/MeterShadowElement.h:
* html/shadow/ProgressShadowElement.cpp:
(WebCore::ProgressShadowElement::rendererIsNeeded):
(WebCore::ProgressInnerElement::rendererIsNeeded):
* html/shadow/ProgressShadowElement.h:
* svg/SVGDescElement.h:
* svg/SVGElement.h:
(WebCore::SVGElement::rendererIsNeeded):
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/SVGFontElement.h:
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::rendererIsNeeded):
* svg/SVGForeignObjectElement.h:
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::rendererIsNeeded):
* svg/SVGGElement.h:
* svg/SVGGlyphElement.h:
* svg/SVGGlyphRefElement.h:
* svg/SVGHKernElement.h:
* svg/SVGMarkerElement.h:
* svg/SVGMissingGlyphElement.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::rendererIsNeeded):
* svg/SVGSVGElement.h:
* svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::rendererIsNeeded):
* svg/SVGStopElement.h:
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::rendererIsNeeded):
* svg/SVGStyledElement.h:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::rendererIsNeeded):
* svg/SVGTRefElement.h:
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::rendererIsNeeded):
* svg/SVGTSpanElement.h:
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::rendererIsNeeded):
* svg/SVGTextPathElement.h:
* svg/SVGTitleElement.h:
* svg/SVGVKernElement.h:
* svg/SVGViewElement.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Compile fix for Win64 after r154156.

Rubber stamped by Oliver Hunt.

* jit/JITStubsMSVC64.asm:
Renamed ctiVMThrowTrampolineSlowpath to ctiVMHandleException and
cti_vm_throw_slowpath to cti_vm_handle_exception.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Unreviewed build fix for Win64 after r154118.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
013-08-20  Jacky Jiang  <zhajiang@blackberry.com>

<https://webkit.org/b/120082> [BlackBerry] Remove unused previousTextureRect in LayerTiler

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-08-20
Reviewed by Rob Buis.
Internally reviewed by Mike Lattanzio and Jakob Petsovits.

* platform/graphics/blackberry/LayerTiler.cpp:
(WebCore::LayerTiler::updateTextureContentsIfNeeded):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154364 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rollout the previous patch for landing with the correct ChangeLog.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/120079> Flattening a dictionary can cause CopiedSpace corruption

Reviewed by Oliver Hunt.

When we flatten an object in dictionary mode, we compact its properties. If the object
had out-of-line storage in the form of a Butterfly prior to this compaction, and after
compaction its properties fit inline, the object's Structure "forgets" that the object
has a non-zero Butterfly pointer. During GC, we check the Butterfly and reportLiveBytes
with bytes = 0, which causes all sorts of badness in CopiedSpace.

Instead, after we flatten a dictionary, if properties fit inline we should clear the
Butterfly pointer so that the GC doesn't get confused later.

This patch does this clearing, and it also adds JSObject::checkStructure, which overrides
JSCell::checkStructure to add an ASSERT that makes sure that the Structure being assigned
agrees with the whether or not the object has a Butterfly. Also added an ASSERT to check
that the number of bytes reported to SlotVisitor::copyLater is non-zero.

* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::copyLater):
* runtime/JSObject.cpp:
(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToContiguous):
(JSC::JSObject::genericConvertDoubleToContiguous):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::setPrototype):
(JSC::JSObject::putDirectAccessor):
(JSC::JSObject::seal):
(JSC::JSObject::freeze):
(JSC::JSObject::preventExtensions):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::removeDirect):
* runtime/JSObject.h:
(JSC::JSObject::setButterfly):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::setStructure):
(JSC::JSObject::setStructureAndReallocateStorageIfNecessary):
* runtime/Structure.cpp:
(JSC::Structure::flattenDictionaryStructure):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/120090> Report better error messages from WinLauncher/DRT

Reviewed by Tim Horton.

* win/DLLLauncher/DLLLauncherMain.cpp:
(getLastErrorString): New method to convert GetLastError to text.
(wWinMain): Use new error formatter to provide useful diagnostic text to user.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Linking fix for Win64.

Rubberstamped by Brent Fulgham.

* win/DLLLauncher/DLLLauncherMain.cpp:
(wWinMain): Corrected 64-bit linker symbol for dllLauncherEntryPoint.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/120050> Don't bother using a Vector for the ouput of querySelector, just return the first element found

Reviewed by Ryosuke Niwa.

Simplify the case of querySelector. Instead of using the same output type as querySelectorAll,
simply use a trait to define what to do in the loop.

* dom/SelectorQuery.cpp:
(WebCore::AllElementExtractorSelectorQueryTrait::appendOutputForElement):
(WebCore::SelectorDataList::queryAll):
(WebCore::SingleElementExtractorSelectorQueryTrait::appendOutputForElement):
(WebCore::SelectorDataList::queryFirst):
(WebCore::SelectorDataList::executeFastPathForIdSelector):
(WebCore::elementsForLocalName):
(WebCore::anyElement):
(WebCore::SelectorDataList::executeSingleTagNameSelectorData):
(WebCore::SelectorDataList::executeSingleClassNameSelectorData):
(WebCore::SelectorDataList::executeSingleSelectorData):
(WebCore::SelectorDataList::executeSingleMultiSelectorData):
(WebCore::SelectorDataList::execute):
* dom/SelectorQuery.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/120071> Replace NodeRenderingContext with Node* as childShouldCreateRenderer() argument

Reviewed by Darin Adler.

This simplifies the code. NodeRenderingContext was basically only used for getting the Node.

* dom/ContainerNode.h:
(WebCore::ContainerNode::childShouldCreateRenderer):
* dom/Element.cpp:
(WebCore::Element::childShouldCreateRenderer):
* dom/Element.h:
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::shouldCreateRenderer):
* dom/NodeRenderingContext.h:
        
    Move isOnEncapsulationBoundary() to InsertionPoint.h and call it hasShadowRootOrActiveInsertionPointParent().
    Move isOnUpperEncapsulationBoundary() to ShadowRoot.h and call it hasShadowRootParent().

* dom/ShadowRoot.h:
(WebCore::hasShadowRootParent):
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::childShouldCreateRenderer):
* html/HTMLDetailsElement.h:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::validationMessageShadowTreeContains):
* html/HTMLFormControlElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::childShouldCreateRenderer):
* html/HTMLMediaElement.h:
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::childShouldCreateRenderer):
* html/HTMLMeterElement.h:
* html/HTMLOptGroupElement.h:
(WebCore::isHTMLOptGroupElement):
* html/HTMLOptionElement.h:
(WebCore::isHTMLOptionElement):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::childShouldCreateRenderer):
* html/HTMLProgressElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::childShouldCreateRenderer):
* html/HTMLSelectElement.h:
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::childShouldCreateRenderer):
* html/HTMLSummaryElement.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::childShouldCreateRenderer):
(WebCore::enclosingTextFormControl):
* html/HTMLTextFormControlElement.h:
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::shadowTreeContains):
* html/ValidationMessage.h:
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::rendererIsNeeded):
* html/shadow/InsertionPoint.h:
(WebCore::isActiveInsertionPoint):
        
    Remove isShadowBoundary() as it was equivalent to isActive(). 
    Remove isLowerEncapsulationBoundary() as it was equivalent to isActiveInsertionPoint().

(WebCore::hasShadowRootOrActiveInsertionPointParent):
        
    Moved and renamed from NodeRenderingContext::isOnEncapsulationBoundary().

* svg/SVGAElement.cpp:
(WebCore::SVGAElement::childShouldCreateRenderer):
* svg/SVGAElement.h:
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
* svg/SVGAltGlyphElement.h:
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::childShouldCreateRenderer):
* svg/SVGDocument.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::childShouldCreateRenderer):
* svg/SVGElement.h:
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::childShouldCreateRenderer):
* svg/SVGFilterElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
* svg/SVGForeignObjectElement.h:
* svg/SVGSVGElement.h:
(WebCore::toSVGSVGElement):
* svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::childShouldCreateRenderer):
* svg/SVGSwitchElement.h:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::childShouldCreateRenderer):
* svg/SVGTRefElement.h:
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::childShouldCreateRenderer):
* svg/SVGTSpanElement.h:
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::childShouldCreateRenderer):
* svg/SVGTextElement.h:
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::childShouldCreateRenderer):
* svg/SVGTextPathElement.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154371 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/120095> Delete fast/css/giant-stylesheet-crash.html since it flakily timeout or crash

Reviewed by Antti Koivisto.

Deleted the test. This test was added in r82054 but it has been crashing since r154242.

Since our expected behavior is to crash at the moment, this test's description doesn't even match
the expected behavior anymore. Furthermore, it intermittently times out due to DRT taking too long to
allocate memory before it can crash.

* fast/css/giant-stylesheet-crash-expected.txt: Removed.
* fast/css/giant-stylesheet-crash.html: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154372 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=120093
Remove getOwnPropertyDescriptor trap

Reviewed by Geoff Garen.

All implementations of this method are now called via the method table, and equivalent in behaviour.
Remove all duplicate implementations (and the method table trap), and add a single member function implementation on JSObject.

Source/JavaScriptCore: 

* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
* debugger/DebuggerActivation.cpp:
* debugger/DebuggerActivation.h:
* runtime/Arguments.cpp:
* runtime/Arguments.h:
* runtime/ArrayConstructor.cpp:
* runtime/ArrayConstructor.h:
* runtime/ArrayPrototype.cpp:
* runtime/ArrayPrototype.h:
* runtime/BooleanPrototype.cpp:
* runtime/BooleanPrototype.h:
    - remove getOwnPropertyDescriptor
* runtime/ClassInfo.h:
    - remove getOwnPropertyDescriptor from MethodTable
* runtime/DateConstructor.cpp:
* runtime/DateConstructor.h:
* runtime/DatePrototype.cpp:
* runtime/DatePrototype.h:
* runtime/ErrorPrototype.cpp:
* runtime/ErrorPrototype.h:
* runtime/JSActivation.cpp:
* runtime/JSActivation.h:
* runtime/JSArray.cpp:
* runtime/JSArray.h:
* runtime/JSArrayBuffer.cpp:
* runtime/JSArrayBuffer.h:
* runtime/JSArrayBufferView.cpp:
* runtime/JSArrayBufferView.h:
* runtime/JSCell.cpp:
* runtime/JSCell.h:
* runtime/JSDataView.cpp:
* runtime/JSDataView.h:
* runtime/JSDataViewPrototype.cpp:
* runtime/JSDataViewPrototype.h:
* runtime/JSFunction.cpp:
* runtime/JSFunction.h:
* runtime/JSGenericTypedArrayView.h:
* runtime/JSGenericTypedArrayViewInlines.h:
* runtime/JSGlobalObject.cpp:
* runtime/JSGlobalObject.h:
* runtime/JSNotAnObject.cpp:
* runtime/JSNotAnObject.h:
* runtime/JSONObject.cpp:
* runtime/JSONObject.h:
    - remove getOwnPropertyDescriptor
* runtime/JSObject.cpp:
(JSC::JSObject::propertyIsEnumerable):
    - switch to call new getOwnPropertyDescriptor member function
(JSC::JSObject::getOwnPropertyDescriptor):
    - new, based on imlementation from GET_OWN_PROPERTY_DESCRIPTOR_IMPL
(JSC::JSObject::defineOwnNonIndexProperty):
    - switch to call new getOwnPropertyDescriptor member function
* runtime/JSObject.h:
* runtime/JSProxy.cpp:
* runtime/JSProxy.h:
* runtime/NamePrototype.cpp:
* runtime/NamePrototype.h:
* runtime/NumberConstructor.cpp:
* runtime/NumberConstructor.h:
* runtime/NumberPrototype.cpp:
* runtime/NumberPrototype.h:
    - remove getOwnPropertyDescriptor
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):
    - switch to call new getOwnPropertyDescriptor member function
* runtime/ObjectConstructor.h:
    - remove getOwnPropertyDescriptor
* runtime/PropertyDescriptor.h:
    - remove GET_OWN_PROPERTY_DESCRIPTOR_IMPL
* runtime/RegExpConstructor.cpp:
* runtime/RegExpConstructor.h:
* runtime/RegExpMatchesArray.cpp:
* runtime/RegExpMatchesArray.h:
* runtime/RegExpObject.cpp:
* runtime/RegExpObject.h:
* runtime/RegExpPrototype.cpp:
* runtime/RegExpPrototype.h:
* runtime/StringConstructor.cpp:
* runtime/StringConstructor.h:
* runtime/StringObject.cpp:
* runtime/StringObject.h:
    - remove getOwnPropertyDescriptor

Source/WebCore: 

* WebCore.exp.in:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorDeclaration):
(GenerateConstructorHelperMethods):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.h:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
* bindings/scripts/test/JS/JSTestEventTarget.h:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestException.h:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
* bindings/scripts/test/JS/JSTestNode.cpp:
* bindings/scripts/test/JS/JSTestNode.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.h:
* bridge/jsc/BridgeJSC.h:
(JSC::Bindings::Instance::getOwnPropertySlot):
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
* bridge/runtime_array.cpp:
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
* bridge/runtime_object.h:
    - remove getOwnPropertyDescriptor

Source/WebKit2: 

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
* WebProcess/Plugins/Netscape/JSNPObject.h:
    - remove getOwnPropertyDescriptor



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Rebaseline after r154372.

* platform/qt-mac/TestExpectations: fast/css/giant-stylesheet-crash.html was removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/92330> [CSS] Pass an image orientation data to drawImage()

Reviewed by Beth Dakin.

In support of ongoing css3-images image-orientation implementation. This patch passes
an imageOrientationDescription object to drawImage() function as a argument. The drawImage()
can know information of image orientation by the argument.

Spec: http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::drawImageToContext):
* platform/graphics/ImageOrientation.h: Add setter functions.
(WebCore::ImageOrientationDescription::setRespectImageOrientation):
(WebCore::ImageOrientationDescription::setImageOrientationEnum):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::updateContents):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::paintSnapshot):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154375 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add emscripten memops benchmark.

Rubber stamped by Oliver Hunt.

* TestExpectations:
* fast/js/regress/emscripten-memops-expected.txt: Added.
* fast/js/regress/emscripten-memops.html: Added.
* fast/js/regress/script-tests/emscripten-memops.js: Added.
(.Module.string_appeared_here):
(else.Module.string_appeared_here):
(else.else.Module.string_appeared_here):
(else.else):
(globalEval):
(Runtime.stackSave):
(Runtime.stackRestore):
(Runtime.forceAlign):
(Runtime.isNumberType):
(Runtime.isPointerType):
(Runtime.isStructType):
(or64):
(and64):
(xor64):
(getNativeTypeSize):
(getNativeFieldSize):
(dedup):
(.set var):
(getAlignSize):
(calculateStructAlignment):
(.else.alignment):
(generateStructInfo):
(dynCall):
(addFunction):
(removeFunction):
(warnOnce):
(.Runtime.funcWrappers.func):
(getFuncWrapper):
(UTF8Processor.this.processCChar):
(UTF8Processor.this.processJSString):
(UTF8Processor):
(stackAlloc):
(staticAlloc):
(dynamicAlloc):
(alignMemory):
(makeBigInt):
(assert):
(ccall):
(getCFunc):
(.toC):
(.fromC):
(ccallFunc):
(setValue):
(getValue):
(.set else):
(.set return):
(allocate):
(Pointer_stringify):
(alignMemoryPage):
(enlargeMemory):
(callRuntimeCallbacks):
(preRun):
(ensureInitRuntime):
(preMain):
(exitRuntime):
(postRun):
(addOnPreRun):
(addOnInit):
(addOnPreMain):
(addOnExit):
(addOnPostRun):
(intArrayFromString):
(intArrayToString):
(writeStringToMemory):
(writeArrayToMemory):
(unSign):
(reSign):
(Math.string_appeared_here):
(addRunDependency):
(removeRunDependency):
(loadMemoryInitializer.applyData):
(loadMemoryInitializer.set addOnPreRun):
(__ATINIT__.push):
(STATIC_BASE):
(copyTempDouble):
(___setErrNo):
(PATH.splitPath):
(PATH.normalizeArray):
(PATH.normalize.join):
(PATH.normalize):
(PATH.dirname):
(PATH.basename):
(PATH.join):
(PATH.trim):
(PATH.relative):
(TTY.register):
(TTY.stream_ops.open):
(TTY.stream_ops.close):
(TTY.stream_ops.read):
(TTY.stream_ops.write):
(TTY.default_tty_ops.get_char):
(TTY.default_tty_ops.put_char):
(TTY.default_tty1_ops.put_char):
(MEMFS.mount):
(MEMFS.create_node):
(MEMFS.node_ops.getattr):
(MEMFS.node_ops.setattr):
(MEMFS.node_ops.lookup):
(MEMFS.node_ops.mknod):
(MEMFS.node_ops.rename):
(MEMFS.node_ops.unlink):
(MEMFS.node_ops.rmdir):
(MEMFS.node_ops.readdir):
(MEMFS.node_ops.symlink):
(MEMFS.node_ops.readlink):
(MEMFS.stream_ops.set else):
(MEMFS.stream_ops.read):
(MEMFS.stream_ops.write):
(MEMFS.stream_ops.llseek):
(MEMFS.stream_ops.allocate):
(MEMFS.stream_ops.set return):
(MEMFS.stream_ops.mmap):
(_fflush):
(FS.ErrnoError):
(FS.handleFSError):
(FS.hashName):
(FS.hashAddNode):
(FS.hashRemoveNode):
(FS.lookupNode):
(FS.):
(FS.destroyNode):
(FS.isRoot):
(FS.isMountpoint):
(FS.isFile):
(FS.isDir):
(FS.isLink):
(FS.isChrdev):
(FS.isBlkdev):
(FS.isFIFO):
(FS.cwd):
(FS.var):
(FS.lookupPath):
(FS.getPath):
(FS.modeStringToFlags):
(FS.flagsToPermissionString):
(FS.nodePermissions):
(FS.mayLookup):
(FS.mayMknod):
(FS.mayCreate):
(FS.mayDelete):
(FS.mayOpen):
(FS.chrdev_stream_ops.open):
(FS.chrdev_stream_ops.llseek):
(FS.major):
(FS.minor):
(FS.makedev):
(FS.registerDevice):
(FS.getDevice):
(FS.nextfd):
(FS.getStream):
(FS.closeStream):
(FS.getMode):
(FS.joinPath):
(FS.absolutePath):
(FS.standardizePath):
(FS.findObject):
(FS.analyzePath):
(FS.createFolder):
(FS.createPath):
(FS.createFile):
(FS.createDataFile):
(FS.createDevice):
(FS.createLink):
(FS.forceLoadFile):
(FS.LazyUint8Array):
(FS.LazyUint8Array.prototype.get if):
(FS.LazyUint8Array.prototype):
(FS.LazyUint8Array.prototype.setDataGetter):
(FS.LazyUint8Array.prototype.cacheLength.doXHR):
(FS.LazyUint8Array.prototype.cacheLength):
(FS.get Object):
(FS.get var):
(FS.keys.forEach):
(FS.processData.finish):
(FS.processData):
(FS.else):
(FS.createPreloadedFile):
(FS.createDefaultDirectories):
(FS.createDefaultDevices.):
(FS.createDefaultDevices):
(FS.createStandardStreams):
(FS.staticInit):
(FS.init):
(FS.quit):
(FS.mount):
(FS.lookup):
(FS.mknod):
(FS.create):
(FS.mkdir):
(FS.mkdev):
(FS.symlink):
(FS.rename):
(FS.rmdir):
(FS.readdir):
(FS.unlink):
(FS.readlink):
(FS.stat):
(FS.lstat):
(FS.chmod):
(FS.lchmod):
(FS.fchmod):
(FS.chown):
(FS.lchown):
(FS.fchown):
(FS.truncate):
(FS.ftruncate):
(FS.utime):
(FS.open):
(FS.close):
(FS.llseek):
(FS.read):
(FS.write):
(FS.allocate):
(FS.mmap):
(_send):
(_pwrite):
(_write):
(_fwrite):
(__reallyNegative):
(.getNextArg):
(.switch.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.break):
(.switch.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.break):
(_fprintf):
(_printf):
(_abort):
(___errno_location):
(_sbrk.Runtime.dynamicAlloc):
(_sbrk):
(_sysconf):
(_time):
(Browser.mainLoop.pause):
(Browser.mainLoop.resume):
(Browser.mainLoop.updateStatus):
(Browser.init.imagePlugin.string_appeared_here):
(Browser.init.img.onload):
(Browser.init.img.onerror):
(Browser.init.audioPlugin.string_appeared_here):
(Browser.init.finish):
(Browser.init.fail):
(Browser.init.audio.onerror.encode64):
(Browser.init.audio.onerror):
(Browser.init.audio):
(Browser.init.else):
(Browser.init.pointerLockChange):
(Browser.init.canvas):
(Browser.init):
(Browser.destroyContext):
(Browser.fullScreenChange):
(Browser.requestFullScreen):
(Browser.requestAnimationFrame):
(Browser.safeRequestAnimationFrame):
(Browser.safeSetTimeout):
(Browser.safeSetInterval):
(Browser.getMimetype):
(Browser.getUserMedia):
(Browser.getMovementX):
(Browser.getMovementY):
(Browser.calculateMouseEvent):
(Browser.xhr.onload):
(Browser.xhrLoad):
(Browser.updateResizeListeners):
(Browser.setCanvasSize):
(Browser.setFullScreenCanvasSize):
(Browser.setWindowedCanvasSize):
(__ATINIT__.unshift):
(__ATMAIN__.push):
(__ATEXIT__.push):
(Module.string_appeared_here):
(invoke_ii):
(invoke_v):
(invoke_iii):
(invoke_vi):
(asmPrintInt):
(asmPrintFloat):
(asm):
(Runtime.stackAlloc):
(ExitStatus):
(Module.string_appeared_here.Module.callMain.callMain.pad):
(Module.string_appeared_here.Module.callMain):
(run.doRun):
(run.else):
(run):
(exit):
(abort):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154376 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fast/js/regress/emscripten-cube2hash is failing on all the Mac bots
https://bugs.webkit.org/show_bug.cgi?id=120083

Unreviewed.
        
Fixed the test to work in web mode and removed the failure expectation.

* fast/js/regress/script-tests/emscripten-cube2hash.js:
(else.Module.string_appeared_here):
* platform/mac/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/120101> [Mac] Suspended HTMLMediaElements can still hold power assertion after playback stops.

Reviewed by Eric Carlson.

Call updateDisplaySleep() when we clear our MediaPlayer, as doing so may kill any in-flight
rateChanged() notifications.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::stop):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=120086
REGRESSION (r154300): http/tests/security/cross-frame-access-getOwnPropertyDescriptor is failing or crashing on the bots

Reviewed by Geoff Garen.

Previously we allowed cross-frame access to these properties, but hid the descriptors.
Now we allow access, but make them read-only, non-configurable.

* http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
* http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
* platform/mac/TestExpectations:
    - Update test/results/expectations.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/119836> [GTK] ChromeClient::paint is susceptible to system time changes

Reviewed by Martin Robinson.

Instead of using WTF::currentTime() as the value of the last display occurrence,
WTF::monotonicallyIncreasingTime() should be used. The latter is not affected by
the changes is the system's time, which can cause a halt in the display updating.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::paint):


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