- 14 Mar, 2007 18 commits
-
-
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
-
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
-
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 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 authored
<rdar://problem/5058714> http://bugs.webkit.org/show_bug.cgi?id=13050 World leaks seen on Leopard after opening then closing tab (13050) Add a hash set to prevent the load count to be increased twice for the same resource. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchWillSendRequest): (WebFrameLoaderClient::dispatchDidFinishLoading): (WebFrameLoaderClient::dispatchDidFailLoading): * WebView/WebDocumentLoaderMac.h: * WebView/WebDocumentLoaderMac.mm: (loadingResources): (WebDocumentLoaderMac::increaseLoadCount): (WebDocumentLoaderMac::decreaseLoadCount): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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
-
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
-
justing authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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
-
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
-
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
-
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
-
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 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
-
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
-
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
-
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
-
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
-
- 13 Mar, 2007 22 commits
-
-
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
-
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
-
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 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
-
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
-
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
-
rdar://problem/5031181harrison 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 authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
bdakin authored
Reviewed by Maciej. Export DocumentLoader::setFrame(). Part for fix for <rdar:// problem/4277074> 8F32: Help Viewer crashed on clicking link - KHTMLView::viewportMouseReleaseEvent (12647) * WebCore.exp: WebKit: Reviewed by Maciej. Fix for <rdar://problem/4277074> 8F32: Help Viewer crashed on clicking link - KHTMLView::viewportMouseReleaseEvent (12647) Re-set the DocumentLoader's frame when loading it from the page cache before setting the document view. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::setDocumentViewFromPageCache): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
Reviewed by Maciej. - tests for http://bugs.webkit.org/show_bug.cgi?id=12794 <rdar://problem/5028154> REGRESSION: TripTik planner at aaa.com never finishes loading due to unclosed canvas tag (12794) * fast/canvas/canvas-hides-fallback-expected.txt: Added. * fast/canvas/canvas-hides-fallback.html: Added. * fast/canvas/script-inside-canvas-fallback-expected.txt: Added. * fast/canvas/script-inside-canvas-fallback.html: Added. * fast/canvas/unclosed-canvas-1-expected.txt: Added. * fast/canvas/unclosed-canvas-1.html: Added. * fast/canvas/unclosed-canvas-2-expected.txt: Added. * fast/canvas/unclosed-canvas-2.html: Added. * fast/canvas/unclosed-canvas-3-expected.txt: Added. * fast/canvas/unclosed-canvas-3.html: Added. * fast/canvas/unclosed-canvas-4-expected.txt: Added. * fast/canvas/unclosed-canvas-4.html: Added. WebCore: Reviewed by Maciej. - fix http://bugs.webkit.org/show_bug.cgi?id=12794 <rdar://problem/5028154> REGRESSION: TripTik planner at aaa.com never finishes loading due to unclosed canvas tag (12794) Change <canvas> elements so that their contents are parsed normally, but not rendered. This change fixes the bug, because normal parsing rules close the <canvas> element in that case. The special parser stuff was just getting in the way. Also do some basic cleanup to the HTML parser. This was motivated by an earlier version of this patch that made even more changes to the parser, but the cleanup is still worth landing. Test: fast/canvas/canvas-hides-fallback.html Test: fast/canvas/script-inside-canvas-fallback.html Test: fast/canvas/unclosed-canvas-1.html Test: fast/canvas/unclosed-canvas-2.html Test: fast/canvas/unclosed-canvas-3.html Test: fast/canvas/unclosed-canvas-4.html * html/HTMLCanvasElement.h: Added a data member to keep track of whether the renderer is a RenderHTMLCanvas or not. * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createRenderer): If JavaScript is enabled, create a RenderHTMLCanvas. If it's not, let the default code create the default type of renderer, which will result in fallback content being visible. The RenderHTMLCanvas class already hides all of its children. Set the m_rendererIsCanvas boolean accordingly. Since the actual storage for the canvas is allocated lazily when you actually get a drawing context, we don't need to do anything special to prevent it when JavaScript is disabled; the relevant functions won't be called. (WebCore::HTMLCanvasElement::reset): Protect the code that manipulates the RenderHTMLCanvas with a check of m_rendererIsCanvas. This is the only code inside the DOM element that relies on the renderer type. * html/HTMLParser.h: Removed unneeded includes. Marked HTMLParser as Noncopyable. Changed the Document parameter to the constructor to instead of HTMLDocument. Renamed discard_until to m_skipModeTag for clarity. Removed unused noSpaces function and unneeded public doc() function. Moved data members all down to the end so you can see them together in order. Renamed map to m_currentMapElement and isindex to m_isindexElement. Removed unused end and headLoaded data members. Renamed m_fragment to m_isParsingFragment to make it clearer that it's a boolean, not a fragment. * html/HTMLParser.cpp: (WebCore::HTMLParser::HTMLParser): Changed to use member construction syntax instead of calling reset(). This is especially helpful in the fragment case, where calling reset() later on is illegal, so not using it in the constructor lets us assert. (WebCore::HTMLParser::~HTMLParser): Did an explicit deref instead of calling setCurrent for its side effect. (WebCore::HTMLParser::reset): Updated for member name changes and removal and to use document instead of doc(). (WebCore::HTMLParser::setCurrent): Use document instead of doc(). (WebCore::HTMLParser::setSkipMode): Added. No longer inline. Now sets the m_inCanvasBeforeFirstOpenTag data member to false. (WebCore::HTMLParser::parseToken): Tightened up the skip mode logic at the top of the function, and added a FIXME about the strange case there where we don't skip yet stay in skip mode. Updated for renaming and doc(). (WebCore::HTMLParser::insertNode): Updated for renaming and doc(). (WebCore::HTMLParser::handleError): Ditto. (WebCore::HTMLParser::framesetCreateErrorCheck): Ditto. (WebCore::HTMLParser::isindexCreateErrorCheck): Changed to use RefPtr. (WebCore::HTMLParser::noscriptCreateErrorCheck): Updated for renaming and doc(). (WebCore::HTMLParser::mapCreateErrorCheck): Ditto. (WebCore::HTMLParser::getNode): Removed the special case for canvas here. Canvas fallback is now handled in the DOM, not the parser. Updated for renaming and doc(). (WebCore::HTMLParser::allowNestedRedundantTag): Changed a #define into a C++ constant. (WebCore::HTMLParser::processCloseTag): Updated for renaming and doc(). (WebCore::HTMLParser::isInline): Ditto. (WebCore::HTMLParser::tagIsOnStack): Added. Used by new canvas logic. (WebCore::HTMLParser::popBlock): Updated for renaming and doc(). Also renamed the local variable Elem to elem. (WebCore::HTMLParser::createHead): Ditto. (WebCore::HTMLParser::handleIsindex): Changed to use RefPtr. (WebCore::HTMLParser::startBody): Updated for renaming and doc(). (WebCore::HTMLParser::finished): Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
Two more cleanup fixes to the cache. Don't call destroyDecodedData in the BitmapImage destructor, since clearing the image source and calling setData on it again causes it to do an extra copy of the encoded data. Since we're about to be destroyed this is just wasteful. When the cache prunes, don't allow it to destroy the decoded data of an image that is still actively loading, since we've established that ImageIO can actually crash if you yank the rug out from under it like that. Reviewed by ggaren * loader/Cache.cpp: (WebCore::Cache::prune): * platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::~BitmapImage): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca authored
* editing/Editor.h: (WebCore::Editor::setStartNewKillRingSequence): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20168 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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 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. WebCore: 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: (WebCore::Editor::deleteRange): Clear the "start new kill ring sequence" setting, because it was set to true when the selection was updated by deleting the range. (WebCore::Editor::deleteWithDirection): 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: (WebCore::TextIterator::TextIterator): Initialize new member variables for tracking handling of the beginning of the range. (WebCore::TextIterator::advance): Call representNodeOffsetZero on the m_endContainer. Move visibility checks into handleTextNode and handleReplacedElement. (WebCore::TextIterator::handleTextNode): (WebCore::TextIterator::handleTextBox): Call emitText. (WebCore::TextIterator::handleReplacedElement): Moved visibility check into here. (WebCore::shouldEmitNewlinesBeforeAndAfterNode): (WebCore::TextIterator::shouldRepresentNodeOffsetZero): (WebCore::TextIterator::representNodeOffsetZero): New. Emits proper sequence when encountering offset 0 of a node, including the m_endContainer. Started with code from handleNonTextNode. (WebCore::TextIterator::handleNonTextNode): Call representNodeOffsetZero. (WebCore::TextIterator::exitNode): Similar to shouldRepresentNodeOffsetZero, do not emit the newline if the node was collapsed, and before any other emitted content. (WebCore::TextIterator::emitCharacter): (WebCore::TextIterator::emitText): New. Consolidates code used by handleText and handleTextBox. (WebCore::CharacterIterator::CharacterIterator): Removed RUNFINDER. (WebCore::WordAwareIterator::WordAwareIterator): Removed RUNFINDER. (WebCore::WordAwareIterator::advance): Formatting. (WebCore::TextIterator::rangeLength): Formatting. * 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: (WebCore::nextBoundary): Eliminated concept of RUNDFINDER vs CONTENT TextIterator. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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: (WebCore::CachedImage::data): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
lars authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
incorrect. * loader/CachedResource.cpp: (WebCore::CachedResource::deref): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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 authored
Reviewed by Darin. http://bugs.webkit.org/show_bug.cgi?id=11083 REGRESSION: Typing tab key fails to insert a tab character in Google Docs editable area <rdar://problem/4757650> * 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. WebCore: 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 <rdar://problem/4757650> Allow inserting tabs in designMode. Backtab behaves like before (matches FF). * page/EventHandler.cpp: (WebCore::EventHandler::defaultTabEventHandler): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
thatcher authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20158 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
kmccullo authored
- Adding expected failures until the are truly fixed. - rdar://problem/5060302 * tests/mozilla/expected.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-