1. 20 Aug, 2013 40 commits
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120093 · 174570f9
      barraclough@apple.com authored
      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
      174570f9
    • rniwa@webkit.org's avatar
      <https://webkit.org/b/120095> Delete fast/css/giant-stylesheet-crash.html... · 6114a00c
      rniwa@webkit.org authored
      <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
      6114a00c
    • antti@apple.com's avatar
      <https://webkit.org/b/120071> Replace NodeRenderingContext with Node* as... · dacd6dee
      antti@apple.com authored
      <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
      dacd6dee
    • benjamin@webkit.org's avatar
      <https://webkit.org/b/120050> Don't bother using a Vector for the ouput of... · 7c754a75
      benjamin@webkit.org authored
      <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
      7c754a75
    • achristensen@apple.com's avatar
      [Windows] Linking fix for Win64. · e95bc7af
      achristensen@apple.com authored
      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
      e95bc7af
    • bfulgham@apple.com's avatar
      <https://webkit.org/b/120090> Report better error messages from WinLauncher/DRT · 689121e5
      bfulgham@apple.com authored
      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
      689121e5
    • mhahnenberg@apple.com's avatar
      <https://webkit.org/b/120079> Flattening a dictionary can cause CopiedSpace corruption · 8337083f
      mhahnenberg@apple.com authored
      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
      8337083f
    • antti@apple.com's avatar
      2ccd18eb
    • zhajiang@rim.com's avatar
      013-08-20 Jacky Jiang <zhajiang@blackberry.com> · ed5c64e2
      zhajiang@rim.com authored
      <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
      ed5c64e2
    • achristensen@apple.com's avatar
      [Windows] Unreviewed build fix for Win64 after r154118. · fa8e4823
      achristensen@apple.com authored
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa8e4823
    • achristensen@apple.com's avatar
      Compile fix for Win64 after r154156. · 243b10bb
      achristensen@apple.com authored
      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
      243b10bb
    • antti@apple.com's avatar
      <https://webkit.org/b/120078> Replace NodeRenderingContext with RenderStyle&... · a478fdac
      antti@apple.com authored
      <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
      a478fdac
    • dbates@webkit.org's avatar
      <https://webkit.org/b/120088> Define Clipboard::hasData() only when building with drag support · a9be5099
      dbates@webkit.org authored
      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
      a9be5099
    • dbates@webkit.org's avatar
      <https://webkit.org/b/120032> Add DRT test to ensure that AccessibilityObject::stringValue() · dd0e80ee
      dbates@webkit.org authored
      of <input type="file"> is meaningful
      
      Following <http://trac.webkit.org/changeset/154332>, add GTK-specific expected results for test
      LayoutTests/accessibility/file-upload-button-stringvalue.html.
      
      * platform/gtk-wk2/accessibility/file-upload-button-stringvalue-expected.txt: Added; expected failure
      results until we fix <https://webkit.org/b/64285>.
      * platform/gtk/accessibility/file-upload-button-stringvalue-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dd0e80ee
    • antti@apple.com's avatar
      <https://webkit.org/b/120078> Replace NodeRenderingContext with RenderStyle&... · b74dfb66
      antti@apple.com authored
      <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@154358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b74dfb66
    • timothy_horton@apple.com's avatar
      Failing test expectations for two tests · 31bf3315
      timothy_horton@apple.com authored
      One recently regressed:
      webkit.org/b/120086 http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
      
      One was recently added in a failing state:
      webkit.org/b/120083 fast/js/regress/emscripten-cube2hash.html
      
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154357 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31bf3315
    • rniwa@webkit.org's avatar
      <https://webkit.org/b/120087> Lion: fast/forms/submit-to-url-fragment.html intermittently crashes · f78e695f
      rniwa@webkit.org authored
      Add the test expectation.
      
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f78e695f
    • rniwa@webkit.org's avatar
      Mac Lion rebaseline after r154072. · ff7db58e
      rniwa@webkit.org authored
      Also add an intermittent test failure expectation to http/tests/inspector/resource-tree/resource-tree-document-url.html
      
      * platform/mac/TestExpectations:
      * platform/mac-lion/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff7db58e
    • achristensen@apple.com's avatar
      <https://webkit.org/b/120076> More work towards a Win64 build · 70c03718
      achristensen@apple.com authored
      Reviewed by Brent Fulgham.
      
      Source/JavaScriptCore: 
      
      * JavaScriptCore.vcxproj/JavaScriptCoreGenerated.make:
      * JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.make:
      * JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.make:
      * JavaScriptCore.vcxproj/copy-files.cmd:
      * JavaScriptCore.vcxproj/jsc/jscCommon.props:
      * JavaScriptCore.vcxproj/testRegExp/testRegExpCommon.props:
      Use PlatformArchitecture macro instead of bin32, lib32, and obj32.
      
      Source/WebKit: 
      
      * WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd:
      Use PlatformArchitecture macro instead of bin32, lib32, and obj32.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70c03718
    • timothy_horton@apple.com's avatar
      <https://webkit.org/b/105988> [Mac] Some inspector tests intermittently assert... · 542e8f33
      timothy_horton@apple.com authored
      <https://webkit.org/b/105988> [Mac] Some inspector tests intermittently assert in InspectorOverlay::paint
      <rdar://problem/12958038>
      
      Reviewed by Joseph Pecoraro.
      
      Update the inspector overlay's layout before painting, if it is stale.
      
      No new tests; fixes an intermittent assertion failure in some existing tests.
      
      * inspector/InspectorOverlay.cpp:
      (WebCore::InspectorOverlay::paint):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      542e8f33
    • rniwa@webkit.org's avatar
      Mark fast/css/giant-stylesheet-crash.html as slow after r154246 · dc6b9938
      rniwa@webkit.org authored
      since allocating 2GB of RAM takes a long time sometimes.
      
      * TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc6b9938
    • mhahnenberg@apple.com's avatar
      <https://webkit.org/b/119919> Concurrent JIT crashes in various fast/js/dfg-*... · 25e78934
      mhahnenberg@apple.com authored
      <https://webkit.org/b/119919> Concurrent JIT crashes in various fast/js/dfg-* tests while the main thread is setting innerHTML
      
      Reviewed by Geoffrey Garen.
      
      More fixes for WriteBarrier deferral during concurrent JIT-ing. This patch makes the use of DesiredWriteBarriers class and the 
      initializeLazyWriteBarrierFor* wrapper functions more sane. 
      
      Refactored DesiredWriteBarrier to require an owner, a type, a CodeBlock, and an index. The type indicates how to use the CodeBlock
      and index when triggering the WriteBarrier at the end of compilation. 
      
      The client code of initializeLazy* is now responsible for creating the WriteBarrier that will be initialized as well as passing
      in the relevant index to be used at the end of compilation. Things were kind of muddled before in that one function did a 
      little extra work that really shouldn't have been its responsibility.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::addConstant):
      (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
      * dfg/DFGDesiredWriteBarriers.cpp:
      (JSC::DFG::DesiredWriteBarrier::DesiredWriteBarrier):
      (JSC::DFG::DesiredWriteBarrier::trigger):
      * dfg/DFGDesiredWriteBarriers.h:
      (JSC::DFG::DesiredWriteBarriers::add):
      (JSC::DFG::initializeLazyWriteBarrierForInlineCallFrameExecutable):
      (JSC::DFG::initializeLazyWriteBarrierForInlineCallFrameCallee):
      (JSC::DFG::initializeLazyWriteBarrierForConstant):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::truncateConstantToInt32):
      * dfg/DFGGraph.h:
      (JSC::DFG::Graph::constantRegisterForConstant):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      25e78934
    • dbates@webkit.org's avatar
      Build fix after <http://trac.webkit.org/changeset/154260> (https://webkit.org/b/119949); · 6f7f26cc
      dbates@webkit.org authored
      declare Clipboard::hasData() when building with and without drag support
      
      * dom/Clipboard.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154350 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f7f26cc
    • hmuller@adobe.com's avatar
      <https://webkit.org/b/119849> [CSS Shapes] Complete RasterShape::firstIncludedIntervalLogicalTop() · c9a0f733
      hmuller@adobe.com authored
      Reviewed by Alexandru Chiculita.
      
      Source/WebCore:
      
      Completed the implementation of RasterShape::firstIncludedIntervalLogicalTop(). The
      method now computes first logical top location where a line segment can be laid
      out within a RasterShape, i.e. a shape derived from an image valued URL resource.
      
      A detailed description of the algorithm can be found in
      http://hansmuller-webkit.blogspot.com/2013/08/first-fit-location-for-image-shapes.html.
      
      The new tests exposed a bug in the existing getIncludedIntervals() method. A shape
      with a vertical gap that spans the entire line now causes the method to short circuit
      and return an empty interval list.
      
      Tests: fast/shapes/shape-inside/shape-inside-image-003.html
             fast/shapes/shape-inside/shape-inside-image-004.html
             fast/shapes/shape-inside/shape-inside-image-005.html
      
      * rendering/shapes/RasterShape.cpp:
      (WebCore::RasterShapeIntervals::firstIncludedIntervalY):
      (WebCore::RasterShapeIntervals::getIncludedIntervals):
      (WebCore::RasterShape::firstIncludedIntervalLogicalTop):
      * rendering/shapes/RasterShape.h:
      
      LayoutTests:
      
      Verify that the first fit algorithm works correctly for complex image shapes.
      For this set of tests the image is specified with an SVG file.
      
      * fast/shapes/resources/svg-shape-001.svg: Added.
      * fast/shapes/shape-inside/shape-inside-image-003-expected.html: Added.
      * fast/shapes/shape-inside/shape-inside-image-003.html: Added.
      * fast/shapes/shape-inside/shape-inside-image-004-expected.html: Added.
      * fast/shapes/shape-inside/shape-inside-image-004.html: Added.
      * fast/shapes/shape-inside/shape-inside-image-005-expected.html: Added.
      * fast/shapes/shape-inside/shape-inside-image-005.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9a0f733
    • psolanki@apple.com's avatar
      <https://webkit.org/b/120029> Document::markers() should return a reference · 469f39e9
      psolanki@apple.com authored
      Reviewed by Andreas Kling.
      
      Document::m_markers is never NULL so return a reference from Document::markers(). Also mark
      m_markers as const and initialize it in member initialization.
      
      Source/WebCore:
      
      * dom/Document.cpp:
      (WebCore::Document::Document):
      * dom/Document.h:
      (WebCore::Document::markers):
      * editing/AlternativeTextController.cpp:
      (WebCore::AlternativeTextController::isSpellingMarkerAllowed):
      (WebCore::AlternativeTextController::applyAlternativeTextToRange):
      (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
      (WebCore::AlternativeTextController::handleAlternativeTextUIResult):
      (WebCore::AlternativeTextController::respondToChangedSelection):
      (WebCore::AlternativeTextController::respondToAppliedEditing):
      (WebCore::AlternativeTextController::respondToUnappliedEditing):
      (WebCore::AlternativeTextController::markReversed):
      (WebCore::AlternativeTextController::markCorrection):
      (WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
      (WebCore::AlternativeTextController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
      (WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
      (WebCore::AlternativeTextController::applyDictationAlternative):
      * editing/CompositeEditCommand.cpp:
      (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
      * editing/DeleteSelectionCommand.cpp:
      (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
      * editing/DictationCommand.cpp:
      (WebCore::DictationMarkerSupplier::addMarkersToTextNode):
      * editing/Editor.cpp:
      (WebCore::Editor::ignoreSpelling):
      (WebCore::Editor::learnSpelling):
      (WebCore::Editor::advanceToNextMisspelling):
      (WebCore::Editor::clearMisspellingsAndBadGrammar):
      (WebCore::Editor::markAndReplaceFor):
      (WebCore::Editor::changeBackToReplacedString):
      (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
      (WebCore::Editor::countMatchesForText):
      (WebCore::Editor::setMarkedTextMatchesAreHighlighted):
      (WebCore::Editor::respondToChangedSelection):
      (WebCore::Editor::selectionStartHasMarkerFor):
      * editing/SpellChecker.cpp:
      (WebCore::SpellChecker::didCheckSucceed):
      * editing/SplitTextNodeCommand.cpp:
      (WebCore::SplitTextNodeCommand::doApply):
      (WebCore::SplitTextNodeCommand::doUnapply):
      * editing/TextCheckingHelper.cpp:
      (WebCore::TextCheckingHelper::findFirstMisspelling):
      (WebCore::TextCheckingHelper::findFirstGrammarDetail):
      * page/FrameView.cpp:
      (WebCore::FrameView::getTickmarks):
      (WebCore::FrameView::paintContents):
      * page/Page.cpp:
      (WebCore::Page::unmarkAllTextMatches):
      * rendering/HitTestResult.cpp:
      (WebCore::HitTestResult::spellingToolTip):
      (WebCore::HitTestResult::replacedString):
      (WebCore::HitTestResult::dictationAlternatives):
      * rendering/InlineTextBox.cpp:
      (WebCore::InlineTextBox::paintDocumentMarkers):
      * rendering/svg/SVGInlineFlowBox.cpp:
      (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
      * testing/Internals.cpp:
      (WebCore::Internals::markerCountForNode):
      (WebCore::Internals::markerAt):
      (WebCore::Internals::addTextMatchMarker):
      
      Source/WebKit/blackberry:
      
      * WebKitSupport/InPageSearchManager.cpp:
      (BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
      (BlackBerry::WebKit::InPageSearchManager::setActiveMatchAndMarker):
      (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
      (BlackBerry::WebKit::InputHandler::addAttributedTextMarker):
      (BlackBerry::WebKit::InputHandler::removeAttributedTextMarker):
      
      Source/WebKit/efl:
      
      * ewk/ewk_frame.cpp:
      (ewk_frame_text_matches_unmark_all):
      (ewk_frame_text_matches_nth_pos_get):
      
      Source/WebKit/mac:
      
      * WebView/WebFrame.mm:
      (-[WebFrame _unmarkAllBadGrammar]):
      (-[WebFrame _unmarkAllMisspellings]):
      * WebView/WebHTMLView.mm:
      (-[WebHTMLView unmarkAllTextMatches]):
      (-[WebHTMLView rectsForTextMatches]):
      
      Source/WebKit/win:
      
      * WebFrame.cpp:
      (WebFrame::unmarkAllMisspellings):
      (WebFrame::unmarkAllBadGrammar):
      * WebView.cpp:
      (WebView::rectsForTextMatches):
      
      Source/WebKit2:
      
      * WebProcess/WebPage/FindController.cpp:
      (WebKit::FindController::rectsForTextMatches):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::unmarkAllMisspellings):
      (WebKit::WebPage::unmarkAllBadGrammar):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      469f39e9
    • psolanki@apple.com's avatar
      <https://webkit.org/b/119875> localeToScriptCodeForFontSelection should use... · 6bd8bfa8
      psolanki@apple.com authored
      <https://webkit.org/b/119875> localeToScriptCodeForFontSelection should use hash tables with larger default capacity
      
      Reviewed by Darin Adler.
      
      The two static hash tables used in this file have 106 and 198 entries. Set a minimumTableSize for
      these hash tables so we don't have to expand them during initialization.
      
      No new tests because no functional changes.
      
      * platform/text/LocaleToScriptMappingDefault.cpp:
      (WebCore::scriptNameToCode):
      (WebCore::localeToScriptCodeForFontSelection):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6bd8bfa8
    • msaboff@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120075 · 4759dfe7
      msaboff@apple.com authored
      REGRESSION (r128400): BBC4 website not displaying pictures
      
      Reviewed by Oliver Hunt.
      
      Source/JavaScriptCore: 
      
      * runtime/RegExpMatchesArray.h:
      (JSC::RegExpMatchesArray::createStructure): Changed the array IndexingType to be ArrayWithSlowPutArrayStorage
      so that the match results will be reified before any other modification to the results array.
      
      LayoutTests: 
      
      Added regression tests for fix.
      
      * fast/js/regress/regexp-match-reify-before-putbyval-expected.txt: Added.
      * fast/js/regress/regexp-match-reify-before-putbyval.html: Added.
      * fast/js/regress/script-tests/regexp-match-reify-before-putbyval.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4759dfe7
    • eric.carlson@apple.com's avatar
      <https://webkit.org/b/120068> Media controls can be attached lazily · 4f5721d8
      eric.carlson@apple.com authored
      Reviewed by Jer Noble.
      
      Merge https://chromium.googlesource.com/chromium/blink/+/28a995486a675992f2e72f81bfabdfff05688a31.
      
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::createMediaControls): Add AttachLazily to appendChild().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f5721d8
    • fpizlo@apple.com's avatar
      Incorrect behavior on emscripten-compiled cube2hash · 4f2ad8a1
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120033
      
      Source/JavaScriptCore: 
      
      Reviewed by Mark Hahnenberg.
              
      If PutClosureVar is may-aliased to another PutClosureVar or GetClosureVar
      then we should bail attempts to CSE.
      
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::scopedVarLoadElimination):
      (JSC::DFG::CSEPhase::scopedVarStoreElimination):
      
      LayoutTests: 
      
      Reviewed by Mark Hahnenberg.
              
      Add the test that actually failed as a JSRegress test. We should track its
      performance anyway.
              
      Add a regression test for the actual failure.
              
      Add .html and -expected.txt files for a JSRegress test that is already in
      the repo.
      
      * fast/js/dfg-get-closure-var-put-closure-var-interference.html: Added.
      * fast/js/dfg-get-closure-var-put-closure-var-interference-expected.txt: Added.
      * fast/js/regress/array-nonarray-polymorhpic-access-expected.txt: Added.
      * fast/js/regress/array-nonarray-polymorhpic-access.html: Added.
      * fast/js/regress/emscripten-cube2hash-expected.txt: Added.
      * fast/js/regress/emscripten-cube2hash.html: Added.
      * fast/js/regress/script-tests/emscripten-cube2hash.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):
      (_fputs):
      (_fputc):
      (_puts):
      (_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):
      (i64Math):
      (i64Math.):
      (Module.string_appeared_here.Module.callMain.callMain.pad):
      (Module.string_appeared_here.Module.callMain):
      (run.doRun):
      (run.else):
      (run):
      (exit):
      (abort):
      * fast/js/script-tests/dfg-get-closure-var-put-closure-var-interference.js: Added.
      (foo):
      (thingy.return.bar):
      (thingy.return.baz):
      (thingy):
      (runIt):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f2ad8a1
    • dbates@webkit.org's avatar
      <https://webkit.org/b/120072> Use nullAtom instead of defining static local in · 620c79bc
      dbates@webkit.org authored
      Accessibility{Object, RenderObject}::actionVerb()
      
      Reviewed by Chris Fleizach.
      
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::actionVerb):
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::actionVerb):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      620c79bc
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120073 · 53c52751
      barraclough@apple.com authored
      Remove use of GOPD from JSFunction::defineProperty
      
      Reviewed by Oliver Hunt.
      
      Call getOwnPropertySlot to check for existing properties instead.
      
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::defineOwnProperty):
          - getOwnPropertyDescriptor -> getOwnPropertySlot
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53c52751
    • dbates@webkit.org's avatar
      <https://webkit.org/b/119914> [iOS] Upstream changes to WebCore/accessibility · 903c4d7e
      dbates@webkit.org authored
      Reviewed by Darin Adler and Chris Fleizach.
      
      * accessibility/AccessibilityMenuList.cpp:
      (WebCore::AccessibilityMenuList::press):
      (WebCore::AccessibilityMenuList::isCollapsed):
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::headingElementForNode):
      (WebCore::AccessibilityObject::actionVerb):
      * accessibility/AccessibilityObject.h:
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
      (WebCore::AccessibilityRenderObject::actionVerb):
      * accessibility/AccessibilityTableColumn.cpp:
      (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
      * accessibility/AccessibilityTableHeaderContainer.cpp:
      (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):
      * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      903c4d7e
    • bruno.d@partner.samsung.com's avatar
      [css3-text] Implement CSS3 text-decoration shorthand · d88be043
      bruno.d@partner.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=92000
      
      Implements the text-decoration shorthand (with -webkit- prefix), as specified by the CSS3 Text Decoration specification:
      http://dev.w3.org/csswg/css-text-decor-3/#text-decoration-property
      
      Backported from Blink:
      https://src.chromium.org/viewvc/blink?revision=156266&view=revision
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d88be043
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120067 · 904726e7
      barraclough@apple.com authored
      Remove getPropertyDescriptor
      
      Reviewed by Oliver Hunt.
      
      This is used by lookupGetter/lookupSetter - this can easily bee replaced by getPropertySlot.
      Since we'll be getting the GetterSetter from the slot in the setter case, rename isGetter() to isAccessor().
      
      * runtime/JSObject.cpp:
      * runtime/JSObject.h:
          - remove getPropertyDescriptor
      * runtime/ObjectPrototype.cpp:
      (JSC::objectProtoFuncLookupGetter):
      (JSC::objectProtoFuncLookupSetter):
          - replace call to getPropertyDescriptor with getPropertySlot
      * runtime/PropertyDescriptor.h:
      * runtime/PropertySlot.h:
      (JSC::PropertySlot::isAccessor):
      (JSC::PropertySlot::isCacheableGetter):
      (JSC::PropertySlot::getterSetter):
          - rename isGetter() to isAccessor()
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      904726e7
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120054 · e25699e6
      barraclough@apple.com authored
      Remove some dead code following getOwnPropertyDescriptor cleanup
      
      Reviewed by Oliver Hunt.
      
      ../JavaScriptCore: 
      
      * runtime/Lookup.h:
      (JSC::getStaticFunctionSlot):
          - remove getStaticPropertyDescriptor, getStaticFunctionDescriptor, getStaticValueDescriptor.
      
      ../WebCore: 
      
      * bindings/js/JSPluginElementFunctions.cpp:
      * bindings/js/JSPluginElementFunctions.h:
          - remove runtimeObjectCustomGetOwnPropertyDescriptor, pluginElementCustomGetOwnPropertyDescriptor
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e25699e6
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120053 · ff3cff75
      barraclough@apple.com authored
      Remove custom getOwnPropertyDescriptor for JSNPObject
      
      Reviewed by Oliver Hunt.
      
      Think this is the last one!
      
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
          - Remove custom getOwnPropertyDescriptor implementation.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff3cff75
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120052 · 25614ab6
      barraclough@apple.com authored
      Remove custom getOwnPropertyDescriptor for JSProxy
      
      Reviewed by Geoff Garen.
      
      GET_OWN_PROPERTY_DESCRIPTOR_IMPL runs afoul with JSProxy due to the workaround for JSDOMWindow's broken behavior.
      Because the window object incorrectly searches the prototype chain in getOwnPropertySlot we check that the base
      object matches, but in the case of JSProxy we can end up comparing the window object to the window shell & falsely
      assuming this is a prototype property. Add toThis conversion to correctly identify proxied own access. I've kept
      the original slotBase check as a fast case, and also so that direct access on JSDOMWindow still works.
      
      * runtime/JSProxy.cpp:
          - Remove custom getOwnPropertyDescriptor implementation.
      * runtime/PropertyDescriptor.h:
          - Modify own property access check to perform toThis conversion.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      25614ab6
    • achristensen@apple.com's avatar
      Use PlatformArchitecture to distinguish between 32-bit and 64-bit builds on Windows. · 64923f13
      achristensen@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119512
      
      Reviewed by Brent Fulgham.
      
      Source/JavaScriptCore: 
      
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
      * JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.vcxproj:
      * JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.vcxproj:
      * JavaScriptCore.vcxproj/LLInt/LLIntOffsetsExtractor/LLIntOffsetsExtractor.vcxproj:
      * JavaScriptCore.vcxproj/LLInt/LLIntOffsetsExtractor/LLIntOffsetsExtractorCommon.props:
      Replaced obj32, bin32, and lib32 with macros for 64-bit build.
      
      Source/ThirdParty: 
      
      * gtest/msvc/gtest-md.vcxproj:
      Replaced obj32, bin32, and lib32 with macros for 64-bit build.
      
      Source/WebCore: 
      
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.vcxproj/WebCoreCommon.props:
      * WebCore.vcxproj/WebCoreGeneratedCommon.props:
      * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
      * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters:
      Replaced obj32, bin32, and lib32 with macros for 64-bit build.
      
      Source/WebKit: 
      
      * WebKit.vcxproj/Interfaces/InterfacesCommon.props:
      * WebKit.vcxproj/WebKit/WebKit.vcxproj:
      * WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
      * WebKit.vcxproj/WebKit/WebKitCommon.props:
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj:
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj.filters:
      * WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj:
      * WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj.filters:
      * WebKit.vcxproj/WebKitGUID/WebKitGUIDCommon.props:
      Replaced obj32, bin32, and lib32 with macros for 64-bit build.
      
      Source/WTF: 
      
      * WTF.vcxproj/WTFGeneratedCommon.props:
      Replaced obj32, bin32, and lib32 with macros for 64-bit build.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64923f13
    • dbates@webkit.org's avatar
      <https://webkit.org/b/120032> Add DRT test to ensure that AccessibilityObject::stringValue() · cc030563
      dbates@webkit.org authored
      of <input type="file"> is meaningful
      
      Reviewed by Chris Fleizach.
      
      Adds a DRT test to ensure that AccessibilityObject::stringValue() returns a meaningful string
      for a single file- and multiple files-file upload control.
      
      * accessibility/file-upload-button-stringvalue.html: Added.
      * platform/mac-wk2/accessibility/file-upload-button-stringvalue-expected.txt: Added.
      * platform/mac/accessibility/file-upload-button-stringvalue-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc030563
    • jberlin@webkit.org's avatar
      Remove a string no longer used after r154251. · cbe678d0
      jberlin@webkit.org authored
      Rubber-stamped by Brady Eidson.
      
      * English.lproj/Localizable.strings:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cbe678d0