1. 16 Mar, 2007 5 commits
  2. 15 Mar, 2007 11 commits
    • beidson's avatar
      Reviewed by Oliver · 8695b238
      beidson authored
              A few platform specific tweaks
      
              * platform/cf/RetainPtr.h:
              (WebCore::RetainPtr::releaseRef): Fixed releaseRef to work with CF
              
              * platform/network/ResourceHandle.h: Added a "releaseRef" style call
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8695b238
    • mjs's avatar
      JavaScriptCore: · dc3fe3ae
      mjs authored
              Reviewed by Geoff and Steve.
              
              - fix some portability issues with TCMalloc.
      
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * kjs/config.h:
              * wtf/FastMalloc.cpp:
              (WTF::SizeClass):
              (WTF::InitSizeClasses):
              (WTF::TCMalloc_PageHeap::Split):
              (WTF::TCMalloc_PageHeap::RegisterSizeClass):
              (WTF::TCMalloc_Central_FreeList::length):
              (WTF::TCMalloc_ThreadCache::InitTSD):
              (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
              * wtf/TCSpinLock.h:
              * wtf/TCSystemAlloc.cpp:
              (TryVirtualAlloc):
              (TCMalloc_SystemAlloc):
      
      WebCore:
      
              Reviewed by Geoff and Steve.
      
              * config.h: Remove unneeded hack.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc3fe3ae
    • justing's avatar
      LayoutTests: · 0def9d84
      justing authored
              Reviewed by john
              
              <rdar://problem/5062376> 
              REGRESSION: In Mail and Gmail, can't change alignment to text after it has been applied
      
              * editing/execCommand/5062376-expected.checksum: Added.
              * editing/execCommand/5062376-expected.png: Added.
              * editing/execCommand/5062376-expected.txt: Added.
              * editing/execCommand/5062376.html: Added.
      
      WebCore:
      
              Reviewed by john
              
              <rdar://problem/5062376> 
              REGRESSION: In Mail and Gmail, can't change alignment to text after it has been applied
              
              Bring back the remove step in applyBlockStyle.  It's 
              necessary because addBlockStyleIfNeeded assumes that 
              the properties it adds aren't already on the block that 
              it adds them to.
      
              * editing/ApplyStyleCommand.cpp:
              (WebCore::ApplyStyleCommand::applyBlockStyle): 
              Bring back the remove step (added a testcase).
              Don't do the add step if m_removeOnly is true (no testcase
              because there aren't any clients using removeOnly functionality
              to remove styles yet, only styled elemets).
              Moved the code for creating new blocks up one level
              to this function so that we can pass blocks to removeCSSStyle.
              When converting VisiblePositions to indices and vice versa,
              use the highest node in the shadow tree if we're in one as
              the scope (working on a testcase).
              (WebCore::ApplyStyleCommand::addBlockStyle): Moved code to
              applyBlockStyle.
              * editing/ApplyStyleCommand.h: 
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0def9d84
    • beidson's avatar
      LayoutTests: · d82d99fe
      beidson authored
              Reviewed by Adele
      
              <rdar://problem/4429701>
              Implements a port blocking black list that matches Firefox's
      
              The layout test attempts to load an image at an invalid domain name on each
              of the black listed ports.  Using dumpResourceLoadCallbacks(), DRT is able
              to see the error codes for each resource.  A successful test shows the blocked
              error for each image load except for the few that are standard or should 
              succeed due to exemptions.
      
              * security/block-test-expected.txt: Added.
              * security/block-test.html: Added.
      
      WebCore:
      
              Reviewed by Maciej
      
              <rdar://problem/4429701>
              Implements a port blocking black list that matches Firefox's
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::blockedError): Call through to the client for blockedError 
              * loader/FrameLoader.h:
      
              * loader/FrameLoaderClient.h: Get the "port blocked" error for the current platform
      
              * loader/ResourceLoader.cpp:
              (WebCore::ResourceLoader::wasBlocked): ResourceHandleClient method to pass on the didFail(error)
              (WebCore::ResourceLoader::blockedError): Following the pattern of "CancelledError()", get the 
                error to fail with for the didFail() call
              * loader/ResourceLoader.h:
      
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyFrameLoaderClient::blockedError): Added stub
      
              * platform/network/ResourceHandle.cpp:
              (WebCore::ResourceHandle::create): If the port is blocked, create the handle but schedule it for
                deferred failure on a timer
              (WebCore::ResourceHandle::scheduleBlockedFailure): Do the timer scheduling
              (WebCore::ResourceHandle::fireBlockedFailure): Fire the timer here
              (WebCore::ResourceHandle::portAllowed): Implements checking of Mozilla's
              * platform/network/ResourceHandle.h:
              * platform/network/ResourceHandleClient.h:
              (WebCore::ResourceHandleClient::wasBlocked): Virtual for clients to get the "blocked" message
      
      WebKit:
      
              Reviewed by Maciej
      
              <rdar://problem/4429701>
              Implements a port blocking black list that matches Firefox's
      
              * English.lproj/Localizable.strings: Added localizable string for port blocked error code
      
              * Misc/WebKitErrors.h:
              * Misc/WebKitErrors.m:
              (registerErrors): Add new port blocked error code to WebKitErrorDomain
      
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::cancelledError): Fixed coding style
              (WebFrameLoaderClient::blockedError): Return a ResourceError with the new custom error code
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d82d99fe
    • bdakin's avatar
      Reviewed by Hyatt. · d7b88aec
      bdakin authored
              Fix for <rdar://problem/5065396> REGRESSION: leaks in 
              RenderBlock::layoutInlineChildren seen on buildbot
      
              This leak appeared after http://trac.webkit.org/projects/webkit/
              changeset/20188. This change shifted line boxes around in 
              removeChild(). But since removeChild() calls 
              setNeedsLayoutAndMinMaxRecalc(), all of the line boxes will be 
              removed once we actually lay out anyway. So this patch fixes the 
              leak by deleting the line boxes instead of shifting them around. 
      
              * editing/IndentOutdentCommand.cpp:
              (WebCore::IndentOutdentCommand::outdentParagraph): Call into 
              updateLayout(). This fixes an assertion I got in editing/
              execCommand/4976800.html This is very similar to the line box fix I 
              made recently (http://trac.webkit.org/projects/webkit/changeset/
              20177). We need to update layout before relying on VisiblePositions 
              after removing a node.
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::deleteLinesForBlock): New helper function 
              since this functionality is needed in three places now.
              (WebCore::RenderBlock::makeChildrenNonInline): Call into new 
              deleteLinesForBlock().
              (WebCore::RenderBlock::removeChild): Same.
              * rendering/RenderBlock.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d7b88aec
    • thatcher's avatar
      JavaScriptCore: · 04880a02
      thatcher authored
              Reviewed by John.
      
              * Factored out most of our common build settings into .xcconfig files. Anything that was common in
                each build configuration was factored out into the shared .xcconfig file.
              * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
              * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
              * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
      
              * Configurations/Base.xcconfig: Added.
              * Configurations/DebugRelease.xcconfig: Added.
              * Configurations/JavaScriptCore.xcconfig: Added.
              * Configurations/Version.xcconfig: Added.
              * Info.plist:
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      JavaScriptGlue:
      
              Reviewed by John.
      
              * Factored out most of our common build settings into .xcconfig files. Anything that was common in
                each build configuration was factored out into the shared .xcconfig file.
              * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
              * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
              * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
      
              * Configurations/Base.xcconfig: Added.
              * Configurations/DebugRelease.xcconfig: Added.
              * Configurations/JavaScriptGlue.xcconfig: Added.
              * Configurations/Version.xcconfig: Added.
              * Info.plist:
              * JavaScriptGlue.xcodeproj/project.pbxproj:
      
      WebCore:
      
              Reviewed by John.
      
              * Factored out most of our common build settings into .xcconfig files. Anything that was common in
                each build configuration was factored out into the shared .xcconfig file.
              * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
              * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
              * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
      
              * Configurations/Base.xcconfig: Added.
              * Configurations/DebugRelease.xcconfig: Added.
              * Configurations/Version.xcconfig: Added.
              * Configurations/WebCore.xcconfig: Added.
              * Info.plist:
              * WebCore.xcodeproj/project.pbxproj:
      
      WebKit:
      
              Reviewed by John.
      
              * Fixes: <rdar://problem/4927747> WebKit's Current Library Version number should match the Info.plist Version
              * Factored out most of our common build settings into .xcconfig files. Anything that was common in
                each build configuration was factored out into the shared .xcconfig file.
              * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
              * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
              * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
              * Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings.
      
              * Configurations/Base.xcconfig: Added.
              * Configurations/DebugRelease.xcconfig: Added.
              * Configurations/Version.xcconfig: Added.
              * Configurations/WebKit.xcconfig: Added.
              * Info.plist:
              * Misc/WebKitVersionChecks.h:
              * Plugins/WebBaseNetscapePluginStream.m:
              (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
              * WebKit.xcodeproj/project.pbxproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      04880a02
    • kjk's avatar
      Not reviewed - gdk build fixes. · a61bd05e
      kjk authored
              * platform/gdk/EditorClientGdk.cpp:
              (WebCore::EditorClientGdk::handleKeypress):
              * platform/graphics/cairo/ImageSourceCairo.cpp:
              (WebCore::ImageSource::setData):
              * platform/graphics/gdk/ImageGdk.cpp:
              (WebCore::Image::loadPlatformResource):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a61bd05e
    • justing's avatar
      LayoutTests: · 5e10a81c
      justing authored
              Reviewed by john
      
              Removed an unnecessary block (one that was fully
              selected but whose markup wasn't needed to preserve
              appearance):
              * editing/pasteboard/paste-text-011-expected.txt:
              Removed unnecessary style spans:
              * editing/pasteboard/merge-end-blockquote-expected.txt:
              Removed unnecessary empty anonymous blocks:
              * editing/execCommand/create-list-with-hr-expected.txt:
              * editing/pasteboard/display-block-on-spans-expected.txt:
              * editing/pasteboard/paste-text-006-expected.txt:
              * editing/pasteboard/paste-table-001-expected.txt:
              * editing/pasteboard/paste-text-013-expected.txt:
              * editing/pasteboard/paste-text-002-expected.txt:
              * editing/pasteboard/paste-list-001-expected.txt:
              * editing/pasteboard/paste-text-005-expected.txt:
              * editing/pasteboard/paste-text-003-expected.txt:
              * editing/pasteboard/paste-text-014-expected.txt:
              * editing/pasteboard/paste-pre-001-expected.txt:
              Now (correctly) includes fully selected root:
              * editing/pasteboard/paste-text-015-expected.checksum:
              * editing/pasteboard/paste-text-015-expected.png:
              * editing/pasteboard/paste-text-015-expected.txt:
              * editing/inserting/insert-3907422-fix-expected.txt:
              * editing/pasteboard/paste-text-004-expected.txt:
              Demonstrates a bug that already existed (we don't inline 
              the font styles from the Preference Pane on copy):
              * editing/pasteboard/5027857-expected.checksum:
              * editing/pasteboard/5027857-expected.png:
              * editing/pasteboard/5027857-expected.txt:
              * editing/pasteboard/paste-pre-002-expected.checksum:
              * editing/pasteboard/paste-pre-002-expected.png:
              * editing/pasteboard/paste-pre-002-expected.txt:
      
      WebCore:
      
              Reviewed by john
              
              ~2x speed up of 5k rich text paste:
              http://shakespeare.mit.edu/hamlet/full.html        
      
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplaceSelectionCommand::doApply): Remove the top 
              level style span if its unnecessary before inserting
              into the document, its faster than doing it after.
              * editing/ReplaceSelectionCommand.h: Exposed 
              ReplacementFragment::removeNodePreservingChildren so that
              the style span can be removed using non-undoable removes,
              like the rest of the removes done on the ReplacementFragment.
              * editing/markup.cpp:
              (WebCore::createMarkup): Make the style span the top level
              element, otherwise it's useless.  This also facilitates the
              optimization mentioned above.
              When including markup for a fully selected root, include markup
              for all the nodes beneath that fully selected root, to preserve 
              the structure and appearance of the copied markup.  Did this
              by merging with the code for adding markup for descendants of
              special commonAncestorBlocks.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e10a81c
    • bdakin's avatar
      Rubber-stamped by Adele. · 2f06e491
      bdakin authored
              Rolling out http://trac.webkit.org/projects/webkit/changeset/20148 
              (which is a fix for http://bugs.webkit.org/show_bug.cgi?id=12595 
              and rdar://4722863) because it causes a horrible memory-trasher.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f06e491
    • ggaren's avatar
      Added an assert to help catch a bug. Hopefully someone will hit it! · 44fd9c68
      ggaren authored
              
              * bindings/js/kjs_proxy.cpp:
              (WebCore::KJSProxy::~KJSProxy):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44fd9c68
    • oliver's avatar
      2007-03-14 Oliver Hunt <oliver@apple.com> · 01dd65f4
      oliver authored
              Reviewed by Adele.
      
              Fix for rdar://problem/5061737.
              
              This was a regression from the original Objective-C -> C++ conversion
              for the drag logic.  We don't need to call Range::startNode as we just
              need the document that contains the range.   
      
              * page/DragController.cpp:
              (WebCore::documentFragmentFromDragData):
      LayoutTests:
              Layout tests for rdar://problem/5061737
      
              * editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt: Added.
              * editing/pasteboard/drag-image-to-contenteditable-in-iframe.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01dd65f4
  3. 14 Mar, 2007 18 commits
    • 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
    • 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
    • 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
      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
  4. 13 Mar, 2007 6 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
      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
    • 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