1. 02 Dec, 2013 40 commits
    • bdakin@apple.com's avatar
      Attempted build fix. I think this is no longer needed. · bed80c58
      bdakin@apple.com authored
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bed80c58
    • bfulgham@apple.com's avatar
      [Win] Port run-jsc-stress-tests · 2ce50f7e
      bfulgham@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124801
      
      Reviewed by Filip Pizlo.
      
      * Scripts/run-jsc-stress-tests: Gracefully handle lack of sysctl
      command on Windows so that stress tests can run.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ce50f7e
    • bdakin@apple.com's avatar
      Add a setting to opt into a mode where the background extends and fixed elements · eb54eea7
      bdakin@apple.com authored
      don't move on rubber-band
      https://bugs.webkit.org/show_bug.cgi?id=124745
      
      Reviewed by Tim Horton.
      
      Source/WebCore: 
      
      New setting backgroundShouldExtendBeyondPage() will cause the tile cache to have a 
      margin, and it will also cause fixed elements and backgrounds to stick to the 
      viewport on scroll instead of sticking to the document. 
      
      * WebCore.exp.in:
      * page/FrameView.cpp:
      (WebCore::FrameView::scrollBehaviorForFixedElements):
      * page/Settings.in:
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::RenderLayerBacking):
      
      Source/WebKit: 
      
      Keep Windows happy.
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit2: 
      
      Add SPI to enable the new setting.
      
      * Shared/WebPreferencesStore.h:
      * UIProcess/API/C/WKPreferences.cpp:
      (WKPreferencesSetBackgroundShouldExtendBeyondPage):
      (WKPreferencesGetBackgroundShouldExtendBeyondPage):
      * UIProcess/API/C/WKPreferencesPrivate.h:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::updatePreferences):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159960 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb54eea7
    • commit-queue@webkit.org's avatar
      [MediaStream] Use iterator-based loops instead of index-based loops · 57aed976
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125021
      
      Patch by Roger Zanoni <rogerzanoni@gmail.com> on 2013-12-02
      Reviewed by Eric Carlson.
      
      Also, changing iterator variable names from iter to it and
      initializing an 'end' variable in each loop instead of evaluating
      'collection.end()' multiple times.
      
      No new tests, covered by existing ones.
      
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::MediaStream::cloneMediaStreamTrackVector):
      (WebCore::MediaStream::haveTrackWithSource):
      (WebCore::MediaStream::getTrackById):
      (WebCore::MediaStream::trackDidEnd):
      (WebCore::MediaStream::scheduledEventTimerFired):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57aed976
    • mhahnenberg@apple.com's avatar
      Build fix after r159955 · 1a680386
      mhahnenberg@apple.com authored
      * Scripts/run-jsc-stress-tests:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a680386
    • timothy_horton@apple.com's avatar
      Remote Layer Tree: Hook up setLayerTreeStateIsFrozen · 63fe7339
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124872
      
      Reviewed by Brent Fulgham.
      
      setLayerTreeStateIsFrozen is the mechanism used to ensure that
      layer property changes (including new backing store) aren't committed
      while e.g. the page is reconfigured for printing.
      
      * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
      * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
      (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
      (WebKit::RemoteLayerTreeContext::flushLayers):
      (WebKit::RemoteLayerTreeContext::setIsFlushingSuspended):
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
      (WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159956 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      63fe7339
    • mhahnenberg@apple.com's avatar
      run-jsc-stress-tests should be able to package its tests and move them places · a8192012
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124549
      
      Reviewed by Filip Pizlo.
      
      * Scripts/jsc-stress-test-helpers/check-mozilla-failure: Removed. Was just a ruby reimplementation
      of grep -i -q
      * Scripts/run-javascriptcore-tests: Pass through the --tarball flag.
      * Scripts/run-jsc-stress-tests: Changed to create a bundle of tests inside the results directory.
      We now also copy whatever VM was specified, along with its associated framework, into this directory.
      All of the generated scripts now are completely relative within the results directory. This allows
      run-jsc-stress-tests to execute a bundle from anywhere. Also added a --tarball flag which creates a
      tarball of the generated results directory. Also refactored several portions of the script into
      separate functions to make it easier to run them conditionally depending on which mode we're running in.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8192012
    • commit-queue@webkit.org's avatar
      [css shapes] Parse new ellipse shape syntax · 6027c72f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124620
      
      Patch by Rob Buis <rob.buis@samsung.com> on 2013-12-02
      Reviewed by Dirk Schulze.
      
      Source/WebCore:
      
      Implement parsing of the new ellipse shape syntax. This closely follows the patch
      for the new circle syntax (https://bugs.webkit.org/show_bug.cgi?id=124618), with
      some refactoring of functionality shared by both.
      
      Updated existing parsing tests to cover this.
      
      * css/BasicShapeFunctions.cpp:
      (WebCore::BasicShapeRadiusToCSSValue):
      (WebCore::valueForBasicShape):
      (WebCore::CSSValueToBasicShapeRadius):
      (WebCore::basicShapeForValue):
      * css/CSSBasicShapes.cpp:
      (WebCore::buildEllipseString):
      (WebCore::CSSBasicShapeEllipse::cssText):
      (WebCore::CSSBasicShapeEllipse::equals):
      (WebCore::buildDeprecatedEllipseString):
      (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
      (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
      * css/CSSBasicShapes.h:
      (WebCore::CSSDeprecatedBasicShapeEllipse::create):
      (WebCore::CSSDeprecatedBasicShapeEllipse::centerX):
      (WebCore::CSSDeprecatedBasicShapeEllipse::centerY):
      (WebCore::CSSDeprecatedBasicShapeEllipse::radiusX):
      (WebCore::CSSDeprecatedBasicShapeEllipse::radiusY):
      (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterX):
      (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterY):
      (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusX):
      (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusY):
      (WebCore::CSSDeprecatedBasicShapeEllipse::CSSDeprecatedBasicShapeEllipse):
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseBasicShapeEllipse):
      (WebCore::CSSParser::parseDeprecatedBasicShapeEllipse):
      (WebCore::CSSParser::parseBasicShape):
      * css/CSSParser.h:
      * rendering/shapes/Shape.cpp:
      (WebCore::Shape::createShape):
      * rendering/style/BasicShapes.cpp:
      (WebCore::DeprecatedBasicShapeEllipse::path):
      (WebCore::DeprecatedBasicShapeEllipse::blend):
      (WebCore::BasicShapeEllipse::path):
      (WebCore::BasicShapeEllipse::blend):
      * rendering/style/BasicShapes.h:
      (WebCore::BasicShapeEllipse::centerX):
      (WebCore::BasicShapeEllipse::centerY):
      (WebCore::BasicShapeEllipse::radiusX):
      (WebCore::BasicShapeEllipse::radiusY):
      (WebCore::BasicShapeEllipse::setCenterX):
      (WebCore::BasicShapeEllipse::setCenterY):
      (WebCore::BasicShapeEllipse::setRadiusX):
      (WebCore::BasicShapeEllipse::setRadiusY):
      (WebCore::BasicShapeEllipse::BasicShapeEllipse):
      (WebCore::DeprecatedBasicShapeEllipse::create):
      (WebCore::DeprecatedBasicShapeEllipse::DeprecatedBasicShapeEllipse):
      
      LayoutTests:
      
      Test that the new ellipse syntax is properly parsed.
      
      * fast/shapes/parsing/parsing-shape-inside-expected.txt:
      * fast/shapes/parsing/parsing-shape-outside-expected.txt:
      * fast/shapes/parsing/parsing-test-utils.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6027c72f
    • graouts@apple.com's avatar
      Web Inspector: popover can overlap target frame · 88f07961
      graouts@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125069
      
      Reviewed by Joseph Pecoraro.
      
      Fix a regression introduced in http://trac.webkit.org/changeset/159286. We should only
      offset the frame of the popover in the y-axis if the target edge is on the x-axis, and
      vice versa. We also remove the needsToDrawBackground check since it incorrectly disregarded
      the anchor point. We now always draw the background which is a lot safer and guarantees
      we'll always draw an adequate frame and anchor point.
      
      * UserInterface/Popover.js:
      (WebInspector.Popover.prototype._update):
      (WebInspector.Popover.prototype._bestMetricsForEdge):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      88f07961
    • ap@apple.com's avatar
      Add support for WebCrypto RSA-OAEP · ae139851
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125084
      
      Build fix.
      
      * crypto/CommonCryptoUtilities.h:
      * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
      * crypto/mac/CryptoKeyRSAMac.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae139851
    • commit-queue@webkit.org's avatar
      Use GenericEventQueue in TrackListBase and reduce code duplication with scheduleTrackEvent() · 2479cb17
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124811
      
      Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-02
      Reviewed by Eric Carlson.
      
      Source/WebCore:
      
      No new tests because this is just refactoring.
      
      * html/track/TrackListBase.cpp:
      (TrackListBase::TrackListBase): Replace event code with a GenericEventQueue.
      (TrackListBase::scheduleTrackEvent): Factor out duplicate code in schedule{Add,Remove}TrackEvent functions.
      (TrackListBase::scheduleAddTrackEvent): Same.
      (TrackListBase::scheduleRemoveTrackEvent): Same.
      (TrackListBase::scheduleChangeEvent): Use GenericEventQueue.
      * html/track/TrackListBase.h: Replace event code with GenericEventQueue.
      
      LayoutTests:
      
      * platform/mac/TestExpectations: Unskip onremovetrack test which was fixed a long time ago.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2479cb17
    • ap@apple.com's avatar
      Add support for WebCrypto RSA-OAEP · 6f3fc824
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125084
      
      Build fix.
      
      * WebCore.xcodeproj/project.pbxproj: Fix an automatic merge failure by re-adding
      CryptoAlgorithmRsaOaepParams.h.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f3fc824
    • timothy_horton@apple.com's avatar
      Remote Layer Tree: Disable direct image compositing · 76323f24
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124875
      <rdar://problem/15446024>
      
      Reviewed by Simon Fraser.
      
      * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
      Image-as-layer-contents is not implemented for the remote layer tree.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76323f24
    • vjaquez@igalia.com's avatar
      [Gstreamer] update webkitvideosink metadata · a1558622
      vjaquez@igalia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125082
      
      Reviewed by Philippe Normand.
      
      No new tests, no behavior changes.
      
      * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
      (webkit_video_sink_class_init):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1558622
    • graouts@apple.com's avatar
      Web Inspector: add a method to add padding around a WebInspector.Rect · 2a6f5934
      graouts@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125072
      
      Reviewed by Joseph Pecoraro.
      
      Add a new WebInspector.Rect.prototype.pad() method which does not alter
      the rectangle it's called and returns a new rect much like .inset(). I've
      checked all call sites and there was no reuse of the rectangle that was
      padded so this patch won't have any side effects.
      
      * UserInterface/Breakpoint.js:
      (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
      * UserInterface/CSSStyleDeclarationTextEditor.js:
      * UserInterface/Geometry.js:
      (WebInspector.Rect.prototype.pad):
      * UserInterface/LayerTreeSidebarPanel.js:
      (WebInspector.LayerTreeSidebarPanel.prototype._updatePopoverForSelectedNode):
      * UserInterface/SourceCodeTextEditor.js:
      (WebInspector.SourceCodeTextEditor.prototype._showPopover):
      * UserInterface/TimelineDataGrid.js:
      (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a6f5934
    • vjaquez@igalia.com's avatar
      Simplify MediaPlayerPrivateGStreamerBase::createVideoSink() · a8e0dce8
      vjaquez@igalia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125077
      
      Remove the method's unused parameter.
      Remove the GStreamer 0.10.22 run-time validation, since we are using
      GStreamer 1.0 officially.
      Remove the creation of a spurious Bin for the video sink, since
      either the fpssink or the webkitsink are valid sink elements.
      Change fpsink to a GRefPtr.
      
      Now, createVideoSink() returns a simple pointer to the created sink
      element.
      
      Reviewed by Philippe Normand.
      
      No new tests, no behavior changes.
      
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
      (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
      (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
      (WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
      (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8e0dce8
    • ap@apple.com's avatar
      Add support for WebCrypto RSA-OAEP · a3d6e70d
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125084
      
      Reviewed by Sam Weinig.
      
      Source/WebCore: 
      
      Tests: crypto/subtle/rsa-oaep-key-manipulation.html
             crypto/subtle/rsa-oaep-plaintext-length.html
             crypto/subtle/rsa-oaep-wrap-unwrap-aes.html
      
      * WebCore.xcodeproj/project.pbxproj: Added new files.
      
      * bindings/js/JSCryptoAlgorithmDictionary.cpp:
      (WebCore::createRsaOaepParams):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
      Added RSA-OAEP parameters.
      
      * bindings/js/JSCryptoKeySerializationJWK.cpp:
      (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
      (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
      (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
      Support RSA-OAEP in JWK. It is more limited than general WebCrypto, as JWK only
      allows SHA-1 as hash.
      
      * crypto/CommonCryptoUtilities.cpp: Added. (WebCore::getCommonCryptoDigestAlgorithm):
      * crypto/CommonCryptoUtilities.h: Added.
      Extracted some shared code and forward declarations for CommonCrypto.
      
      * crypto/CryptoAlgorithmParameters.h: (WebCore::CryptoAlgorithmParameters::Class):
      * crypto/parameters/CryptoAlgorithmRsaOaepParams.h: Added.
      Added RsaOaepParams.
      
      * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp: Added.
      * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h: Added.
      * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: Added.
      
      * crypto/mac/CryptoAlgorithmHMACMac.cpp:
      (WebCore::getCommonCryptoHMACAlgorithm):
      (WebCore::CryptoAlgorithmHMAC::platformSign):
      (WebCore::CryptoAlgorithmHMAC::platformVerify):
      * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
      * crypto/mac/CryptoKeyMac.cpp:
      * crypto/mac/CryptoKeyRSAMac.cpp:
      Use CommonCryptoUtilities.
      
      * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
      (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register RSA-OAEP.
      
      LayoutTests: 
      
      * crypto/subtle/rsa-oaep-key-manipulation-expected.txt: Added.
      * crypto/subtle/rsa-oaep-key-manipulation.html: Added.
      * crypto/subtle/rsa-oaep-plaintext-length-expected.txt: Added.
      * crypto/subtle/rsa-oaep-plaintext-length.html: Added.
      * crypto/subtle/rsa-oaep-wrap-unwrap-aes-expected.txt: Added.
      * crypto/subtle/rsa-oaep-wrap-unwrap-aes.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3d6e70d
    • fpizlo@apple.com's avatar
      Stores to local captured variables should be intercepted · 0309686b
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124883
      
      Source/JavaScriptCore: 
      
      Reviewed by Mark Hahnenberg.
              
      Previously, in bytecode, you could assign to a captured variable just as you would
      assign to any other kind of variable. This complicates closure variable constant
      inference because we don't have any place where we can intercept stores to captured
      variables in the LLInt.
              
      This patch institutes a policy that only certain instructions can store to captured
      variables. If you interpret those instructions and you are required to notifyWrite()
      then you need to check if the relevant variable is captured. Those instructions are
      tracked in CodeBlock.cpp's VerifyCapturedDef. The main one is simply op_captured_mov.
      In the future, we'll probably modify those instructions to have a pointer directly to
      the VariableWatchpointSet; but for now we just introduce the captured instructions as
      placeholders.
              
      In order to validate that the placeholders are inserted correctly, this patch improves
      the CodeBlock validation to be able to inspect every def in the bytecode. To do that,
      this patch refactors the liveness analysis' use/def calculator to be reusable; it now
      takes a functor for each use or def.
              
      In the process of refactoring the liveness analysis, I noticed that op_enter was
      claiming to def all callee registers. That's wrong; it only defs the non-temporary
      variables. Making that change revealed preexisting bugs in the liveness analysis, since
      now the validator would pick up cases where the bytecode claimed to use a temporary and
      the def calculator never noticed the definition (or the converse - where the bytecode
      was actually not using a temporary but the liveness analysis thought that it was a
      use). This patch fixes a few of those bugs.
      
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/BytecodeLivenessAnalysis.cpp:
      (JSC::stepOverInstruction):
      * bytecode/BytecodeUseDef.h: Added.
      (JSC::computeUsesForBytecodeOffset):
      (JSC::computeDefsForBytecodeOffset):
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode):
      (JSC::CodeBlock::isCaptured):
      (JSC::CodeBlock::validate):
      * bytecode/CodeBlock.h:
      * bytecode/Opcode.h:
      (JSC::padOpcodeName):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      (JSC::BytecodeGenerator::resolveCallee):
      (JSC::BytecodeGenerator::emitMove):
      (JSC::BytecodeGenerator::isCaptured):
      (JSC::BytecodeGenerator::local):
      (JSC::BytecodeGenerator::constLocal):
      (JSC::BytecodeGenerator::emitNewFunction):
      (JSC::BytecodeGenerator::emitLazyNewFunction):
      (JSC::BytecodeGenerator::emitNewFunctionInternal):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::Local::Local):
      (JSC::Local::isCaptured):
      (JSC::Local::captureMode):
      (JSC::BytecodeGenerator::captureMode):
      (JSC::BytecodeGenerator::emitNode):
      (JSC::BytecodeGenerator::pushOptimisedForIn):
      * bytecompiler/NodesCodegen.cpp:
      (JSC::PostfixNode::emitResolve):
      (JSC::PrefixNode::emitResolve):
      (JSC::ReadModifyResolveNode::emitBytecode):
      (JSC::AssignResolveNode::emitBytecode):
      (JSC::ConstDeclNode::emitCodeSingle):
      (JSC::ForInNode::emitBytecode):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGCapabilities.cpp:
      (JSC::DFG::capabilityLevel):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/SymbolTable.h:
      (JSC::SymbolTable::isCaptured):
      
      LayoutTests: 
      
      Reviewed by Mark Hahnenberg.
      
      * js/regress/captured-assignments-expected.txt: Added.
      * js/regress/captured-assignments.html: Added.
      * js/regress/script-tests/captured-assignments.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0309686b
    • fpizlo@apple.com's avatar
      Instead of watchpointing activation allocation, we should watchpoint entry... · a4ea0663
      fpizlo@apple.com authored
      Instead of watchpointing activation allocation, we should watchpoint entry into functions that have captured variables
      https://bugs.webkit.org/show_bug.cgi?id=125052
      
      Reviewed by Mark Hahnenberg.
              
      This makes us watch function entry rather than activation creation. We only incur the
      costs of doing so for functions that have captured variables, and only on the first two
      entries into the function. This means that closure variable constant inference will
      naturally work even for local uses of the captured variable, like:
              
          (function(){
              var blah = 42;
              ... // stuff
              function () { ... blah /* we can fold this to 42 */ }
              ... blah // we can also fold this to 42.
          })();
              
      Previously, only the nested use would have been foldable.
      
      * bytecode/BytecodeLivenessAnalysis.cpp:
      (JSC::computeUsesForBytecodeOffset):
      (JSC::computeDefsForBytecodeOffset):
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode):
      * bytecode/Opcode.h:
      (JSC::padOpcodeName):
      * bytecode/Watchpoint.h:
      (JSC::WatchpointSet::touch):
      (JSC::InlineWatchpointSet::touch):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      * dfg/DFGAbstractInterpreterInlines.h:
      (JSC::DFG::::executeEffects):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGCapabilities.cpp:
      (JSC::DFG::capabilityLevel):
      * dfg/DFGClobberize.h:
      (JSC::DFG::clobberize):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      * dfg/DFGNode.h:
      (JSC::DFG::Node::hasSymbolTable):
      * dfg/DFGNodeType.h:
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate):
      * dfg/DFGSafeToExecute.h:
      (JSC::DFG::safeToExecute):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGWatchpointCollectionPhase.cpp:
      (JSC::DFG::WatchpointCollectionPhase::handle):
      * ftl/FTLCapabilities.cpp:
      (JSC::FTL::canCompile):
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::compileNode):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      * jit/JIT.h:
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_touch_entry):
      * llint/LowLevelInterpreter.asm:
      * runtime/CommonSlowPaths.cpp:
      (JSC::SLOW_PATH_DECL):
      * runtime/CommonSlowPaths.h:
      * runtime/JSActivation.h:
      (JSC::JSActivation::create):
      * runtime/SymbolTable.cpp:
      (JSC::SymbolTable::SymbolTable):
      * runtime/SymbolTable.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4ea0663
    • bfulgham@apple.com's avatar
      [Win] WebKit Project doesn't copy resource bundle · 4e2662cd
      bfulgham@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125078
      
      Reviewed by Jer Noble.
      
      * WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Correct post-build step
      to copy WebKit.resources to build target.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e2662cd
    • commit-queue@webkit.org's avatar
      [JSC] Get rid of some unused parameters in LLIntSlowPaths.cpp macros · 7ca12a53
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125075
      
      Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-02
      Reviewed by Michael Saboff.
      
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::handleHostCall): added UNUSED_PARAM(pc).
      (JSC::LLInt::setUpCall): Doesn't pass 'pc' to LLINT_CALL macros.
      (JSC::LLInt::LLINT_SLOW_PATH_DECL): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ca12a53
    • commit-queue@webkit.org's avatar
      [GTK] Fails to build with freetype 2.5.1 · 171588c7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125074
      
      Patch by Andres Gomez <agomez@igalia.com> on 2013-12-02
      Reviewed by Carlos Garcia Campos.
      
      FreeType specifies a canonical way of including their own
      headers. Now, we are following this recommendation so the
      compilation won't be broken again due to an upgrade in FeeType's
      including paths.
      
      * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
      * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
      * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      171588c7
    • lauro.neto@openbossa.org's avatar
      [MediaStream] Update layout tests to newer spec. · 1aa1edc8
      lauro.neto@openbossa.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124985
      
      Reviewed by Eric Carlson.
      
      * TestExpectations:
      * fast/mediastream/MediaStream-onended-expected.txt: Removed.
      * fast/mediastream/MediaStreamTrack-onended-expected.txt: Added.
      * fast/mediastream/MediaStreamTrack-onended.html: Renamed from LayoutTests/fast/mediastream/MediaStream-onended.html.
      * fast/mediastream/RTCPeerConnection-ice-expected.txt:
      * fast/mediastream/RTCPeerConnection-state-expected.txt:
      * fast/mediastream/RTCSessionDescription-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1aa1edc8
    • commit-queue@webkit.org's avatar
      Remove stdio.h from JSC files. · 5e2fce2c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125066
      
      Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-02
      Reviewed by Michael Saboff.
      
      Remove stdio.h, when it is not necessary to be included.
      
      * bytecode/CodeBlock.cpp:
      * bytecode/StructureSet.h:
      * profiler/LegacyProfiler.cpp:
      * profiler/Profile.cpp:
      * profiler/ProfileNode.cpp:
      * yarr/YarrInterpreter.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e2fce2c
    • commit-queue@webkit.org's avatar
      Unused include files when building without JIT. · d334b757
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125062
      
      Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-02
      Reviewed by Michael Saboff.
      
      We should organize the includes, and guard JIT methods
      in ValueRecovery.
      
      * bytecode/ValueRecovery.cpp: Guard include files.
      * bytecode/ValueRecovery.h: Guard JIT methods.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d334b757
    • commit-queue@webkit.org's avatar
      [MIPS] Small stack frame causes regressions. · 13da9276
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124945
      
      Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-12-02
      Reviewed by Michael Saboff.
      
      Fix stack space for LLInt on MIPS.
      
      * llint/LowLevelInterpreter32_64.asm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13da9276
    • commit-queue@webkit.org's avatar
      jsc: implement a native readFile function · d296f384
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125059
      
      Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-12-02
      Reviewed by Filip Pizlo.
      
      This adds a native readFile() function to jsc, used to slurp
      an entire file into a JavaScript string.
      
      * jsc.cpp:
      (GlobalObject::finishCreation): Add readFile() to globals.
      (functionReadFile): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d296f384
    • commit-queue@webkit.org's avatar
      JSC does not build if OPCODE_STATS is enabled. · 2f00452d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125011
      
      Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-02
      Reviewed by Filip Pizlo.
      
      * bytecode/Opcode.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f00452d
    • cfleizach@apple.com's avatar
      AX: Crash at WebCore::commonTreeScope · 0fb724ec
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125042
      
      Reviewed by Mario Sanchez Prada.
      
      Source/WebCore:
      
      When an AX text marker that references a node in a detached document is used to create a text marker range, a crash occurs
      because the method to determine commonTreeScopes does not account for when there are no common tree scopes.
      
      Test: platform/mac/accessibility/ordered-textmarker-crash.html
      
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
      * dom/TreeScope.cpp:
      (WebCore::commonTreeScope):
      
      LayoutTests:
      
      * platform/mac/accessibility/ordered-textmarker-crash-expected.txt: Added.
      * platform/mac/accessibility/ordered-textmarker-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0fb724ec
    • commit-queue@webkit.org's avatar
      Fix a crash in the webaudio source provider when the audio track is going away. · 8e68aab3
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124975
      
      Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-02
      Reviewed by Philippe Normand.
      
      Merged https://chromium.googlesource.com/chromium/blink/+/b21838b32bf11b1a972dfc449ddde71115490c23
      
      Before this patch, it was hitting a use-after-free crash  when the audio
      track in the media stream is going away and the webaudio mediastreamsourcenode
      is still running.
      
      * Modules/webaudio/AudioContext.cpp:
      (WebCore::AudioContext::createMediaStreamSource): Passing audio track
      pointer to MediaStreamAudioSourceNode constructor.
      * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
      (WebCore::MediaStreamAudioSourceNode::create):
      (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
      * Modules/webaudio/MediaStreamAudioSourceNode.h: Added
      MediaStreamTrack class variable and change the constructor to receive
      it as parameter.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e68aab3
    • zandobersek@gmail.com's avatar
      Unreviewed GTK gardening. · 5560f092
      zandobersek@gmail.com authored
      * platform/gtk/TestExpectations: Adding failure expectations for the
      fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html reftest.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5560f092
    • gyuyoung.kim@samsung.com's avatar
      Unreviewed, EFL rebaseline since r159915. · a49d17aa
      gyuyoung.kim@samsung.com authored
      Error messages are changed. So, test results need to be updated.
      
      * platform/efl/fast/forms/validation-message-appearance-expected.txt:
      * platform/efl/fast/forms/validationMessage-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a49d17aa
    • commit-queue@webkit.org's avatar
      [GTK] Remove unneeded autoconf macros · 0590b072
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125044
      
      Compilers that do not support const/inline/volatile and
      systems with pre-C89-headers are anyway not supported.
      
      Patch by Adrian Bunk <bunk@stusta.de> on 2013-12-02
      Reviewed by Gustavo Noronha Silva.
      
      * Source/autotools/CheckSystemAndBasicDependencies.m4:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0590b072
    • gns@gnome.org's avatar
      [GTK] GTK2 paint code path does not render AC layers · d6072972
      gns@gnome.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124967
      
      Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-12-02
      Reviewed by Carlos Garcia Campos.
      
      * webkit/webkitwebview.cpp:
      (webkit_web_view_expose_event): also paint AC layers when painting the widget,
      when AC is on.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d6072972
    • commit-queue@webkit.org's avatar
      [ATK] Support active state for listbox elements. · c4299267
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125009
      
      Patch by Andrzej Badowski <a.badowski@samsung.com> on 2013-12-02
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Added support for ATK_STATE_ACTIVE for listbox elements.
      
      * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
      (setAtkStateSetFromCoreObject):
      
      Tools:
      
      Supplement WebKitTestRunner and DumpRenderTree to support isSelectedOptionActive.
      
      * DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
      (AccessibilityUIElement::isSelectedOptionActive):
      * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
      (WTR::AccessibilityUIElement::isSelectedOptionActive):
      * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
      * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
      * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
      (WTR::AccessibilityUIElement::isSelectedOptionActive):
      * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
      (WTR::AccessibilityUIElement::isSelectedOptionActive):
      
      LayoutTests:
      
      Establish expectations for the test (all PASS).
      
      * accessibility/multiselect-list-reports-active-option-expected.txt: Added.
      * platform/efl-wk1/TestExpectations:
      * platform/efl-wk2/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4299267
    • zandobersek@gmail.com's avatar
      Unreviewed GTK gardening. · f966db34
      zandobersek@gmail.com authored
      * Scripts/run-gtk-tests:
      (TestRunner): Skip two unit tests that are causing the subsequent test to crash.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f966db34
    • seokju@webkit.org's avatar
      Web Inspector: Remove unused functions from InspectorAgent · 6efb4b68
      seokju@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125061
      
      Reviewed by Antoine Quint.
      
      Get rid of unused functions, redundant inclusion and forward declaration.
      
      No new tests, no behavior changes.
      
      * inspector/InspectorAgent.cpp:
      * inspector/InspectorAgent.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6efb4b68
    • commit-queue@webkit.org's avatar
      Fix build warning in EventHandler.cpp · 7fa2cb82
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125010
      
      Patch by Tibor Meszaros <mtibor@inf.u-szeged.hu> on 2013-12-02
      Reviewed by Csaba Osztrogonác.
      
      * page/EventHandler.cpp:
      (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7fa2cb82
    • commit-queue@webkit.org's avatar
      HTML5 required attribute validation messages implemented. · 1a6f0e2c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125003
      
      Patch by Attila Dusnoki <adusnoki@inf.u-szeged.hu> on 2013-12-02
      Reviewed by Gyuyoung Kim.
      
      * platform/efl/LocalizedStringsEfl.cpp:
      (WebCore::validationMessagePatternMismatchText):
      (WebCore::validationMessageValueMissingText):
      (WebCore::validationMessageValueMissingForCheckboxText):
      (WebCore::validationMessageValueMissingForFileText):
      (WebCore::validationMessageValueMissingForMultipleFileText):
      (WebCore::validationMessageValueMissingForRadioText):
      (WebCore::validationMessageValueMissingForSelectText):
      (WebCore::validationMessageBadInputForNumberText):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a6f0e2c
    • changseok.oh@collabora.com's avatar
      Unreviewed Gtk port Build fix after r159903 · 4bc671cd
      changseok.oh@collabora.com authored
      * UIProcess/DrawingAreaProxyImpl.cpp:
      (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
      (WebKit::DrawingAreaProxyImpl::update):
      (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
      (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
      (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
      * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
      (WebKit::WebFullScreenManagerProxy::invalidate):
      * UIProcess/gtk/WebInspectorProxyGtk.cpp:
      (WebKit::WebInspectorProxy::platformCreateInspectorPage):
      * UIProcess/gtk/WebPageProxyGtk.cpp:
      (WebKit::WebPageProxy::setAcceleratedCompositingWindowId):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4bc671cd