1. 11 Nov, 2007 26 commits
    • mrowe@apple.com's avatar
      Roll out r27708 as it breaks the Mac PowerPC build. · c05214d7
      mrowe@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27709 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c05214d7
    • mrowe@apple.com's avatar
      2007-11-11 Mike Hommey <mh+webkit@glandium.org> · 383057a9
      mrowe@apple.com authored
              Reviewed by Maciej.
      
              Fix http://bugs.webkit.org/show_bug.cgi?id=14521
              Bug 14521: JavaScriptCore fails to build on Linux/PPC gcc 4.1.2
      
              * wtf/TCSpinLock.h:
              (TCMalloc_SpinLock::Unlock): Change constraint from o to m.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27708 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      383057a9
    • mrowe@apple.com's avatar
      2007-11-11 Justin Haygood <jhaygood@reaktix.com> · 6f520711
      mrowe@apple.com authored
              Reviewed by Adam Roben.
      
              http://bugs.webkit.org/show_bug.cgi?id=15939
              Adds a currentThread API for use by SQLiteDatabase, etc.
      
              * platform/Threading.h:
              * platform/ThreadingNone.cpp:
              (WebCore::currentThread):
              * platform/gtk/ThreadingGtk.cpp:
              (WebCore::identifierByGthreadHandle):
              (WebCore::):
              * platform/pthreads/ThreadingPthreads.cpp:
              (WebCore::identifierByPthreadHandle):
              (WebCore::currentThread):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27707 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f520711
    • mitz@apple.com's avatar
      WebCore: · cb71b59e
      mitz@apple.com authored
              Reviewed by Adam Roben.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=15942
                REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
      
              Test: editing/selection/cleared-by-relayout.html
      
              * editing/Selection.cpp:
              (WebCore::Selection::toRange): Check if the selection has been cleared
              by updating layout.
      
      LayoutTests:
      
              Reviewed by Adam Roben.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=15942
                REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
      
              * editing/selection/cleared-by-relayout-expected.txt: Added.
              * editing/selection/cleared-by-relayout.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb71b59e
    • darin@apple.com's avatar
      Reviewed by Mark Rowe. · 4dfc68a2
      darin@apple.com authored
              - fix line numbers that were off since my recent patch
      
              * platform/SegmentedString.h:
              (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
              and rename it to m_doNotExcludeLineNumbers.
              (WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
              (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
              (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
              (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
              the regression, but keep the speediness. I accidentally had removed a ! here.
      
              * platform/SegmentedString.cpp:
              (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27705 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4dfc68a2
    • oliver's avatar
      Fix for <rdar://problem/5585334> · b1bdd112
      oliver authored
      Reviewed by Darin.
      
      Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
      malformed SVG file in WebCore::ImageBuffer::create. Add protection
      against a potential overflow.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b1bdd112
    • mrowe@apple.com's avatar
      2007-11-11 Mark Rowe <mrowe@apple.com> · 3f065f4a
      mrowe@apple.com authored
              Build fix.  Use the correct filename case.
      
              * kjs/nodes.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27703 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f065f4a
    • ggaren@apple.com's avatar
      Reviewed by Sam Weinig. · a862ba22
      ggaren@apple.com authored
              
              Fixed http://bugs.webkit.org/show_bug.cgi?id=15902
              15% of string-validate-input.js is spent compiling the same regular expression
              
              Store a compiled representation of the regular expression in the AST.
              
              Only a .2% SunSpider speedup overall, but a 10.6% speedup on 
              string-validate-input.js.
      
              * kjs/nodes.cpp:
              (KJS::RegExpNode::evaluate):
              * kjs/nodes.h:
              (KJS::RegExpNode::):
              * kjs/nodes2string.cpp:
              (KJS::RegExpNode::streamTo):
              * kjs/regexp.cpp:
              (KJS::RegExp::flags):
              * kjs/regexp.h:
              (KJS::RegExp::pattern):
              * kjs/regexp_object.cpp:
              (KJS::RegExpObjectImp::construct):
              (KJS::RegExpObjectImp::createRegExpImp):
              * kjs/regexp_object.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a862ba22
    • antti@apple.com's avatar
      Reviewed by Darin. · acca0adc
      antti@apple.com authored
              Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
      
              * bindings/js/kjs_binding.cpp:
              (KJS::setDOMException):
              * dom/Attr.cpp:
              (WebCore::Attr::setPrefix):
              * dom/Document.cpp:
              (WebCore::Document::createElement):
              * dom/Element.cpp:
              (WebCore::Element::setPrefix):
              * dom/Range.cpp:
              (WebCore::Range::setStart):
              (WebCore::Range::setEnd):
              (WebCore::Range::isPointInRange):
              (WebCore::Range::comparePoint):
              (WebCore::Range::compareBoundaryPoints):
              (WebCore::Range::deleteContents):
              (WebCore::Range::processContents):
              (WebCore::Range::extractContents):
              (WebCore::Range::insertNode):
              (WebCore::Range::setStartAfter):
              (WebCore::Range::setEndBefore):
              (WebCore::Range::setEndAfter):
              (WebCore::Range::selectNode):
              (WebCore::Range::surroundContents):
              (WebCore::Range::setStartBefore):
              * editing/TextIterator.cpp:
              (WebCore::TextIterator::TextIterator):
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::createPattern):
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::play):
              (WebCore::HTMLMediaElement::pause):
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::add):
              (WebCore::HTMLSelectElement::setOption):
              * xml/XPathEvaluator.cpp:
              (WebCore::XPathEvaluator::evaluate):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      acca0adc
    • darin@apple.com's avatar
      Reviewed by Mitz. · 268b841c
      darin@apple.com authored
              - http://bugs.webkit.org/show_bug.cgi?id=15945
                speed up GraphicsContextCG typical case by skipping roundToDevicePixels
      
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
              longer know if the transform is identity or not.
              (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
              CGContextSave/RestoreGState.
              (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
              longer know if the transform is identity or not.
              (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
              (WebCore::GraphicsContext::scale): Ditto.
              (WebCore::GraphicsContext::rotate): Ditto.
              (WebCore::GraphicsContext::translate): Ditto.
              (WebCore::GraphicsContext::concatCTM): Ditto.
              (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
              is known to be identity, and record that fact when we discover it otherwise.
      
              * platform/graphics/cg/GraphicsContextPlatformPrivate.h:
              (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
              Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27700 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      268b841c
    • darin@apple.com's avatar
      Reviewed by Mitz. · 5c1c7586
      darin@apple.com authored
              - http://bugs.webkit.org/show_bug.cgi?id=15944
                streamline SegmentedString to speed up parsing
      
              I measured a speed-up of the page load test while developing this patch. I don't
              have a precise figure, though.
      
              * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
              lineno to m_lineNumber.
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
              since we don't want to update a line number.
              (WebCore::HTMLTokenizer::parseSpecial): Ditto.
              (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
              instead of lineNumberPtr() since the advance function now takes a reference.
              (WebCore::HTMLTokenizer::parseServer): Ditto.
              (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
              (WebCore::HTMLTokenizer::parseText): Ditto.
              (WebCore::HTMLTokenizer::parseEntity): Ditto.
              (WebCore::HTMLTokenizer::parseTag): Ditto.
              (WebCore::HTMLTokenizer::write): Ditto.
      
              * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
              * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
              Don't pass 0 to the advance function.
      
              * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
              the most common case, and pushed less common cases into a separate function
              that is not inlined. Also got rid of a branch by separating the case with a
              line number from the case without one.
      
              * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
              Added. The aforementioned less common cases are here.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c1c7586
    • oliver's avatar
      Partial fix for <rdar://problem/5585334> numfuzz: integer overflows opening... · ef506fee
      oliver authored
      Partial fix for <rdar://problem/5585334> numfuzz: integer overflows opening malformed SVG file in WebCore::ImageBuffer::create
      
      Reviewed By Eric.
      
      Unfortunately this is a very slight regression, but is unavoidable.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef506fee
    • antti@apple.com's avatar
      Forgot to do this review change (and test HTTP commit). · 2a958c78
      antti@apple.com authored
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::play):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27697 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a958c78
    • antti's avatar
      WebCore: · 2e25dae5
      antti authored
              Reviewed by Darin.
              
              - Update play() and pause() to match current HTML5 draft
                  - send events asynchronously
                  - add timeupdate event to pause
                  - rethrow load() exception, not others
              - Use list for async events to get ordering right
      
              Tests: media/video-pause-empty-events.html
                     media/video-play-empty-events.html
                     media/video-play-pause-events.html
                     media/video-play-pause-exception.html
      
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::dispatchEventAsync): 
              (WebCore::HTMLMediaElement::asyncEventTimerFired):
              (WebCore::HTMLMediaElement::play):
              (WebCore::HTMLMediaElement::pause):
              * html/HTMLMediaElement.h:
      
      LayoutTests:
      
              Reviewed by Darin.
              
              Add tests for play() and pause() events. 
              Update one test to match new behavior.
      
              * media/video-currentTime-expected.txt:
              * media/video-currentTime.html:
              * media/video-pause-empty-events-expected.txt: Added.
              * media/video-pause-empty-events.html: Added.
              * media/video-play-empty-events-expected.txt: Added.
              * media/video-play-empty-events.html: Added.
              * media/video-play-pause-events-expected.txt: Added.
              * media/video-play-pause-events.html: Added.
              * media/video-play-pause-exception-expected.txt: Added
              * media/video-play-pause-exception.html: Added
              * media/video-test.js:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e25dae5
    • eseidel's avatar
      2007-11-10 Eric Seidel <eric@webkit.org> · dc7c497d
      eseidel authored
              Reviewed by darin.
      
              Add simple type inferencing to the parser, and create custom
              AddNode and LessNode subclasses based on inferred types.
              http://bugs.webkit.org/show_bug.cgi?id=15884
      
              SunSpider claims this is at least a 0.5% speedup.
      
              * JavaScriptCore.exp:
              * kjs/grammar.y:
              * kjs/internal.cpp:
              (KJS::NumberImp::getPrimitiveNumber):
              (KJS::GetterSetterImp::getPrimitiveNumber):
              * kjs/internal.h:
              * kjs/lexer.cpp:
              (KJS::Lexer::lex):
              * kjs/nodes.cpp:
              (KJS::Node::Node):
              (KJS::StringNode::evaluate):
              (KJS::StringNode::evaluateToNumber):
              (KJS::StringNode::evaluateToBoolean):
              (KJS::RegExpNode::evaluate):
              (KJS::UnaryPlusNode::optimizeVariableAccess):
              (KJS::AddNode::evaluate):
              (KJS::AddNode::evaluateToNumber):
              (KJS::AddNumbersNode::inlineEvaluateToNumber):
              (KJS::AddNumbersNode::evaluate):
              (KJS::AddNumbersNode::evaluateToNumber):
              (KJS::AddStringsNode::evaluate):
              (KJS::AddStringLeftNode::evaluate):
              (KJS::AddStringRightNode::evaluate):
              (KJS::lessThan):
              (KJS::lessThanEq):
              (KJS::LessNumbersNode::evaluate):
              (KJS::LessStringsNode::evaluate):
              * kjs/nodes.h:
              (KJS::ExpressionNode::):
              (KJS::RegExpNode::):
              (KJS::RegExpNode::precedence):
              (KJS::TypeOfResolveNode::):
              (KJS::LocalVarTypeOfNode::):
              (KJS::UnaryPlusNode::):
              (KJS::UnaryPlusNode::precedence):
              (KJS::AddNode::):
              (KJS::AddNode::precedence):
              (KJS::AddNumbersNode::):
              (KJS::AddStringLeftNode::):
              (KJS::AddStringRightNode::):
              (KJS::AddStringsNode::):
              (KJS::LessNode::):
              (KJS::LessNode::precedence):
              (KJS::LessNumbersNode::):
              (KJS::LessStringsNode::):
              * kjs/nodes2string.cpp:
              (KJS::StringNode::streamTo):
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/value.h:
              (KJS::JSValue::getPrimitiveNumber):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc7c497d
    • alp@webkit.org's avatar
      2007-11-11 Alp Toker <alp@atoker.com> · 54fb9abf
      alp@webkit.org authored
              Reviewed by Anders.
      
              Initialize m_userAgent.
      
              Fix typos in GDK_WINDOWING conditionals.
      
              * WebCoreSupport/FrameLoaderClientGtk.cpp:
              (WebKit::FrameLoaderClient::FrameLoaderClient):
              (WebKit::agentPlatform):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      54fb9abf
    • zimmermann@webkit.org's avatar
      Forgot to commit ChangeLog, in my last commit. · 3e2e4e28
      zimmermann@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e2e4e28
    • zimmermann@webkit.org's avatar
      Reviewed by Eric. · de7e844e
      zimmermann@webkit.org authored
      Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
      
      Add (basic) support for dominant-baseline / alignment-baseline text properties.
      Note: there are no official testcases, and no-one implemented it before. Only ASV3
            supported dominant-baseline, but not correct it seems.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de7e844e
    • aroben@apple.com's avatar
      Fix <rdar://5133816> keepWebHistory is not implemented · 4c6a0a37
      aroben@apple.com authored
       WebCore:
      
               Add wrappers around CoCreateInstance to COMPtr
      
               I followed the example of the Query constructor and query method by
               adding a Create constructor and create method.
      
               Reviewed by Darin.
      
               * platform/win/COMPtr.h:
               (COMPtr::COMPtr): Added a new constructor that calls
               CoCreateInstance.
               (COMPtr::create): Added.
               (COMPtr::createInstance): Added.
      
       WebKitTools:
      
               Fix <rdar://5133816> keepWebHistory is not implemented
      
               Fixes fast/history/clicked-link-is-visited.html.
      
               Reviewed by Darin.
      
               * DumpRenderTree/win/DumpRenderTree.cpp:
               (runTest): Clear the optionalSharedHistory.
               * DumpRenderTree/win/LayoutTestControllerWin.cpp:
               (LayoutTestController::keepWebHistory): Set the optionalSharedHistory.
      
       LayoutTests:
      
               Remove a now-passing test from the Windows Skipped file
      
               Reviewed by Darin.
      
               * platform/win/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c6a0a37
    • ap@webkit.org's avatar
      Reviewed by Darin. · ff51b523
      ap@webkit.org authored
              http://bugs.webkit.org/show_bug.cgi?id=15896
              More editing cleanup
      
              No functionality changes.
      
              * dom/Node.h: Moved several editing-related methods elsewhere.
              * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
              to highlight that it is a match to offsetInCharacters(), and much different from other
              offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
              offsetInCharacters() before calling this.
      
              * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
              * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
              Updated for above renamings.
      
              * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
      
              * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
      
              * dom/Position.h:
              * dom/Position.cpp:
              (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
              (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
              (WebCore::Position::previous): Adapted to the above move.
              (WebCore::Position::next): Ditto.
              (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
              and BR elements are covered by editingIgnoresContent().
              (WebCore::Position::downstream): Ditto.
              (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
              (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
      
              * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
              * dom/PositionIterator.cpp:
              (WebCore::PositionIterator::increment): Updated for the above moves.
              (WebCore::PositionIterator::decrement): Ditto.
      
              * dom/ProcessingInstruction.h:
              * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
              ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
              I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
      
              * dom/Range.cpp:
              (WebCore::Range::selectNodeContents):
              * editing/ApplyStyleCommand.cpp:
              (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
              (WebCore::ApplyStyleCommand::applyInlineStyle):
              (WebCore::maxRangeOffset):
              (WebCore::ApplyStyleCommand::removeInlineStyle):
              (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
              (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
              (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
              (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
              (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::insertNodeAt):
              (WebCore::CompositeEditCommand::positionOutsideTabSpan):
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::handleGeneralDelete):
              * editing/InsertLineBreakCommand.cpp:
              (WebCore::InsertLineBreakCommand::doApply):
              * editing/InsertParagraphSeparatorCommand.cpp:
              (WebCore::InsertParagraphSeparatorCommand::doApply):
              * editing/InsertTextCommand.cpp:
              (WebCore::InsertTextCommand::insertTab):
              * editing/visible_units.cpp:
              (WebCore::previousLinePosition):
              (WebCore::nextLinePosition):
              Updated for the above moves.
      
              * editing/Editor.cpp:
              (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
      
              * editing/TextIterator.cpp:
              (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
              match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
              (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
      
              * editing/htmlediting.h:
              * editing/htmlediting.cpp:
              (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
              child nodes, other than via DOM manipulation, which is not specific to BRs.
              (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
              (WebCore::maxDeepOffset): Ditto.
              (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
              (WebCore::caretMaxOffset): Ditto.
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
              caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
              will take care of adjusting the offset.
      
              * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
              * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
              Changed some runtime checks that seemingly cannot fail into assertions.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff51b523
    • darin@apple.com's avatar
      - try another way of fixing dftables builds -- refactor pcre_internal.h a bit · 68af1ff4
      darin@apple.com authored
              * pcre/pcre_internal.h: Make most of this header do nothing when DFTABLES is set.
              Later we can break it into two files.
      
              * JavaScriptCore.vcproj/dftables/dftables.vcproj: Take out now-unneeded include paths.
              * pcre/dftables.cpp: Set DFTABLES. Use delete instead of free.
              * pcre/dftables.pro: Take out now-unneeded include paths.
              * pcre/pcre_maketables.cpp: Use new instead of malloc.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68af1ff4
    • darin@apple.com's avatar
      * pcre/dftables.pro: Try fixing Qt builds (I looked at qt-win) by adding · a9d53cc3
      darin@apple.com authored
              another include path.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27688 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a9d53cc3
    • darin@apple.com's avatar
      * JavaScriptCore.xcodeproj/project.pbxproj: Try fixing Mac Tiger builds · c00bf2b6
      darin@apple.com authored
              by adding another include path.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c00bf2b6
    • darin@apple.com's avatar
      JavaScriptCore: · ee752e7d
      darin@apple.com authored
              Reviewed by Sam.
      
              - http://bugs.webkit.org/show_bug.cgi?id=15924
                next round of changes to JSRegExp (formerly PCRE)
      
              This is a combination of converting to C++, tweaking the API, and adding
              some additional optimizations.
      
              Future steps will involve getting rid of the use of UTF-8 completely
              (we'll use UTF-16 exclusively instead), eliminating more source files,
              and some more speed-ups.
      
              SunSpider says the current round is an 0.9% speed-up overall, and a
              5.3% speed-up for regexp.
      
              * JavaScriptCore.exp: Updated for new entry points.
      
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.vcproj/dftables/dftables.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * jscore.bkl:
              Updated for new source file names and ForwardingHeaders.
      
              * kjs/regexp.cpp:
              (KJS::RegExp::RegExp): Changed to use the error message without calling
              strdup on it and to pass the new types and options.
              (KJS::RegExp::~RegExp): Removed the now-unneeded free of the error message.
              (KJS::RegExp::match): Pass the new types and options.
              * kjs/regexp.h: Update type of m_constructionError.
      
              * pcre/AUTHORS: Update to reflect the status of the project -- we don't include
              the Google parts, and this isn't the PCRE library, per se.
              * pcre/COPYING: Ditto.
      
              * pcre/dftables.cpp: Copied from JavaScriptCore/pcre/dftables.c.
              (main): Removed unneeded ctype_digit.
      
              * pcre/pcre.h: Convert to C++, tweak API a bit. Use UChar instead of JSRegExpChar.
      
              * pcre/pcre_compile.cpp: Copied from JavaScriptCore/pcre/pcre_compile.c.
              Moved a lot of private stuff used only within this file here from pcre_internal.h.
              Renumbered the error codes.
              (error_text): Use a single string with embedded nulls for the error text (I got
              this idea from newer versions of PCRE).
              (check_escape): Changed return type to be enum instead of int. Replaced ctype_digit
              uses with isASCIIDigit.
              (is_counted_repeat): Ditto.
              (read_repeat_counts): Ditto.
              (first_significant_code): Ditto.
              (find_fixedlength): Ditto.
              (could_be_empty_branch): Ditto.
              (compile_branch): Ditto. Also removed some code that handles changing options.
              JavaScript doesn't have any of the features that allow options to change.
              (compile_regex): Updated for change to options parameter.
              (is_anchored): Ditto.
              (find_firstassertedchar): Ditto.
              (jsRegExpCompile): Changed to take separate flags instead of an options int.
              Also changed to call new/delete instead of pcre_malloc/free.
              (jsRegExpFree): Ditto.
      
              * pcre/pcre_exec.cpp: Copied from JavaScriptCore/pcre/pcre_exec.c.
              Added a case that uses computed goto for the opcode loop, but did not turn it on.
              Changed the RMATCH macro to handle returns more efficiently by putting the where
              pointer in the new frame instead of the old one, allowing us to branch to the
              return with a single statement. Switched to new/delete from pcre_malloc/free.
              Changed many RRETURN callers to not set the return value since it's already
              set correctly. Replaced the rrc variable with an is_match variable. Values other
              than "match" and "no match" are now handled differently. This allows us to remove
              the code to check for those cases in various rules.
              (match): All the case statements use a macro BEGIN_OPCODE instead. And all the
              continue statements, or break statements that break out of the outer case use
              a macro NEXT_OPCODE instead. Replaced a few if statements with assertions.
              (jsRegExpExecute): Use new/delete instead of pcre_malloc/free. Removed unused
              start_match field from the match block.
      
              * pcre/pcre_internal.h: Moved the last few configuration macros from pcre-config.h
              in here. Removed various unused types. Converted from JSRegExpChar to UChar.
              Eliminated pcre_malloc/free. Replaced the opcode enum with a macro that can be
              used in multiple places. Unfortunately we lose the comments for each opcode; we
              should find a place to put those back. Removed ctype_digit.
      
              * pcre/pcre_maketables.cpp: Copied from JavaScriptCore/pcre/pcre_maketables.c.
              (pcre_maketables): Got rid of the conditional code that allows this to be compiled
              in -- it's only used for dftables now (and soon may be obsolete entirely).
              Changed code for cbit_digit to not use isdigit, and took the "_" case out of the
              loop. Removed ctype_digit.
      
              * pcre/pcre_ord2utf8.cpp: Copied from JavaScriptCore/pcre/pcre_ord2utf8.c.
      
              * pcre/pcre_tables.cpp: Copied from JavaScriptCore/pcre/pcre_tables.c.
              Moved _pcre_OP_lengths out of here into pcre_exec.cpp.
      
              * pcre/pcre_ucp_searchfuncs.cpp: Copied from JavaScriptCore/pcre/pcre_ucp_searchfuncs.c.
              Updated for other file name changes.
      
              * pcre/pcre_xclass.cpp: Copied from JavaScriptCore/pcre/pcre_xclass.c.
      
              * pcre/ucpinternal.h: Updated header.
      
              * pcre/ucptable.cpp: Copied from JavaScriptCore/pcre/ucptable.c.
      
              * wtf/ASCIICType.h: (WTF::isASCIIDigit): Removed a branch by changing from && to
              & for this operation. Also added an overload that takes an int because that's
              useful for PCRE. Later we could optimize for int and overload other functions in
              this file; stuck to this simple one for now.
      
              * wtf/unicode/icu/UnicodeIcu.h: Removed unused isUpper.
              * wtf/unicode/qt4/UnicodeQt4.h: Ditto.
      
              * pcre/LICENCE: Removed.
              * pcre/pcre-config.h: Removed.
              * wtf/FastMallocPCRE.cpp: Removed.
      
              * pcre/dftables.c: Renamed to cpp.
              * pcre/pcre_compile.c: Ditto.
              * pcre/pcre_exec.c: Ditto.
              * pcre/pcre_maketables.c: Ditto.
              * pcre/pcre_ord2utf8.c: Ditto.
              * pcre/pcre_tables.c: Ditto.
              * pcre/pcre_ucp_searchfuncs.c: Ditto.
              * pcre/pcre_xclass.c: Ditto.
              * pcre/ucptable.c: Ditto.
      
      WebCore:
      
              Reviewed by Sam.
      
              - updated for JSRegExp function changes
      
              * platform/RegularExpression.cpp:
              (WebCore::RegularExpression::Private::compile):
              (WebCore::RegularExpression::match):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee752e7d
    • alp@webkit.org's avatar
      2007-11-11 Alp Toker <alp@atoker.com> · 059734cf
      alp@webkit.org authored
              Reviewed by Mark Rowe.
      
              Mention Safari in the UserAgent string to improve site compatibility.
      
              Also bump the hard-coded AppleWebKit version number.
      
              * WebCoreSupport/FrameLoaderClientGtk.cpp:
              (WebKit::composeUserAgent):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      059734cf
    • eseidel's avatar
      2007-11-11 Eric Seidel <eric@webkit.org> · 06d70621
      eseidel authored
              Reviewed by Oliver.
      
              Add KJS_CHECKEXCEPTIONBOOLEAN to match rest of nodes.cpp
      
              * kjs/nodes.cpp:
              (KJS::ExpressionNode::evaluateToBoolean):
              (KJS::LessNode::evaluateToBoolean):
              (KJS::GreaterNode::evaluateToBoolean):
              (KJS::LessEqNode::evaluateToBoolean):
              (KJS::GreaterEqNode::evaluateToBoolean):
              (KJS::InstanceOfNode::evaluateToBoolean):
              (KJS::InNode::evaluateToBoolean):
              (KJS::EqualNode::evaluateToBoolean):
              (KJS::NotEqualNode::evaluateToBoolean):
              (KJS::StrictEqualNode::evaluateToBoolean):
              (KJS::NotStrictEqualNode::evaluateToBoolean):
              (KJS::LogicalAndNode::evaluateToBoolean):
              (KJS::LogicalOrNode::evaluateToBoolean):
              (KJS::ConditionalNode::evaluateToBoolean):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      06d70621
  2. 10 Nov, 2007 14 commits