1. 11 Sep, 2011 8 commits
  2. 10 Sep, 2011 21 commits
    • fpizlo@apple.com's avatar
      The executable allocator makes it difficult to free individual · e6a7f5fb
      fpizlo@apple.com authored
      chunks of executable memory
      https://bugs.webkit.org/show_bug.cgi?id=66363
      
      Reviewed by Oliver Hunt.
              
      Introduced a best-fit, balanced-tree based allocator. The allocator
      required a balanced tree that does not allocate memory and that
      permits the removal of individual nodes directly (as opposed to by
      key); neither AVLTree nor WebCore's PODRedBlackTree supported this.
      Changed all references to executable code to use a reference counted
      handle.
      
      Source/JavaScriptCore: 
      
      * GNUmakefile.list.am:
      * JavaScriptCore.exp:
      * JavaScriptCore.vcproj/WTF/WTF.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * assembler/AssemblerBuffer.h:
      (JSC::AssemblerBuffer::executableCopy):
      * assembler/LinkBuffer.h:
      (JSC::LinkBuffer::LinkBuffer):
      (JSC::LinkBuffer::finalizeCode):
      (JSC::LinkBuffer::linkCode):
      * assembler/MacroAssemblerCodeRef.h:
      (JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
      (JSC::MacroAssemblerCodeRef::createSelfManagedCodeRef):
      (JSC::MacroAssemblerCodeRef::executableMemory):
      (JSC::MacroAssemblerCodeRef::code):
      (JSC::MacroAssemblerCodeRef::size):
      (JSC::MacroAssemblerCodeRef::operator!):
      * assembler/X86Assembler.h:
      (JSC::X86Assembler::executableCopy):
      (JSC::X86Assembler::X86InstructionFormatter::executableCopy):
      * bytecode/CodeBlock.h:
      * bytecode/Instruction.h:
      * bytecode/StructureStubInfo.h:
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::compile):
      (JSC::DFG::JITCompiler::compileFunction):
      * dfg/DFGRepatch.cpp:
      (JSC::DFG::generateProtoChainAccessStub):
      (JSC::DFG::tryCacheGetByID):
      (JSC::DFG::tryBuildGetByIDList):
      (JSC::DFG::tryBuildGetByIDProtoList):
      (JSC::DFG::tryCachePutByID):
      * jit/ExecutableAllocator.cpp:
      (JSC::ExecutableAllocator::initializeAllocator):
      (JSC::ExecutableAllocator::ExecutableAllocator):
      (JSC::ExecutableAllocator::allocate):
      (JSC::ExecutableAllocator::committedByteCount):
      (JSC::ExecutableAllocator::dumpProfile):
      * jit/ExecutableAllocator.h:
      (JSC::ExecutableAllocator::dumpProfile):
      * jit/ExecutableAllocatorFixedVMPool.cpp:
      (JSC::ExecutableAllocator::initializeAllocator):
      (JSC::ExecutableAllocator::ExecutableAllocator):
      (JSC::ExecutableAllocator::isValid):
      (JSC::ExecutableAllocator::underMemoryPressure):
      (JSC::ExecutableAllocator::allocate):
      (JSC::ExecutableAllocator::committedByteCount):
      (JSC::ExecutableAllocator::dumpProfile):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompile):
      * jit/JIT.h:
      (JSC::JIT::compileCTIMachineTrampolines):
      (JSC::JIT::compileCTINativeCall):
      * jit/JITCode.h:
      (JSC::JITCode::operator !):
      (JSC::JITCode::addressForCall):
      (JSC::JITCode::offsetOf):
      (JSC::JITCode::execute):
      (JSC::JITCode::start):
      (JSC::JITCode::size):
      (JSC::JITCode::getExecutableMemory):
      (JSC::JITCode::HostFunction):
      (JSC::JITCode::JITCode):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::privateCompileCTIMachineTrampolines):
      (JSC::JIT::privateCompileCTINativeCall):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::privateCompileCTIMachineTrampolines):
      (JSC::JIT::privateCompileCTINativeCall):
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::stringGetByValStubGenerator):
      (JSC::JIT::emitSlow_op_get_by_val):
      (JSC::JIT::privateCompilePutByIdTransition):
      (JSC::JIT::privateCompilePatchGetArrayLength):
      (JSC::JIT::privateCompileGetByIdProto):
      (JSC::JIT::privateCompileGetByIdSelfList):
      (JSC::JIT::privateCompileGetByIdProtoList):
      (JSC::JIT::privateCompileGetByIdChainList):
      (JSC::JIT::privateCompileGetByIdChain):
      * jit/JITPropertyAccess32_64.cpp:
      (JSC::JIT::stringGetByValStubGenerator):
      (JSC::JIT::emitSlow_op_get_by_val):
      (JSC::JIT::privateCompilePutByIdTransition):
      (JSC::JIT::privateCompilePatchGetArrayLength):
      (JSC::JIT::privateCompileGetByIdProto):
      (JSC::JIT::privateCompileGetByIdSelfList):
      (JSC::JIT::privateCompileGetByIdProtoList):
      (JSC::JIT::privateCompileGetByIdChainList):
      (JSC::JIT::privateCompileGetByIdChain):
      * jit/JITStubs.cpp:
      (JSC::JITThunks::JITThunks):
      (JSC::DEFINE_STUB_FUNCTION):
      (JSC::getPolymorphicAccessStructureListSlot):
      (JSC::JITThunks::ctiStub):
      (JSC::JITThunks::hostFunctionStub):
      * jit/JITStubs.h:
      * jit/SpecializedThunkJIT.h:
      (JSC::SpecializedThunkJIT::SpecializedThunkJIT):
      (JSC::SpecializedThunkJIT::finalize):
      * jit/ThunkGenerators.cpp:
      (JSC::charCodeAtThunkGenerator):
      (JSC::charAtThunkGenerator):
      (JSC::fromCharCodeThunkGenerator):
      (JSC::sqrtThunkGenerator):
      (JSC::floorThunkGenerator):
      (JSC::ceilThunkGenerator):
      (JSC::roundThunkGenerator):
      (JSC::expThunkGenerator):
      (JSC::logThunkGenerator):
      (JSC::absThunkGenerator):
      (JSC::powThunkGenerator):
      * jit/ThunkGenerators.h:
      * runtime/Executable.h:
      (JSC::NativeExecutable::create):
      * runtime/InitializeThreading.cpp:
      (JSC::initializeThreadingOnce):
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::JSGlobalData):
      (JSC::JSGlobalData::dumpSampleData):
      * runtime/JSGlobalData.h:
      (JSC::JSGlobalData::getCTIStub):
      * wtf/CMakeLists.txt:
      * wtf/MetaAllocator.cpp: Added.
      (WTF::MetaAllocatorHandle::MetaAllocatorHandle):
      (WTF::MetaAllocatorHandle::~MetaAllocatorHandle):
      (WTF::MetaAllocatorHandle::shrink):
      (WTF::MetaAllocator::MetaAllocator):
      (WTF::MetaAllocator::allocate):
      (WTF::MetaAllocator::currentStatistics):
      (WTF::MetaAllocator::findAndRemoveFreeSpace):
      (WTF::MetaAllocator::addFreeSpaceFromReleasedHandle):
      (WTF::MetaAllocator::addFreshFreeSpace):
      (WTF::MetaAllocator::debugFreeSpaceSize):
      (WTF::MetaAllocator::addFreeSpace):
      (WTF::MetaAllocator::incrementPageOccupancy):
      (WTF::MetaAllocator::decrementPageOccupancy):
      (WTF::MetaAllocator::roundUp):
      (WTF::MetaAllocator::allocFreeSpaceNode):
      (WTF::MetaAllocator::freeFreeSpaceNode):
      (WTF::MetaAllocator::dumpProfile):
      * wtf/MetaAllocator.h: Added.
      (WTF::MetaAllocator::bytesAllocated):
      (WTF::MetaAllocator::bytesReserved):
      (WTF::MetaAllocator::bytesCommitted):
      (WTF::MetaAllocator::dumpProfile):
      (WTF::MetaAllocator::~MetaAllocator):
      * wtf/MetaAllocatorHandle.h: Added.
      * wtf/RedBlackTree.h: Added.
      (WTF::RedBlackTree::Node::Node):
      (WTF::RedBlackTree::Node::successor):
      (WTF::RedBlackTree::Node::predecessor):
      (WTF::RedBlackTree::Node::reset):
      (WTF::RedBlackTree::Node::parent):
      (WTF::RedBlackTree::Node::setParent):
      (WTF::RedBlackTree::Node::left):
      (WTF::RedBlackTree::Node::setLeft):
      (WTF::RedBlackTree::Node::right):
      (WTF::RedBlackTree::Node::setRight):
      (WTF::RedBlackTree::Node::color):
      (WTF::RedBlackTree::Node::setColor):
      (WTF::RedBlackTree::RedBlackTree):
      (WTF::RedBlackTree::insert):
      (WTF::RedBlackTree::remove):
      (WTF::RedBlackTree::findExact):
      (WTF::RedBlackTree::findLeastGreaterThanOrEqual):
      (WTF::RedBlackTree::findGreatestLessThanOrEqual):
      (WTF::RedBlackTree::first):
      (WTF::RedBlackTree::last):
      (WTF::RedBlackTree::size):
      (WTF::RedBlackTree::isEmpty):
      (WTF::RedBlackTree::treeMinimum):
      (WTF::RedBlackTree::treeMaximum):
      (WTF::RedBlackTree::treeInsert):
      (WTF::RedBlackTree::leftRotate):
      (WTF::RedBlackTree::rightRotate):
      (WTF::RedBlackTree::removeFixup):
      * wtf/wtf.pri:
      * yarr/YarrJIT.cpp:
      (JSC::Yarr::YarrGenerator::compile):
      * yarr/YarrJIT.h:
      (JSC::Yarr::YarrCodeBlock::execute):
      (JSC::Yarr::YarrCodeBlock::getAddr):
      
      Source/JavaScriptGlue: 
      
      * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.
      
      Source/WebCore: 
      
      No new layout tests because behavior is not changed.  New API unit
      tests:
      Tests/WTF/RedBlackTree.cpp
      Tests/WTF/MetaAllocator.cpp
      
      * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.
      
      Tools: 
      
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      * TestWebKitAPI/Tests/WTF/MetaAllocator.cpp: Added.
      (TestWebKitAPI::TEST_F):
      * TestWebKitAPI/Tests/WTF/RedBlackTree.cpp: Added.
      (TestWebKitAPI::Pair::findExact):
      (TestWebKitAPI::Pair::remove):
      (TestWebKitAPI::Pair::findLeastGreaterThanOrEqual):
      (TestWebKitAPI::Pair::assertFoundAndRemove):
      (TestWebKitAPI::Pair::assertEqual):
      (TestWebKitAPI::Pair::assertSameValuesForKey):
      (TestWebKitAPI::Pair::testDriver):
      (TestWebKitAPI::TEST_F):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6a7f5fb
    • weinig@apple.com's avatar
      Remove JSC::isZombie() function, it did nothing and was called by no-one. · 2cdc5a2d
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67901
      
      Reviewed by Andy Estes.
      
      * JavaScriptCore.exp:
      * runtime/JSCell.cpp:
      * runtime/JSValue.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2cdc5a2d
    • weinig@apple.com's avatar
      Add isInterruptedExecutionException and isTerminatedExecutionException predicates · 76c11465
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67892
      
      Reviewed by Andy "First Time Reviewer" Estes.
      
      ../JavaScriptCore: 
      
      * JavaScriptCore.exp:
      Add symbols.
      
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::throwException):
      Use new predicates.
      
      * runtime/ExceptionHelpers.cpp:
      (JSC::createInterruptedExecutionException):
      (JSC::isInterruptedExecutionException):
      (JSC::createTerminatedExecutionException):
      (JSC::isTerminatedExecutionException):
      * runtime/ExceptionHelpers.h:
      (JSC::InterruptedExecutionError::InterruptedExecutionError):
      Add predicates.
      
      ../WebCore: 
      
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::reportException):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::handleEvent):
      * bindings/js/WorkerScriptController.cpp:
      (WebCore::WorkerScriptController::evaluate):
      Use the new predicates instead of probing the ClassInfo directly.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76c11465
    • aestes@apple.com's avatar
      Move myself from committers_unable_to_review to reviewers_list. · 87c77d58
      aestes@apple.com authored
      * Scripts/webkitpy/common/config/committers.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94917 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87c77d58
    • kevino@webkit.org's avatar
      [wx] Unreviewed build fix. MSW build fixes. · 2f661a04
      kevino@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f661a04
    • rniwa@webkit.org's avatar
      Skip fast/images/support-broken-image-delegate.html temporarily on Mac. · 90824f81
      rniwa@webkit.org authored
      The failure is tracked by the bug 67898.
      
      * platform/mac/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90824f81
    • fpizlo@apple.com's avatar
      DFG JIT completely undoes speculative compilation even in the case of · 63ced6ae
      fpizlo@apple.com authored
      a partial static speculation failure
      https://bugs.webkit.org/show_bug.cgi?id=67798
      
      Reviewed by Geoffrey Garen.
      
      This is a regression with static speculation, so it is turned off by
      default.  But it is a necessary prerequisite for further work on
      dynamic speculation.
      
      * dfg/DFGJITCodeGenerator.cpp:
      (JSC::DFG::JITCodeGenerator::clearGenerationInfo):
      * dfg/DFGJITCodeGenerator.h:
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      63ced6ae
    • hyatt@apple.com's avatar
      Remove emacs backup file that got committed by mistake. · 0791391f
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0791391f
    • hyatt@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=67861 · 00b988ce
      hyatt@apple.com authored
              
      Implement border-image-outset (and the mask equivalents).
      
      Reviewed by Beth Dakin.
      
      Source/WebCore: 
      
      Added new tests in fast/borders and fast/reflections.
      
      * css/CSSBorderImageValue.cpp:
      (WebCore::CSSBorderImageValue::CSSBorderImageValue):
      (WebCore::CSSBorderImageValue::cssText):
      * css/CSSBorderImageValue.h:
      (WebCore::CSSBorderImageValue::create):
      Add m_outset field to CSSBorderImageValue and teach it how to dump the field as
      part of cssText().
      
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::valueForNinePieceImageQuad):
      (WebCore::valueForNinePieceImage):
      (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
      Add support for border-image-outset and -webkit-mask-box-image-outset. Refactor
      the code so that border-image-width and border-image-outset use a common
      function.
      
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseValue):
      (WebCore::BorderImageParseContext::BorderImageParseContext):
      (WebCore::BorderImageParseContext::allowOutset):
      (WebCore::BorderImageParseContext::commitSlash):
      (WebCore::BorderImageParseContext::commitBorderWidth):
      (WebCore::BorderImageParseContext::commitBorderOutset):
      (WebCore::BorderImageParseContext::commitRepeat):
      (WebCore::BorderImageParseContext::commitBorderImage):
      (WebCore::CSSParser::parseBorderImage):
      Teach the border image parsing code about outsets. This code will soon be
      replaced by true shorthand parsing code, but for now keep it working and add
      outset support to it.
      
      (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
      (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
      (WebCore::CSSParser::parseBorderImageQuad):
      (WebCore::CSSParser::parseBorderImageWidth):
      (WebCore::CSSParser::parseBorderImageOutset):
      * css/CSSParser.h:
      Refactor the border-image-width code so that it can be shared by border-image-outset, since
      they are extremely similar.
      
      * css/CSSPropertyNames.in:
      Add the new properties.
      
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::applyProperty):
      (WebCore::CSSStyleSelector::mapNinePieceImage):
      (WebCore::CSSStyleSelector::mapNinePieceImageQuad):
      (WebCore::CSSStyleSelector::loadPendingImages):
      * css/CSSStyleSelector.h:
      Refactor the code so that width/outset share common mapping functions. Add support for outset.
      
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::addToLine):
      (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
      (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
      (WebCore::InlineFlowBox::computeOverflow):
      Add new functions for computing the visual overflow caused by border outsets. Fix bugs in
      the shadow overflow code as well.
      
      (WebCore::clipRectForNinePieceImageStrip):
      (WebCore::InlineFlowBox::paintBoxDecorations):
      (WebCore::InlineFlowBox::paintMask):
      * rendering/InlineFlowBox.h:
      Make sure the clip rect pushed when painting one piece of a split inline strip is expanded to
      include the border and mask outsets. Always include the block direction expansion, and conditionally
      include the inline direction expansion based off includeLogicalLeftEdge()/includeLogicalRightEdge().
      clipRectForNinePieceImageStrip is a common function shared by masks and border images that does this
      work.
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::computeOverflow):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::maskClipRect):
      (WebCore::RenderBox::addBoxShadowAndBorderOverflow):
      * rendering/RenderBox.h:
      Rename addShadowOverflow to addBoxShadowAndBorderOverflow. Have it compute both shadow and border image
      outset overflow. Fix bugs with shadow overflow computation.
      
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::paintNinePieceImage):
      Change painting to apply the outsets to inflate the border image drawing area.
      
      * rendering/RenderEmbeddedObject.cpp:
      (WebCore::RenderEmbeddedObject::layout):
      * rendering/RenderIFrame.cpp:
      (WebCore::RenderIFrame::layout):
      Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::calculateRects):
      Patched to no longer apply box-shadow to overflow clip areas when inflating the intersection area for the
      layer bounds. Instead we generically apply all visual overflow so that border image outsets will also be
      included. This fixes https://bugs.webkit.org/show_bug.cgi?id=37467.
      
      * rendering/RenderReplaced.cpp:
      (WebCore::RenderReplaced::layout):
      Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
      
      * rendering/style/NinePieceImage.cpp:
      (WebCore::NinePieceImage::operator==):
      * rendering/style/NinePieceImage.h:
      (WebCore::NinePieceImage::NinePieceImage):
      (WebCore::NinePieceImage::outset):
      (WebCore::NinePieceImage::setOutset):
      (WebCore::NinePieceImage::computeOutset):
      (WebCore::NinePieceImage::copyOutsetFrom):
      Add the outset field to NinePieceImage along with some helpers for manipulating outsets.
      
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::getImageOutsets):
      (WebCore::RenderStyle::getImageHorizontalOutsets):
      (WebCore::RenderStyle::getImageVerticalOutsets):
      * rendering/style/RenderStyle.h:
      (WebCore::InheritedFlags::hasBorderImageOutsets):
      (WebCore::InheritedFlags::getBorderImageOutsets):
      (WebCore::InheritedFlags::getBorderImageHorizontalOutsets):
      (WebCore::InheritedFlags::getBorderImageVerticalOutsets):
      (WebCore::InheritedFlags::getBorderImageInlineDirectionOutsets):
      (WebCore::InheritedFlags::getBorderImageBlockDirectionOutsets):
      (WebCore::InheritedFlags::getImageInlineDirectionOutsets):
      (WebCore::InheritedFlags::getImageBlockDirectionOutsets):
      Helpers for outset computation used by painting and overflow functions.
      
      LayoutTests: 
      
      * fast/borders/block-mask-overlay-image-outset.html: Added.
      * fast/borders/block-mask-overlay-image.html~: Added.
      * fast/borders/border-image-outset-in-shorthand.html: Added.
      * fast/borders/border-image-outset-split-inline-vertical-lr.html: Added.
      * fast/borders/border-image-outset-split-inline.html: Added.
      * fast/borders/border-image-outset.html: Added.
      * fast/borders/inline-mask-overlay-image-outset-vertical-rl.html: Added.
      * fast/borders/inline-mask-overlay-image-outset.html: Added.
      * fast/css/getComputedStyle/computed-style-expected.txt:
      * fast/css/getComputedStyle/computed-style-with-zoom-expected.txt:
      * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
      * fast/css/getComputedStyle/getComputedStyle-border-image-expected.txt:
      * fast/reflections/reflection-computed-style-expected.txt:
      * fast/reflections/reflection-masks-outset.html: Added.
      * platform/mac/fast/borders/block-mask-overlay-image-outset-expected.png: Added.
      * platform/mac/fast/borders/block-mask-overlay-image-outset-expected.txt: Added.
      * platform/mac/fast/borders/border-image-outset-expected.png: Added.
      * platform/mac/fast/borders/border-image-outset-expected.txt: Added.
      * platform/mac/fast/borders/border-image-outset-in-shorthand-expected.png: Added.
      * platform/mac/fast/borders/border-image-outset-in-shorthand-expected.txt: Added.
      * platform/mac/fast/borders/border-image-outset-split-inline-expected.png: Added.
      * platform/mac/fast/borders/border-image-outset-split-inline-expected.txt: Added.
      * platform/mac/fast/borders/border-image-outset-split-inline-vertical-lr-expected.png: Added.
      * platform/mac/fast/borders/border-image-outset-split-inline-vertical-lr-expected.txt: Added.
      * platform/mac/fast/borders/inline-mask-overlay-image-outset-expected.png: Added.
      * platform/mac/fast/borders/inline-mask-overlay-image-outset-expected.txt: Added.
      * platform/mac/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.png: Added.
      * platform/mac/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.txt: Added.
      * platform/mac/fast/reflections/reflection-masks-outset-expected.png: Added.
      * platform/mac/fast/reflections/reflection-masks-outset-expected.txt: Added.
      * svg/css/getComputedStyle-basic-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      00b988ce
    • mitz@apple.com's avatar
      Actually prevent unnecessary casts to MediaControls*. · e104c05f
      mitz@apple.com authored
      Reviewed by Oliver Hunt.
      
      * html/shadow/MediaControls.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e104c05f
    • rniwa@webkit.org's avatar
      Remove printf added by r94900. · 54fbcaf0
      rniwa@webkit.org authored
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::drawPlatformResizerImage):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      54fbcaf0
    • commit-queue@webkit.org's avatar
      Crash beneath WKURLIsEqual() when reloading in MiniBrowser. · 055dc218
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=59328
      
      Patch by Andreas Kling <kling@webkit.org> on 2011-09-10
      Reviewed by Kenneth Rohde Christiansen.
      
      * MiniBrowser/mac/BrowserWindowController.m:
      (-[BrowserWindowController updateProvisionalURLForFrame:]): Add missing null check.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      055dc218
    • cmarrin@apple.com's avatar
      requestAnimationFrame doesn't throttle on Mac · d9dca741
      cmarrin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67171
      
      Reviewed by Simon Fraser.
      
      Source/JavaScriptCore:
      
      Added WTF_USE_REQUEST_ANIMATION_FRAME_TIMER to allow any platform to run
      requestAnimationFrame callbacks on a Timer defined in ScriptedAnimationController.
      Currently only enabled for PLATFORM(MAC)
      
      * wtf/Platform.h:
      
      Source/WebCore:
      
      Changed requestAnimationFrame to use a Timer in ScriptedAnimationController
      on Mac, rather than runLoopObservers. The Timer is throttled to fire no
      faster than every 15ms. It is behind a WTF_USE_REQUEST_ANIMATION_FRAME_TIMER
      flag and can be used by any implementation, but currently it is only enabled
      by PLATFORM(MAC).
      
      * dom/ScriptedAnimationController.cpp:
      (WebCore::ScriptedAnimationController::ScriptedAnimationController):
      (WebCore::ScriptedAnimationController::resume):
      (WebCore::ScriptedAnimationController::registerCallback):
      (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
      (WebCore::ScriptedAnimationController::scheduleAnimation):
      (WebCore::ScriptedAnimationController::animationTimerFired):
      * dom/ScriptedAnimationController.h:
      * loader/EmptyClients.h:
      * page/Chrome.cpp:
      (WebCore::Chrome::scheduleAnimation):
      * page/ChromeClient.h:
      
      Source/WebKit/mac:
      
      Removed runLoopObserver for requestAnimationFrame. It's now
      done by a Timer in ScriptedAnimationController in WebCore.
      
      * WebCoreSupport/WebChromeClient.h:
      * WebCoreSupport/WebChromeClient.mm:
      * WebView/WebView.mm:
      (-[WebView _close]):
      * WebView/WebViewData.h:
      * WebView/WebViewInternal.h:
      
      Source/WebKit2:
      
      Removed runLoopObserver for requestAnimationFrame. It's now
      done by a Timer in ScriptedAnimationController in WebCore.
      
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::~WebPage):
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9dca741
    • ossy@webkit.org's avatar
      [Qt] Unreviewed gardening after r94897. · 1542f550
      ossy@webkit.org authored
      * platform/qt/svg/custom/simple-text-double-shadow-expected.png: Added.
      * platform/qt/svg/custom/simple-text-double-shadow-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1542f550
    • commit-queue@webkit.org's avatar
      Source/WebCore: [Qt] QWebSettings::setUserStyleSheetUrl() does not work with... · 6ccd2782
      commit-queue@webkit.org authored
      Source/WebCore: [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
      https://bugs.webkit.org/show_bug.cgi?id=34884
      
      KURL::path() alone does not handle removing the leading slash from a windows file path.
      Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.
      
      Patch by Jarred Nicholls <jarred@sencha.com> on 2011-09-10
      Reviewed by Andreas Kling.
      
      * platform/qt/KURLQt.cpp:
      (WebCore::KURL::fileSystemPath):
      
      Source/WebKit/qt: [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
      https://bugs.webkit.org/show_bug.cgi?id=34884
      
      KURL::path() alone does not handle removing the leading slash from a windows file path.
      Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.
      
      New test case that ensures a user stylesheet from the file system will load correctly
      on all platforms.
      
      Patch by Jarred Nicholls <jarred@sencha.com> on 2011-09-10
      Reviewed by Andreas Kling.
      
      * tests/qwebpage/resources/user.css: Added.
      (p):
      * tests/qwebpage/tst_qwebpage.cpp:
      (tst_QWebPage::userStyleSheetFromFile):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ccd2782
    • commit-queue@webkit.org's avatar
      Source/WebCore: Crash due to bad data in SVGDocumentExtensions m_pendingResources · bfd3b665
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67488
      
      Patch by Ken Buchanan <kenrb@chromium.org> on 2011-09-10
      Reviewed by Nikolas Zimmermann.
      
      Resolving a crash condition caused by the deletion of
      elements while pending resource entries for those elements are still
      recorded.
      
      * rendering/svg/RenderSVGResourceContainer.cpp:
      (WebCore::RenderSVGResourceContainer::registerResource)
      * svg/SVGDocumentExtensions.h:
      (WebCore::SVGDocumentExtensions::isElementInPendingResources)
      * svg/SVGDocumentExtensions.cpp:
      (WebCore::SVGDocumentExtensions::addPendingResource)
      (WebCore::SVGDocumentExtensions::isElementInPendingResources)
      (WebCore::SVGDocumentExtensions::removeElementFromPendingResources)
      * svg/SVGStyledElement.h:
      (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
      * svg/SVGStyledElement.cpp:
      (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded)
      (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
      * svg/SVGUseElement.cpp:
      (WebCore::SVGUseElement::svgAttributeChanged)
      
      LayoutTests: Crash due to bad data in SVGDocumentExtensions m_pendingResources.
      https://bugs.webkit.org/show_bug.cgi?id=67488
      
      Patch by Ken Buchanan <kenrb@chromium.org> on 2011-09-10
      Reviewed by Nikolas Zimmermann.
      
      Test added: validating that the crash referenced in the bug is not present.
      
      * svg/dom/SVGStyledElement-pendingResource-crash.html: Added.
      * svg/dom/SVGStyledElement-pendingResource-crash-expected.txt: Added.
      * svg/dom/resources/SVGStyledElement-pendingResource-crash.svg: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfd3b665
    • abarth@webkit.org's avatar
      Build fix for Android. DumpRenderTree is a client of the WebKit API · b6104dff
      abarth@webkit.org authored
      and does not have access to notImplemented().
      
      * DumpRenderTree/chromium/TestShellAndroid.cpp:
      (openStartupDialog):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b6104dff
    • abarth@webkit.org's avatar
      Fix build break. · fff716eb
      abarth@webkit.org authored
      * webkit/webkitwebview.cpp:
      (webkit_web_view_get_encoding):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fff716eb
    • abarth@webkit.org's avatar
      Remove DocumentWriter::deprecatedFrameEncoding() · 7474a735
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67882
      
      Reviewed by Eric Seidel.
      
      Three years ago, in http://trac.webkit.org/changeset/39026, Alexey
      Proskuryakov added ContentDispositionEncodingFallbackArray to work
      around a web site compatibility issue with a non-ASCII file name
      becoming garbled when received in the Content-Disposition header.
      
      Since that time, there has been copious discussion of this topic among
      browser vendors, in the IETF, and in the broader web community.  For
      example, here is a Stack Overflow thread about this topic:
      
      http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http
      
      Eric Lawrence has written a blog post that summarizes IE's perspective
      on this issue:
      
      http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx
      
      The current consensus is that browsers should implement RFC 6266,
      which is a new RFC that updates the definition of the
      Content-Disposition header.  Chrome and Firefox have both implemented
      RFC 6266 and have encountered only one issue, which was then fixed by
      the web site operator.  IE has also implemented RFC 6266, but I don't
      have detailed information about their compatibility experience.
      
      This patch add explicit PLATFORM #ifdefs around the quirky
      implementation previously used in Apple's Mac and Windows ports.  This
      code is already only used on Apple's ports, so this patch introduces no
      functional changes.  It does, however, discourage other ports from
      adopting this quirk.  IMHO, Apple should remove this quirk as soon as
      compatibility allows and converge behavior with the other major browser
      vendors.
      
      See bug for manual test (the bug manifests in Safari download UI).
      
      * loader/DocumentWriter.cpp:
      * loader/DocumentWriter.h:
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::addExtraFieldsToRequest):
      * platform/network/ResourceRequestBase.cpp:
      (WebCore::ResourceRequestBase::adopt):
      (WebCore::ResourceRequestBase::copyData):
      * platform/network/ResourceRequestBase.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7474a735
    • bdakin@apple.com's avatar
      Attempted Leopard build fix. · b634e70a
      bdakin@apple.com authored
      * rendering/RenderImage.cpp:
      (WebCore::RenderImage::paintReplaced):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::drawPlatformResizerImage):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b634e70a
    • bdakin@apple.com's avatar
      Fix for https://bugs.webkit.org/show_bug.cgi?id=67819 · b49bc3da
      bdakin@apple.com authored
      Use high resolution platform images when the deviceScaleFactor > 1
      -and corresponding-
      <rdar://problem/10003098>
      
      Reviewed by Darin Adler.
      
      Add all of the new high resolution images. I also removed some tiffs from the 
      project and replaced them with png equivalents (that are already checked into 
      WebCore anyway). Since the high resolution images are pngs, it makes sense to use 
      pngs for all of the images that load through Image::loadPlatformResource()
      * WebCore.xcodeproj/project.pbxproj:
      * platform/graphics/mac/ImageMac.mm:
      (WebCore::Image::loadPlatformResource):
      
      Load the @2x resource for deviceScaleFactors >= 2.
      * editing/DeleteButtonController.cpp:
      (WebCore::DeleteButtonController::createDeletionUI):
      
      CachedImage::brokenImage() is no longer a static helper function, but a real 
      member function. It also now loads the @2x resource for deviceScaleFactors >= 2 
      and takes a parameter for the deviceScaleFactor. When CachedImage::image() returns 
      the brokenImage(), it just returns the 1x version. brokenImage() has to be called 
      directly to reliably return the deviceScaleFactor-appropriate resource.
      * loader/cache/CachedImage.cpp:
      (WebCore::CachedImage::brokenImage):
      (WebCore::CachedImage::image):
      * loader/cache/CachedImage.h:
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::drawPlatformResizerImage):
      (WebCore::RenderLayer::paintResizer):
      * rendering/RenderLayer.h:
      
      New static function to retrieve the deviceScaleFactor for callers that do not have 
      direct access to a Page.
      * page/Page.cpp:
      (WebCore::Page::deviceScaleFactor):
      * page/Page.h:
      
      Call CachedImage::brokenImage() for the broken-image image at an accurate 
      resolution.
      * rendering/RenderImage.cpp:
      (WebCore::RenderImage::imageSizeForError):
      (WebCore::RenderImage::paintReplaced):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b49bc3da
  3. 09 Sep, 2011 11 commits
    • ap@apple.com's avatar
      Add a script to create a monolithic script-test · 5c610f60
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=67747
      
              Reviewed by Darin Adler.
      
              * Scripts/make-new-script-test: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c610f60
    • arv@chromium.org's avatar
      Move Element.contains to Node · 03ce4650
      arv@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67651
      
      Reviewed by Darin Adler.
      
      This moves the contains method from Element to Node as in the DOM4 working draft:
      http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
      
      This also special cases Document contains to make it O(1) instead of O(depth).
      
      Source/WebCore:
      
      Tests: fast/dom/Node/contains-method.html
             perf/document-contains.html
      
      * bindings/objc/PublicDOMInterfaces.h: Move contains from DOMElement to DOMNode.
      * dom/Element.idl:
      * dom/Node.cpp:
      (WebCore::Node::contains): Added document special case.
      * dom/Node.idl:
      * editing/DeleteSelectionCommand.cpp:
      (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
      
      LayoutTests:
      
      * fast/dom/Element/contains-method-expected.txt: Removed.
      * fast/dom/Element/script-tests/contains-method.js: Removed.
      * fast/dom/Node/contains-method-expected.txt: Added.
      * fast/dom/Node/contains-method.html: Renamed from LayoutTests/fast/dom/Element/contains-method.html.
      * fast/dom/Node/script-tests/contains-method.js: Added. Expanded tests.
      * fast/dom/Window/window-properties-expected.txt:
      * perf/document-contains-expected.txt: Added.
      * perf/document-contains.html: Added.
                                     Perf test to ensure that document.contains is O(1).
      * platform/gtk/fast/dom/Window/window-properties-expected.txt:
      * platform/mac/fast/dom/Window/window-properties-expected.txt:
      * platform/qt-wk2/fast/dom/Window/window-properties-expected.txt:
      * platform/qt/fast/dom/Window/window-properties-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03ce4650
    • timothy_horton@apple.com's avatar
      Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow · b09bdbf3
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67543
      <rdar://problem/10070536>
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Generalize (begin|end)TransparencyLayer, which now forward
      through to (begin|end)PlatformTransparencyLayer, so that
      isInTransparencyLayer can exist on every platform.
      
      Make use of isInTransparencyLayer in FontMac to disable
      "simple" shadow drawing when the text is being rendered
      into a transparency layer.
      
      Test: svg/custom/simple-text-double-shadow.svg
      
      * platform/graphics/GraphicsContext.cpp:
      (WebCore::GraphicsContext::GraphicsContext):
      (WebCore::GraphicsContext::~GraphicsContext):
      (WebCore::GraphicsContext::beginTransparencyLayer):
      (WebCore::GraphicsContext::endTransparencyLayer):
      (WebCore::GraphicsContext::isInTransparencyLayer):
      * platform/graphics/GraphicsContext.h:
      * platform/graphics/cairo/GraphicsContextCairo.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
      * platform/graphics/cg/GraphicsContextCG.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
      (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
      * platform/graphics/haiku/GraphicsContextHaiku.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/mac/FontMac.mm:
      (WebCore::Font::drawGlyphs):
      * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/qt/GraphicsContextQt.cpp:
      (WebCore::GraphicsContext::isInTransparencyLayer):
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/skia/GraphicsContextSkia.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/win/FontCGWin.cpp:
      (WebCore::drawGDIGlyphs):
      * platform/graphics/win/GraphicsContextCGWin.cpp:
      (WebCore::GraphicsContext::releaseWindowsContext):
      * platform/graphics/win/GraphicsContextCairoWin.cpp:
      (WebCore::GraphicsContext::releaseWindowsContext):
      * platform/graphics/win/GraphicsContextWin.cpp:
      (WebCore::GraphicsContext::getWindowsContext):
      * platform/graphics/wince/GraphicsContextWinCE.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/graphics/wx/GraphicsContextWx.cpp:
      (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
      (WebCore::GraphicsContext::endPlatformTransparencyLayer):
      (WebCore::GraphicsContext::supportsTransparencyLayers):
      * platform/win/ScrollbarThemeWin.cpp:
      * plugins/win/PluginViewWin.cpp:
      * rendering/RenderThemeWin.cpp:
      
      LayoutTests:
      
      Add a test ensuring that text with 0px blur CSS shadow doesn't get rendered
      with a second shadow when inside a transparency layer.
      
      * platform/mac/svg/custom/simple-text-double-shadow-expected.png: Added.
      * platform/mac/svg/custom/simple-text-double-shadow-expected.txt: Added.
      * svg/custom/simple-text-double-shadow.svg: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b09bdbf3
    • luiz@webkit.org's avatar
      Adding myself to the reviewers list. · decdcef3
      luiz@webkit.org authored
      * Scripts/webkitpy/common/config/committers.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94896 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      decdcef3
    • mdelaney@apple.com's avatar
      Update Skipped lists for mac and mac-lion w.r.t. canvas · 30c55648
      mdelaney@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67867
      
      Reviewed by Simon Fraser.
      
      * platform/mac-lion/Skipped:
      * platform/mac/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30c55648
    • jchaffraix@webkit.org's avatar
      [V8] V8WebKitPoint::constructorCallback leaks · 05fe133a
      jchaffraix@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67865
      
      Reviewed by Adam Barth.
      
      Covered by fast/js/instanceof-XMLHttpRequest.html under Valgrind.
      
      * bindings/v8/custom/V8WebKitPointConstructor.cpp:
      (WebCore::V8WebKitPoint::constructorCallback): Changed the code
      to use a RefPtr (per our usual style). Also use toV8 that will
      take care of properly wrapping the object.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05fe133a
    • crogers@google.com's avatar
      HRTFDatabaseLoader should not call WTF::waitForThreadCompletion() more than once · c51f9c3b
      crogers@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67866
      
      Reviewed by David Levin.
      
      No new tests since this is difficult to test.
      This is designed to fix existing webaudio layout test failures.
      
      * platform/audio/HRTFDatabaseLoader.cpp:
      (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
      (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
      (WebCore::HRTFDatabaseLoader::loadAsynchronously):
      (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
      * platform/audio/HRTFDatabaseLoader.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c51f9c3b
    • jberlin@webkit.org's avatar
      Cookies are not available after turning off Private Browsing after the last window has been · 0fe41f35
      jberlin@webkit.org authored
      closed.
      https://bugs.webkit.org/show_bug.cgi?id=67874
      
      Reviewed by Darin Adler.
      
      The private browsing storage session is a global setting that is being incorrectly set on a
      per-page basis (see http://webkit.org/b/67870).
      
      In this case, the global value was getting out of sync with the per-page setting:
      1. The global value was getting set to true when setPrivateBrowsingEnabled(true) was called.
      2. All Pages were then closed, destroying their Settings objects.
      3. When a new Page was created, a new Settings object was created and its
         m_privateBrowsingEnabled value was getting set to false.
      4. The WebPage settings were then applied to the new Settings object, resulting in
         setPrivateBrowsingEnabled(false) to be called.
      5. An if (m_privateBrowsingEnabled == privateBrowsingEnabled) early return prevented the
         global value for the storage session from being destroyed.
      
      * page/Settings.cpp:
      (WebCore::Settings::setPrivateBrowsingEnabled):
      Move the early return to be after setting the global private browsing values, and add a
      clearer comment + FIXME.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0fe41f35
    • rolandsteiner@chromium.org's avatar
      Generate a WebKitCSSMatrix constructor of V8 using the IDL 'Constructor' extended attribute · 7e15f97a
      rolandsteiner@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67458
      
      Patch by Kentaro Hara <haraken@google.com> on 2011-09-09
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Added a 'CallWithNullValue' extended attribute.
      If a parameter is optional and missing, 'CallWithDefaultValue'
      handles it as a string "undefined". On the other hand,
      'CallWithNullValue' handles it as a null string
      (Note: not a string "null", but a null string).
      
      Tests: fast/dom/Window/custom-constructors.html
             transforms/svg-vs-css.xhtml
             transforms/cssmatrix-2d-interface.xhtml
             transforms/cssmatrix-3d-interface.xhtmlGenerate a WebKitCSSMatrix constructor
      
      * WebCore.gypi: Removed V8WebKitCSSMatrixConstructor.cpp.
      * WebCore.pro: Removed V8WebKitCSSMatrixConstructor.cpp.
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateParametersCheck): If the 'CallWithNullValue' extended attribute is set, we call MAYBE_MISSING_PARAMETER() with MissingIsEmpty mode to obtain a maybe missing parameter. Otherwise, we call MAYBE_MISSING_PARAMETER() with MissingIsUndefined mode.
      (RequiresCustomSignature):
      * bindings/scripts/test/V8/V8TestInterface.cpp: Updated test results.
      (WebCore::V8TestInterface::constructorCallback):
      * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
      (WebCore::TestMediaQueryListListenerInternal::methodCallback):
      * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
      (WebCore::TestObjInternal::voidMethodWithArgsCallback):
      (WebCore::TestObjInternal::intMethodWithArgsCallback):
      (WebCore::TestObjInternal::objMethodWithArgsCallback):
      (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
      (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
      (WebCore::TestObjInternal::optionsObjectCallback):
      (WebCore::TestObjInternal::customArgsAndExceptionCallback):
      (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
      (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
      (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
      (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
      (WebCore::TestObjInternal::methodWithOptionalArgCallback):
      (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
      (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
      (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
      (WebCore::TestObjInternal::overloadedMethod1Callback):
      (WebCore::TestObjInternal::overloadedMethod2Callback):
      (WebCore::TestObjInternal::overloadedMethod3Callback):
      (WebCore::TestObjInternal::overloadedMethod4Callback):
      (WebCore::TestObjInternal::classMethodWithOptionalCallback):
      (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
      (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
      * bindings/v8/V8Binding.h:
      (WebCore::V8ParameterBase::prepareBase): The fact that V8ParameterBase does not have any object means that we do not need to prepare anything, i.e. we should just return true in this case.
      (WebCore::::prepare): If V8ParameterBase does not have any object, then we set a null string.
      * bindings/v8/custom/V8BindingMacros.h: MAYBE_MISSING_PARAMETER() returns the parameter of a given index if the parameter exists. If the parameter does not exist and MissingIsUndefined is set, this macro returns an object that represents undefined. If the parameter does not exist and MissingIsEmpty is set, this macro returns an empty object.
      * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Removed.
      * css/WebKitCSSMatrix.idl: Added the 'Constructor' extended attribute.
      
      LayoutTests:
      
      Added a test case for "new WebKitCSSMatrix(null)" and "new WebKitCSSMatrix(undefined)".
      
      * fast/dom/Window/custom-constructors-expected.txt:
      * fast/dom/Window/custom-constructors.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e15f97a
    • ggaren@apple.com's avatar
      2011-09-09 Geoffrey Garen <ggaren@apple.com> · 41cc2535
      ggaren@apple.com authored
              Reviewed by Dan Bernstein.
      
              Removed ENABLE(SINGLE_THREADED) support, since it is always false
              https://bugs.webkit.org/show_bug.cgi?id=67862
      
              Next step toward making the baseline platform assumption that threads exist.
      
              * wtf/wtf.pri:
              * JavaScriptCore.gypi:
              * JavaScriptCore.vcproj/WTF/WTF.vcproj: Removed references to
              ThreadingNone.cpp, which was only compiled in single-threaded mode.
      
              * wtf/Platform.h:
              * wtf/ThreadSpecific.h:
              (WTF::::destroy):
              * wtf/qt/ThreadingQt.cpp: Removed now-dead code.
      
              * wtf/ThreadingNone.cpp: Removed.
      2011-09-09  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Dan Bernstein.
      
              Removed ENABLE(SINGLE_THREADED) support, since it is always false
              https://bugs.webkit.org/show_bug.cgi?id=67862
      
              Next step toward making the baseline platform assumption that threads exist.
      
              * WebCore.pri:
              * features.pri: 
              * platform/sql/SQLiteDatabase.cpp:
              (WebCore::SQLiteDatabase::interrupt): Removed now-dead code.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      41cc2535
    • fsamuel@chromium.org's avatar
      Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp} · c43a7d1c
      fsamuel@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67250
      
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      No new tests because there's no change in functionality.
      
      * WebCore.exp.in:
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::styleForDocument):
      * dom/Element.cpp:
      (WebCore::Element::getClientRects):
      (WebCore::Element::getBoundingClientRect):
      * dom/Range.cpp:
      (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
      * loader/HistoryController.cpp:
      (WebCore::HistoryController::restoreScrollPositionAndViewState):
      * page/Frame.cpp:
      (WebCore::Frame::Frame):
      (WebCore::Frame::pageScaleFactor):
      * page/Frame.h:
      * page/Page.cpp:
      (WebCore::Page::Page):
      (WebCore::Page::setPageScaleFactor):
      * page/Page.h:
      (WebCore::Page::pageScaleFactor):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
      (WebCore::RenderLayerCompositor::pageScaleFactor):
      * rendering/RenderView.cpp:
      (WebCore::RenderView::paintBoxDecorations):
      
      Source/WebKit/chromium:
      
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::pageScaleFactor):
      (WebKit::WebViewImpl::scalePage):
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      (DumpRenderTreeSupportGtk::scalePageBy):
      
      Source/WebKit/mac:
      
      * WebView/WebView.mm:
      (-[WebView _scaleWebView:atOrigin:]):
      (-[WebView _viewScaleFactor]):
      
      Source/WebKit/qt:
      
      * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
      (DumpRenderTreeSupportQt::scalePageBy):
      
      Source/WebKit2:
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::scalePage):
      (WebKit::WebPage::pageScaleFactor):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c43a7d1c