1. 14 Mar, 2007 20 commits
    • 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:
              * 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
    • 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.
              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
    • hyatt's avatar
      Add asserts to help catch double refs and double derefs of CachedResources. · f56c4413
      hyatt authored
              Reviewed by mjs
              * loader/CachedResource.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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
    • 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
    • andersca's avatar
      Reviewed by Geoff. · af0f8bdf
      andersca authored
              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:
              * WebView/WebDocumentLoaderMac.h:
              * WebView/WebDocumentLoaderMac.mm:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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
              Script evaluation may have dereffed the CachedScript object already, causing double deref and
              eventually m_liveResourcesSize underflow.
              * html/HTMLScriptElement.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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::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.
              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
    • 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
    • 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:
              Reviewed by darin
              ~3x speedup pasting 5k lines of rich text:
              ~2x speedup pasting 10k lines of plain text
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::computedStyle): Added for convenience.
              * css/CSSComputedStyleDeclaration.h:
              * editing/ReplaceSelectionCommand.cpp:
              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
    • 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:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca's avatar
      Get the size from the shared buffer. · 00ee54b1
      andersca authored
              * platform/graphics/cg/ImageSourceCG.cpp:
              * platform/graphics/cg/PDFDocumentImage.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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.
              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
    • 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
    • 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.
              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
              * rendering/RootInlineBox.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Tweak the data() functions of stylesheets and scripts to be internally consistent. · 1ea6f464
      hyatt authored
              * loader/CachedCSSStyleSheet.cpp:
              * loader/CachedScript.cpp:
              * loader/CachedXSLStyleSheet.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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:
              * platform/graphics/BitmapImage.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Make sure to use CFDataCreateWithBytesNoCopy where we can. · 2e58e7b2
      hyatt authored
              Reviewed by andersca
              * platform/graphics/cg/ImageSourceCG.cpp:
              * platform/graphics/cg/PDFDocumentImage.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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
              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:
              * loader/CachedCSSStyleSheet.h:
              * loader/CachedImage.cpp:
              * loader/CachedImage.h:
              * loader/CachedResource.cpp:
              * loader/CachedResource.h:
              * loader/CachedScript.cpp:
              * loader/CachedScript.h:
              * loader/CachedXSLStyleSheet.cpp:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              * loader/ImageDocument.cpp:
              * loader/icon/IconDataCache.cpp:
              * loader/icon/IconDataCache.h:
              * loader/icon/IconDatabase.cpp:
              * loader/icon/IconDatabase.h:
              * loader/icon/IconLoader.cpp:
              * loader/icon/IconLoader.h:
              * loader/icon/SQLStatement.cpp:
              * loader/icon/SQLStatement.h:
              * loader/loader.cpp:
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge getData:andResponse:forURL:]):
              (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
              * platform/SharedBuffer.h:
              * platform/graphics/BitmapImage.cpp:
              * platform/graphics/BitmapImage.h:
              * platform/graphics/Image.cpp:
              * platform/graphics/Image.h:
              * platform/graphics/ImageSource.h:
              * platform/graphics/cg/ImageSourceCG.cpp:
              * platform/graphics/cg/PDFDocumentImage.cpp:
              * platform/graphics/cg/PDFDocumentImage.h:
              * platform/graphics/mac/ImageMac.mm:
              * platform/graphics/svg/SVGImage.cpp:
              * platform/mac/PasteboardMac.mm:
              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:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  2. 13 Mar, 2007 20 commits
    • justing's avatar
      LayoutTests: · 4ac2b9a3
      justing authored
              Reviewed by darin
              Gmail Editor: Applying alignment to selected text in message also applies alignment to signature
              * 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:
              Reviewed by darin
              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:
              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
    • oliver's avatar
      2007-03-13 Oliver Hunt <oliver@apple.com> · a258f43a
      oliver authored
              Reviewed by Brady.
              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:]):
              Modify subresourceForURL to take NSString argument 
              so we can avoid [NSURL absoluteString]
              * WebView/WebDataSource.mm:
              (-[WebDataSource subresourceForURL:]):
              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
    • 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
    • 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
                - 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
    • 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:
              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 
              * 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().
              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
    • 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
    • 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
    • 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
    • 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:
              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:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      of -> be · 921f95a1
      darin authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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.
              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++
              (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
    • 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:
              * platform/graphics/BitmapImage.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • andersca's avatar
      Try fixing the Qt build. · efd7aa88
      andersca authored
              * editing/Editor.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20168 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • thatcher's avatar
      Reviewed by Geoff. · 2a0b08ae
      thatcher authored
              <rdar://problem/5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method.
              * WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used.
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:.
              * WebView/WebView.mm:
              (-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent.
              (-[WebView userAgentForURL:]): Call _userAgentForURL:.
              (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA.
              (-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion:
              (-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version.
              * WebView/WebViewInternal.h: Declare _userAgentForURL:.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • harrison's avatar
      LayoutTests: · 8b1ae58a
      harrison authored
              Reviewed by Justin.
              <rdar://problem/5031181> cntl-k at end of paragraph adds nothing to the kill ring
              <rdar://problem/5031189> REGRESSION: cntl-y yanks only the most recently killed content
              * editing/pasteboard/emacs-ctrl-k-y-001-expected.checksum: Added.
              * editing/pasteboard/emacs-ctrl-k-y-001-expected.png: Added.
              * editing/pasteboard/emacs-ctrl-k-y-001-expected.txt: Added.
              * editing/pasteboard/emacs-ctrl-k-y-001.html: Added.
              Reviewed by Justin.
              <rdar://problem/5031181> cntl-k at end of paragraph adds nothing to the kill ring
              <rdar://problem/5031189> REGRESSION: cntl-y yanks only the most recently killed content
              For rdar://5031181, properly extend the selection before the killring handling, and
              make sure plainText of that selection returns a linefeed.
              For rdar://5031189, restore Editor::deleteRange() code that continued current killring,
              even though the range deletion implicitly stopped it via changing the selection.
              A byproduct of this change is the elimination of RUNDFINDER vs CONTENT TextIterator. The
              only difference between the two was whether to emit a newline when the range started
              with a blockflow element. No callers actually need that any more.
              Tests added:
              * editing/pasteboard/emacs-ctrl-k-y-001-expected.checksum: Added.
              * editing/pasteboard/emacs-ctrl-k-y-001-expected.png: Added.
              * editing/pasteboard/emacs-ctrl-k-y-001-expected.txt: Added.
              * editing/pasteboard/emacs-ctrl-k-y-001.html: Added.
              * editing/Editor.cpp:
              Clear the "start new kill ring sequence" setting, because it was set to true
              when the selection was updated by deleting the range.
              If extending the selection to the end of paragraph resulted in a caret selection,
              extend by character, to handle the case when the selection started as a caret at
              the end of paragraph.
              * editing/TextIterator.cpp:
              Initialize new member variables for tracking handling of the beginning of the range.
              Call representNodeOffsetZero on the m_endContainer.
              Move visibility checks into handleTextNode and handleReplacedElement.
              Call emitText.
              Moved visibility check into here.
              New. Emits proper sequence when encountering offset 0 of a node, including the
              m_endContainer. Started with code from handleNonTextNode.
              Call representNodeOffsetZero.
              Similar to shouldRepresentNodeOffsetZero, do not emit the newline if the node
              was collapsed, and before any other emitted content.
              New. Consolidates code used by handleText and handleTextBox.
              Removed RUNFINDER.
              Removed RUNFINDER.
              * editing/TextIterator.h:
              Added member variables for tracking handling of the beginning of the range.
              Eliminated concept of RUNDFINDER vs CONTENT TextIterator.
              * editing/visible_units.cpp:
              Eliminated concept of RUNDFINDER vs CONTENT TextIterator.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Clean up the null image case in CachedImage::data to make sure the... · bbd5c413
      hyatt authored
              Clean up the null image case in CachedImage::data to make sure the size totals will stay accurate.
              I'm not convinced this case can even be hit, but I'm cleaning it up just in case.
              * loader/CachedImage.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • lars's avatar
      Add a test that currently crashes the Qt build. · fcd275c4
      lars authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Reorder the call to allReferencesRemoved, since otherwise the live object size will become · 4ddb212b
      hyatt authored
              * loader/CachedResource.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • lars's avatar
      Reviewed by George. · da6f1ac5
      lars authored
              Don't try to load <object> tags with an invalid url.
              Fixes LayoutTests/fast/dom/object-plugin-hides-properties.html
              which hit an assertion in the frameloader.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20162 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • antti's avatar
      LayoutTests: · 960350d3
      antti authored
              Reviewed by Darin.
              REGRESSION: Typing tab key fails to insert a tab character in Google Docs editable area
              * editing/inserting/typing-tab-designmode-expected.txt: Added.
              * editing/inserting/typing-tab-designmode-forms-expected.checksum: Added.
              * editing/inserting/typing-tab-designmode-forms-expected.png: Added.
              * editing/inserting/typing-tab-designmode-forms-expected.txt: Added.
              * editing/inserting/typing-tab-designmode-forms.html: Added.
              * editing/inserting/typing-tab-designmode.html: Added.
              Reviewed by Darin.
              Fix http://bugs.webkit.org/show_bug.cgi?id=11083
              REGRESSION: Typing tab key fails to insert a tab character in Google Docs editable area
              Allow inserting tabs in designMode. Backtab behaves like before (matches FF).
              * page/EventHandler.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20159 268f45cc-cd09-0410-ab3c-d52691b4dbfc