1. 14 Mar, 2007 27 commits
    • andersca's avatar
      Fix segmentation fault when running layout tests. · 7e2db9e7
      andersca authored
              Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code.
              (Turns out he's not that good!)
              
              * WebView/WebDocumentLoaderMac.mm:
              (WebDocumentLoaderMac::increaseLoadCount):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e2db9e7
    • kmccullo's avatar
      Reviewed by . · e78f0bcc
      kmccullo authored
              Silly wrapping change for testing a post-commit hook change.
      
              * contact.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e78f0bcc
    • andersca's avatar
      Reviewed by Geoff. · 3f18aeee
      andersca authored
              http://bugs.webkit.org/show_bug.cgi?id=13076
              REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long)
      
              Store the identifier set in the document loader since identifiers are per-webview and not global.
              
              * WebView/WebDocumentLoaderMac.h:
              * WebView/WebDocumentLoaderMac.mm:
              (WebDocumentLoaderMac::WebDocumentLoaderMac):
              (WebDocumentLoaderMac::attachToFrame):
              (WebDocumentLoaderMac::increaseLoadCount):
              (WebDocumentLoaderMac::decreaseLoadCount):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f18aeee
    • kmccullo's avatar
      Reviewed by . · eddb0571
      kmccullo authored
              - Fixed one more build breakage
      
              * kjs/date_object.cpp:
              (KJS::formatLocaleDate):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eddb0571
    • kmccullo's avatar
      Reviewed by . · e4255dd9
      kmccullo authored
              - Fixed a build breakage.
      
              * kjs/DateMath.cpp:
              * kjs/date_object.cpp:
              (KJS::formatLocaleDate):
              (KJS::DateObjectImp::construct):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4255dd9
    • kmccullo's avatar
      JavaScriptCore: · 014b4536
      kmccullo authored
              Reviewed by Geoff.
      
              - rdar://problem/5045720
              - DST changes in US affect JavaScript date calculations (12975)
              This fix was to ensure we properly test for the new changes to DST in the US.
              Also this fixes when we apply DST, now we correctly map most past years to current
              DST rules.  We still have a small issue with years before 1900 or after 2100.
              rdar://problem/5055038
      
              * kjs/DateMath.cpp: Fix DST to match spec better.
              (KJS::getCurrentUTCTime):
              (KJS::mimimumYearForDST):
              (KJS::maximumYearForDST):
              (KJS::equivalentYearForDST):
              (KJS::getDSTOffset):
              * kjs/DateMath.h: Consolodated common funtionality.
              * kjs/date_object.cpp: Consolodated common functionality.
              (KJS::formatLocaleDate):
              (KJS::DateObjectImp::construct):
              * tests/mozilla/ecma/jsref.js: Added functions for finding the correct days when DST starts and ends.
              * tests/mozilla/ecma/shell.js: Added back in the old DST functions for ease of merging with mozilla if needed.
              * tests/mozilla/ecma_2/jsref.js: Added functions for finding the correct days when DST starts and ends.
              * tests/mozilla/ecma_3/Date/shell.js: Added functions for finding the correct days when DST starts and ends.
              * tests/mozilla/expected.html: Updated to show all date tests passing.
      
      LayoutTests:
      
              Reviewed by Geoff.
      
              - rdar://problem/5045720
              - DST changes in US affect JavaScript date calculations (12975)
              Changed layout tests to properly check for the new changes to DST in the
              US. Also these now test that equivalent years return the same results for DST.
      
              * fast/js/date-DST-time-cusps-expected.txt:
              * fast/js/date-big-setdate-expected.txt:
              * fast/js/resources/date-DST-time-cusps.js:
              * fast/js/resources/date-big-setdate.js:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      014b4536
    • weinig's avatar
      LayoutTests: · 5a5b938d
      weinig authored
              Reviewed by Hyatt.
      
              - test for://bugs.webkit.org/show_bug.cgi?id=13071
                REGRESSION: Plain text files no longer wrap lines longer than the width of the browser window
      
              * fast/loader/resources/text-document-wrapping.txt: Added.
              * fast/loader/text-document-wrapping-expected.checksum: Added.
              * fast/loader/text-document-wrapping-expected.png: Added.
              * fast/loader/text-document-wrapping-expected.txt: Added.
              * fast/loader/text-document-wrapping.html: Added.
      
      WebCore:
      
              Reviewed by Hyatt.
      
              - http://bugs.webkit.org/show_bug.cgi?id=13071
                REGRESSION: Plain text files no longer wrap lines longer than the width of the browser window
      
              Test: fast/loader/text-document-wrapping.html
      
              * loader/TextDocument.cpp:
              (WebCore::TextTokenizer::write): Specified word-wrap:break-word for the <pre> element.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a5b938d
    • harrison's avatar
      Reviewed by Maciej. · ab34f98a
      harrison authored
              <rdar://problem/5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word
      
              * WebCoreSupport/WebEditorClient.mm:
              (WebEditorClient::respondToChangedSelection):
              * WebCoreSupport/WebFrameBridge.mm:
              Provide compatibility by not sending WebViewDidChangeSelectionNotification if
              the app is Aperture and is linked against WebKit 2.0.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab34f98a
    • weinig's avatar
      LayoutTests: · 98726dac
      weinig authored
              Reviewed by Hyatt.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=13072
                REGRESSION (r15617): white-space: pre-wrap breaks off the last character of a wide word
      
              * fast/text/whitespace/pre-wrap-last-char-expected.checksum: Added.
              * fast/text/whitespace/pre-wrap-last-char-expected.png: Added.
              * fast/text/whitespace/pre-wrap-last-char-expected.txt: Added.
              * fast/text/whitespace/pre-wrap-last-char.html: Added.
      
      WebCore:
      
              Reviewed by Hyatt.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=13072
                REGRESSION (r15617): white-space: pre-wrap breaks off the last character of a wide word
      
              Test: fast/text/whitespace/pre-wrap-last-char.html
      
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::findNextLineBreak): Undid the change from r15617.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98726dac
    • hyatt's avatar
      Add asserts to help catch double refs and double derefs of CachedResources. · f56c4413
      hyatt authored
              Reviewed by mjs
      
              * loader/CachedResource.cpp:
              (WebCore::CachedResource::ref):
              (WebCore::CachedResource::deref):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f56c4413
    • aliceli1's avatar
      Rubber-stamped by Hyatt. · 3163197d
      aliceli1 authored
              Adding null check to prevent the crash that happens on 2nd run of iBench HTML load test
      
              * loader/icon/IconDataCache.cpp:
              (WebCore::IconDataCache::writeToDatabase):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3163197d
    • adele's avatar
      Reviewed by Adam. · 15b52e0a
      adele authored
              Fix for <rdar://problem/5062898> REGRESSION: autocomplete window in text fields doesn't come up
      
              When we moved the initialization of a bunch of variables in the HTMLFormElement constructor, m_autocomplete accidently got initialized to false.
      
              * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      15b52e0a
    • sfalken's avatar
      2007-03-14 Steve Falkenburg <sfalken@apple.com> · ddc61b50
      sfalken authored
              Reviewed by Adam.
      
              Added missing null check in case this is called on a subframe
              that hasn't started loading.
      
              * page/Frame.cpp:
              (WebCore::Frame::setMarkedTextMatchesAreHighlighted): Check for a null document.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ddc61b50
    • andersca's avatar
      Reviewed by Geoff. · af0f8bdf
      andersca authored
              <rdar://problem/5058714>
              http://bugs.webkit.org/show_bug.cgi?id=13050
              
              World leaks seen on Leopard after opening then closing tab (13050)
      
              Add a hash set to prevent the load count to be increased twice for the same resource.
              
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::dispatchWillSendRequest):
              (WebFrameLoaderClient::dispatchDidFinishLoading):
              (WebFrameLoaderClient::dispatchDidFailLoading):
              * WebView/WebDocumentLoaderMac.h:
              * WebView/WebDocumentLoaderMac.mm:
              (loadingResources):
              (WebDocumentLoaderMac::increaseLoadCount):
              (WebDocumentLoaderMac::decreaseLoadCount):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af0f8bdf
    • antti's avatar
      Reviewed by Geoff. · 0e45dad8
      antti authored
              Fix http://bugs.webkit.org/show_bug.cgi?id=13060
              REGRESSION: Repro ASSERT failure in Cache::adjustSize running layout tests
              <rdar://5060208>
              
              Script evaluation may have dereffed the CachedScript object already, causing double deref and
              eventually m_liveResourcesSize underflow.
      
              * html/HTMLScriptElement.cpp:
              (WebCore::HTMLScriptElement::notifyFinished):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e45dad8
    • adele's avatar
      WebCore: · a21aa1a7
      adele authored
              Reviewed by Darin.
      
              Added InsertTab, InsertBacktab, InsertLineBreak, and InsertNewline to the editing command table.
              Added Event parameter to execCommand, and to all of the enabled and exec functions.  Right now,
              the event is only used by the newly added commands.  But in the future, many (and possibly all) of
              these editing commands will need to consider the event so they are applied to the correct selection.
      
              * WebCore.exp:
              * editing/Editor.cpp:
              (WebCore::execCopy):
              (WebCore::execCut):
              (WebCore::execDelete):
              (WebCore::execBackwardDelete):
              (WebCore::execForwardDelete):
              (WebCore::execMoveBackward):
              (WebCore::execMoveBackwardAndModifySelection):
              (WebCore::execMoveUpByPageAndModifyCaret):
              (WebCore::execMoveDown):
              (WebCore::execMoveDownAndModifySelection):
              (WebCore::execMoveForward):
              (WebCore::execMoveForwardAndModifySelection):
              (WebCore::execMoveDownByPageAndModifyCaret):
              (WebCore::execMoveLeft):
              (WebCore::execMoveLeftAndModifySelection):
              (WebCore::execMoveRight):
              (WebCore::execMoveRightAndModifySelection):
              (WebCore::execMoveToBeginningOfDocument):
              (WebCore::execMoveToBeginningOfDocumentAndModifySelection):
              (WebCore::execMoveToBeginningOfSentence):
              (WebCore::execMoveToBeginningOfSentenceAndModifySelection):
              (WebCore::execMoveToBeginningOfLine):
              (WebCore::execMoveToBeginningOfLineAndModifySelection):
              (WebCore::execMoveToBeginningOfParagraph):
              (WebCore::execMoveToBeginningOfParagraphAndModifySelection):
              (WebCore::execMoveToEndOfDocument):
              (WebCore::execMoveToEndOfDocumentAndModifySelection):
              (WebCore::execMoveToEndOfSentence):
              (WebCore::execMoveToEndOfSentenceAndModifySelection):
              (WebCore::execMoveToEndOfLine):
              (WebCore::execMoveToEndOfLineAndModifySelection):
              (WebCore::execMoveToEndOfParagraph):
              (WebCore::execMoveToEndOfParagraphAndModifySelection):
              (WebCore::execMoveParagraphBackwardAndModifySelection):
              (WebCore::execMoveParagraphForwardAndModifySelection):
              (WebCore::execMoveUp):
              (WebCore::execMoveUpAndModifySelection):
              (WebCore::execMoveWordBackward):
              (WebCore::execMoveWordBackwardAndModifySelection):
              (WebCore::execMoveWordForward):
              (WebCore::execMoveWordForwardAndModifySelection):
              (WebCore::execMoveWordLeft):
              (WebCore::execMoveWordLeftAndModifySelection):
              (WebCore::execMoveWordRight):
              (WebCore::execMoveWordRightAndModifySelection):
              (WebCore::execPaste):
              (WebCore::execSelectAll):
              (WebCore::execToggleBold):
              (WebCore::execToggleItalic):
              (WebCore::execRedo):
              (WebCore::execUndo):
              (WebCore::execInsertTab):
              (WebCore::execInsertBacktab):
              (WebCore::execInsertNewline):
              (WebCore::execInsertLineBreak):
              (WebCore::enabled):
              (WebCore::canPaste):
              (WebCore::hasEditableSelection):
              (WebCore::hasEditableRangeSelection):
              (WebCore::hasRangeSelection):
              (WebCore::hasRichlyEditableSelection):
              (WebCore::canRedo):
              (WebCore::canUndo):
              (WebCore::CommandEntry::):
              (WebCore::Editor::toggleBold):
      
              (WebCore::Editor::execCommand): Added optional event parameter.
              (WebCore::Editor::insertText): Added.  Calls handleTextInputEvent.
              (WebCore::Editor::insertTextWithoutSendingTextEvent): Renamed from insertText.
               Performs the actual insertion without dispatching any event.
              * editing/Editor.h:
              * page/EventHandler.cpp: (WebCore::EventHandler::defaultTextInputEventHandler):
                Call insertTextWithoutSendingTextEvent.
      
      WebKit:
      
              Reviewed by Darin.
      
              Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent.
              Instead, use execCommand and insertText methods on the Editor.
      
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView insertTab:]):
              (-[WebHTMLView insertBacktab:]):
              (-[WebHTMLView insertNewline:]):
              (-[WebHTMLView insertLineBreak:]):
              (-[WebHTMLView insertParagraphSeparator:]):
              (-[WebHTMLView insertNewlineIgnoringFieldEditor:]):
              (-[WebHTMLView insertTabIgnoringFieldEditor:]):
              (-[WebHTMLView yank:]):
              (-[WebHTMLView yankAndSelect:]):
              (-[WebHTMLView doCommandBySelector:]):
              (-[WebHTMLView insertText:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a21aa1a7
    • justing's avatar
      I forgot to update this expected result in my previous checkin. · 42cfb678
      justing authored
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42cfb678
    • justing's avatar
      LayoutTests: · 867f199a
      justing authored
              Reviewed by darin
      
              Removed unnecessary style spans:
              * editing/deleting/delete-3857753-fix-expected.txt:
              * editing/execCommand/4916541-expected.txt:
              * editing/execCommand/create-list-from-range-selection-expected.txt:
              * editing/execCommand/format-block-expected.txt:
              * editing/execCommand/format-block-from-range-selection-expected.txt:
              * editing/execCommand/format-block-with-braces-expected.txt:
              * editing/execCommand/indent-selection-expected.txt:
              * editing/execCommand/remove-list-from-range-selection-expected.txt:
              * editing/execCommand/remove-list-items-expected.txt:
              * editing/execCommand/switch-list-type-expected.txt:
              * editing/pasteboard/4861080-expected.txt:
              * editing/pasteboard/display-block-on-spans-expected.txt:
              * editing/pasteboard/drag-drop-modifies-page-expected.txt:
              * editing/pasteboard/paste-table-002-expected.txt:
              * editing/pasteboard/paste-text-001-expected.txt:
              * editing/pasteboard/paste-text-at-tabspan-001-expected.txt:
              * editing/pasteboard/paste-text-at-tabspan-002-expected.txt:
              * editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
              * editing/style/smoosh-styles-001-expected.txt:
              * editing/style/smoosh-styles-002-expected.txt:
      
      WebCore:
      
              Reviewed by darin
              
              ~3x speedup pasting 5k lines of rich text:
              http://shakespeare.mit.edu/hamlet/full.html
              ~2x speedup pasting 10k lines of plain text
              
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::computedStyle): Added for convenience.
              * css/CSSComputedStyleDeclaration.h:
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
              The code that pushed down the top level style span had
              a bug in it that made it do unnecessary work.  Instead of
              fixing the bug I removed the code because it was used to 
              help see more redundancies in second level style spans, but 
              createMarkup now *only* creates a top level style span.
              Only remove redundant styles from style spans and only remove
              unstyled elements if they are style spans.  FF doesn't
              remove redundant styles from elements, or remove redundant 
              font tags on copy/paste.  We could offer this functionality 
              through a separate "cleanup" command.
              * editing/markup.cpp:
              (WebCore::createMarkup): Only add markup for ancestors of 
              lastClosed if we're including markup for acommonAncestorBlock 
              (we do this for commonAncestorBlocks like tables and lists),
              otherwise it's unnecessary/redundant.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      867f199a
    • andersca's avatar
      Reviewed by Ada. · 9f3a1769
      andersca authored
              Make sure to call ResourceLoader::didReceiveData to ensure that there's a shared buffer with the resource
              data, since SubresourceLoaderClients now make use of that buffer.
              
              * loader/SubresourceLoader.cpp:
              (WebCore::SubresourceLoader::didReceiveData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f3a1769
    • andersca's avatar
      Get the size from the shared buffer. · 00ee54b1
      andersca authored
              
              * platform/graphics/cg/ImageSourceCG.cpp:
              (WebCore::ImageSource::setData):
              * platform/graphics/cg/PDFDocumentImage.cpp:
              (WebCore::PDFDocumentImage::dataChanged):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      00ee54b1
    • weinig's avatar
      LayoutTests: · 760f10f9
      weinig authored
              Reviewed by Hyatt, thumbs up by Darin.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=12782
                Reproducible crash in BidiContext::deref
      
              * fast/dynamic/anonymous-block-orphaned-lines-expected.checksum: Added.
              * fast/dynamic/anonymous-block-orphaned-lines-expected.png: Added.
              * fast/dynamic/anonymous-block-orphaned-lines-expected.txt: Added.
              * fast/dynamic/anonymous-block-orphaned-lines.html: Added.
      
      WebCore:
      
              Reviewed by Hyatt, thumbs up by Darin.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12782
                Reproducible crash in BidiContext::deref
      
              Test: fast/dynamic/anonymous-block-orphaned-lines.html
      
              * rendering/InlineBox.cpp:
              (WebCore::InlineBox::root): Added an assertion that we return a root inline box.
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::removeChild): Added code to adopt the line boxes of
              anonymous blocks being destroyed instead of leaving them orphaned, which
              is what caused this crash. The boxes will be deleted on the next layout, but
              this ensures consistency in the mean time.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      760f10f9
    • lars's avatar
      Reviewed by Antti. · 5fe38f17
      lars authored
              Fix the Qt build.
              Add a getter to SharedBuffer that returns a reference to the internal
              Vector to avoid an extra copy of the data.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5fe38f17
    • antti's avatar
      LayoutTests: · e3543b8f
      antti authored
              Reviewed by Mitz.
              
              Test case for <rdar://problem/5058774>
              REGRESSION: In Mail, caret appears oversized when typing in a To Do note
      
              * editing/style/highlight-expected.checksum: Added.
              * editing/style/highlight-expected.png: Added.
              * editing/style/highlight-expected.txt: Added.
              * editing/style/highlight.html: Added.
      
      WebCore:
      
              Reviewed by Mitz.
              
              Fix <rdar://problem/5058774>
              REGRESSION: In Mail, caret appears oversized when typing in a To Do note
              
              Horizontal and vertical were switched. Was regression from
              http://trac.webkit.org/projects/webkit/changeset/20103
      
              * rendering/RootInlineBox.cpp:
              (WebCore::RootInlineBox::addHighlightOverflow):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3543b8f
    • hyatt's avatar
      Tweak the data() functions of stylesheets and scripts to be internally consistent. · 1ea6f464
      hyatt authored
              * loader/CachedCSSStyleSheet.cpp:
              (WebCore::CachedCSSStyleSheet::data):
              * loader/CachedScript.cpp:
              (WebCore::CachedScript::data):
              * loader/CachedXSLStyleSheet.cpp:
              (WebCore::CachedXSLStyleSheet::data):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ea6f464
    • hyatt's avatar
      Fix Radar 5050688. · afd75ab0
      hyatt authored
              For large animated GIFs, destroy and recreate the source for every animation frame.  This keeps
              the memory consumption down while giant images are animating.
      
              Reviewed by andersca
      
              * platform/graphics/BitmapImage.cpp:
              (WebCore::BitmapImage::BitmapImage):
              (WebCore::BitmapImage::destroyDecodedData):
              (WebCore::BitmapImage::dataChanged):
              (WebCore::BitmapImage::advanceAnimation):
              * platform/graphics/BitmapImage.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      afd75ab0
    • hyatt's avatar
      Make sure to use CFDataCreateWithBytesNoCopy where we can. · 2e58e7b2
      hyatt authored
              Reviewed by andersca
      
              * platform/graphics/cg/ImageSourceCG.cpp:
              (WebCore::ImageSource::setData):
              * platform/graphics/cg/PDFDocumentImage.cpp:
              (WebCore::PDFDocumentImage::dataChanged):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e58e7b2
    • hyatt's avatar
      WebCore: · eb9cac25
      hyatt authored
              Fix for bugzilla bug 13050 and also radar p1 5050645.
      
              This patch reworks resource loading to avoid having redundant buffers in the icon database and in cached
              images in the WebCore cache.  It also avoids overcopying in top-level image documents and in the icon
              database.
      
              There is now only one SharedBuffer for a resource and everybody observes that buffer now instead of ever
              making their own.  Even ImageIO uses the SharedBuffer while decoding.
      
              The page in 13050 dropped from 145mb down to 45mb of memory use with this change for a stunning savings
              of 100mb.
      
              Reviewed by olliej, mjs
      
              * WebCore.exp:
              * loader/CachedCSSStyleSheet.cpp:
              (WebCore::CachedCSSStyleSheet::data):
              * loader/CachedCSSStyleSheet.h:
              * loader/CachedImage.cpp:
              (WebCore::CachedImage::data):
              * loader/CachedImage.h:
              * loader/CachedResource.cpp:
              (WebCore::CachedResource::CachedResource):
              (WebCore::CachedResource::~CachedResource):
              * loader/CachedResource.h:
              (WebCore::CachedResource::data):
              * loader/CachedScript.cpp:
              (WebCore::CachedScript::data):
              * loader/CachedScript.h:
              * loader/CachedXSLStyleSheet.cpp:
              (WebCore::CachedXSLStyleSheet::data):
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              (WebCore::DocLoader::checkCacheObjectStatus):
              * loader/ImageDocument.cpp:
              (WebCore::ImageTokenizer::writeRawData):
              (WebCore::ImageTokenizer::finish):
              * loader/icon/IconDataCache.cpp:
              (WebCore::IconDataCache::setImageData):
              (WebCore::IconDataCache::writeToDatabase):
              * loader/icon/IconDataCache.h:
              * loader/icon/IconDatabase.cpp:
              (WebCore::IconDatabase::imageDataForIconURL):
              (WebCore::IconDatabase::iconForPageURL):
              (WebCore::IconDatabase::setIconDataForIconURL):
              (WebCore::IconDatabase::setHaveNoIconForIconURL):
              (WebCore::IconDatabase::imageDataForIconURLQuery):
              * loader/icon/IconDatabase.h:
              * loader/icon/IconLoader.cpp:
              (WebCore::IconLoader::startLoading):
              (WebCore::IconLoader::didReceiveResponse):
              (WebCore::IconLoader::didReceiveData):
              (WebCore::IconLoader::didFail):
              (WebCore::IconLoader::finishLoading):
              (WebCore::IconLoader::clearLoadingState):
              * loader/icon/IconLoader.h:
              * loader/icon/SQLStatement.cpp:
              (WebCore::SQLStatement::getColumnBlobAsVector):
              (WebCore::SQLStatement::isExpired):
              * loader/icon/SQLStatement.h:
              * loader/loader.cpp:
              (WebCore::Loader::didFinishLoading):
              (WebCore::Loader::didReceiveData):
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge getData:andResponse:forURL:]):
              (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
              * platform/SharedBuffer.h:
              (WebCore::SharedBuffer::isEmpty):
              * platform/graphics/BitmapImage.cpp:
              (WebCore::BitmapImage::destroyDecodedData):
              (WebCore::BitmapImage::dataChanged):
              * platform/graphics/BitmapImage.h:
              * platform/graphics/Image.cpp:
              (WebCore::Image::setData):
              * platform/graphics/Image.h:
              (WebCore::Image::dataChanged):
              (WebCore::Image::data):
              * platform/graphics/ImageSource.h:
              * platform/graphics/cg/ImageSourceCG.cpp:
              (WebCore::ImageSource::setData):
              * platform/graphics/cg/PDFDocumentImage.cpp:
              (WebCore::PDFDocumentImage::dataChanged):
              * platform/graphics/cg/PDFDocumentImage.h:
              * platform/graphics/mac/ImageMac.mm:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/svg/SVGImage.cpp:
              (WebCore::SVGImage::setData):
              * platform/mac/PasteboardMac.mm:
              (WebCore::fileWrapperForImage):
      
      WebKit:
      
              Fixes to ensure that the resource loader's shared buffer can always be used.
      
              Reviewed by olliej, mjs
      
              * Misc/WebIconDatabase.mm:
              (-[WebIconDatabase _convertToWebCoreFormat]):
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::deliverArchivedResources):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb9cac25
  2. 13 Mar, 2007 13 commits
    • justing's avatar
      LayoutTests: · 4ac2b9a3
      justing authored
              Reviewed by darin
              
              <rdar://problem/5046875> 
              Gmail Editor: Applying alignment to selected text in message also applies alignment to signature
      
              Added:
              * editing/style/5046875-1-expected.checksum: Added.
              * editing/style/5046875-1-expected.png: Added.
              * editing/style/5046875-1-expected.txt: Added.
              * editing/style/5046875-1.html: Added.
              * editing/style/5046875-2-expected.checksum: Added.
              * editing/style/5046875-2-expected.png: Added.
              * editing/style/5046875-2-expected.txt: Added.
              * editing/style/5046875-2.html: Added.
              moveParagraphs doesn't move unnecessary brs:
              * editing/style/create-block-for-style-002-expected.txt:
              * editing/style/create-block-for-style-004-expected.txt:
              * editing/style/create-block-for-style-001-expected.txt:
              * editing/style/create-block-for-style-009-expected.txt:
              * editing/style/create-block-for-style-010-expected.txt:
              moveParagraphs clears out unrendered text during the move:
              * editing/style/create-block-for-style-011-expected.txt:
              * editing/style/create-block-for-style-007-expected.txt:
              * editing/style/create-block-for-style-012-expected.txt:
      
      WebCore:
      
              Reviewed by darin
              
              <rdar://problem/5046875> 
              Gmail Editor: Applying alignment to selected text in message also applies alignment to signature
      
              * editing/ApplyStyleCommand.cpp:
              (WebCore::ApplyStyleCommand::doApply): Don't call applyBlockStyle unless
              there is a block style to apply.
              (WebCore::ApplyStyleCommand::applyBlockStyle): Don't do the remove step.
              It was unnecessary and removed properties from blocks that could contain 
              content outside the range being operated on (added a testcase).
              (WebCore::ApplyStyleCommand::addBlockStyleIfNeeded): Used an early return
              instead of if-nesting.
              * editing/ApplyStyleCommand.h:
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
              Return the new block, if one was created.  Use moveParagraphs to move
              paragraphs into the new block, instead of moving nodes.  The old code moved
              too much (added a testcase).
              * editing/CompositeEditCommand.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ac2b9a3
    • oliver's avatar
      2007-03-13 Oliver Hunt <oliver@apple.com> · a258f43a
      oliver authored
              Reviewed by Brady.
      WebCore:
              To fix <rdar://problem/5044366> we now pass a NSString
              representation of the URL extracted with _web_originalDataAsString
              instead of relying on [NSURL absoluteString] in the bridge
      
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge getData:andResponse:forURL:]):
      WebKit:
              Modify subresourceForURL to take NSString argument 
              so we can avoid [NSURL absoluteString]
      
              * WebView/WebDataSource.mm:
              (-[WebDataSource subresourceForURL:]):
      LayoutTests:
              Test for <rdar://problem/5044366> make sure we can create
              a WebArchive from a page with a partially decoded url.
      
              * webarchive/archive-with-unencoded-url-expected.txt: Added.
              * webarchive/archive-with-unencoded-url.html: Added.
      
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a258f43a
    • beidson's avatar
      Rubberstamped by Alice · c58fcfe0
      beidson authored
              Meant to be part of my previous checkin... pruning unused code from WebKit
      
              * WebView/WebFrame.mm: Removed _canCachePage
              * WebView/WebFrameInternal.h: Ditto
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c58fcfe0
    • beidson's avatar
      Reviewed by Anders · fa3ff173
      beidson authored
              <rdar://problem/5048818> - REGRESSION: Incompletely loaded resources being saved to the object cache
      
              Due to a subtle change in loader behavior back in 10904, we would stop all loaders before calling 
              didFail() on them in the Cache loader.  As a result, we basically cleared all of the Subresource Loaders 
              out of the Cache loader before more properly failing them as errored out.  The result?  Partially loaded
              resources being cached.
              
              Since Loader::didFail() both calls error() on the object *and* removes the loader, the solution is to call 
              didFail() for all cancelled loaders instead of *only* removing them from the set of active loaders.
              
              In addition, pages that didn't completely load were being saved to the back/forward cache.  To fix that,
              I added a null check on the DocumentLoader's error to see if the page ended in an error, or did indeed 
              completely load.
      
              Note that the layout test for this - if possible - will require other enhancements including possibly adding
              support for window.stop().  That task is documented in <rdar://problem/5061826>
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::provisionalLoadStarted): Fixed a few bugs relating to my original BFCache rewrite to
                more perfectly restore the original behavior - including only caching HTML documents via the 
                m_client->canCachePage() call
              (WebCore::FrameLoader::canCachePage): Don't make the call to m_client->canCachePage() as that serves a different
                purpose
                - Check the mainDocumentError to see if the load ended in error as a further criteria in determining the 
                cachability of a page
      
              * loader/loader.cpp:
              (WebCore::Loader::cancelRequests): Call didFail(cancelledError()) instead of just removing the loaders from the 
                loaders-in-progress set.  This adds the effect of properly cleaning up the cached object.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa3ff173
    • bdakin's avatar
      WebCore: · 262baf71
      bdakin authored
              Rendering part reviewed by Hyatt. Editing part consulted with and 
              rubber stamped by Justin and Harrison.
      
              Fix for <rdar://problem/5025925> A hang occurs in Safari when 
              attempting to print page at http://www.pcadvisor.co.uk
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::makeChildrenNonInline): 
              RenderBlock::makeChildrenNonInline() takes a block's inline 
              children and turns them into block children. If the children had 
              line boxes, those boxes were being leaked. In the layout test I 
              added with the change (and at pcadvisor.co.uk during printing) 
              children were being made non-inline, and then they were being made 
              inline again. This meant that some of the children ended up 
              pointing to totally stale line boxes that are normally just leaked. 
              This caused an infinite loop in RenderFlow::destroy(). This patch 
              simply deletes everyone's line boxes in 
              RenderBlock::makeChildrenNonInline()
      
              * editing/InsertParagraphSeparatorCommand.cpp:
              (WebCore::InsertParagraphSeparatorCommand::doApply): The other part 
              of this fix is that I added a call to updateLayout in 
              InsertParagraphSeparatorCommand::doApply(). One layout test 
              (editing/spelling/spelling.html) was changed by my patch to 
              RenderBlock. doApply() inserts a node into the render tree. In at 
              least one case in spelling.html, that caused some line boxes to be 
              deleted. Back in doApply() this meant that the RenderTree was out-
              of-date, and we mistakenly thought we were at the end of the 
              paragraph. This caused us to insert a RenderBR() at the end of the 
              tree instead of an empty RenderText(). No one seems to know exactly 
              why we insert either, or if the change is necessarily a problem. It 
              is clear, though, that the RenderTree in doApply() is out-of-date 
              after inserting the node and deleting some line boxes, so it seems 
              prudent to call into updateLayout().
      
      LayoutTests:
              Reviewed by Hyatt.
      
              Test for <rdar://problem/5025925> A hang occurs in Safari when 
              attempting to print page at http://www.pcadvisor.co.uk
      
              * fast/block/float/nestedAnonymousBlocks-expected.checksum: Added.
              * fast/block/float/nestedAnonymousBlocks-expected.png: Added.
              * fast/block/float/nestedAnonymousBlocks-expected.txt: Added.
              * fast/block/float/nestedAnonymousBlocks.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      262baf71
    • aroben's avatar
      Reviewed by Anders. · 5b8f351d
      aroben authored
              * platform/FontData.h: Added m_isSystemFont parameter to match NSFont.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b8f351d
    • harrison's avatar
      <rdar://problem/5031181> cntl-k at end of paragraph adds nothing to the kill ring · 70e9806a
      harrison authored
              <rdar://problem/5031189> REGRESSION: cntl-y yanks only the most recently killed content
      
              Updated results.
      
              * editing/deleting/delete-to-end-of-paragraph-expected.checksum:
              * editing/deleting/delete-to-end-of-paragraph-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70e9806a
    • bdakin's avatar
      typo fix. thanks aroben! · 6d687203
      bdakin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d687203
    • bdakin's avatar
      WebCore: · 8be55345
      bdakin authored
              Reviewed by Maciej.
      
              Export DocumentLoader::setFrame(). Part for fix for <rdar://
              problem/4277074> 8F32: Help Viewer crashed on clicking link - 
              KHTMLView::viewportMouseReleaseEvent (12647)
      
              * WebCore.exp:
      
      WebKit:
              Reviewed by Maciej.
      
              Fix for <rdar://problem/4277074> 8F32: Help Viewer crashed on 
              clicking link - KHTMLView::viewportMouseReleaseEvent (12647)
      
              Re-set the DocumentLoader's frame when loading it from the page 
              cache before setting the document view.
      
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::setDocumentViewFromPageCache):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8be55345
    • darin's avatar
      of -> be · 921f95a1
      darin authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      921f95a1
    • darin's avatar
      LayoutTests: · 3fd60e18
      darin authored
              Reviewed by Maciej.
      
              - tests for http://bugs.webkit.org/show_bug.cgi?id=12794
                <rdar://problem/5028154> REGRESSION: TripTik planner at aaa.com never
                finishes loading due to unclosed canvas tag (12794)
      
              * fast/canvas/canvas-hides-fallback-expected.txt: Added.
              * fast/canvas/canvas-hides-fallback.html: Added.
              * fast/canvas/script-inside-canvas-fallback-expected.txt: Added.
              * fast/canvas/script-inside-canvas-fallback.html: Added.
              * fast/canvas/unclosed-canvas-1-expected.txt: Added.
              * fast/canvas/unclosed-canvas-1.html: Added.
              * fast/canvas/unclosed-canvas-2-expected.txt: Added.
              * fast/canvas/unclosed-canvas-2.html: Added.
              * fast/canvas/unclosed-canvas-3-expected.txt: Added.
              * fast/canvas/unclosed-canvas-3.html: Added.
              * fast/canvas/unclosed-canvas-4-expected.txt: Added.
              * fast/canvas/unclosed-canvas-4.html: Added.
      
      WebCore:
      
              Reviewed by Maciej.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12794
                <rdar://problem/5028154> REGRESSION: TripTik planner at aaa.com never
                finishes loading due to unclosed canvas tag (12794)
      
              Change <canvas> elements so that their contents are parsed normally,
              but not rendered. This change fixes the bug, because normal parsing
              rules close the <canvas> element in that case. The special parser
              stuff was just getting in the way.
      
              Also do some basic cleanup to the HTML parser. This was motivated by
              an earlier version of this patch that made even more changes to the
              parser, but the cleanup is still worth landing.
      
              Test: fast/canvas/canvas-hides-fallback.html
              Test: fast/canvas/script-inside-canvas-fallback.html
              Test: fast/canvas/unclosed-canvas-1.html
              Test: fast/canvas/unclosed-canvas-2.html
              Test: fast/canvas/unclosed-canvas-3.html
              Test: fast/canvas/unclosed-canvas-4.html
      
              * html/HTMLCanvasElement.h: Added a data member to keep track of whether the
              renderer is a RenderHTMLCanvas or not.
              * html/HTMLCanvasElement.cpp:
              (WebCore::HTMLCanvasElement::createRenderer): If JavaScript is enabled, create
              a RenderHTMLCanvas. If it's not, let the default code create the default type
              of renderer, which will result in fallback content being visible. The
              RenderHTMLCanvas class already hides all of its children. Set the m_rendererIsCanvas
              boolean accordingly. Since the actual storage for the canvas is allocated lazily
              when you actually get a drawing context, we don't need to do anything special
              to prevent it when JavaScript is disabled; the relevant functions won't be called.
              (WebCore::HTMLCanvasElement::reset): Protect the code that manipulates the
              RenderHTMLCanvas with a check of m_rendererIsCanvas. This is the only code inside
              the DOM element that relies on the renderer type.
      
              * html/HTMLParser.h: Removed unneeded includes. Marked HTMLParser as
              Noncopyable. Changed the Document parameter to the constructor to instead
              of HTMLDocument. Renamed discard_until to m_skipModeTag for clarity.
              Removed unused noSpaces function and unneeded public doc() function.
              Moved data members all down to the end so you can see them together in order.
              Renamed map to m_currentMapElement and isindex to m_isindexElement.
              Removed unused end and headLoaded data members.  Renamed m_fragment to
              m_isParsingFragment to make it clearer that it's a boolean, not a fragment.
      
              * html/HTMLParser.cpp:
              (WebCore::HTMLParser::HTMLParser): Changed to use member construction
              syntax instead of calling reset(). This is especially helpful in the
              fragment case, where calling reset() later on is illegal, so not using
              it in the constructor lets us assert.
              (WebCore::HTMLParser::~HTMLParser): Did an explicit deref instead of
              calling setCurrent for its side effect.
              (WebCore::HTMLParser::reset): Updated for member name changes and removal
              and to use document instead of doc().
              (WebCore::HTMLParser::setCurrent): Use document instead of doc().
              (WebCore::HTMLParser::setSkipMode): Added. No longer inline. Now sets the
              m_inCanvasBeforeFirstOpenTag data member to false.
              (WebCore::HTMLParser::parseToken): Tightened up the skip mode logic at the
              top of the function, and added a FIXME about the strange case there where
              we don't skip yet stay in skip mode. Updated for renaming and doc().
              (WebCore::HTMLParser::insertNode): Updated for renaming and doc().
              (WebCore::HTMLParser::handleError): Ditto.
              (WebCore::HTMLParser::framesetCreateErrorCheck): Ditto.
              (WebCore::HTMLParser::isindexCreateErrorCheck): Changed to use RefPtr.
              (WebCore::HTMLParser::noscriptCreateErrorCheck): Updated for renaming and doc().
              (WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
              (WebCore::HTMLParser::getNode): Removed the special case for canvas here.
              Canvas fallback is now handled in the DOM, not the parser. Updated for
              renaming and doc().
              (WebCore::HTMLParser::allowNestedRedundantTag): Changed a #define into a C++
              constant.
              (WebCore::HTMLParser::processCloseTag): Updated for renaming and doc().
              (WebCore::HTMLParser::isInline): Ditto.
              (WebCore::HTMLParser::tagIsOnStack): Added. Used by new canvas logic.
              (WebCore::HTMLParser::popBlock): Updated for renaming and doc(). Also renamed
              the local variable Elem to elem.
              (WebCore::HTMLParser::createHead): Ditto.
              (WebCore::HTMLParser::handleIsindex): Changed to use RefPtr.
              (WebCore::HTMLParser::startBody): Updated for renaming and doc().
              (WebCore::HTMLParser::finished): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3fd60e18
    • hyatt's avatar
      Two more cleanup fixes to the cache. Don't call destroyDecodedData in... · a0799c09
      hyatt authored
              Two more cleanup fixes to the cache.  Don't call destroyDecodedData in the BitmapImage destructor, since
              clearing the image source and calling setData on it again causes it to do an extra copy of the encoded
              data.  Since we're about to be destroyed this is just wasteful.
      
              When the cache prunes, don't allow it to destroy the decoded data of an image that is still actively loading,
              since we've established that ImageIO can actually crash if you yank the rug out from under it like that.
      
              Reviewed by ggaren
      
              * loader/Cache.cpp:
              (WebCore::Cache::prune):
              * platform/graphics/BitmapImage.cpp:
              (WebCore::BitmapImage::~BitmapImage):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a0799c09
    • andersca's avatar
      Try fixing the Qt build. · efd7aa88
      andersca authored
              
              * editing/Editor.h:
              (WebCore::Editor::setStartNewKillRingSequence):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20168 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      efd7aa88