1. 20 Mar, 2009 24 commits
    • levin@chromium.org's avatar
      2009-03-20 Mike Belshe <mike@belshe.com> · 8aed5c9e
      levin@chromium.org authored
              Reviewed by Dimitri Glazkov and Dave Hyatt.
      
              https://bugs.webkit.org/show_bug.cgi?id=24324
      
              Make the minimum timer configurable for different platforms.
      
              * page/DOMTimer.cpp:
              (WebCore::DOMTimer::DOMTimer):
              (WebCore::DOMTimer::fired):
              * page/DOMTimer.h:
              (WebCore::DOMTimer::minTimerInterval):
              (WebCore::DOMTimer::setMinTimerInterval):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8aed5c9e
    • levin@chromium.org's avatar
      2009-03-20 Dean McNamee <deanm@chromium.org> · 52daba6b
      levin@chromium.org authored
              Reviewed by Darin Adler.
      
              https://bugs.webkit.org/show_bug.cgi?id=22834
      
              Make sure to consistently match new/delete and fastMalloc/fastFree.
      
              * css/CSSSelectorList.cpp:
              (WebCore::CSSSelectorList::adoptSelectorVector):
              (WebCore::CSSSelectorList::deleteSelectors):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52daba6b
    • mitz@apple.com's avatar
      WebCore: · 1547c6db
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=23739
                <rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::percentHeightDescendants): Added this accessor.
              * rendering/RenderBlock.h:
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::layoutRows): Extended the check for
              children that flex to include other descendants with percent height
              which is relative to the cell.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test, updated test and results for https://bugs.webkit.org/show_bug.cgi?id=23739
                <rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load
      
              * fast/replaced/percent-height-in-anonymous-block-in-table.html: Added.
              * fast/replaced/table-percent-height-expected.txt:
              * fast/replaced/table-percent-height.html:
              * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.checksum: Added.
              * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.png: Added.
              * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1547c6db
    • dimich@chromium.org's avatar
      2009-03-20 Dmitry Titov <dimich@chromium.org> · 8dff77ac
      dimich@chromium.org authored
              Fix broken LayoutTest/http/tests/workers/text-encoding.html.
              Forgot to add a new file with the previous patch.
      
              * http/tests/workers/resources/subworker-encoded.php: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8dff77ac
    • darin@chromium.org's avatar
      2009-03-20 Alpha Lam <hclam@chromium.org> · 60959798
      darin@chromium.org authored
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=24721
      
              The test in this change is just to verify a no crash.  Full tree
              dump is not necessary, so change to test to dumpAsText and update
              the affected test results.
      
              * fast/block/float/crash-on-absolute-positioning-expected.txt: Added.
              * fast/block/float/crash-on-absolute-positioning.html:
              * platform/mac/fast/block/float/crash-on-absolute-positioning-expected.txt: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60959798
    • jmalonzo@webkit.org's avatar
      2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com> · 978d7758
      jmalonzo@webkit.org authored
              Not reviewed. Fix style issues with my previous commit (r41866) as
              suggested by Holger in https://bugs.webkit.org/show_bug.cgi?id=24493
      
              * tests/testwebhistoryitem.c:
              (test_webkit_web_history_item_get_data):
              (test_webkit_web_history_item_alternate_title):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      978d7758
    • ggaren@apple.com's avatar
      2009-03-20 Geoffrey Garen <ggaren@apple.com> · cd169898
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
              
              A little cleanup in the RegisterFile code.
              
              Moved large inline functions out of the class declaration, to make it
              more readable.
              
              Switched over to using the roundUpAllocationSize function to avoid
              duplicate code and subtle bugs.
              
              Renamed m_maxCommitted to m_commitEnd, to match m_end.
              
              Renamed allocationSize to commitSize because it's the chunk size for
              committing memory, not allocating memory.
              
              SunSpider reports no change.
      
              * interpreter/RegisterFile.h:
              (JSC::RegisterFile::RegisterFile):
              (JSC::RegisterFile::shrink):
              (JSC::RegisterFile::grow):
              * jit/ExecutableAllocator.h:
              (JSC::roundUpAllocationSize):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd169898
    • dimich@chromium.org's avatar
      WebCore: · 6be54ef5
      dimich@chromium.org authored
      2009-03-20  Dmitry Titov  <dimich@chromium.org>
      
              Reviewed by Alexey Proskuryakov.
      
              https://bugs.webkit.org/show_bug.cgi?id=24706
              Remove ScriptExecutionContext::encoding() since Workers do not need it.
              WorkerContext::encoding() is simply removed, while Document::encoding()
              made non-virtual and private. Workers use UTF-8 now except when instructed
              otherwise by http header. Also updated test.
      
              * dom/Document.h: Made encoding() non-virtual and private.
              * dom/ScriptExecutionContext.h: removed encoding().
      
              * workers/Worker.cpp:
              (WebCore::Worker::Worker):
              (WebCore::Worker::notifyFinished):
              * workers/WorkerContext.cpp: removed encoding() implementation.
              (WebCore::WorkerContext::WorkerContext):
              (WebCore::WorkerContext::completeURL):
              * workers/WorkerContext.h: removed encoding()
              (WebCore::WorkerContext::create):
              * workers/WorkerContextProxy.h:
              * workers/WorkerImportScriptsClient.cpp:
              (WebCore::WorkerImportScriptsClient::didReceiveData):
              * workers/WorkerMessagingProxy.cpp:
              (WebCore::WorkerMessagingProxy::startWorkerContext):
              * workers/WorkerMessagingProxy.h:
              * workers/WorkerThread.cpp:
              (WebCore::WorkerThreadStartupData::create):
              (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
              (WebCore::WorkerThread::create):
              (WebCore::WorkerThread::WorkerThread):
              (WebCore::WorkerThread::workerThread):
              * workers/WorkerThread.h:
              In all these, removed storing encoding and 'inheriting' it from the parent.
              Instead, they are all using UTF-8 now.
      
      LayoutTests:
      
      2009-03-20  Dmitry Titov  <dimich@chromium.org>
      
              Reviewed by Alexey Proskuryakov.
      
              https://bugs.webkit.org/show_bug.cgi?id=24706
              Remove ScriptExecutionContext::encoding() since Workers do not need it.
              WorkerContext::encoding() is simply removed, while Document::encoding()
              made non-virtual and private. Workers use UTF-8 now except when instructed
              otherwise by http header. Updated test.
              Also, added test for encoding used by importScripts().
      
              * http/tests/workers/resources/subworker-encoded.php: Added.
              * http/tests/workers/resources/worker-encoded.php:
              * http/tests/workers/text-encoding-expected.txt:
              * http/tests/workers/text-encoding.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6be54ef5
    • timothy@apple.com's avatar
      Change how threading exceptions are checked so they are reported by what round they were added. · c129e3fd
      timothy@apple.com authored
      WebCore:
      
      2009-03-20  Timothy Hatcher  <timothy@apple.com>
      
              Change how threading exceptions are checked so they are reported
              by what round they were added. That way WebKit can decided the
              behavior per-round based on linked-on-or-after checks.
      
              <rdar://problem/6626741&6648478&6635474&6674079>
      
              Reviewed by Darin Adler.
      
              * WebCore.base.exp: Export the new symbols.
              * bindings/objc/DOMAbstractView.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
              * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
              * platform/ThreadCheck.h:
              * platform/mac/ThreadCheck.mm:
              (WebCore::readThreadViolationBehaviorFromUserDefaults): Refactor how the default is read.
              (WebCore::setDefaultThreadViolationBehavior): Take a round argument.
              (WebCore::reportThreadViolation): Ditto.
              (WebCoreReportThreadViolation): Ditto.
      
      WebKit:
      
      2009-03-20  Timothy Hatcher  <timothy@apple.com>
      
              Change how threading exceptions are checked so they are reported
              by what round they were added. That way WebKit can decided the
              behavior per-round based on linked-on-or-after checks.
      
              <rdar://problem/6626741&6648478&6635474&6674079>
      
              Reviewed by Darin Adler.
      
              * History/WebBackForwardList.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
              * History/WebHistoryItem.mm: Ditto.
              * Misc/WebIconDatabase.mm: Ditto.
      
              * WebView/WebArchive.mm: Use the new WebCoreThreadViolationCheckRoundTwo macro.
              * WebView/WebResource.mm: Ditto.
              (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Check Mail's bundle version
              to truly decide if it is an old Mail client.
              * WebView/WebView.mm: Ditto.
      
              * Misc/WebKitVersionChecks.h: Add a new linked-on-or-after version define.
              * WebView/WebFrameView.mm:
              (-[WebFrameView initWithFrame:]): Set the default thread violation behavior per-round
              based on difference version checks and the Mail workaround check.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c129e3fd
    • andersca@apple.com's avatar
      2009-03-20 Anders Carlsson <andersca@apple.com> · 62ac49ad
      andersca@apple.com authored
              Reviewed by Darin Adler.
      
              Only release the result NPVariant if the call to NPN_Invoke was successful.
              
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
              (testNPRuntime):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62ac49ad
    • ggaren@apple.com's avatar
      2009-03-20 Geoffrey Garen <ggaren@apple.com> · 568fe797
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              Fixed up an out-of-date comment.
      
              * bindings/js/JSDOMWindowCustom.h:
              (WebCore::JSDOMWindow::customPut):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      568fe797
    • darin@apple.com's avatar
      2009-03-20 Darin Adler <darin@apple.com> · 6030ac3d
      darin@apple.com authored
              Reviewed by Timothy Hatcher.
      
              * WebView/WebTextIterator.h: Improved comments to point out some of the pitfalls
              of this SPI.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41867 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6030ac3d
    • jmalonzo@webkit.org's avatar
      2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com> · a4ae29c3
      jmalonzo@webkit.org authored
              Reviewed by Holger Freyther.
      
              [GTK] Misc patches for WebKitWebHistoryItem
              https://bugs.webkit.org/show_bug.cgi?id=24493
      
              Added build support for build the WebKitWebHistoryItem unit test.
      
              * GNUmakefile.am:
      
      2009-03-20  Jan Michael Alonzo  <jmalonzo@gmail.com>
      
              Reviewed by Holger Freyther.
      
              [GTK] Misc patches for WebKitWebHistoryItem
              https://bugs.webkit.org/show_bug.cgi?id=24493
      
              Add unit test for WebKitWebHistoryItem
      
              * tests/testwebhistoryitem.c: Added.
              (web_history_item_fixture_setup):
              (web_history_item_fixture_teardown):
              (test_webkit_web_history_item_get_data):
              (test_webkit_web_history_item_alternate_title):
              (main):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41866 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4ae29c3
    • bdakin@apple.com's avatar
      WebCore: · d740af6b
      bdakin@apple.com authored
      2009-03-20  Beth Dakin  <bdakin@apple.com>
      
              Reviewed by Dave Hyatt.
      
              Fix for https://bugs.webkit.org/show_bug.cgi?id=20909 REGRESSION 
              (r35318): A press release at pfizer.com does not display correctly
              - and corresponding -
              <rdar://problem/6680073>
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::invalidateContainerPrefWidths):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::markContainingBlocksForLayout):
      
      LayoutTests:
      
      2009-03-20  Beth Dakin  <bdakin@apple.com>
      
              Reviewed by Dave Hyatt.
      
              Test for https://bugs.webkit.org/show_bug.cgi?id=20909 REGRESSION 
              (r35318): A press release at pfizer.com does not display correctly
              - and corresponding -
              <rdar://problem/6680073>
      
              * http/tests/misc/generated-content-inside-table.html: Added.
              * platform/mac/http/tests/misc/generated-content-inside-table-expected.checksum: Added.
              * platform/mac/http/tests/misc/generated-content-inside-table-expected.png: Added.
              * platform/mac/http/tests/misc/generated-content-inside-table-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d740af6b
    • jmalonzo@webkit.org's avatar
      2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com> · 27bbbab9
      jmalonzo@webkit.org authored
              Reviewed by Holger Freyther.
      
              Separate gtk unit tests
              https://bugs.webkit.org/show_bug.cgi?id=24039
      
              Build the unit tests accordingly.
      
              * GNUmakefile.am:
      
      
      2009-03-20  Jan Michael Alonzo  <jmalonzo@gmail.com>
      
              Reviewed by Holger Freyther.
      
              Separate gtk unit tests
              https://bugs.webkit.org/show_bug.cgi?id=24039
      
              Split the current single-file unit test to make it more
              modularized and manageable in the future as more unit tests are
              written.
      
              * tests/main.c: Removed.
              * tests/testwebbackforwardlist.c: Copied from WebKit/gtk/tests/main.c.
              (main):
              * tests/testwebframe.c: Copied from WebKit/gtk/tests/main.c.
              (main):
      
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41864 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27bbbab9
    • eric@webkit.org's avatar
      Reviewed by Justin Garcia. · f3a1881c
      eric@webkit.org authored
              maxDeepOffset is confusing and should be removed
              https://bugs.webkit.org/show_bug.cgi?id=24586
      
              Abstract some hard-to-read (but shared) logic into a new renderedAsNonInlineTableOrHR function.
              Add first/lastDeepEditingPositionForNode Position creation functions
              and deploy them to places we used to call maxDeepOffset.
      
              Rename Position::atStart and atEnd to atStartOfTree atEndOfTree
              Add a new Position::atFirst/atLastEditingPositionForNode() and use these
              to replace a few more callers for maxDeepOffset()
      
              Rename maxDeepOffset to lastEditingOffsetForNode (so that we mere mortals have some clue what it does)
      
              "Editing positions" are confusing because they have one
              of two behaviors, depending on if the container node is ignored
              by editing (if editingIgnoresContent(node) returns true) or not.
              Positions referring to nodes ignored by editing are
              neighbor-relative (they are before or after the node) where as
              positions reffering to other nodes are container-relative
              (they are between two child nodes of the container, identified
              by the offset() member).  I will be fixing this confusion in
              future patches.  These renames hopefully make the current behavior clearer.
      
              * dom/Position.cpp:
              (WebCore::Position::previous):
              (WebCore::Position::next):
              (WebCore::Position::atFirstEditingPositionForNode):
              (WebCore::Position::atLastEditingPositionForNode):
              (WebCore::Position::atStartOfTree):
              (WebCore::Position::atEndOfTree):
              (WebCore::Position::previousCharacterPosition):
              (WebCore::Position::nextCharacterPosition):
              (WebCore::Position::upstream):
              (WebCore::Position::isCandidate):
              (WebCore::firstDeepEditingPositionForNode):
              (WebCore::lastDeepEditingPositionForNode):
              * dom/Position.h:
              * dom/PositionIterator.cpp:
              (WebCore::PositionIterator::operator Position):
              (WebCore::PositionIterator::increment):
              (WebCore::PositionIterator::decrement):
              (WebCore::PositionIterator::atEnd):
              (WebCore::PositionIterator::atEndOfNode):
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::isTableCellEmpty):
              (WebCore::DeleteSelectionCommand::removeNode):
              (WebCore::DeleteSelectionCommand::handleGeneralDelete):
              * editing/Editor.cpp:
              (WebCore::Editor::advanceToNextMisspelling):
              * editing/InsertLineBreakCommand.cpp:
              (WebCore::InsertLineBreakCommand::doApply):
              * editing/InsertListCommand.cpp:
              (WebCore::InsertListCommand::doApply):
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
              * editing/TypingCommand.cpp:
              (WebCore::TypingCommand::forwardDeleteKeyPressed):
              * editing/VisiblePosition.cpp:
              (WebCore::VisiblePosition::previous):
              (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
              (WebCore::VisiblePosition::left):
              (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
              (WebCore::VisiblePosition::right):
              * editing/VisibleSelection.cpp:
              (WebCore::VisibleSelection::selectionFromContentsOfNode):
              (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
              * editing/htmlediting.cpp:
              (WebCore::nextVisuallyDistinctCandidate):
              (WebCore::previousVisuallyDistinctCandidate):
              (WebCore::firstEditablePositionAfterPositionInRoot):
              (WebCore::lastEditablePositionBeforePositionInRoot):
              (WebCore::lastOffsetForEditing):
              (WebCore::isFirstPositionAfterTable):
              (WebCore::isLastPositionBeforeTable):
              (WebCore::positionBeforeNode):
              (WebCore::positionAfterNode):
              (WebCore::enclosingEmptyListItem):
              (WebCore::caretMaxOffset):
              * editing/htmlediting.h:
              * editing/visible_units.cpp:
              (WebCore::renderedAsNonInlineTableOrHR):
              (WebCore::startOfParagraph):
              (WebCore::endOfParagraph):
              (WebCore::startOfEditableContent):
              (WebCore::endOfEditableContent):
              * page/AccessibilityObject.cpp:
              (WebCore::endOfStyleRange):
              * page/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::visiblePositionRange):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::positionForPoint):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3a1881c
    • dimich@chromium.org's avatar
      2009-03-20 Dmitry Titov <dimich@chromium.org> · 05103704
      dimich@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              https://bugs.webkit.org/show_bug.cgi?id=24689
              Add (upstream) V8 bindings for Workers. Mostly style cleaning.
      
              * bindings/v8/WorkerContextExecutionProxy.cpp: Added.
              * bindings/v8/WorkerContextExecutionProxy.h: Added.
              * bindings/v8/WorkerScriptController.cpp: Added.
              * bindings/v8/WorkerScriptController.h: Added.
              * bindings/v8/V8Index.h: Added. This is just a wrapper for v8_index.h, like V8Proxy.h
              * bindings/v8/V8Proxy.h: Added domObjectMap() function that wraps GetDOMObjectMap().
              * bindings/v8/V8WorkerContextEventListener.cpp:
              (WebCore::V8WorkerContextEventListener::callListenerFunction): TrackEvent() renamed trackEvent()
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41862 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05103704
    • ariya@webkit.org's avatar
      2009-03-20 Erik L. Bunce <elbunce@xendom.com> · 4b3900cc
      ariya@webkit.org authored
              Reviewed by Tor Arne Vestbø.
      
              Fix QWebPage::WebActions action states to more closely match when they are
              actually applicable and remove erroneous documentation.
      
              * Most WebActions implemented using editor commands now use the
                Editor::Command::isEnabled() to control their availability.
              * SelectAll is always enabled (since it's editor command is).
              * SetTextDirection{} family of WebActions are available when canEdit() is true
                and not just canEditRichly().
      
              Fix and clarify documentation about the availability of various web actions.
      
              * Api/qwebpage.cpp:
              (QWebPagePrivate::updateAction):
              (QWebPagePrivate::updateEditorActions):
              * tests/qwebpage/tst_qwebpage.cpp:
              (tst_QWebPage::textSelection):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41861 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b3900cc
    • eric@webkit.org's avatar
      2009-03-20 Stephen White <senorblanco@chromium.org> · d6e7a1a5
      eric@webkit.org authored
              Reviewed by Eric Seidel.
      
              Fix for LayoutTests/fast/canvas/canvas-text-alignment.html
              on chromium/skia.  The problem was that the gradient matrix
              for text was being applied twice.  Fixed by reverting some of
              https://bugs.webkit.org/show_bug.cgi?id=23957, so that skiaDrawText
              is no longer responsible for measuring the text and scaling up
              the gradient matrix.  Instead, the text bounding box is passed
              in from SVGPaintServerGradient.  I didn't make this change for CG,
              since it uses a different method (the gradient is drawn using the
              text as a pre-rendered mask).
              https://bugs.webkit.org/show_bug.cgi?id=24687
      
              * platform/graphics/skia/SkiaFontWin.cpp:
              (WebCore::skiaDrawText):
              * svg/graphics/SVGPaintServerGradient.cpp:
              (WebCore::SVGPaintServerGradient::setup):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d6e7a1a5
    • darin@apple.com's avatar
      2009-03-20 Darin Adler <darin@apple.com> · 394a9ef7
      darin@apple.com authored
              Reviewed by Adele Peterson.
      
              Use a better technique to handle finding out if something responds to a selector
              in WebHTMLView's doCommandBySelector method.
      
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView doCommandBySelector:]): Removed unneeded check for 0 coreFrame;
              this is already handled by coreCommandBySelector: so doesn't need to be checked
              twice. Got rid of initial value for eventWasHandled boolean to make it more clear.
              Use WebResponderChainSink to find out if a command is handled rather than walking
              the responder chain explicitly.
              (-[WebResponderChainSink initWithResponderChain:]): Added.
              (-[WebResponderChainSink detach]): Added.
              (-[WebResponderChainSink receivedUnhandledCommand]): Added.
              (-[WebResponderChainSink noResponderFor:]): Added.
              (-[WebResponderChainSink doCommandBySelector:]): Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41859 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      394a9ef7
    • timothy@apple.com's avatar
      Fix the Tiger build, round two. · 3739b0a1
      timothy@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3739b0a1
    • timothy@apple.com's avatar
      Fix the Tiger build. · fb2b7eb6
      timothy@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41857 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb2b7eb6
    • xan@webkit.org's avatar
      2009-03-20 Xan Lopez <xlopez@igalia.com> · aeaf33ce
      xan@webkit.org authored
              Rubber-stamped by Holger Freyther.
      
              There seems to be some rounding error in cairo (or in how we use
              cairo) with some fonts, like DejaVu Sans Mono, which makes cairo
              report a height smaller than ascent + descent, which is wrong and
              confuses WebCore's layout system. Workaround this while we figure
              out what's going on.
      
              * platform/graphics/gtk/SimpleFontDataGtk.cpp:
              (WebCore::SimpleFontData::platformInit):
              * platform/graphics/gtk/SimpleFontDataPango.cpp:
              (WebCore::SimpleFontData::platformInit):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41856 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aeaf33ce
    • ap@webkit.org's avatar
      Reviewed by Darin Adler. · b5301fbd
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=24122
              <rdar://problem/6674179>
              REGRESSION: DOM Range extractContents/deleteContents failures seen on Moxiecode tests
      
              Test: fast/dom/Range/deleted-range-endpoints.html
      
              * dom/Range.cpp: (WebCore::Range::processContents): Set the final range in accordance
              to the specification.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b5301fbd
  2. 19 Mar, 2009 16 commits
    • ggaren@apple.com's avatar
      2009-03-19 Geoffrey Garen <ggaren@apple.com> · a11aa404
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
              
              Fixed <rdar://problem/6033712> -- a little bit of hardening in the Collector.
              
              SunSpider reports no change. I also verified in the disassembly that
              we end up with a single compare to constant.
      
              * runtime/Collector.cpp:
              (JSC::Heap::heapAllocate):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41854 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a11aa404
    • timothy@apple.com's avatar
      Remove #ifndef BUILDING_ON_TIGER around code that schedules runloop modes · 063e3b65
      timothy@apple.com authored
              for Page, so the new RunLoopTimer in WebCore always gets a default mode.
              Fixes the layout test failures on the Tiger build bots.
      
              Reviewed by Mark Rowe.
      
              * WebView/WebView.mm:
              (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
              (-[WebView scheduleInRunLoop:forMode:]):
              (-[WebView unscheduleFromRunLoop:forMode:]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41853 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      063e3b65
    • ggaren@apple.com's avatar
      JavaScriptCore: · ea7de387
      ggaren@apple.com authored
      2009-03-19  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich and Oliver Hunt.
      
              Fixed <rdar://problem/6406045> REGRESSION: Stack overflow on PowerPC on
              fast/workers/use-machine-stack.html (22531)
      
              Dialed down the re-entry allowance to 64 (from 128).
              
              On a 512K stack, this leaves about 64K for other code on the stack while
              JavaScript is running. Not perfect, but it solves our crash on PPC.
      
              Different platforms may want to dial this down even more.
      
              Also, substantially shrunk BytecodeGenerator. Since we allocate one on
              the stack in order to throw a stack overflow exception -- well, let's
              just say the old code had an appreciation for irony.
      
              SunSpider reports no change.
      
              * bytecompiler/BytecodeGenerator.h:
              * interpreter/Interpreter.h:
              (JSC::):
      
      LayoutTests:
      
      2009-03-19  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich and Oliver Hunt.
      
              Re-enabled this test, since it no longer crashes when JavaScriptCore is
              compiled in non-JIT mode.
      
              * fast/workers/use-machine-stack.html: Copied from fast/workers/use-machine-stack.html-disabled.
              * fast/workers/use-machine-stack.html-disabled: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea7de387
    • cwzwarich@webkit.org's avatar
      2009-03-19 Cameron Zwarich <cwzwarich@uwaterloo.ca> · da837d15
      cwzwarich@webkit.org authored
              Reviewed by Oliver Hunt.
      
              Bug 24350: REGRESSION: Safari 4 breaks SPAW wysiwyg editor multiple instances
              <https://bugs.webkit.org/show_bug.cgi?id=24350>
              <rdar://problem/6674182>
      
              The SPAW editor's JavaScript assumes that toString() on a function
              constructed with the Function constructor produces a function with
              a newline after the opening brace.
      
              JavaScriptCore:
      
              * runtime/FunctionConstructor.cpp:
              (JSC::constructFunction): Add a newline after the opening brace of the
              function's source code.
      
              LayoutTests:
      
              * fast/js/function-constructor-newline-after-brace-expected.txt: Added.
              * fast/js/function-constructor-newline-after-brace.html: Added.
              * fast/js/resources/function-constructor-newline-after-brace.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da837d15
    • mrowe@apple.com's avatar
      Fix fast/text/Geeza-Pro-vertical-metrics-adjustment.html on Leopard by moving... · 2b4ddbe7
      mrowe@apple.com authored
      Fix fast/text/Geeza-Pro-vertical-metrics-adjustment.html on Leopard by moving the results in to the location
      that run-webkit-tests currently looks for them.
      
      Reviewed by Stephanie Lewis.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2b4ddbe7
    • ggaren@apple.com's avatar
      JavaScriptCore: · e5497ee2
      ggaren@apple.com authored
      2009-03-19  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
      
              Reviewed by Geoff Garen.
      
              Bug 23771: REGRESSION (r36016): JSObjectHasProperty freezes on global class without kJSClassAttributeNoAutomaticPrototype
              <https://bugs.webkit.org/show_bug.cgi?id=23771>
              <rdar://problem/6561016>
      
              * API/tests/testapi.c:
              (main): Add a test for this bug.
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::resetPrototype): Don't set the prototype of the
              last object in the prototype chain to the object prototype when the
              object prototype is already the last object in the prototype chain.
      
      LayoutTests:
      
      2009-03-19  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
              
              Fixed <rdar://problem/6279213> Regular expression run-time complexity
              limit too low for long inputs (21485)
              
              Added a test for a complex regexp match that should succeed, and one
              that should fail.
      
              * fast/js/regexp-overflow-expected.txt:
              * fast/js/resources/regexp-overflow.js:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5497ee2
    • mrowe@apple.com's avatar
      Update test results for changes in handling of CMYK. · afe1b6e7
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      * fast/canvas/resources/set-colors.js:
      * fast/canvas/set-colors-expected.txt:
      * platform/mac-leopard/fast/canvas/set-colors-expected.txt: Copied from LayoutTests/fast/canvas/set-colors-expected.txt.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      afe1b6e7
    • andersca@apple.com's avatar
      2009-03-19 Anders Carlsson <andersca@apple.com> · 323fa91a
      andersca@apple.com authored
              Reviewed by Dan Bernstein.
      
              <rdar://problem/6682554> Flash content not being rendered (Shockwave Flash 10.0 r22)
              
              If calling updateWidget for some reason resulted in another widget being added to m_widgetUpdateSet, then
              that object would never be updated.
              
              * page/FrameView.cpp:
              (WebCore::FrameView::updateWidgets):
              Factor the widget updating code out into this method. Return true if the update set is empty.
              
              (WebCore::FrameView::performPostLayoutTasks):
              Loop over the update set multiple times until all widgets have been updated or until we reach the cap.
              
              * page/FrameView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41847 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      323fa91a
    • cwzwarich@webkit.org's avatar
      2009-03-19 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 836aac94
      cwzwarich@webkit.org authored
              Reviewed by Geoff Garen.
      
              Bug 23771: REGRESSION (r36016): JSObjectHasProperty freezes on global class without kJSClassAttributeNoAutomaticPrototype
              <https://bugs.webkit.org/show_bug.cgi?id=23771>
              <rdar://problem/6561016>
      
              * API/tests/testapi.c:
              (main): Add a test for this bug.
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::resetPrototype): Don't set the prototype of the
              last object in the prototype chain to the object prototype when the
              object prototype is already the last object in the prototype chain.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      836aac94
    • timothy@apple.com's avatar
      Make the defered data loading timer honor the Page's scheduled runloop pairs. · 67a028be
      timothy@apple.com authored
              Introduces a new RunLoopTimer class that has an API mimicking Timer but
              allows it to be scheduled with one or more SchedulePairs.
      
              <rdar://problem/6687342> -[WebView scheduleInRunLoop:forMode:] has no affect on timers
      
              Reviewed by Darin Adler.
      
              * WebCore.xcodeproj/project.pbxproj: Adds the new RunLoopTimer.{cpp,h} files.
              * loader/MainResourceLoader.cpp:
              (WebCore::MainResourceLoader::handleDataLoadNow): Use the MainResourceLoaderTimer typedef.
              (WebCore::MainResourceLoader::startDataLoadTimer): Added. Start the timer and on
              Mac platforms also schedule with the Page's SchedulePairs.
              (WebCore::MainResourceLoader::handleDataLoadSoon): Call startDataLoadTimer().
              (WebCore::MainResourceLoader::setDefersLoading): Ditto.
              * loader/MainResourceLoader.h:
              * platform/cf/RunLoopTimerCF.cpp: Added.
              (WebCore::RunLoopTimerBase::~RunLoopTimerBase):
              (WebCore::timerFired):
              (WebCore::RunLoopTimerBase::start):
              (WebCore::RunLoopTimerBase::schedule):
              (WebCore::RunLoopTimerBase::stop):
              (WebCore::RunLoopTimerBase::isActive):
              * platform/RunLoopTimer.h: Added.
              (WebCore::RunLoopTimerBase::RunLoopTimerBase):
              (WebCore::RunLoopTimerBase::startRepeating):
              (WebCore::RunLoopTimerBase::startOneShot):
              (WebCore::RunLoopTimer::RunLoopTimer):
              (WebCore::RunLoopTimer::fired):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      67a028be
    • kov@webkit.org's avatar
      2009-03-19 Gustavo Noronha Silva <gns@gnome.org> · 1ee94e08
      kov@webkit.org authored
      Reviewed by Mark Rowe.
      
              Make determinePassedArchitecture always consume the --32-bit
              option, also in non-AppleMacWebkit platforms. Solution pointed out
              by Mark Rowe.
      
              * Scripts/webkitdirs.pm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ee94e08
    • hyatt@apple.com's avatar
      Adding scrollbar images for blog post. · 3dece45a
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3dece45a
    • ggaren@apple.com's avatar
      JavaScriptCore: · 287f42dc
      ggaren@apple.com authored
      2009-03-19  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Sam Weinig.
              
              Fixed <rdar://problem/6603562> REGRESSION (Safari 4): regular expression
              pattern size limit lower than Safari 3.2, other browsers, breaks SAP (14873)
              
              Bumped the pattern size limit to 1MB, and standardized it between PCRE
              and WREC. (Empirical testing says that we can easily compile a 1MB regular
              expression without risking a hang. Other browsers support bigger regular
              expressions, but also hang.)
              
              SunSpider reports no change.
              
              I started with a patch posted to Bugzilla by Erik Corry (erikcorry@google.com).
              
              * pcre/pcre_internal.h:
              (put3ByteValue):
              (get3ByteValue):
              (put3ByteValueAndAdvance):
              (putLinkValueAllowZero):
              (getLinkValueAllowZero): Made PCRE's "LINK_SIZE" (the number of bytes
              used to record jumps between bytecodes) 3, to accomodate larger potential
              jumps. Bumped PCRE's "MAX_PATTERN_SIZE" to 1MB. (Technically, at this
              LINK_SIZE, we can support even larger patterns, but we risk a hang during
              compilation, and it's not clear that such large patterns are important
              on the web.)
      
              * wrec/WREC.cpp:
              (JSC::WREC::Generator::compileRegExp): Match PCRE's maximum pattern size,
              to avoid quirks between platforms.
      
      LayoutTests:
      
      2009-03-19  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Sam Weinig.
              
              Made two layout tests less agressive, to accomodate a change I made
              for <rdar://problem/6603562> REGRESSION (Safari 4): regular expression
              pattern size limit lower than Safari 3.2, other browsers, breaks SAP (14873)
      
              * fast/js/regexp-charclass-crash-expected.txt:
              * fast/js/regexp-charclass-crash.html: Explicitly limit the number of iterations
              in the test loop. Otherwise, regular expression engines supporting very
              long patterns take a very very very long time to run this test.
      
              * fast/js/resources/regexp-overflow.js: Made the "too big" regexp in
              this test even bigger, to match our new limit.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      287f42dc
    • dglazkov@chromium.org's avatar
      2009-03-19 Dimitri Glazkov <dglazkov@chromium.org> · 12aadcea
      dglazkov@chromium.org authored
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=24702
              Upstream miscellaneous bindings changes.
      
              * bindings/v8/ScheduledAction.cpp:
              (WebCore::ScheduledAction::execute): Changed to call lower-case evaluate.
              * bindings/v8/ScriptCallStack.h: Added an extra include.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      12aadcea
    • simon.fraser@apple.com's avatar
      2009-03-19 Simon Fraser <simon.fraser@apple.com> · bb710c2c
      simon.fraser@apple.com authored
              Reviewed by Dave Hyatt
      
              https://bugs.webkit.org/show_bug.cgi?id=24686
      
              When hit testing a RenderLayer whose parent lives in a preserves-3D hierarchy,
              we need to compare the computed z-offset with the depth-test z-offset before
              deciding that such a RenderLayer was hit. This fixes an issue, tested by the
              3d-point-mapping-overlapping.html test, where the child of a transformed element
              is found by hit testing, even when some other element with greater Z overlaps
              them both.
      
              Improved the code by adding a utility method, isHitCandidate(), which computes and tests
              z-depth when necessary.
      
              Tests: transforms/3d/point-mapping/3d-point-mapping-coplanar.html
                     transforms/3d/point-mapping/3d-point-mapping-overlapping.html
      
              * rendering/RenderLayer.cpp:
              (WebCore::isHitCandidate):
              (WebCore::RenderLayer::hitTestLayer):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb710c2c
    • dglazkov@chromium.org's avatar
      2009-03-19 Jeremy Moskovich <jeremy@chromium.org> · 24f99249
      dglazkov@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              https://bugs.webkit.org/show_bug.cgi?id=24456
              Split ColorChromium.cpp into Mac & Windows variants.
              Remove Chromium Dependency on platform/graphics/mac/ColorMac.mm since we
              ultimately need to take a different approach.  For now, createCGColor()
              is copied from ColorMac.mm.
      
              No observable change in behavior, so no test.
      
              * platform/graphics/chromium/ColorChromium.cpp:
              (WebCore::focusRingColor):
              * platform/graphics/chromium/ColorChromiumMac.mm: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      24f99249