1. 29 Aug, 2013 40 commits
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed build fix after r154847. · 59af0f55
      bfulgham@apple.com authored
      If you are going to exclude promises, actually exclude the build components.
      
      * interpreter/CallFrame.h: Exclude promise declarations
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset): Exclude promise code.
      (JSC::JSGlobalObject::visitChildren): Ditto.
      * runtime/VM.cpp: Ditto.
      (JSC::VM::VM):
      (JSC::VM::~VM):
      * runtime/VM.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154853 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59af0f55
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed build fix after r154847. · a2305de8
      bfulgham@apple.com authored
      * win/tools/vsprops/FeatureDefines.props: Add missing definition for ENABLE_PROMISES
      * win/tools/vsprops/FeatureDefinesCairo.props: Ditto
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a2305de8
    • timothy@apple.com's avatar
      Make incrementing and decrementing numbers by 0.1 require the control key, and... · ea6e323b
      timothy@apple.com authored
      Make incrementing and decrementing numbers by 0.1 require the control key, and not near zero numbers.
      
      https://bugs.webkit.org/show_bug.cgi?id=120492
      <rdar://problem/13738935> Incrementing and decrementing numbers near zero is annoying compared to earlier releases
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/CodeMirrorAdditions.js:
      (alterNumber): Remove near zero check.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea6e323b
    • bfulgham@apple.com's avatar
      [Windows] More unreviewed gardening of project file. · 614ac2e2
      bfulgham@apple.com authored
      Move css files inline with related source code.
      
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      614ac2e2
    • commit-queue@webkit.org's avatar
      [BlackBerry] Scrolling text with FCC does not work while composing an email · cb56c461
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120493
      
      Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-08-29
      Reviewed by Rob Buis.
      Internally reviewed by Gen Mak and Konrad Piascik.
      
      JIRA 468007
      m_cannotScrollIfHasFloatLayoutSizeRoundingError was true which prevented
      FCC scrolling.
      TransformedActualVisibleSize is quite different in email compose card
      than browser. In this case, the issue was caused by transformedActualVisibleSize(768, 750)
      which was not the actual visible size of the webkit part of the Cascades
      view when keyboard popped up. We usually don't do keyboard adaptation for
      windowless page clients; therefore, there will be no viewport change of
      WebKit.
      To fix the bug, we can ignore the windowless page clients.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::hasFloatLayoutSizeRoundingError):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb56c461
    • weinig@apple.com's avatar
      .: Add ENABLE guards for Promises · b7188858
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120488
      
      Reviewed by Andreas Kling.
      
      * Source/autotools/SetupWebKitFeatures.m4:
      * Source/cmake/WebKitFeatures.cmake:
      * Source/cmakeconfig.h.cmake:
      
      Source/JavaScriptCore: Add ENABLE guards for Promises
      https://bugs.webkit.org/show_bug.cgi?id=120488
      
      Reviewed by Andreas Kling.
      
      * Configurations/FeatureDefines.xcconfig:
      * runtime/JSGlobalObject.cpp:
      * runtime/JSGlobalObject.h:
      * runtime/JSPromise.cpp:
      * runtime/JSPromise.h:
      * runtime/JSPromiseCallback.cpp:
      * runtime/JSPromiseCallback.h:
      * runtime/JSPromiseConstructor.cpp:
      * runtime/JSPromiseConstructor.h:
      * runtime/JSPromisePrototype.cpp:
      * runtime/JSPromisePrototype.h:
      * runtime/JSPromiseResolver.cpp:
      * runtime/JSPromiseResolver.h:
      * runtime/JSPromiseResolverConstructor.cpp:
      * runtime/JSPromiseResolverConstructor.h:
      * runtime/JSPromiseResolverPrototype.cpp:
      * runtime/JSPromiseResolverPrototype.h:
      
      Source/WebCore: Add ENABLE guards for Promises
      https://bugs.webkit.org/show_bug.cgi?id=120488
      
      Reviewed by Andreas Kling.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebKit/mac: Add ENABLE gaurds for Promises
      https://bugs.webkit.org/show_bug.cgi?id=120488
      
      Reviewed by Andreas Kling.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebKit2: Add ENABLE gaurds for Promises
      https://bugs.webkit.org/show_bug.cgi?id=120488
      
      Reviewed by Andreas Kling.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WTF: Add ENABLE guards for Promises
      https://bugs.webkit.org/show_bug.cgi?id=120488
      
      Reviewed by Andreas Kling.
      
      * wtf/FeatureDefines.h:
      
      Tools: Add ENABLE guards for Promises
      https://bugs.webkit.org/show_bug.cgi?id=120488
      
      Reviewed by Andreas Kling.
      
      * Scripts/webkitperl/FeatureList.pm:
      * qmake/mkspecs/features/features.pri:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154847 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7188858
    • msaboff@apple.com's avatar
      REGRESSION (r153222, 32-bit): NULL JSValue() seen when running peacekeeper benchmark · 251f6b5d
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120080
      
      Rubber stamped by Oliver Hunt.
      
      Added layout test that crashes without the fix in bug 120080.
      
      * fast/js/lazy-create-arguments-from-get-by-val-expected.txt: Added.
      * fast/js/lazy-create-arguments-from-get-by-val.html: Added.
      * fast/js/script-tests/lazy-create-arguments-from-get-by-val.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      251f6b5d
    • fpizlo@apple.com's avatar
      Unreviewed, fix FTL build. · bfb053b9
      fpizlo@apple.com authored
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::callCheck):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfb053b9
    • akling@apple.com's avatar
      Inspector: Use a bit of RefPtr::release() in generated code. · bf74292f
      akling@apple.com authored
      <https://webkit.org/b/120485>
      
      Reviewed by Darin Adler.
      
      Just something I spotted while reading InspectorBackendDispatcher.cpp.
      Avoid 3 cases of reference count churnery.
      
      * inspector/CodeGeneratorInspectorStrings.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf74292f
    • dino@apple.com's avatar
      XMLSerializer-attribute-namespace-prefix-conflicts can't produce reliable results · 2e66b71c
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120490
      
      Marking as [ Pass Failure ] for the moment.
      
      * TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e66b71c
    • commit-queue@webkit.org's avatar
      [GTK] Should enable WebGL by default on MiniBrowser · 34993ac0
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120420
      
      Patch by Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk> on 2013-08-29
      Reviewed by Gustavo Noronha Silva.
      
      Enable WebGL by default on MiniBrowser.
      
      * MiniBrowser/gtk/main.c:
      (main):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34993ac0
    • ch.dumez@sisa.samsung.com's avatar
      According to DOM4, all DocType nodes should have a document · cfaa7e92
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=99244
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Doctypes now always have a node document and can be moved across document boundaries as per
      the latest DOM4 specification:
      http://dom.spec.whatwg.org/#dom-domimplementation-createdocumenttype
      http://dom.spec.whatwg.org/#dom-node-ownerdocument
      
      This means that DOMImplementation.createDocumentType() now sets the ownerDocument of the
      new DocumentType Node to the associated document of the current "context" object. In
      DOM4, all nodes have a document at all times. DocumentType nodes can now be moved across
      document boundaries so that the node can be added to a Document after being created.
      
      This means we will no longer need to special case DocumentType nodes in the code and
      Node::document() can no longer return NULL, which means that we'll be able to remove
      NULL checks in call sites.
      
      Firefox stable and since recently Blink already follow DOM4 here while IE10 does not (yet).
      
      Test: fast/dom/createDocumentType-ownerDocument.html
      
      * dom/ContainerNode.cpp:
      (WebCore::checkAcceptChild):
      * dom/DOMImplementation.cpp:
      (WebCore::DOMImplementation::createDocumentType):
      (WebCore::DOMImplementation::createDocument):
      * dom/Node.h:
      (WebCore::Node::document):
      
      LayoutTests:
      
      Add layout test to check that DocumentType Nodes have a document after being
      created. Also update a few existing test cases to reflect this change.
      
      * fast/dom/DOMImplementation/createDocument-with-used-doctype-expected.txt:
      * fast/dom/DOMImplementation/createDocument-with-used-doctype.html:
      * fast/dom/DOMImplementation/resources/createDocument-with-used-doctype-frame.html:
      * fast/dom/XMLSerializer-doctype2-expected.txt:
      * fast/dom/XMLSerializer-doctype2.html:
      * fast/dom/createDocumentType-ownerDocument-expected.txt: Added.
      * fast/dom/createDocumentType-ownerDocument.html: Added.
      * fast/dom/move-nodes-across-documents.html:
      * fast/dom/node-iterator-with-doctype-root-expected.txt:
      * fast/dom/node-iterator-with-doctype-root.html:
      * fast/events/dispatch-event-no-document-expected.txt:
      * fast/events/dispatch-event-no-document.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cfaa7e92
    • commit-queue@webkit.org's avatar
      REGRESSION(r153222, 32-bit): NULL JSValue() seen when running peacekeeper benchmark. · 83f6c4a5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120080
      
      Patch by Julien Brianceau <jbriance@cisco.com> on 2013-08-29
      Reviewed by Michael Saboff.
      
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emitSlow_op_get_argument_by_val): Revert changes introduced by r153222 in this function.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83f6c4a5
    • fpizlo@apple.com's avatar
      Kill code that became dead after http://trac.webkit.org/changeset/154833 · fc5d05a0
      fpizlo@apple.com authored
      Rubber stamped by Oliver Hunt.
      
      * dfg/DFGDriver.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154838 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc5d05a0
    • fpizlo@apple.com's avatar
      CodeBlock's magic for scaling tier-up thresholds should be more reusable · e5b68643
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120486
      
      Reviewed by Oliver Hunt.
              
      Removed the counterValueForBlah() methods and exposed the reusable scaling logic
      as a adjustedCounterValue() method.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::adjustedCounterValue):
      (JSC::CodeBlock::optimizeAfterWarmUp):
      (JSC::CodeBlock::optimizeAfterLongWarmUp):
      (JSC::CodeBlock::optimizeSoon):
      * bytecode/CodeBlock.h:
      * dfg/DFGOSRExitCompilerCommon.cpp:
      (JSC::DFG::handleExitCounts):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5b68643
    • darin@apple.com's avatar
      Pasteboard::writeSelection violates layering (first step, fixes it for Mac platform only) · 860f0ea8
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120483
      
      Reviewed by Anders Carlsson.
      
      * editing/Editor.cpp:
      (WebCore::Editor::cut): Added some comments. Use the new writeSelectionToPasteboard
      function on Mac instead of Pasteboard::writeSelection.
      (WebCore::Editor::copy): Ditto.
      
      * editing/Editor.h: Removed an old unused Mac-only writeSelectionToPasteboard function
      that was a cover that called through to Pasteboard::writeSelectionForTypes. Added a new
      Mac-only writeSelectionToPasteboard function that is destined to become cross-platform soon.
      
      * editing/mac/EditorMac.mm:
      (WebCore::Editor::writeSelectionToPasteboard): Added. Uses a new pattern where the Editor
      puts all the data into a structure called PasteboardWebContent then calls the Pasteboard to
      do the work. The platform-specific aspect of PasteboardWebContent is what formats are needed
      for each platform.
      
      * page/DragController.cpp:
      (WebCore::DragController::startDrag): Added some comments. Use the new writeSelectionToPasteboard
      function on Mac instead of Pasteboard::writeSelection.
      
      * platform/Pasteboard.h: Remove some unneeded forward declarations. Added comments for all functions
      that don't belong in this class because they are layering violations; this becomes the to do list for
      the project we are beginning here. Added the new PasteboardWebContent structure, empty on all platforms
      except for Mac for now. Removed writeSelectionForTypes, a Mac-only function that is no longer used.
      Added setTypes and writeAfterSettingTypes, the two halves of the future function named writeWebContent.
      Put the writeSelection function inside a "not Mac" if statement. Later to be deleted entirely.
      
      * platform/mac/PasteboardMac.mm: Removed now-unneeded selectionPasteboardTypes,
      Pasteboard::writeSelectionForTypes, and writeSelection functions.
      (WebCore::Pasteboard::setTypes): Added. First half of writing web content to the pasteboard.
      (WebCore::Pasteboard::writeAfterSettingTypes): Added. Second half of writing web content to the pasteboard.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154836 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      860f0ea8
    • antti@apple.com's avatar
      Remove code behind ENABLE(DIALOG_ELEMENT) · c85aaaf9
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120467
      
      Reviewed by Darin Adler.
      
      It is incomplete and no one is building it.
      
      * CMakeLists.txt:
      * Configurations/FeatureDefines.xcconfig:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/generic/RuntimeEnabledFeatures.cpp:
      * bindings/generic/RuntimeEnabledFeatures.h:
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::adjustRenderStyle):
      * css/html.css:
      * dom/ContextFeatures.cpp:
      * dom/ContextFeatures.h:
      * dom/Document.cpp:
      * dom/Document.h:
      * dom/Element.cpp:
      (WebCore::Element::removedFrom):
      (WebCore::Element::setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries):
      * dom/Element.h:
      (WebCore::Element::isDisabledFormControl):
      * dom/ElementRareData.h:
      (WebCore::ElementRareData::ElementRareData):
      * html/HTMLDialogElement.cpp: Removed.
      * html/HTMLDialogElement.h: Removed.
      * html/HTMLDialogElement.idl: Removed.
      * html/HTMLElementsAllInOne.cpp:
      * html/HTMLTagNames.in:
      * rendering/RenderDialog.cpp: Removed.
      * rendering/RenderDialog.h: Removed.
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::rebuildZOrderLists):
      (WebCore::RenderLayer::collectLayers):
      * rendering/RenderLayer.h:
      * rendering/RenderObject.h:
      (WebCore::RenderObject::isCounter):
      * rendering/RenderingAllInOne.cpp:
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::Backup::Backup):
      (WebCore::InternalSettings::Backup::restoreTo):
      * testing/InternalSettings.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c85aaaf9
    • dino@apple.com's avatar
      Reverting a change that was made in https://bugs.webkit.org/show_bug.cgi?id=120472. · 828692af
      dino@apple.com authored
      * media/track/track-cue-rendering-on-resize-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      828692af
    • fpizlo@apple.com's avatar
      CodeBlock::prepareForExecution() is silly · 1342e7a8
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120453
      
      Reviewed by Oliver Hunt.
              
      Instead of saying:
              
          codeBlock->prepareForExecution(stuff, BaselineJIT, more stuff)
              
      we should just say:
              
          JIT::compile(stuff, codeBlock, more stuff);
              
      And similarly for the LLInt and DFG.
              
      This kills a bunch of code, since CodeBlock::prepareForExecution() is just a
      wrapper that uses the JITType argument to call into the appropriate execution
      engine, which is what the user wanted to do in the first place.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/CodeBlock.cpp:
      * bytecode/CodeBlock.h:
      * dfg/DFGDriver.cpp:
      (JSC::DFG::compileImpl):
      (JSC::DFG::compile):
      * dfg/DFGDriver.h:
      (JSC::DFG::tryCompile):
      * dfg/DFGOSRExitPreparation.cpp:
      (JSC::DFG::prepareCodeOriginForOSRExit):
      * dfg/DFGWorklist.cpp:
      (JSC::DFG::globalWorklist):
      * dfg/DFGWorklist.h:
      * jit/JIT.cpp:
      (JSC::JIT::privateCompile):
      * jit/JIT.h:
      (JSC::JIT::compile):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * llint/LLIntEntrypoint.cpp: Copied from Source/JavaScriptCore/llint/LLIntEntrypoints.cpp.
      (JSC::LLInt::setFunctionEntrypoint):
      (JSC::LLInt::setEvalEntrypoint):
      (JSC::LLInt::setProgramEntrypoint):
      (JSC::LLInt::setEntrypoint):
      * llint/LLIntEntrypoint.h: Copied from Source/JavaScriptCore/llint/LLIntEntrypoints.h.
      * llint/LLIntEntrypoints.cpp: Removed.
      * llint/LLIntEntrypoints.h: Removed.
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::jitCompileAndSetHeuristics):
      * runtime/Executable.cpp:
      (JSC::ScriptExecutable::prepareForExecutionImpl):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154833 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1342e7a8
    • simon.fraser@apple.com's avatar
      Fix slider thumb event handling to use local, not absolute coordinates · 63a45cfe
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120480
      
      Reviewed by Darin Adler.
      
      SliderThumbElement::setPositionFromPoint() did all of its coordinate
      math by mapping renderer rects into absolute coordinates, which was
      unnecessary and expensive.
      
      Fix by doing all the math in the coordinate space of the input's
      renderer. This simplified the code. Also, currentPosition
      was computed but unused, so was removed.
      
      No behavior change. Tested by fast/forms/range/slider-transformed.html
      
      * html/shadow/SliderThumbElement.cpp:
      (WebCore::SliderThumbElement::setPositionFromPoint):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      63a45cfe
    • simon.fraser@apple.com's avatar
      Add a Command-R shortcut in MiniBrowser · a3e2d240
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120442
      
      Reviewed by Dean Jackson.
      
      Add a "Reload Page" item to the View menu with a Command-R
      shortcut.
      
      * MiniBrowser/mac/MainMenu.xib:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3e2d240
    • zandobersek@gmail.com's avatar
      [Automake] libWebCoreDOM.la could use a better name · 4fe2d206
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120232
      
      Reviewed by Martin Robinson.
      
      Source/WebCore: 
      
      * bindings/gobject/GNUmakefile.am: Rename the libWebCoreDOM library to libGObjectDOMBindings.
      
      Source/WebKit/gtk: 
      
      * GNUmakefile.am: libWebCoreDOM has a new name - libGObjectDOMBindings.
      
      Source/WebKit2: 
      
      * GNUmakefile.am: libWebCoreDOM has a new name - libGObjectDOMBindings.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4fe2d206
    • joepeck@webkit.org's avatar
      Web Inspector: Consolidate inspector-protocol tests into domains · a64a4b46
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120450
      
      Reviewed by Timothy Hatcher.
      
      Move around tests and clean them up in the process.
      
      * http/tests/inspector-protocol/resources/protocol-test.js:
      * inspector-protocol/css/getSupportedCSSProperties-expected.txt: Renamed from LayoutTests/inspector-protocol/css-getSupportedCSSProperties-expected.txt.
      * inspector-protocol/css/getSupportedCSSProperties.html: Renamed from LayoutTests/inspector-protocol/css-getSupportedCSSProperties.html.
      * inspector-protocol/dom/focus-expected.txt: Renamed from LayoutTests/inspector-protocol/dom-focus-expected.txt.
      * inspector-protocol/dom/focus.html: Renamed from LayoutTests/inspector-protocol/dom-focus.html.
      * inspector-protocol/dom/request-child-nodes-depth-expected.txt: Renamed from LayoutTests/inspector-protocol/dom-request-child-nodes-depth-expected.txt.
      * inspector-protocol/dom/request-child-nodes-depth.html: Renamed from LayoutTests/inspector-protocol/dom-request-child-nodes-depth.html.
      * inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html:
      * inspector-protocol/heap-profiler/heap-snapshot-with-event-listener.html:
      * inspector-protocol/heap-profiler/take-heap-snapshot.html:
      * inspector-protocol/nmi-webaudio-expected.txt: Removed.
      * inspector-protocol/nmi-webaudio-leak-test-expected.txt: Removed.
      * inspector-protocol/nmi-webaudio-leak-test.html: Removed.
      * inspector-protocol/nmi-webaudio.html: Removed.
      * inspector-protocol/page/frameScheduledNavigation.html:
      * inspector-protocol/page/frameStartedLoading.html:
      * inspector-protocol/page/resources/blank.html: Renamed from LayoutTests/inspector-protocol/resources/blank.html.
      * inspector-protocol/page/setEmulatedMedia-expected.txt: Renamed from LayoutTests/inspector-protocol/media-query-listener-exception-expected.txt.
      * inspector-protocol/page/setEmulatedMedia.html: Renamed from LayoutTests/inspector-protocol/media-query-listener-exception.html.
      * inspector-protocol/resources/audio-context.html: Removed.
      * inspector-protocol/runtime/getProperties-expected.txt: Renamed from LayoutTests/inspector-protocol/runtime-getProperties-expected.txt.
      * inspector-protocol/runtime/getProperties.html: Renamed from LayoutTests/inspector-protocol/runtime-getProperties.html.
      * platform/efl/TestExpectations:
      * platform/gtk-wk1/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/qt/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a64a4b46
    • joepeck@webkit.org's avatar
      Web Inspector: Download Web Archive of Inspected Page · e061c7f1
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119774
      
      Reviewed by Timothy Hatcher.
      
      Source/WebCore:
      
      Add PageAgent.archive which will return a Base-64 encoded web archive
      when successful. In order to then allow saving non-string files, extend
      InspectorFrontendHost.save to allow for Base-64 encoded data.
      
      * inspector/Inspector.json:
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::archive):
      * inspector/InspectorPageAgent.h:
      Introduce and implement PageAgent.archive. Create a Web Archive of the
      page's main frame.
      
      * inspector/InspectorFrontendClient.h:
      * inspector/InspectorFrontendClientLocal.h:
      (WebCore::InspectorFrontendClientLocal::save):
      * inspector/InspectorFrontendHost.cpp:
      (WebCore::InspectorFrontendHost::save):
      * inspector/InspectorFrontendHost.h:
      * inspector/InspectorFrontendHost.idl:
      Extend InspectorFrontendHost.save to include a base64Encoded param.
      
      * inspector/front-end/FileManager.js:
      * inspector/front-end/InspectorFrontendHostStub.js:
      (.WebInspector.InspectorFrontendHostStub.prototype.save):
      Misc. updates to the old inspector for function changes.
      
      Source/WebInspectorUI:
      
      * UserInterface/ContentBrowser.js:
      (WebInspector.ContentBrowser.prototype._saveDataToFile):
      Allow a custom save handler which will do all the work.
      
      * UserInterface/DOMTreeContentView.js:
      (WebInspector.DOMTreeContentView):
      (WebInspector.DOMTreeContentView.prototype.get supportsSave):
      (WebInspector.DOMTreeContentView.prototype.get saveData.saveHandler):
      (WebInspector.DOMTreeContentView.prototype.get saveData):
      Allow Save keyboard shortcut to download an archive viewing the DOM Tree.
      
      * UserInterface/ResourceTreeElement.js:
      (WebInspector.ResourceTreeElement.prototype._updateStatus):
      * UserInterface/FrameTreeElement.js:
      (WebInspector.FrameTreeElement):
      (WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
      (WebInspector.FrameTreeElement.prototype._mainResourceDidChange):
      (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):
      (WebInspector.FrameTreeElement.prototype._reloadPageClicked):
      (WebInspector.FrameTreeElement.prototype._downloadButtonClicked):
      (WebInspector.FrameTreeElement.prototype._updateDownloadButton):
      (WebInspector.FrameTreeElement.prototype._pageArchiveStarted):
      (WebInspector.FrameTreeElement.prototype._pageArchiveEnded):
      Move handling of main frame TreeElement buttons to FrameTreeElement.
      Add a Download button, and enable/disable it appropriately.
      
      * UserInterface/ResourceTreeElement.css:
      * UserInterface/TreeElementStatusButton.css: Copied from Source/WebInspectorUI/UserInterface/ResourceTreeElement.css.
      (.item > .status > .status-button):
      (.item > .status > .status-button > svg *):
      (.item.selected > .status > .status-button > svg *):
      (.item.selected > .status > .status-button:active > svg *):
      (.item > .status > .status-button.disabled > svg *):
      (.item.selected > .status > .status-button.disabled > svg *):
      * UserInterface/TreeElementStatusButton.js: Added.
      (WebInspector.TreeElementStatusButton):
      (WebInspector.TreeElementStatusButton.prototype.get element):
      (WebInspector.TreeElementStatusButton.prototype.get hidden):
      (WebInspector.TreeElementStatusButton.prototype.set hidden):
      (WebInspector.TreeElementStatusButton.prototype.get enabled):
      (WebInspector.TreeElementStatusButton.prototype.set enabled):
      (WebInspector.TreeElementStatusButton.prototype._clicked):
      Make buttons in the TreeElement status a generic class to share styling
      and handling of the buttons. New "disabled" state with even more
      transparent is used when the page is downloading.
      
      * UserInterface/Main.html:
      * UserInterface/Main.js:
      (WebInspector.archiveMainFrame):
      (WebInspector.canArchiveMainFrame):
      Generic API for archiving the page and determining if you can archive it.
      
      * UserInterface/InspectorBackendCommands.js:
      * UserInterface/InspectorFrontendHostStub.js:
      (.WebInspector.InspectorFrontendHostStub.prototype.save):
      * UserInterface/Images/DownloadArrow.svg: Added.
      * Localizations/en.lproj/localizedStrings.js:
      Misc. updates and new files.
      
      Source/WebKit/mac:
      
      Update to support InspectorFrontendHost.save's new base64Encoded
      parameter. It means the incoming content is binary data, not a string.
      
      * WebCoreSupport/WebInspectorClient.h:
      * WebCoreSupport/WebInspectorClient.mm:
      (WebInspectorFrontendClient::save):
      
      Source/WebKit2:
      
      Update to support InspectorFrontendHost.save's new base64Encoded
      parameter. It means the incoming content is binary data, not a string.
      
      * UIProcess/WebInspectorProxy.cpp:
      (WebKit::WebInspectorProxy::save):
      * UIProcess/WebInspectorProxy.h:
      * UIProcess/WebInspectorProxy.messages.in:
      * UIProcess/efl/WebInspectorProxyEfl.cpp:
      (WebKit::WebInspectorProxy::platformSave):
      * UIProcess/gtk/WebInspectorProxyGtk.cpp:
      (WebKit::WebInspectorProxy::platformSave):
      * UIProcess/mac/WebInspectorProxyMac.mm:
      (WebKit::WebInspectorProxy::platformSave):
      * UIProcess/qt/WebInspectorProxyQt.cpp:
      (WebKit::WebInspectorProxy::platformSave):
      * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
      (WebKit::WebInspectorFrontendClient::save):
      * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
      * WebProcess/WebPage/WebInspector.cpp:
      (WebKit::WebInspector::save):
      * WebProcess/WebPage/WebInspector.h:
      
      LayoutTests:
      
      * inspector-protocol/page/archive-expected.txt: Added.
      * inspector-protocol/page/archive.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e061c7f1
    • mark.lam@apple.com's avatar
      Gardening: fixed broken non-DFG build. · be668e75
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120481.
      
      Not reviewed.
      
      * interpreter/StackIterator.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be668e75
    • robert@webkit.org's avatar
      Positioned Replaced Elements That Aren't RenderReplaced get Incorrect Width · 38663b36
      robert@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93735
      
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      Replaced elements that aren't RenderReplaced aren't |isReplaced| and don't have an
      intrinsic height or width. This causes them to go down the wrong height and width computation
      path in RenderBox when they are absolute positioned.
      
      The notion of |isReplaced| is entwined with the notion of being |isInline| so it isn't really
      possible to make them isReplaced without re-wiring a lot of code. So instead use an ad-hoc definition
      of isReplacedElement in RenderBox to bring all replaced elements into the height and width calculation.
      To make sure we get the right height and width in there, give non-RenderReplaced replaced renderers
      the helpers for returning their approximation of intrinsic height and width.
      
      The initial attempt at landing this patch had to be rolled out because it used LayoutUnit() for default
      intrinsic height of some replaced elements and this made the layout of the elements unstable in some sites.
      The fix for this issue is captured in intrinsic-button-and-input-height.html.
      
      Tests: fast/replaced/intrinsic-button-and-input-height.html
             fast/replaced/width-and-height-of-positioned-replaced-elements.html
      
      * rendering/RenderBox.cpp:
      (WebCore::isReplacedElement):
      (WebCore::RenderBox::computePositionedLogicalWidth):
      (WebCore::RenderBox::computePositionedLogicalHeight):
      * rendering/RenderBox.h:
      (WebCore::RenderBox::intrinsicSize):
      * rendering/RenderButton.h:
      * rendering/RenderFileUploadControl.cpp:
      (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
      * rendering/RenderListBox.cpp:
      (WebCore::RenderListBox::RenderListBox):
      (WebCore::RenderListBox::computePreferredLogicalWidths):
      (WebCore::RenderListBox::computeLogicalHeight):
      * rendering/RenderListBox.h:
      * rendering/RenderMenuList.h:
      * rendering/RenderReplaced.h:
      * rendering/RenderSlider.cpp:
      (WebCore::RenderSlider::computePreferredLogicalWidths):
      * rendering/RenderTextControl.cpp:
      (WebCore::RenderTextControl::RenderTextControl):
      (WebCore::RenderTextControl::computeLogicalHeight):
      * rendering/RenderTextControl.h:
      
      LayoutTests:
      
      * fast/replaced/intrinsic-button-and-input-height-expected.txt: Added.
      * fast/replaced/intrinsic-button-and-input-height.html: Added.
      * fast/replaced/width-and-height-of-positioned-replaced-elements.html: Added.
      * platform/qt/fast/replaced/width-and-height-of-positioned-replaced-elements-expected.png: Added.
      * platform/qt/fast/replaced/width-and-height-of-positioned-replaced-elements-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      38663b36
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed gardening. Add missing *.css files from project. · fdaac04c
      bfulgham@apple.com authored
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fdaac04c
    • fpizlo@apple.com's avatar
      CodeBlock compilation and installation should be simplified and rationalized · 62b6af85
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120326
      
      Reviewed by Oliver Hunt.
              
      Rolling r154804 back in after fixing no-LLInt build.
              
      Previously Executable owned the code for generating JIT code; you always had
      to go through Executable. But often you also had to go through CodeBlock,
      because ScriptExecutable couldn't have virtual methods, but CodeBlock could.
      So you'd ask CodeBlock to do something, which would dispatch through a
      virtual method that would select the appropriate Executable subtype's method.
      This all meant that the same code would often be duplicated, because most of
      the work needed to compile something was identical regardless of code type.
      But then we tried to fix this, by having templatized helpers in
      ExecutionHarness.h and JITDriver.h. The result was that if you wanted to find
      out what happened when you asked for something to be compiled, you'd go on a
      wild ride that started with CodeBlock, touched upon Executable, and then
      ricocheted into either ExecutionHarness or JITDriver (likely both).
              
      Another awkwardness was that for concurrent compiles, the DFG::Worklist had
      super-special inside knowledge of what JITStubs.cpp's cti_optimize would have
      done once the compilation finished.
              
      Also, most of the DFG JIT drivers assumed that they couldn't install the
      JITCode into the CodeBlock directly - instead they would return it via a
      reference, which happened to be a reference to the JITCode pointer in
      Executable. This was super weird.
              
      Finally, there was no notion of compiling code into a special CodeBlock that
      wasn't used for handling calls into an Executable. I'd like this for FTL OSR
      entry.
              
      This patch solves these problems by reducing all of that complexity into just
      three primitives:
              
      - Executable::newCodeBlock(). This gives you a new code block, either for call
        or for construct, and either to serve as the baseline code or the optimized
        code. The new code block is then owned by the caller; Executable doesn't
        register it anywhere. The new code block has no JITCode and isn't callable,
        but it has all of the bytecode.
              
      - CodeBlock::prepareForExecution(). This takes the CodeBlock's bytecode and
        produces a JITCode, and then installs the JITCode into the CodeBlock. This
        method takes a JITType, and always compiles with that JIT. If you ask for
        JITCode::InterpreterThunk then you'll get JITCode that just points to the
        LLInt entrypoints. Once this returns, it is possible to call into the
        CodeBlock if you do so manually - but the Executable still won't know about
        it so JS calls to that Executable will still be routed to whatever CodeBlock
        is associated with the Executable.
              
      - Executable::installCode(). This takes a CodeBlock and makes it the code-for-
        entry for that Executable. This involves unlinking the Executable's last
        CodeBlock, if there was one. This also tells the GC about any effect on
        memory usage and does a bunch of weird data structure rewiring, since
        Executable caches some of CodeBlock's fields for the benefit of virtual call
        fast paths.
              
      This functionality is then wrapped around three convenience methods:
              
      - Executable::prepareForExecution(). If there is no code block for that
        Executable, then one is created (newCodeBlock()), compiled
        (CodeBlock::prepareForExecution()) and installed (installCode()).
              
      - CodeBlock::newReplacement(). Asks the Executable for a new CodeBlock that
        can serve as an optimized replacement of the current one.
              
      - CodeBlock::install(). Asks the Executable to install this code block.
              
      This patch allows me to kill *a lot* of code and to remove a lot of
      specializations for functions vs. not-functions, and a lot of places where we
      pass around JITCode references and such. ExecutionHarness and JITDriver are
      both gone. Overall this patch has more red than green.
              
      It also allows me to work on FTL OSR entry and tier-up:
              
      - FTL tier-up: this will involve DFGOperations.cpp asking the DFG::Worklist
        to do some compilation, but it will require the DFG::Worklist to do
        something different than what JITStubs.cpp would want, once the compilation
        finishes. This patch introduces a callback mechanism for that purpose.
              
      - FTL OSR entry: this will involve creating a special auto-jettisoned
        CodeBlock that is used only for FTL OSR entry. The new set of primitives
        allows for this: Executable can vend you a fresh new CodeBlock, and you can
        ask that CodeBlock to compile itself with any JIT of your choosing. Or you
        can take that CodeBlock and compile it yourself. Previously the act of
        producing a CodeBlock-for-optimization and the act of compiling code for it
        were tightly coupled; now you can separate them and you can create such
        auto-jettisoned CodeBlocks that are used for a one-shot OSR entry.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::unlinkIncomingCalls):
      (JSC::CodeBlock::prepareForExecutionImpl):
      (JSC::CodeBlock::prepareForExecution):
      (JSC::CodeBlock::prepareForExecutionAsynchronously):
      (JSC::CodeBlock::install):
      (JSC::CodeBlock::newReplacement):
      (JSC::FunctionCodeBlock::jettisonImpl):
      * bytecode/CodeBlock.h:
      (JSC::CodeBlock::hasBaselineJITProfiling):
      * bytecode/DeferredCompilationCallback.cpp: Added.
      (JSC::DeferredCompilationCallback::DeferredCompilationCallback):
      (JSC::DeferredCompilationCallback::~DeferredCompilationCallback):
      * bytecode/DeferredCompilationCallback.h: Added.
      * dfg/DFGDriver.cpp:
      (JSC::DFG::tryCompile):
      * dfg/DFGDriver.h:
      (JSC::DFG::tryCompile):
      * dfg/DFGFailedFinalizer.cpp:
      (JSC::DFG::FailedFinalizer::finalize):
      (JSC::DFG::FailedFinalizer::finalizeFunction):
      * dfg/DFGFailedFinalizer.h:
      * dfg/DFGFinalizer.h:
      * dfg/DFGJITFinalizer.cpp:
      (JSC::DFG::JITFinalizer::finalize):
      (JSC::DFG::JITFinalizer::finalizeFunction):
      * dfg/DFGJITFinalizer.h:
      * dfg/DFGOSRExitPreparation.cpp:
      (JSC::DFG::prepareCodeOriginForOSRExit):
      * dfg/DFGOperations.cpp:
      * dfg/DFGPlan.cpp:
      (JSC::DFG::Plan::Plan):
      (JSC::DFG::Plan::compileInThreadImpl):
      (JSC::DFG::Plan::notifyReady):
      (JSC::DFG::Plan::finalizeWithoutNotifyingCallback):
      (JSC::DFG::Plan::finalizeAndNotifyCallback):
      * dfg/DFGPlan.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGWorklist.cpp:
      (JSC::DFG::Worklist::completeAllReadyPlansForVM):
      (JSC::DFG::Worklist::runThread):
      * ftl/FTLJITFinalizer.cpp:
      (JSC::FTL::JITFinalizer::finalize):
      (JSC::FTL::JITFinalizer::finalizeFunction):
      * ftl/FTLJITFinalizer.h:
      * heap/Heap.h:
      (JSC::Heap::isDeferred):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::execute):
      (JSC::Interpreter::executeCall):
      (JSC::Interpreter::executeConstruct):
      (JSC::Interpreter::prepareForRepeatCall):
      * jit/JITDriver.h: Removed.
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      (JSC::jitCompileFor):
      (JSC::lazyLinkFor):
      * jit/JITToDFGDeferredCompilationCallback.cpp: Added.
      (JSC::JITToDFGDeferredCompilationCallback::JITToDFGDeferredCompilationCallback):
      (JSC::JITToDFGDeferredCompilationCallback::~JITToDFGDeferredCompilationCallback):
      (JSC::JITToDFGDeferredCompilationCallback::create):
      (JSC::JITToDFGDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously):
      (JSC::JITToDFGDeferredCompilationCallback::compilationDidComplete):
      * jit/JITToDFGDeferredCompilationCallback.h: Added.
      * llint/LLIntEntrypoints.cpp:
      (JSC::LLInt::setFunctionEntrypoint):
      (JSC::LLInt::setEvalEntrypoint):
      (JSC::LLInt::setProgramEntrypoint):
      * llint/LLIntEntrypoints.h:
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::jitCompileAndSetHeuristics):
      (JSC::LLInt::setUpCall):
      * runtime/ArrayPrototype.cpp:
      (JSC::isNumericCompareFunction):
      * runtime/CommonSlowPaths.cpp:
      * runtime/CompilationResult.cpp:
      (WTF::printInternal):
      * runtime/CompilationResult.h:
      * runtime/Executable.cpp:
      (JSC::ScriptExecutable::installCode):
      (JSC::ScriptExecutable::newCodeBlockFor):
      (JSC::ScriptExecutable::newReplacementCodeBlockFor):
      (JSC::ScriptExecutable::prepareForExecutionImpl):
      * runtime/Executable.h:
      (JSC::ExecutableBase::offsetOfJITCodeWithArityCheckFor):
      (JSC::ExecutableBase::offsetOfNumParametersFor):
      (JSC::ScriptExecutable::prepareForExecution):
      (JSC::FunctionExecutable::jettisonOptimizedCodeFor):
      * runtime/ExecutionHarness.h: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62b6af85
    • psolanki@apple.com's avatar
      SharedBuffer m_segments and m_dataArray must be exclusive · 262a9905
      psolanki@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=77715
      
      Patch by Pratik Solanki <pratik.solanki@gmail.com> on 2013-08-29
      Reviewed by Benjamin Poulain.
      
      When USE(NETWORK_CFDATA_ARRAY_CALLBACK) is enabled, we use m_dataArray to hold the incoming
      data. We do not use m_segments. Since they are exclusive in practice, do not define or use
      m_segments when NETWORK_CFDATA_ARRAY_CALLBACK is enabled.
      
      No new tests because no functional changes.
      
      * platform/SharedBuffer.cpp:
      (WebCore::SharedBuffer::append):
      (WebCore::SharedBuffer::clear):
      (WebCore::SharedBuffer::copy):
      (WebCore::SharedBuffer::buffer):
      (WebCore::SharedBuffer::getSomeData):
      * platform/SharedBuffer.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      262a9905
    • commit-queue@webkit.org's avatar
      Web Inspector: Consolidate inspector-protocol Debugger tests · 5b4714c6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120449
      
      Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-08-29
      Reviewed by Timothy Hatcher.
      
      Move the tests, and clean-up their syntax a bit to be more
      consistent, readable, and compact.
      
      * inspector-protocol/debugger/column-breakpoint.html:
      * inspector-protocol/debugger/pause-dedicated-worker-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger-pause-dedicated-worker-expected.txt.
      * inspector-protocol/debugger/pause-dedicated-worker.html: Renamed from LayoutTests/inspector-protocol/debugger-pause-dedicated-worker.html.
      * inspector-protocol/debugger/resources/dedicated-worker.js: Renamed from LayoutTests/inspector-protocol/resources/dedicated-worker.js.
      * inspector-protocol/debugger/setVariableValue-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger-setVariableValue-expected.txt.
      * inspector-protocol/debugger/setVariableValue.html: Renamed from LayoutTests/inspector-protocol/debugger-setVariableValue.html.
      * inspector-protocol/debugger/terminate-dedicated-worker-while-paused-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger-terminate-dedicated-worker-while-paused-expected.txt.
      * inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html: Renamed from LayoutTests/inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html.
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/qt/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b4714c6
    • mark.lam@apple.com's avatar
      Change StackIterator to not require writes to the JS stack. · fd86164a
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119657.
      
      Reviewed by Geoffrey Garen.
      
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * interpreter/CallFrame.h:
      - Removed references to StackIteratorPrivate.h.
      * interpreter/StackIterator.cpp:
      (JSC::StackIterator::numberOfFrames):
      (JSC::StackIterator::gotoFrameAtIndex):
      (JSC::StackIterator::gotoNextFrame):
      (JSC::StackIterator::resetIterator):
      (JSC::StackIterator::find):
      (JSC::StackIterator::readFrame):
      (JSC::StackIterator::readNonInlinedFrame):
      - Reads in the current CallFrame's data for non-inlined frames.
      (JSC::inlinedFrameOffset):
      - Convenience function to compute the inlined frame offset based on the
        CodeOrigin. If the offset is 0, then we're looking at the physical frame.
        Otherwise, it's an inlined frame.
      (JSC::StackIterator::readInlinedFrame):
      - Determines the inlined frame's caller frame. Will read in the caller
        frame if it is also an inlined frame i.e. we haven't reached the
        outer most frame yet. Otherwise, will call readNonInlinedFrame() to
        read on the outer most frame.
        This is based on the old StackIterator::Frame::logicalFrame().
      (JSC::StackIterator::updateFrame):
      - Reads the data of the caller frame of the current one. This function
        is renamed and moved from the old StackIterator::Frame::logicalCallerFrame(),
        but is now simplified because it delegates to the readInlinedFrame()
        to get the caller for inlined frames.
      (JSC::StackIterator::Frame::arguments):
      - Fixed to use the inlined frame versions of Arguments::create() and
        Arguments::tearOff() when the frame is an inlined frame.
      (JSC::StackIterator::Frame::print):
      (debugPrintCallFrame):
      (debugPrintStack):
      - Because sometimes, we want to see the whole stack while debugging.
      * interpreter/StackIterator.h:
      (JSC::StackIterator::Frame::argumentCount):
      (JSC::StackIterator::Frame::callerFrame):
      (JSC::StackIterator::Frame::callee):
      (JSC::StackIterator::Frame::scope):
      (JSC::StackIterator::Frame::codeBlock):
      (JSC::StackIterator::Frame::bytecodeOffset):
      (JSC::StackIterator::Frame::inlinedFrameInfo):
      (JSC::StackIterator::Frame::isJSFrame):
      (JSC::StackIterator::Frame::isInlinedFrame):
      (JSC::StackIterator::Frame::callFrame):
      (JSC::StackIterator::Frame::Frame):
      (JSC::StackIterator::Frame::~Frame):
      - StackIterator::Frame now caches commonly used accessed values from
        the CallFrame. It still delegates argument queries to the CallFrame.
      (JSC::StackIterator::operator*):
      (JSC::StackIterator::operator->):
      (JSC::StackIterator::operator!=):
      (JSC::StackIterator::operator++):
      (JSC::StackIterator::end):
      (JSC::StackIterator::operator==):
      * interpreter/StackIteratorPrivate.h: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd86164a
    • dbates@webkit.org's avatar
      [iOS] Upstream changes to WebCore/style · 619fc75d
      dbates@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120173
      
      Reviewed by Darin Adler.
      
      * style/StyleResolveTree.cpp:
      (WebCore::Style::elementImplicitVisibility): Added; specific to iOS.
      (WebCore::Style::CheckForVisibilityChangeOnRecalcStyle::CheckForVisibilityChangeOnRecalcStyle): Added; specific to iOS.
      (WebCore::Style::CheckForVisibilityChangeOnRecalcStyle::~CheckForVisibilityChangeOnRecalcStyle): Added; specific to iOS.
      (WebCore::Style::resolveTree): Modified to instantiate CheckForVisibilityChangeOnRecalcStyle when building on iOS.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      619fc75d
    • a.renevier@samsung.com's avatar
      [cairo] canvas drawing on itself doesn't work with accelerated canvas · 242efe66
      a.renevier@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118808
      
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      When copying an accelerated image, we try to get its dimensions with
      cairo_image_surface_get_width/cairo_image_surface_get_height. As
      surface is not an image, this returns width and height of 0.
      
      Many other places use cairo_image_surface_get although the surface may
      be a gl surface.
      
      This patch fixes those issues by implementing a cairoSurfaceSize
      helper that returns the surface size whatever type it is.
      
      It use cairo_surface_create_similar instead of
      cairo_image_surface_create in copyCairoImageSurface. It also calls
      cairo_paint in encodeImage when a drawing over a black background is
      needed.
      
      It copies the surface to an image surface if needed in extractImage.
      
      No new tests. Covered by existing tests.
      
      * platform/graphics/cairo/BitmapImageCairo.cpp:
      (WebCore::BitmapImage::BitmapImage):
      (WebCore::BitmapImage::draw):
      (WebCore::BitmapImage::checkForSolidColor):
      * platform/graphics/cairo/CairoUtilities.cpp:
      (WebCore::copyCairoImageSurface):
      (WebCore::cairoSurfaceSize):
      * platform/graphics/cairo/CairoUtilities.h:
      * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
      (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
      * platform/graphics/gtk/GdkCairoUtilities.cpp:
      (cairoSurfaceToGdkPixbuf):
      * platform/graphics/gtk/GdkCairoUtilities.h:
      * platform/graphics/gtk/ImageBufferGtk.cpp:
      (WebCore::encodeImage):
      * platform/graphics/gtk/ImageGtk.cpp:
      (WebCore::BitmapImage::getGdkPixbuf):
      * platform/gtk/DragIcon.cpp:
      (WebCore::DragIcon::setImage):
      
      Source/WebKit/gtk:
      
      Change cairoImageSurfaceToGdkPixbuf to cairoSurfaceToGdkPixbuf.
      
      * webkit/webkitfavicondatabase.cpp:
      (getIconPixbufSynchronously):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      242efe66
    • commit-queue@webkit.org's avatar
      [GTK] [WK2] TestWebKitWebView page-visibility fails · c8d15608
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120406
      
      Patch by Brian Holt <brian.holt@samsung.com> on 2013-08-29
      Reviewed by Gustavo Noronha Silva.
      
      Removed the webkit prefix for document visibility properties.
      
      * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
      (testWebViewPageVisibility):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8d15608
    • commit-queue@webkit.org's avatar
      Source/JavaScriptCore: VM::throwException() crashes reproducibly in testapi with !ENABLE(JIT) · 31da4579
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120472
      
      Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-29
      Reviewed by Filip Pizlo.
      
      With the JIT disabled, interpreterThrowInCaller was attempting to throw an error,
      but the topCallFrame was not set yet. By passing the error object into interpreterThrowInCaller
      throwException can be called when topCallFrame is set.
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      * runtime/CommonSlowPaths.cpp:
      (JSC::SLOW_PATH_DECL):
      * runtime/CommonSlowPathsExceptions.cpp:
      (JSC::CommonSlowPaths::interpreterThrowInCaller):
      * runtime/CommonSlowPathsExceptions.h:
      
      Renamed genericThrow -> genericUnwind, because this function no longer has the ability
      to throw errors. It unwinds the stack in order to report them.
      * dfg/DFGOperations.cpp:
      * jit/JITExceptions.cpp:
      (JSC::genericUnwind):
      (JSC::jitThrowNew):
      (JSC::jitThrow):
      * jit/JITExceptions.h:
      * llint/LLIntExceptions.cpp:
      (JSC::LLInt::doThrow):
      
      LayoutTests: VM::throwException() crashes reproducibly in testapi with !ENABLE(JIT)
      https://bugs.webkit.org/show_bug.cgi?id=120472
      
      Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-29
      Reviewed by Filip Pizlo.
      An error that was not being reported before is now caught and being reported.
      * media/track/track-cue-rendering-on-resize-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31da4579
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed build fix after r154809 · 4de95fca
      bfulgham@apple.com authored
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove two no-longer-existing
      export symbols.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4de95fca
    • simon.pena@samsung.com's avatar
      Follow-up to r154810 and r154810: Missing tests and fix one misplaced call to setCaptionDisplayMode · 629fcfd5
      simon.pena@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120474
      
      Reviewed by Eric Carlson.
      
      I previously used a regular expression that didn't catch all the tests needing this
      update. Additionally, in one of them I put the setCaptionDisplayMode in the wrong place,
      before the function was defined by video-test.js. This new patch addresses all of that.
      
      * media/track/media-element-enqueue-event-crash.html:
      * media/track/regions-webvtt/text-track-cue-region-attribute.html:
      * media/track/regions-webvtt/text-track-region-parser.html:
      * media/track/track-add-remove-cue.html:
      * media/track/track-cue-mutable-fragment.html:
      * media/track/track-cue-mutable-text.html:
      * media/track/track-cue-mutable.html:
      * media/track/track-cue-negative-timestamp.html:
      * media/track/track-cue-rendering-on-resize.html:
      * media/track/track-cues-cuechange.html:
      * media/track/track-cues-enter-exit.html:
      * media/track/track-cues-missed.html:
      * media/track/track-cues-pause-on-exit.html:
      * media/track/track-cues-seeking.html:
      * media/track/track-cues-sorted-before-dispatch.html:
      * media/track/track-default-attribute.html:
      * media/track/track-load-from-element-readyState.html:
      * media/track/track-mode-disabled-crash.html:
      * media/track/track-remove-quickly.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      629fcfd5
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r154804. · ea1f9022
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/154804
      https://bugs.webkit.org/show_bug.cgi?id=120477
      
      Broke Windows build (assumes LLInt features not enabled on
      this build) (Requested by bfulgham on #webkit).
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::linkIncomingCall):
      (JSC::CodeBlock::unlinkIncomingCalls):
      (JSC::CodeBlock::reoptimize):
      (JSC::ProgramCodeBlock::replacement):
      (JSC::EvalCodeBlock::replacement):
      (JSC::FunctionCodeBlock::replacement):
      (JSC::ProgramCodeBlock::compileOptimized):
      (JSC::ProgramCodeBlock::replaceWithDeferredOptimizedCode):
      (JSC::EvalCodeBlock::compileOptimized):
      (JSC::EvalCodeBlock::replaceWithDeferredOptimizedCode):
      (JSC::FunctionCodeBlock::compileOptimized):
      (JSC::FunctionCodeBlock::replaceWithDeferredOptimizedCode):
      (JSC::ProgramCodeBlock::jitCompileImpl):
      (JSC::EvalCodeBlock::jitCompileImpl):
      (JSC::FunctionCodeBlock::jitCompileImpl):
      * bytecode/CodeBlock.h:
      (JSC::CodeBlock::jitType):
      (JSC::CodeBlock::jitCompile):
      * bytecode/DeferredCompilationCallback.cpp: Removed.
      * bytecode/DeferredCompilationCallback.h: Removed.
      * dfg/DFGDriver.cpp:
      (JSC::DFG::compile):
      (JSC::DFG::tryCompile):
      (JSC::DFG::tryCompileFunction):
      (JSC::DFG::tryFinalizePlan):
      * dfg/DFGDriver.h:
      (JSC::DFG::tryCompile):
      (JSC::DFG::tryCompileFunction):
      (JSC::DFG::tryFinalizePlan):
      * dfg/DFGFailedFinalizer.cpp:
      (JSC::DFG::FailedFinalizer::finalize):
      (JSC::DFG::FailedFinalizer::finalizeFunction):
      * dfg/DFGFailedFinalizer.h:
      * dfg/DFGFinalizer.h:
      * dfg/DFGJITFinalizer.cpp:
      (JSC::DFG::JITFinalizer::finalize):
      (JSC::DFG::JITFinalizer::finalizeFunction):
      * dfg/DFGJITFinalizer.h:
      * dfg/DFGOSRExitPreparation.cpp:
      (JSC::DFG::prepareCodeOriginForOSRExit):
      * dfg/DFGOperations.cpp:
      * dfg/DFGPlan.cpp:
      (JSC::DFG::Plan::Plan):
      (JSC::DFG::Plan::compileInThreadImpl):
      (JSC::DFG::Plan::finalize):
      * dfg/DFGPlan.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGWorklist.cpp:
      (JSC::DFG::Worklist::completeAllReadyPlansForVM):
      (JSC::DFG::Worklist::runThread):
      * ftl/FTLJITFinalizer.cpp:
      (JSC::FTL::JITFinalizer::finalize):
      (JSC::FTL::JITFinalizer::finalizeFunction):
      * ftl/FTLJITFinalizer.h:
      * heap/Heap.h:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::execute):
      (JSC::Interpreter::executeCall):
      (JSC::Interpreter::executeConstruct):
      (JSC::Interpreter::prepareForRepeatCall):
      * jit/JITDriver.h: Added.
      (JSC::jitCompileIfAppropriateImpl):
      (JSC::jitCompileFunctionIfAppropriateImpl):
      (JSC::jitCompileIfAppropriate):
      (JSC::jitCompileFunctionIfAppropriate):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      (JSC::jitCompileFor):
      (JSC::lazyLinkFor):
      * jit/JITToDFGDeferredCompilationCallback.cpp: Removed.
      * jit/JITToDFGDeferredCompilationCallback.h: Removed.
      * llint/LLIntEntrypoints.cpp:
      (JSC::LLInt::getFunctionEntrypoint):
      (JSC::LLInt::getEvalEntrypoint):
      (JSC::LLInt::getProgramEntrypoint):
      * llint/LLIntEntrypoints.h:
      (JSC::LLInt::getEntrypoint):
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::jitCompileAndSetHeuristics):
      (JSC::LLInt::setUpCall):
      * runtime/ArrayPrototype.cpp:
      (JSC::isNumericCompareFunction):
      * runtime/CommonSlowPaths.cpp:
      * runtime/CompilationResult.cpp:
      (WTF::printInternal):
      * runtime/CompilationResult.h:
      * runtime/Executable.cpp:
      (JSC::EvalExecutable::compileOptimized):
      (JSC::EvalExecutable::jitCompile):
      (JSC::EvalExecutable::compileInternal):
      (JSC::EvalExecutable::replaceWithDeferredOptimizedCode):
      (JSC::ProgramExecutable::compileOptimized):
      (JSC::ProgramExecutable::jitCompile):
      (JSC::ProgramExecutable::compileInternal):
      (JSC::ProgramExecutable::replaceWithDeferredOptimizedCode):
      (JSC::FunctionExecutable::compileOptimizedForCall):
      (JSC::FunctionExecutable::compileOptimizedForConstruct):
      (JSC::FunctionExecutable::jitCompileForCall):
      (JSC::FunctionExecutable::jitCompileForConstruct):
      (JSC::FunctionExecutable::produceCodeBlockFor):
      (JSC::FunctionExecutable::compileForCallInternal):
      (JSC::FunctionExecutable::replaceWithDeferredOptimizedCodeForCall):
      (JSC::FunctionExecutable::compileForConstructInternal):
      (JSC::FunctionExecutable::replaceWithDeferredOptimizedCodeForConstruct):
      * runtime/Executable.h:
      (JSC::ExecutableBase::offsetOfJITCodeWithArityCheckFor):
      (JSC::ExecutableBase::offsetOfNumParametersFor):
      (JSC::ExecutableBase::catchRoutineFor):
      (JSC::EvalExecutable::compile):
      (JSC::ProgramExecutable::compile):
      (JSC::FunctionExecutable::compileForCall):
      (JSC::FunctionExecutable::compileForConstruct):
      (JSC::FunctionExecutable::compileFor):
      (JSC::FunctionExecutable::compileOptimizedFor):
      (JSC::FunctionExecutable::replaceWithDeferredOptimizedCodeFor):
      (JSC::FunctionExecutable::jitCompileFor):
      * runtime/ExecutionHarness.h: Added.
      (JSC::prepareForExecutionImpl):
      (JSC::prepareFunctionForExecutionImpl):
      (JSC::installOptimizedCode):
      (JSC::prepareForExecution):
      (JSC::prepareFunctionForExecution):
      (JSC::replaceWithDeferredOptimizedCode):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea1f9022
    • ossy@webkit.org's avatar
      Buildfix after r154806 for !ENABLE(CSS_REGIONS) platforms. · 82dd0838
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120461
      
      Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2013-08-29
      Reviewed by Csaba Osztrogonác.
      
      moveToFlowThreadIfNeeded() is used only inside of ENABLE(CSS_REGIONS)
      block (and only once), so it should be guarded too.
      
      * style/StyleResolveTree.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82dd0838
    • ddkilzer@apple.com's avatar
      BUILD FIX (r154778): AXSearchFieldCancelButtonText() is not defined on iOS · 3afffe65
      ddkilzer@apple.com authored
      See: AX: Cancel button in search field not accessible.
      <https://webkit.org/b/120322>
      
      Fixes the following build error:
      
          In file included from Source/WebCore/accessibility/AccessibilityAllInOne.cpp:44:
          Source/WebCore/accessibility/AccessibilitySearchFieldButtons.cpp:46:12: error: use of undeclared identifier 'AXSearchFieldCancelButtonText'
              return AXSearchFieldCancelButtonText();
                     ^
          1 error generated.
      
      * accessibility/AccessibilitySearchFieldButtons.cpp:
      (WebCore::AccessibilitySearchFieldCancelButton::accessibilityDescription):
      Return String() instead of calling AXSearchFieldCancelButtonText() on iOS.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3afffe65