- 18 Mar, 2007 16 commits
-
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20285 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20284 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20283 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20282 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20275 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20274 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20273 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20271 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 17 Mar, 2007 3 commits
-
-
zimmermann authored
Fixes: http://bugs.webkit.org/show_bug.cgi?id=13046 (CSS styles on hover and focus are broken for <use>) Fixes: http://bugs.webkit.org/show_bug.cgi?id=12838 (SVG <use> CSS styles broken) Added test: svg/custom/use-css-events.svg In general this fixes the peepo.co.uk website. Forgot to pass the actual StyleChange to the recalcStyle() function, when calling it on the shadow tree root element. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20262 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
antti authored
Reviewed by Adele. Test for http://bugs.webkit.org/show_bug.cgi?id=12595 REGRESSION: Can't add item to cart at lnt.com (JS type error) <rdar://problem/4722863> Expanded version of Darin's test case. * fast/forms/old-names-expected.txt: Added. * fast/forms/old-names.html: Added. WebCore: Reviewed by Adele. Fix http://bugs.webkit.org/show_bug.cgi?id=12595 REGRESSION: Can't add item to cart at lnt.com (JS type error) <rdar://problem/4722863> Emulate Firefox behavior where form elements accessed by a name can be accessed with that name later even if the name changes or even if element is removed from the document. This is loosely based on Darin's earlier patch for the same problem but is much less expansive. It takes somewhat different approach to more closely mimic Firefox behavior. Includes expanded test case. * bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::canGetItemsForName): Use new the HTMLFormElement::getNamedElements() method (WebCore::JSHTMLFormElement::nameGetter): Use new the HTMLFormElement::getNamedElements() method * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): (WebCore::HTMLFormElement::~HTMLFormElement): (WebCore::HTMLFormElement::elementForAlias): (WebCore::HTMLFormElement::addElementAlias): Maintain a map of known element aliases (WebCore::HTMLFormElement::getNamedElements): Get a list of elements matching the name, based both their current names and known aliases (earlier names). Keep the alias list in sync. * html/HTMLFormElement.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20260 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
adele authored
Reviewed by Hyatt. Updated test for <rdar://problem/4990050> REGRESSION: onchange gets fired when clicking on a programmatically selected element in a listbox http://bugs.webkit.org/show_bug.cgi?id=12725 * fast/forms/listbox-onchange-expected.txt: * fast/forms/listbox-onchange.html: WebCore: Reviewed by Hyatt. Fix for <rdar://problem/4990050> REGRESSION: onchange gets fired when clicking on a programmatically selected element in a listbox http://bugs.webkit.org/show_bug.cgi?id=12725 Test: updated fast/forms/listbox-onchange.html Added HTMLSelectElement::saveLastSelection that is called before changing a selection that could result in onChange being called. m_lastOnChangeIndex and m_lastOnChangeSelection no longer have to be up-to date all the time, they just have to be up-to-date before we execute an action that may trigger onChange. * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::setSelectedState): Added. The HTMLSelectElement will only set an option's selected state with this method. This ensures that notifyOptionSelected won't get called when the call originates from the select element. * html/HTMLOptionElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::deselectItems): Calls setSelectedState. (WebCore::HTMLSelectElement::setSelectedIndex): ditto. Don't update the last selection variables here. Scroll to the new selection. The scrolling call used to only be in notifyOptionSelected. There's no reason we shouldn't scroll when the selection is set through the HTMLSelectElement. (WebCore::HTMLSelectElement::setValue): Call setSelectedIndex to update all options selected state. (WebCore::HTMLSelectElement::restoreState): Call setSelectedState. (WebCore::HTMLSelectElement::selectAll): Call saveLastSelection before making the selection, and calling onChange. (WebCore::HTMLSelectElement::recalcListItems): Call setSelectedState. Don't need to save selection here anymore, since it will get saved before we call onChange. (WebCore::HTMLSelectElement::reset): ditto. (WebCore::HTMLSelectElement::dispatchFocusEvent): Added. Call saveLastSelection for menu lists, since onChange can be fired on blur. (WebCore::HTMLSelectElement::dispatchBlurEvent): Call menuListOnChange. (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Call saveLastSelection before showing the popup window. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Call saveLastSelection during mousedown (to prepare for an onchange during mouseup, or after autoscroll). (WebCore::HTMLSelectElement::updateListBoxSelection): Call setSelectedState. (WebCore::HTMLSelectElement::menuListOnChange): Added. Compares the m_lastOnChangeIndex to the selectedIndex(). (WebCore::HTMLSelectElement::listBoxOnChange): Move the m_lastOnChangeSelection creation to saveLastSelection. (WebCore::HTMLSelectElement::saveLastSelection): Added. Sets m_lastOnChangeIndex or m_lastOnChangeSelection. * html/HTMLSelectElement.h: * platform/PopupMenu.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Mar, 2007 3 commits
-
-
oliver authored
Reviewed by Hyatt. WebCore: The old canSaveAsWebArchive call was necessary as stand alone images used to be rendered by ImageDocument. Fixes rdar://problem/5061252 * dom/Clipboard.cpp: * dom/Clipboard.h: (WebCore::Clipboard::setDragHasStarted): * page/DragClient.h: (WebCore::DragClient::declareAndWriteDragImage): * platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::declareAndWriteDragImage): WebKit: * WebCoreSupport/WebDragClient.h: * WebCoreSupport/WebDragClient.mm: (WebDragClient::declareAndWriteDragImage): * WebKit.xcodeproj/project.pbxproj: LayoutTests: Updating layout test to allow stand alone image to be dragged into a content editable div * fast/events/standalone-image-drag-to-editable-expected.checksum: * fast/events/standalone-image-drag-to-editable-expected.png: * fast/events/standalone-image-drag-to-editable-expected.txt: * fast/events/standalone-image-drag-to-editable.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
beidson authored
Updated layouttest results because I added a window property * fast/dom/Window/window-properties-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
beidson authored
Reviewed by Anders <rdar://problem/5061826> and http://bugs.webkit.org/show_bug.cgi?id=12863 Implement window.stop() * http/tests/misc/window-dot-stop-expected.txt: Added. * http/tests/misc/window-dot-stop.html: Added. WebCore: Reviewed by Anders <rdar://problem/5061826> and http://bugs.webkit.org/show_bug.cgi?id=12863 Implement window.stop() * bindings/js/kjs_window.cpp: (KJS::WindowFunc::callAsFunction): Add case Window::Stop * bindings/js/kjs_window.h: (KJS::Window::): Add "Stop" git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 15 Mar, 2007 5 commits
-
-
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
-
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
-
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
-
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
-
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
-
- 14 Mar, 2007 7 commits
-
-
kmccullo authored
Reviewed by Geoff. - rdar://problem/5045720 - DST changes in US affect JavaScript date calculations (12975) This fix was to ensure we properly test for the new changes to DST in the US. Also this fixes when we apply DST, now we correctly map most past years to current DST rules. We still have a small issue with years before 1900 or after 2100. rdar://problem/5055038 * kjs/DateMath.cpp: Fix DST to match spec better. (KJS::getCurrentUTCTime): (KJS::mimimumYearForDST): (KJS::maximumYearForDST): (KJS::equivalentYearForDST): (KJS::getDSTOffset): * kjs/DateMath.h: Consolodated common funtionality. * kjs/date_object.cpp: Consolodated common functionality. (KJS::formatLocaleDate): (KJS::DateObjectImp::construct): * tests/mozilla/ecma/jsref.js: Added functions for finding the correct days when DST starts and ends. * tests/mozilla/ecma/shell.js: Added back in the old DST functions for ease of merging with mozilla if needed. * tests/mozilla/ecma_2/jsref.js: Added functions for finding the correct days when DST starts and ends. * tests/mozilla/ecma_3/Date/shell.js: Added functions for finding the correct days when DST starts and ends. * tests/mozilla/expected.html: Updated to show all date tests passing. LayoutTests: Reviewed by Geoff. - rdar://problem/5045720 - DST changes in US affect JavaScript date calculations (12975) Changed layout tests to properly check for the new changes to DST in the US. Also these now test that equivalent years return the same results for DST. * fast/js/date-DST-time-cusps-expected.txt: * fast/js/date-big-setdate-expected.txt: * fast/js/resources/date-DST-time-cusps.js: * fast/js/resources/date-big-setdate.js: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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
-
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
-
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
-
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
-
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
-
- 13 Mar, 2007 6 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
-
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
-
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
-
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
-
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
-