1. 12 Nov, 2013 25 commits
  2. 11 Nov, 2013 15 commits
    • ossy@webkit.org's avatar
      Unreviewed, rolling out r159088. · edbbfcd9
      ossy@webkit.org authored
      http://trac.webkit.org/changeset/159088
      https://bugs.webkit.org/show_bug.cgi?id=124187
      
      It broke the EFL build, because it removed a used function
      (rs=thorton) (Requested by Ossy_night on #webkit).
      
      Patch by Commit Queue <commit-queue@webkit.org> on 2013-11-11
      
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::resetStateAfterProcessExited):
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::urlAtProcessExit):
      (WebKit::WebPageProxy::loadStateAtProcessExit):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      edbbfcd9
    • beidson@apple.com's avatar
      Make IDBTransaction tasks asynchronous · f596c75a
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124183
      
      Reviewed by Tim Horton.
      
      This is an almost zero-change in behavior.
      
      The one thing that is different is that previously, IDBTransactionBackends would synchronously
      run through their entire set of IDBOperation’s without ever returning control to the runloop.
      
      Now, they start one task and then wait for its completion to schedule the start of the next task.
      
      Change IDBOperation’s perform() to take a completion handler so it can be asynchronous.
      Add an IDBSynchronousOperation class to handle "Abort" tasks, which never need to perform i/o
      and therefore can be entirely synchronous.
      * Modules/indexeddb/IDBOperation.h:
      (WebCore::IDBSynchronousOperation::~IDBSynchronousOperation):
      
      * Modules/indexeddb/IDBTransactionBackend.cpp:
      (WebCore::IDBTransactionBackend::scheduleTask): "Abort tasks" are now IDBSynchronousOperations.
      (WebCore::IDBTransactionBackend::abort):
      (WebCore::IDBTransactionBackend::taskTimerFired): Instead of running through the entire set of tasks,
        perform a single task asynchronously. The completion handler for the task will reset the task timer
        to asynchronously start the next task.
      * Modules/indexeddb/IDBTransactionBackend.h:
      (WebCore::IDBTransactionBackend::scheduleTask): "Abort tasks" are now IDBSynchronousOperations.
      
      Update all operations to take completion handlers.
      For now, perform things synchronously like before, calling the completion handler when complete.
      * Modules/indexeddb/IDBCursorBackend.cpp:
      (WebCore::CallOnDestruct::CallOnDestruct): Helper class to make sure completion callbacks are always called perform() exits.
      (WebCore::CallOnDestruct::~CallOnDestruct):
      (WebCore::IDBCursorBackend::CursorIterationOperation::create):
      (WebCore::IDBCursorBackend::CursorAdvanceOperation::create):
      (WebCore::IDBCursorBackend::CursorPrefetchIterationOperation::create):
      (WebCore::IDBCursorBackend::CursorAdvanceOperation::perform):
      (WebCore::IDBCursorBackend::CursorIterationOperation::perform):
      (WebCore::IDBCursorBackend::CursorPrefetchIterationOperation::perform):
      
      * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
      (WebCore::CallOnDestruct::CallOnDestruct): Helper class to make sure completion callbacks are always called when perform() exits.
      (WebCore::CallOnDestruct::~CallOnDestruct):
      (WebCore::CreateObjectStoreOperation::perform):
      (WebCore::CreateIndexOperation::perform):
      (WebCore::DeleteIndexOperation::perform):
      (WebCore::GetOperation::perform):
      (WebCore::PutOperation::perform):
      (WebCore::SetIndexesReadyOperation::perform):
      (WebCore::OpenCursorOperation::perform):
      (WebCore::CountOperation::perform):
      (WebCore::DeleteRangeOperation::perform):
      (WebCore::ClearOperation::perform):
      (WebCore::DeleteObjectStoreOperation::perform):
      (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
      
      * Modules/indexeddb/IDBTransactionBackendOperations.h:
      (WebCore::CreateObjectStoreOperation::create):
      (WebCore::DeleteObjectStoreOperation::create):
      (WebCore::IDBDatabaseBackend::VersionChangeOperation::create):
      (WebCore::CreateObjectStoreAbortOperation::create):
      (WebCore::DeleteObjectStoreAbortOperation::create):
      (WebCore::IDBDatabaseBackend::VersionChangeAbortOperation::create):
      (WebCore::CreateIndexOperation::create):
      (WebCore::CreateIndexAbortOperation::create):
      (WebCore::DeleteIndexOperation::create):
      (WebCore::DeleteIndexAbortOperation::create):
      (WebCore::GetOperation::create):
      (WebCore::PutOperation::create):
      (WebCore::SetIndexesReadyOperation::create):
      (WebCore::OpenCursorOperation::create):
      (WebCore::CountOperation::create):
      (WebCore::DeleteRangeOperation::create):
      (WebCore::ClearOperation::create):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f596c75a
    • ossy@webkit.org's avatar
      URTBF after r159077 to make GTK build happy. · 0def2e0d
      ossy@webkit.org authored
      * GNUmakefile.list.am:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0def2e0d
    • commit-queue@webkit.org's avatar
      Web Inspector: Remove some unused generated code · 22b31891
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124179
      
      Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-11-11
      Reviewed by Timothy Hatcher.
      
      * inspector/CodeGeneratorInspectorStrings.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22b31891
    • gyuyoung.kim@samsung.com's avatar
      Clean up static_cast<Element*> usage · a4e7a7b1
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124133
      
      Reviewed by Andreas Kling.
      
      We need to use toFoo cast function instead of static_cast<>. Though there is toElement(),
      static_cast<Element*> is still being used.
      
      No new tests, no behavior changes.
      
      * bindings/gobject/WebKitDOMPrivate.cpp:
      (WebKit::wrap):
      * dom/ElementTraversal.h:
      (WebCore::::lastWithinTemplate):
      (WebCore::::nextTemplate):
      (WebCore::::previousTemplate):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4e7a7b1
    • fpizlo@apple.com's avatar
      Get rid of the lastResultRegister optimization in the baseline JIT · 9a5ab80f
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124171
      
      Rubber stamped by Mark Hahnenberg.
              
      The baseline JIT no longer needs amazing throughput. And this optimization has caused
      way too many OSR exit bugs. And it constrains how much we can do in the DFG/FTL. So,
      I'm getting rid of it.
      
      * dfg/DFGOSRExit.cpp:
      (JSC::DFG::OSRExit::OSRExit):
      (JSC::DFG::OSRExit::convertToForward):
      * dfg/DFGOSRExit.h:
      * dfg/DFGOSRExitCompiler32_64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGOSRExitCompiler64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::SpeculativeJIT):
      (JSC::DFG::SpeculativeJIT::compileMovHint):
      (JSC::DFG::SpeculativeJIT::compileCurrentBlock):
      * dfg/DFGSpeculativeJIT.h:
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
      (JSC::FTL::LowerDFGToLLVM::compileZombieHint):
      (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint):
      (JSC::FTL::LowerDFGToLLVM::appendOSRExit):
      (JSC::FTL::LowerDFGToLLVM::observeMovHint):
      * ftl/FTLOSRExit.cpp:
      (JSC::FTL::OSRExit::OSRExit):
      (JSC::FTL::OSRExit::convertToForward):
      * ftl/FTLOSRExit.h:
      * ftl/FTLOSRExitCompiler.cpp:
      (JSC::FTL::compileStub):
      * jit/JIT.cpp:
      (JSC::JIT::JIT):
      (JSC::JIT::privateCompileMainPass):
      (JSC::JIT::privateCompileSlowCases):
      * jit/JIT.h:
      (JSC::JIT::appendCall):
      * jit/JITArithmetic32_64.cpp:
      (JSC::JIT::emit_op_lshift):
      (JSC::JIT::emitRightShift):
      (JSC::JIT::emit_op_bitand):
      (JSC::JIT::emit_op_bitor):
      (JSC::JIT::emit_op_bitxor):
      (JSC::JIT::emit_op_inc):
      (JSC::JIT::emit_op_dec):
      * jit/JITCall.cpp:
      (JSC::JIT::emitPutCallResult):
      (JSC::JIT::compileLoadVarargs):
      * jit/JITInlines.h:
      (JSC::JIT::emitGetFromCallFrameHeaderPtr):
      (JSC::JIT::emitGetFromCallFrameHeader32):
      (JSC::JIT::emitGetFromCallFrameHeader64):
      (JSC::JIT::emitLoadTag):
      (JSC::JIT::emitLoadPayload):
      (JSC::JIT::emitLoad2):
      (JSC::JIT::emitGetVirtualRegister):
      (JSC::JIT::emitGetVirtualRegisters):
      (JSC::JIT::emitPutVirtualRegister):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_mov):
      (JSC::JIT::emit_op_catch):
      (JSC::JIT::emit_op_new_func):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_mov):
      (JSC::JIT::emit_op_to_primitive):
      (JSC::JIT::emit_op_to_number):
      (JSC::JIT::emit_op_catch):
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::emit_op_resolve_scope):
      (JSC::JIT::emit_op_get_from_scope):
      (JSC::JIT::emit_op_put_to_scope):
      * jit/JITPropertyAccess32_64.cpp:
      (JSC::JIT::emit_op_get_by_val):
      (JSC::JIT::emit_op_get_by_id):
      (JSC::JIT::emit_op_get_by_pname):
      (JSC::JIT::emitResolveClosure):
      (JSC::JIT::emit_op_resolve_scope):
      (JSC::JIT::emit_op_get_from_scope):
      (JSC::JIT::emit_op_init_global_const):
      * jit/SlowPathCall.h:
      (JSC::JITSlowPathCall::call):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159091 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a5ab80f
    • gns@gnome.org's avatar
      REGRESSION(r158976): Web Inspector: unable to start docked or dock · 889fdd3a
      gns@gnome.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124148
      
      Reviewed by Timothy Hatcher.
      
      * UIProcess/WebInspectorProxy.cpp:
      (WebKit::WebInspectorProxy::canAttach): check for a level that is greater than 1 rather than 0
      to deny attachment, since 1 is the first level of inspectors.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      889fdd3a
    • andersca@apple.com's avatar
      FrameFilter can just be an std::function instead · 54b12055
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124176
      
      Reviewed by Tim Horton.
      
      Source/WebCore:
      
      * WebCore.exp.in:
      * loader/archive/cf/LegacyWebArchive.cpp:
      (WebCore::LegacyWebArchive::create):
      * loader/archive/cf/LegacyWebArchive.h:
      
      Source/WebKit/mac:
      
      * DOM/WebDOMOperations.mm:
      (-[DOMNode webArchiveByFilteringSubframes:]):
      
      Source/WebKit2:
      
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::webArchiveData):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      54b12055
    • andersca@apple.com's avatar
      Remove unused Qt cruft · 6f9ac118
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124174
      
      Reviewed by Tim Horton.
      
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::resetStateAfterProcessExited):
      * UIProcess/WebPageProxy.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159088 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f9ac118
    • andersca@apple.com's avatar
      REGRESSION (r158927): curly-braces-escaping.html is broken on Mac WebKit2 · d34c02cc
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124164
      
      Reviewed by Alexey Proskuryakov.
      
      Back out the change to use NSSecureCoding for encoding/decoding NSURLRequest and
      NSURLResponse objects; turns out the NSURL encoding/decoding doesn't preserve the raw URL bytes.
      
      * Shared/mac/WebCoreArgumentCodersMac.mm:
      (CoreIPC::encodePlatformData):
      (CoreIPC::decodePlatformData):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159084 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d34c02cc
    • ryuan.choi@samsung.com's avatar
      Unreviewed build fix on CMake Based port since r159077. · 2dfecd17
      ryuan.choi@samsung.com authored
      * CMakeLists.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159083 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2dfecd17
    • simon.fraser@apple.com's avatar
      REGRESSION (r155660): box-shadow causes overlay scrollbars to be in the wrong... · 1c06cdda
      simon.fraser@apple.com authored
      REGRESSION (r155660): box-shadow causes overlay scrollbars to be in the wrong position when element is composited (85647)
      https://bugs.webkit.org/show_bug.cgi?id=124090
      
      Source/WebCore:
      
      Reviewed by Beth Dakin.
      
      After r155660 we did fewer layouts, so were left with overlay scrollbars in the
      wrong locations because nothing would update them after RenderLayerBacking
      computed a new offsetFromRenderer.
      
      First part of the fix is to wean positionOverflowControlsLayers() off of
      an absolute offset from the root. Do this by not using Widget::frameRect()
      to position the layers, but instead RenderLayer::rectFor{Horizontal|Vertical}Scrollbar
      which is what we used to position the scrollbars in the first place.
      
      Second part of the fix is to call positionOverflowControlsLayers() from
      RenderLayerBacking::updateGraphicsLayerGeometry() if the offsetFromRenderer
      changed.
      
      Test: compositing/overflow/overflow-scrollbar-layer-positions.html
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::positionOverflowControls):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
      (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
      * rendering/RenderLayerBacking.h:
      
      LayoutTests:
      
      Reviewed by Beth Dakin.
      
      Test, but it doesn't actually test the fix until we enable overlay scrollbars
      in tests (bug 60716).
      
      * compositing/overflow/overflow-scrollbar-layer-positions-expected.txt: Added.
      * compositing/overflow/overflow-scrollbar-layer-positions.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c06cdda
    • bfulgham@apple.com's avatar
      [Win] m_isCompositeFontReference is uninitialized. · b017a3d3
      bfulgham@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124170
      
      Reviewed by Tim Horton.
      
      Initialize value to false, as is done in the other constructors for this data type.
      
      * platform/graphics/win/FontPlatformDataCGWin.cpp:
      (WebCore::FontPlatformData::FontPlatformData):
      * platform/graphics/win/FontPlatformDataCairoWin.cpp:
      (WebCore::FontPlatformData::FontPlatformData):
      * platform/graphics/win/FontPlatformDataWin.cpp:
      (WebCore::FontPlatformData::FontPlatformData):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159081 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b017a3d3
    • simon.fraser@apple.com's avatar
      Actually land a result for the test that I added (and make it a text test). · 9aa5303c
      simon.fraser@apple.com authored
      * compositing/tiling/tiled-in-iframe-expected.txt: Added.
      * compositing/tiling/tiled-in-iframe.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9aa5303c
    • timothy_horton@apple.com's avatar
      Remote Layer Tree: Implement Page Overlays · d808c0da
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124165
      <rdar://problem/15199056>
      
      Reviewed by Anders Carlsson.
      
      Implement page overlays, very similar to how they work in TiledCoreAnimationDrawingArea,
      but manipulating the PlatformCALayer tree instead of the CALayer tree directly.
      
      * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
      * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
      (WebKit::RemoteLayerTreeContext::outOfTreeLayerWasAdded):
      (WebKit::RemoteLayerTreeContext::outOfTreeLayerWillBeRemoved):
      (WebKit::RemoteLayerTreeContext::flushLayers):
      Add a list of out-of-tree GraphicsLayers which are flushed in addition
      to the page's GraphicsLayer tree, and functions to manipulate this list.
      
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
      Make RemoteLayerTreeDrawingArea a GraphicsLayerClient, so we can get callbacks
      from the GraphicsLayers that drive our page overlays.
      Override the relevant page overlay functions.
      Add storage for the root layer, view size, and a map of PageOverlay->GraphicsLayer.
      
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
      (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
      Store the root GraphicsLayer for later use.
      
      (WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
      Update the size of the page overlays when the DrawingArea's geometry changes.
      
      (WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
      Update the page overlay settings when necessary.
      
      (WebKit::RemoteLayerTreeDrawingArea::didInstallPageOverlay):
      Create a GraphicsLayer for our page overlay, set it up, and parent it.
      Inform the RemoteLayerTreeContext that it will need to flush this GraphicsLayer,
      since it's not a part of the page's GraphicsLayer tree.
      
      (WebKit::RemoteLayerTreeDrawingArea::didUninstallPageOverlay):
      Tear down our page overlay's GraphicsLayer.
      
      (WebKit::RemoteLayerTreeDrawingArea::setPageOverlayNeedsDisplay):
      (WebKit::RemoteLayerTreeDrawingArea::setPageOverlayOpacity):
      (WebKit::RemoteLayerTreeDrawingArea::paintContents):
      (WebKit::RemoteLayerTreeDrawingArea::deviceScaleFactor):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159079 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d808c0da