1. 21 Aug, 2013 40 commits
    • barraclough@apple.com's avatar
      Clarify var/const/function declaration · 1d962d08
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120144
      
      Reviewed by Sam Weinig.
      
      Add methods to JSGlobalObject to declare vars, consts, and functions.
      
      * runtime/Executable.cpp:
      (JSC::ProgramExecutable::initializeGlobalProperties):
      * runtime/Executable.h:
          - Moved declaration code to JSGlobalObject
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::addGlobalVar):
          - internal implementation of addVar, addConst, addFunction
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::addVar):
      (JSC::JSGlobalObject::addConst):
      (JSC::JSGlobalObject::addFunction):
          - Added methods to declare vars, consts, and functions
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1d962d08
    • timothy_horton@apple.com's avatar
      Another null-deref under WebDragClient::startDrag · af6cc59c
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120145
      <rdar://problem/14650652>
      
      Reviewed by Simon Fraser.
      
      convertImageToBitmap can legitimately return null, so don't dereference it.
      
      * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
      (WebKit::WebDragClient::startDrag):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af6cc59c
    • simon.fraser@apple.com's avatar
      Setting -webkit-filter: in :active selector causes failure to redraw · 3d54f8b4
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120135
      
      Source/WebCore:
      
      Reviewed by Jer Noble.
      
      When removing a filter on an inline child of a compositing layer,
      the inline loses its RenderLayer and compositing layer, but we fail to
      repaint the compositing layer that the inline is now painting into.
      
      This worked correctly for opacity, because opacity toggles cause
      layouts (which then paint the correct layer), so do the same for filters.
      
      Test: css3/filters/remove-filter-repaint.html
      
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::changeRequiresLayout): Return true if we toggled
      between having filters and not. Drive-by cleanup, making use of new convenience
      function for hasOpacity().
      * rendering/style/StyleRareNonInheritedData.cpp:
      (WebCore::StyleRareNonInheritedData::hasFilters): Returns true if we have any
      filters.
      * rendering/style/StyleRareNonInheritedData.h:
      (WebCore::StyleRareNonInheritedData::hasOpacity): Convenience function that
      returns true if opacity is < 1.
      
      LayoutTests:
      
      Reviewed by Jer Noble.
      
      Ref test for removing a filter on an inline.
      
      * css3/filters/remove-filter-repaint-expected.html: Added.
      * css3/filters/remove-filter-repaint.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d54f8b4
    • commit-queue@webkit.org's avatar
      https://bugs.webkit.org/show_bug.cgi?id=119900 · 40b6cd3c
      commit-queue@webkit.org authored
      Exception in global setter doesn't unwind correctly
      
      Patch by Yi Shen <max.hong.shen@gmail.com> on 2013-08-21
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      Call VM_THROW_EXCEPTION_AT_END in op_put_to_scope if the setter throws exception.
      
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      
      LayoutTests:
      
      Add test for calling global setter which throws exception.
      
      * fast/js/script-tests/throw-exception-in-global-setter.js: Added.
      (g):
      * fast/js/throw-exception-in-global-setter-expected.txt: Added.
      * fast/js/throw-exception-in-global-setter.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40b6cd3c
    • bdakin@apple.com's avatar
      <https://webkit.org/b/120140> Clients expect didFirstLayout-related calls to · 37c1c7fd
      bdakin@apple.com authored
      happen before didLayout
      
      Reviewed by Anders Carlsson.
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::dispatchDidLayout):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37c1c7fd
    • bfulgham@apple.com's avatar
      [Windows] Clean up project file after %PlatformArchitecture% change landed. · 11d3b857
      bfulgham@apple.com authored
      * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove hard-coded settings covered
      by our configuration files.
      * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Use the %PlatformArchitecture%
      macro to support 32- and 64-bit builds.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11d3b857
    • mhahnenberg@apple.com's avatar
      Rename/refactor setButterfly/setStructure · ab08d670
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120138
      
      Reviewed by Geoffrey Garen.
      
      setButterfly becomes setStructureAndButterfly.
      
      Also removed the Butterfly* argument from setStructure and just implicitly
      used m_butterfly internally since that's what every single client of setStructure
      was doing already.
      
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * runtime/JSObject.cpp:
      (JSC::JSObject::notifyPresenceOfIndexedAccessors):
      (JSC::JSObject::createInitialUndecided):
      (JSC::JSObject::createInitialInt32):
      (JSC::JSObject::createInitialDouble):
      (JSC::JSObject::createInitialContiguous):
      (JSC::JSObject::createArrayStorage):
      (JSC::JSObject::convertUndecidedToInt32):
      (JSC::JSObject::convertUndecidedToDouble):
      (JSC::JSObject::convertUndecidedToContiguous):
      (JSC::JSObject::convertUndecidedToArrayStorage):
      (JSC::JSObject::convertInt32ToDouble):
      (JSC::JSObject::convertInt32ToContiguous):
      (JSC::JSObject::convertInt32ToArrayStorage):
      (JSC::JSObject::genericConvertDoubleToContiguous):
      (JSC::JSObject::convertDoubleToArrayStorage):
      (JSC::JSObject::convertContiguousToArrayStorage):
      (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::setStructureAndButterfly):
      (JSC::JSObject::setStructure):
      (JSC::JSObject::putDirectInternal):
      (JSC::JSObject::setStructureAndReallocateStorageIfNecessary):
      (JSC::JSObject::putDirectWithoutTransition):
      * runtime/Structure.cpp:
      (JSC::Structure::flattenDictionaryStructure):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab08d670
    • ap@apple.com's avatar
      http/tests/cookies/simple-cookies-expired.html sometimes fails on Lion Intel Release (Tests) · dc3f1794
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=73694
      
      http/tests/cookies/simple-cookies-max-age.html sometimes fails on Lion Intel Release (Tests)
      https://bugs.webkit.org/show_bug.cgi?id=73695
      
      http/tests/cookies/single-quoted-value.html intermittently fails on Mac
      https://bugs.webkit.org/show_bug.cgi?id=105603
      
      Reviewed by Dan Bernstein.
      
      Woark around a CFNetwork issue by using Max-Age=-1 instead of Max-Age=0. Since it's
      WebKit that we are testing and not the lower level networking, this does not change
      test coverage.
      
      * http/tests/cookies/resources/clearCookies.cgi:
      * http/tests/cookies/resources/cookies-test-pre.js:
      * http/tests/cookies/simple-cookies-max-age.html:
      * http/tests/websocket/tests/hybi/httponly-cookie.pl:
      * platform/mac-wk2/TestExpectations:
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc3f1794
    • bfulgham@apple.com's avatar
      [Windows] Reenable some tests that pass now. · 92247d80
      bfulgham@apple.com authored
      * platform/win/TestExpectations:  Renable some tests
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      92247d80
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120127 · f39a4ec4
      barraclough@apple.com authored
      Remove JSObject::propertyIsEnumerable
      
      Unreviewed typo fix
      
      * runtime/JSObject.h:
          - fix typo
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f39a4ec4
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120139 · 61ff98cd
      barraclough@apple.com authored
      PropertyDescriptor argument to define methods should be const
      
      Rubber stamped by Sam Weinig.
      
      This should never be modified, and this way we can use rvalues.
      
      Source/JavaScriptCore: 
      
      * debugger/DebuggerActivation.cpp:
      (JSC::DebuggerActivation::defineOwnProperty):
      * debugger/DebuggerActivation.h:
      * runtime/Arguments.cpp:
      (JSC::Arguments::defineOwnProperty):
      * runtime/Arguments.h:
      * runtime/ClassInfo.h:
      * runtime/JSArray.cpp:
      (JSC::JSArray::defineOwnProperty):
      * runtime/JSArray.h:
      * runtime/JSArrayBuffer.cpp:
      (JSC::JSArrayBuffer::defineOwnProperty):
      * runtime/JSArrayBuffer.h:
      * runtime/JSArrayBufferView.cpp:
      (JSC::JSArrayBufferView::defineOwnProperty):
      * runtime/JSArrayBufferView.h:
      * runtime/JSCell.cpp:
      (JSC::JSCell::defineOwnProperty):
      * runtime/JSCell.h:
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::defineOwnProperty):
      * runtime/JSFunction.h:
      * runtime/JSGenericTypedArrayView.h:
      * runtime/JSGenericTypedArrayViewInlines.h:
      (JSC::::defineOwnProperty):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::defineOwnProperty):
      * runtime/JSGlobalObject.h:
      * runtime/JSObject.cpp:
      (JSC::JSObject::putIndexedDescriptor):
      (JSC::JSObject::defineOwnIndexedProperty):
      (JSC::putDescriptor):
      (JSC::JSObject::defineOwnNonIndexProperty):
      (JSC::JSObject::defineOwnProperty):
      * runtime/JSObject.h:
      * runtime/JSProxy.cpp:
      (JSC::JSProxy::defineOwnProperty):
      * runtime/JSProxy.h:
      * runtime/RegExpMatchesArray.h:
      (JSC::RegExpMatchesArray::defineOwnProperty):
      * runtime/RegExpObject.cpp:
      (JSC::RegExpObject::defineOwnProperty):
      * runtime/RegExpObject.h:
      * runtime/StringObject.cpp:
      (JSC::StringObject::defineOwnProperty):
      * runtime/StringObject.h:
          - make PropertyDescriptor const
      
      Source/WebCore: 
      
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::defineOwnProperty):
      * bindings/js/JSLocationCustom.cpp:
      (WebCore::JSLocation::defineOwnProperty):
      (WebCore::JSLocationPrototype::defineOwnProperty):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
          - make PropertyDescriptor const
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154422 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      61ff98cd
    • bfulgham@apple.com's avatar
      <https://webkit.org/b/120125> [Windows] Correct Tooltip Text · efdb53e4
      bfulgham@apple.com authored
      Reviewed by Anders Carlsson.
      
      * WebCoreSupport/WebChromeClient.cpp:
      (WebChromeClient::runOpenPanel): Make sure valid strings are passed to the File Open
      API call.
      * WebView.cpp:
      (WebView::setToolTip): Correct tooltip text (avoid passing address to temporary
      return value.)
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154421 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      efdb53e4
    • timothy_horton@apple.com's avatar
      Remove a deleted test from the global TestExpectations · e2202029
      timothy_horton@apple.com authored
      It was freaking lint-test-expectations out.
      
      * TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e2202029
    • fpizlo@apple.com's avatar
      REGRESSION: Crash under JITCompiler::link while loading Gmail · 5feb4a8f
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119872
      
      Source/JavaScriptCore: 
      
      Reviewed by Mark Hahnenberg.
              
      Apparently, unsigned + signed = unsigned. Work around it with a cast.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      
      LayoutTests: 
      
      Reviewed by Mark Hahnenberg.
      
      * fast/js/dfg-switch-imm-negative-expected.txt: Added.
      * fast/js/dfg-switch-imm-negative.html: Added.
      * fast/js/jsc-test-list:
      * fast/js/script-tests/dfg-switch-imm-negative.js: Added.
      (foo):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5feb4a8f
    • zhajiang@rim.com's avatar
      <https://webkit.org/b/120123> [BlackBerry] Incorrect origin of indexOfTile in... · 99b26bb2
      zhajiang@rim.com authored
      <https://webkit.org/b/120123> [BlackBerry] Incorrect origin of indexOfTile in LayerTiler can cause unnecessary texture jobs and waste memory
      
      Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-08-21
      Reviewed by Yong Li.
      Internally reviewed by Arvid Nilsson.
      
      JIRA 481356
      The origin of indexOfTile(origin) is incorrect in these two places. For
      example, if the maxXMaxYCorner of the rect is (768, 768), there can be
      three other redundant indexOfTile (0, 1), (1, 0), (1, 1) which can cause
      unnecessary texture jobs and waste memory.
      The origin should be the top left of the bottom right pixel of a rect.
      
      * platform/graphics/blackberry/LayerTiler.cpp:
      (WebCore::LayerTiler::updateTextureContentsIfNeeded):
      (WebCore::LayerTiler::processTextureJob):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99b26bb2
    • simon.fraser@apple.com's avatar
      <https://webkit.org/b/116901> ASSERTION FAILED: !m_visibleDescendantStatusDirty on twitter · 115580e1
      simon.fraser@apple.com authored
      Reviewed by Beth Dakin.
      
      In order to make decisions about compositing, the m_hasVisibleDescendant bit on RenderLayers
      needs to be up-to-date when RenderLayerCompositor::computeCompositingRequirements is recursing
      over the RenderLayer tree.
      
      However, was possible for computeCompositingRequirements() to hit a layer whose m_visibleDescendantStatusDirty
      bit was set; we only clear this bit from collectLayers() (when updating z-order lists), and from styleChanged()
      which requires that style changed on the layer itself.
      
      Fix by always calling updateDescendantDependentFlags() from computeCompositingRequirements().
      
      Wasn't able to easily get a reduced testcase.
      
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::computeCompositingRequirements):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154417 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      115580e1
    • achristensen@apple.com's avatar
      <https://webkit.org/b/120137> Separating Win32 and Win64 builds. · 23db3941
      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:
      Pass PlatformArchitecture as a command line parameter to bash scripts.
      * JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh:
      * JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/build-LLIntDesiredOffsets.sh:
      * JavaScriptCore.vcxproj/build-generated-files.sh:
      Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).
      
      Source/WebCore: 
      
      * WebCore.vcxproj/WebCoreGenerated.make:
      * WebCore.vcxproj/WebCoreGeneratedWinCairo.make:
      Pass PlatformArchitecture as a command line parameter to bash scripts
      and use PlatformArchitecture to determine which directory to delete
      while cleaning (obj32 or obj64).
      * WebCore.vcxproj/WebCoreGeneratedWinCairoCommon.props:
      Export PlatformArchitecture to be used by make and cmd scripts.
      * WebCore.vcxproj/build-generated-files.sh:
      Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).
      * WebCore.vcxproj/copyForwardingHeaders.cmd:
      * WebCore.vcxproj/copyWebCoreResourceFiles.cmd:
      Use PlatformArchitecture to determine which directory to copy to (obj32 or obj64).
      
      Source/WebKit: 
      
      * WebKit.vcxproj/WebKit/WebKitPostBuild.cmd:
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorBuildCmd.cmd:
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPostBuild.cmd:
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd:
      Use PlatformArchitecture to determine correct object directory (obj32 or obj64).
      
      Source/WTF: 
      
      * WTF.vcxproj/WTFGenerated.make:
      Pass PlatformArchitecture as a command line parameter to bash scripts.
      * WTF.vcxproj/build-generated-files.sh:
      Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64).
      
      WebKitLibraries: 
      
      * win/tools/vsprops/common.props:
      Export PlatformArchitecture to be used by make and cmd scripts.
      Use PlatformArchitecture to determine correct build directory
      (lib32/bin32/obj32 or lib64/bin64/obj64).
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154416 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23db3941
    • timothy_horton@apple.com's avatar
      revalidateTiles and ensureTilesForRect can share a lot of code · c34a712b
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119282
      
      Missed the review comments, whoops.
      
      * platform/graphics/ca/mac/TileController.h:
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::prepopulateRect):
      (WebCore::TileController::revalidateTiles):
      (WebCore::TileController::ensureTilesForRect):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154415 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c34a712b
    • akling@apple.com's avatar
      <https://webkit.org/b/120115> SVG elements always have custom style resolve callbacks. · 98ebb807
      akling@apple.com authored
      Reviewed by Antti Koivisto.
      
      Simplify SVGElement construction by making them opt in to custom style resolve callbacks
      by default, and removing the ability to pass a custom ConstructionType to some subclass
      constructors.
      
      * dom/Node.h:
      
          Add HasCustomStyleResolveCallbacksFlag to the CreateSVGElement mask.
      
      * svg/SVGElement.cpp:
      (WebCore::SVGElement::SVGElement):
      * svg/SVGElement.h:
      * svg/SVGGElement.cpp:
      (WebCore::SVGGElement::SVGGElement):
      * svg/SVGGElement.h:
      * svg/SVGGraphicsElement.cpp:
      (WebCore::SVGGraphicsElement::SVGGraphicsElement):
      * svg/SVGGraphicsElement.h:
      * svg/SVGImageElement.cpp:
      (WebCore::SVGImageElement::SVGImageElement):
      * svg/SVGStyledElement.cpp:
      (WebCore::SVGStyledElement::SVGStyledElement):
      * svg/SVGStyledElement.h:
      
          Remove calls to setHasCustomStyleResolveCallbacks() in SVGElement and subclasses.
          Also remove unnecessary ConstructionType argument from subclasses since nobody
          overrides it and everyone just uses CreateSVGElement.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98ebb807
    • timothy_horton@apple.com's avatar
      revalidateTiles and ensureTilesForRect can share a lot of code · 30200348
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119282
      
      Reviewed by Simon Fraser.
      
      No new tests, just a refactoring.
      
      The bodies of ensureTilesForRect and revalidateTiles are nearly equivalent.
      
      * platform/graphics/ca/mac/TileController.h:
      Add an enum, NewTileType, to note whether the tiles created by ensureTilesForRect will
      be primary coverage tiles or secondary out-of-view tiles.
      
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::prepopulateRect):
      Move the code to see if we already have the requisite tiles in the
      primary coverage rect, as well as our call to updateTileCoverageMap,
      out into prepopulateRect, to generalize ensureTilesForRect.
      
      (WebCore::TileController::revalidateTiles):
      Make use of ensureTilesForRect. The platformCALayerDidCreateTiles call will happen there, now.
      
      (WebCore::TileController::ensureTilesForRect):
      Make ensureTilesForRect return the rect that it created tiles for, and only put
      tiles in a cohort if we're creating secondary tiles.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154413 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30200348
    • timothy_horton@apple.com's avatar
      isReplacementObscured is wrong when the indicator is clipped by an iframe · 2d405bad
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120031
      <rdar://problem/14606819>
      
      Reviewed by Simon Fraser.
      
      Hit-test for plugin obscurity in the root document. To do this, we also need
      to convert the indicator rectangle into root view coordinates before
      hit testing its edges.
      
      This resolves the case where an iframe which clips its content was reporting
      the indicator as not obscured, despite the fact that it was obscured from the
      point of view of the user.
      
      Updated test plugins/unavailable-plugin-indicator-obscurity.html
      
      * rendering/RenderEmbeddedObject.cpp:
      (WebCore::RenderEmbeddedObject::isReplacementObscured):
      
      Update the unavailable plugin indicator test to also ensure that plugins are
      correctly known to be obscured when contained within and clipped by an <iframe>.
      
      * plugins/unavailable-plugin-indicator-obscurity-expected.txt:
      * plugins/unavailable-plugin-indicator-obscurity.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d405bad
    • commit-queue@webkit.org's avatar
      <https://webkit.org/b/120134> [Tools] lldb_webkit.py helpers is incorrectly printing 8bit Strings · 69483c7a
      commit-queue@webkit.org authored
      Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-08-21
      Reviewed by Benjamin Poulain.
      
      WTFString moved the is8bit bit by one in r152201.
      
      * lldb/lldb_webkit.py:
      (WTFStringImplProvider.is_8bit):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      69483c7a
    • ap@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=111650 · 93f6e570
      ap@apple.com authored
      REGRESSION (r143931): set-cookie-on-redirect.html still breaking subsequent tests
      
      Reviewed by Brady Eidson.
      
      Work around <rdar://problem/10080130> by making the cookie persistent, session
      cookies are deleted in a way that confuses some code paths in CFNetwork.
      
      I'll unskip tests later, with another cookie reliability fix.
      
      * http/tests/cookies/resources/set-cookie-on-redirect.php:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93f6e570
    • akling@apple.com's avatar
      <https://webkit.org/b/120132> Frame::navigationScheduler() should return a reference. · 9ce995f2
      akling@apple.com authored
      Reviewed by Anders Carlzon.
      
      Frame::m_navigationScheduler is an inline member, not a pointer.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ce995f2
    • fpizlo@apple.com's avatar
      Assertion failure in JSC::SlotVisitor::copyLater when marking JSDataView · cd07b473
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120099
      
      Source/JavaScriptCore: 
      
      Reviewed by Mark Hahnenberg.
              
      JSDataView should not store the ArrayBuffer* in the butterfly indexing header, since
      JSDataView may have ordinary JS indexed properties.
      
      * runtime/ClassInfo.h:
      * runtime/JSArrayBufferView.cpp:
      (JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
      (JSC::JSArrayBufferView::finishCreation):
      * runtime/JSArrayBufferView.h:
      (JSC::hasArrayBuffer):
      * runtime/JSArrayBufferViewInlines.h:
      (JSC::JSArrayBufferView::buffer):
      (JSC::JSArrayBufferView::neuter):
      (JSC::JSArrayBufferView::byteOffset):
      * runtime/JSCell.cpp:
      (JSC::JSCell::slowDownAndWasteMemory):
      * runtime/JSCell.h:
      * runtime/JSDataView.cpp:
      (JSC::JSDataView::JSDataView):
      (JSC::JSDataView::create):
      (JSC::JSDataView::slowDownAndWasteMemory):
      * runtime/JSDataView.h:
      (JSC::JSDataView::buffer):
      * runtime/JSGenericTypedArrayView.h:
      * runtime/JSGenericTypedArrayViewInlines.h:
      (JSC::::visitChildren):
      (JSC::::slowDownAndWasteMemory):
      
      LayoutTests: 
      
      Reviewed by Mark Hahnenberg.
      
      * fast/js/regress/ArrayBuffer-DataView-alloc-large-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-DataView-alloc-large-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-DataView-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-DataView-alloc-long-lived.html: Added.
      * fast/js/regress/DataView-custom-properties-expected.txt: Added.
      * fast/js/regress/DataView-custom-properties.html: Added.
      * fast/js/regress/script-tests/ArrayBuffer-DataView-alloc-large-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-DataView-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/DataView-custom-properties.js: Added.
      * platform/mac/TestExpectations: 
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd07b473
    • mhahnenberg@apple.com's avatar
      Remove incorrect ASSERT from CopyVisitor::visitItem · a61dc64e
      mhahnenberg@apple.com authored
      Rubber stamped by Filip Pizlo.
      
      Source/JavaScriptCore: 
      
      * heap/CopyVisitorInlines.h:
      (JSC::CopyVisitor::visitItem):
      
      LayoutTests: 
      
      Added a new test that triggered the old ASSERT. It's a useful test to have because we create
      TypedArrays with custom properties.
      
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a61dc64e
    • timothy_horton@apple.com's avatar
      Revert http://trac.webkit.org/changeset/154022, as it failed to update · 730200b4
      timothy_horton@apple.com authored
      a variety of scripts that depended on the old format.
      
      See https://bugs.webkit.org/show_bug.cgi?id=120131 for one such example.
      
      * Scripts/prepare-ChangeLog:
      (main):
      (generateNewChangeLogs):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      730200b4
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120127 · 8c300972
      barraclough@apple.com authored
      Remove JSObject::propertyIsEnumerable
      
      Reviewed by Sam Weinig.
      
      This method is just a wart - it contains unnecessary const-casting, function call overhead, and LOC.
      
      * runtime/JSObject.cpp:
      * runtime/JSObject.h:
          - remove propertyIsEnumerable
      * runtime/ObjectPrototype.cpp:
      (JSC::objectProtoFuncPropertyIsEnumerable):
          - Move implementation here using getOwnPropertyDescriptor directly.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c300972
    • timothy_horton@apple.com's avatar
      REGRESSION(r154399): broke Mac ML debug WK1 tests > 50 crashes (Requested by thorton on #webkit). · eefba76d
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120129
      
      Rolling out http://trac.webkit.org/changeset/154399.
      
      * rendering/RenderBlock.cpp:
      * rendering/RenderBlock.h:
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
      * rendering/RenderBox.h:
      
      * fast/block/margin-collapse/self-collapsing-block-with-float-descendant-expected.html: Removed.
      * fast/block/margin-collapse/self-collapsing-block-with-float-descendant.html: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eefba76d
    • fpizlo@apple.com's avatar
      DFG should inline new typedArray() · 372fa82b
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120022
      
      Source/JavaScriptCore: 
      
      Reviewed by Oliver Hunt.
              
      Adds inlining of typed array allocations in the DFG. Any operation of the
      form:
              
          new foo(blah)
              
      or:
              
          foo(blah)
              
      where 'foo' is a typed array constructor and 'blah' is exactly one argument,
      is turned into the NewTypedArray intrinsic. Later, of child1 (i.e. 'blah')
      is predicted integer, we generate inline code for an allocation. Otherwise
      it turns into a call to an operation that behaves like the constructor would
      if it was passed one argument (i.e. it may wrap a buffer or it may create a
      copy or another array, or it may allocate an array of that length).
      
      * bytecode/SpeculatedType.cpp:
      (JSC::speculationFromTypedArrayType):
      (JSC::speculationFromClassInfo):
      * bytecode/SpeculatedType.h:
      * dfg/DFGAbstractInterpreterInlines.h:
      (JSC::DFG::::executeEffects):
      * dfg/DFGBackwardsPropagationPhase.cpp:
      (JSC::DFG::BackwardsPropagationPhase::propagate):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
      (JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
      * dfg/DFGCCallHelpers.h:
      (JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::putStructureStoreElimination):
      * dfg/DFGClobberize.h:
      (JSC::DFG::clobberize):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::dump):
      * dfg/DFGNode.h:
      (JSC::DFG::Node::hasTypedArrayType):
      (JSC::DFG::Node::typedArrayType):
      * dfg/DFGNodeType.h:
      * dfg/DFGOperations.cpp:
      (JSC::DFG::newTypedArrayWithSize):
      (JSC::DFG::newTypedArrayWithOneArgument):
      * dfg/DFGOperations.h:
      (JSC::DFG::operationNewTypedArrayWithSizeForType):
      (JSC::DFG::operationNewTypedArrayWithOneArgumentForType):
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate):
      * dfg/DFGSafeToExecute.h:
      (JSC::DFG::safeToExecute):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compileNewTypedArray):
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::SpeculativeJIT::callOperation):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_new_object):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_new_object):
      * runtime/JSArray.h:
      (JSC::JSArray::allocationSize):
      * runtime/JSArrayBufferView.h:
      (JSC::JSArrayBufferView::allocationSize):
      * runtime/JSGenericTypedArrayViewConstructorInlines.h:
      (JSC::constructGenericTypedArrayView):
      * runtime/JSObject.h:
      (JSC::JSFinalObject::allocationSize):
      * runtime/TypedArrayType.cpp:
      (JSC::constructorClassInfoForType):
      * runtime/TypedArrayType.h:
      (JSC::indexToTypedArrayType):
      
      LayoutTests: 
      
      Reviewed by Oliver Hunt.
      
      * fast/js/regress/Float64Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/Float64Array-alloc-long-lived.html: Added.
      * fast/js/regress/Int16Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/Int16Array-alloc-long-lived.html: Added.
      * fast/js/regress/Int8Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/Int8Array-alloc-long-lived.html: Added.
      * fast/js/regress/script-tests/Float64Array-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/Int16Array-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-long-lived.js:
      * fast/js/regress/script-tests/Int8Array-alloc-long-lived.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      372fa82b
    • timothy_horton@apple.com's avatar
      <https://webkit.org/b/120099> Assertion failure in JSC::SlotVisitor::copyLater... · 5e1de64f
      timothy_horton@apple.com authored
      <https://webkit.org/b/120099> Assertion failure in JSC::SlotVisitor::copyLater when marking DataView
      
      Mark fast/canvas/webgl/array-message-passing.html as crashing on debug, for now.
      
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154402 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e1de64f
    • akling@apple.com's avatar
      <https://webkit.org/b/120118> Frame::animation() should return a reference. · 7c2be783
      akling@apple.com authored
      Reviewed by Anders Carlsson.
      
      Frame::m_animationController is never null.
      Also changed RenderObject::animation() to return a reference since it's just a wrapper
      around RenderObject::frame()->animation() with no null checking of frame().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c2be783
    • simon.fraser@apple.com's avatar
      Allow opacity to apply to custom scrollbars · 7c818704
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120104
      
      Source/WebCore:
      
      Reviewed by David Hyatt.
      
      Opacity was ignored custom scrollbar pseudoelements because custom scrollbar
      renderers never create layers, and opacity is normally handled by the RenderLayer code.
      
      Fix by having RenderScrollbarTheme and RenderScrollbarPart do the transparency
      layers necessary for opacity. RenderScrollbarPart handles opacity for individual
      parts.
      
      Because ScrollbarThemeComposite::paint() renders the parts on after another (with
      no nesting), opacity handling for the entire scrollbar needs special-casing.
      This is done by willPaintScrollbar()/didPaintScrollbar() on the theme.
      RenderScrollbarTheme consults the opacity the scrollbar (which we get from
      the ScrollbarBGPart renderer) to decide whether to set up a transparency layer.
      
      Test: scrollbars/scrollbar-parts-opacity.html
      
      * platform/ScrollbarThemeComposite.cpp:
      (WebCore::ScrollbarThemeComposite::paint):
      * platform/ScrollbarThemeComposite.h:
      (WebCore::ScrollbarThemeComposite::willPaintScrollbar):
      (WebCore::ScrollbarThemeComposite::didPaintScrollbar):
      * rendering/RenderScrollbar.cpp:
      (WebCore::RenderScrollbar::opacity):
      * rendering/RenderScrollbar.h:
      * rendering/RenderScrollbarPart.cpp:
      (WebCore::RenderScrollbarPart::paintIntoRect):
      * rendering/RenderScrollbarTheme.cpp:
      (WebCore::RenderScrollbarTheme::willPaintScrollbar):
      (WebCore::RenderScrollbarTheme::didPaintScrollbar):
      * rendering/RenderScrollbarTheme.h:
      
      LayoutTests:
      
      Reviewed by David Hyatt.
      
      Ref test for custom scrollbars with opacity on the bar itself,
      and on the thumb.
      
      * scrollbars/scrollbar-parts-opacity-expected.html: Added.
      * scrollbars/scrollbar-parts-opacity.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c818704
    • robert@webkit.org's avatar
      REGRESSION(r127163): Respect clearance set on ancestors when placing floats · a10ca744
      robert@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119979
      
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      If a float has a self-collapsing ancestor with clearance then it needs to respect
      that clearance when placing itself on the line.
      
      Test: fast/block/margin-collapse/self-collapsing-block-with-float-descendant.html
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::marginOffsetForSelfCollapsingBlock):
      * rendering/RenderBlock.h:
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
      * rendering/RenderBox.h:
      (WebCore::RenderBox::previousInFlowSiblingBox):
      
      LayoutTests:
      
      * fast/block/margin-collapse/self-collapsing-block-with-float-descendant-expected.html: Added.
      * fast/block/margin-collapse/self-collapsing-block-with-float-descendant.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a10ca744
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed gardening: WebInspector should always be enabled for WinLauncher. · 0cab07ec
      bfulgham@apple.com authored
      * WinLauncher/WinLauncher.cpp:
      (setToDefaultPreferences): Activate Developer Extras on Release (as well as Debug) builds.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0cab07ec
    • ap@apple.com's avatar
      REGRESSION (r145458?): WebProcess doesn't respect UI process localization · 5b8c677c
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=120096
      
              Reviewed by Darin Adler.
      
              We used to get into a situation where CFBundle thought that we had no good localization,
              and used one passed as default. This is never the case with mixed localizations,
              so default is just ignored now.
      
              I think that the previous behavior was a bit of a hack. As WebProcess is not localized,
              it's more honest to say that we want mixed localizations, and force the language
              to match UI process localization.
      
              * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
              (WebKit::ChildProcessMain): Don't set default localization, it's not taken into
              consideration unless all other attempts to compute bundle localization fail.
      
              * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess): Pass
              UI process localization as -AppleLanguages argument, so that Core Foundation uses
              that instead of actual user languages. We want to match UI process localization.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b8c677c
    • bfulgham@apple.com's avatar
      ../WebInspectorUI: <http://webkit.org/b/120098> [Windows] Enable the New Web Inspector · 9be185b7
      bfulgham@apple.com authored
      Reviewed by Brian Weinstein.
      
      Add a new project to copy files to the appropriate spots in the
      Windows port.
      
      * WebInspectorUI.vcxproj: Added.
      * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Added.
      * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Added.
      * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Added.
      * WebInspectorUI.vcxproj/WebInspectorUIPreBuild.cmd: Added.
      
      ../WebKit: <https://webkit.org/b/120098> [Windows] Enable the new Web Inspector
      
      Reviewed by Brian Weinstein.
      
      * WebKit.vcxproj/WebKit.sln: Add reference to the new WebInspectorUI
      project so that it will be included in new distributions.
      
      ../WebKit/win: <https://webkit.org/b/120098> [Windows] Enable the New Web Inspector
      
      Reviewed by Brian Weinstein.
      
      * WebCoreSupport/WebInspectorClient.cpp:
      (WebInspectorClient::openInspectorFrontend): Use the new inspector
      if present in the WebKit distribution.
      (WebInspectorFrontendClient::localizedStringsURL): Use the new
      Web Inspector's localized strings (if present).
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9be185b7
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed gardening. One more CSS_IMAGE_SET test can be activated. · 26cfb5c5
      bfulgham@apple.com authored
      * platform/win/TestExpectations: We can reactivate cssom/cssvalue-comparison.html
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      26cfb5c5
    • zandobersek@gmail.com's avatar
      <https://webkit.org/b/120116> [GTK] Fix a typo in ActivateFontsGtk.cpp · 63041f75
      zandobersek@gmail.com authored
      Reviewed by Andreas Kling.
      
      * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
      (WTR::initializeFontConfigSetting): Fix a typo - inititialize -> initialize.
      (WTR::activateFonts): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      63041f75
    • bfulgham@apple.com's avatar
      <https://webkit.org/b/120113> Enable CSS_IMAGE_SET · 544444a9
      bfulgham@apple.com authored
      Reviewed by Anders Carlsson.
      
      * platform/win/TestExpectations: Turn on two CSS_IMAGE_SET-based tests that
      now pass on Windows.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      544444a9