Timeline



Sep 3, 2004:

8:58 PM Changeset in webkit [7456] by hyatt
  • 2 edits in trunk/WebCore

Simple tweak to background-attachment. Don't apply the slow repaint flag until after the whole style has been
resolved, since while cascading someone may set the attachment to fixed but later override with scroll.

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::adjustRenderStyle): (khtml::CSSStyleSelector::applyProperty):
6:38 PM Changeset in webkit [7455] by rjw
  • 5 edits in trunk/WebCore

Fixed <rdar://problem/3781001>: redirection of URL via resource load delegate does not correctly set base URL for subsequent loads

Ensure that stylesheets have the correct URL when request
is redirected.

Reviewed by Maciej.

  • khtml/misc/loader.cpp: (CachedCSSStyleSheet::checkNotify):
  • kwq/KWQLoader.h:
  • kwq/KWQLoader.mm: (KWQIsResponseURLEqualToURL): (KWQResponseURL):
  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall): Compare parameter count with == instead of <=.
5:21 PM Changeset in webkit [7454] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3779083, deleting large amount of text is really slow. Don't use NodeLists in editing remove commands.

Reviewed by darin

  • khtml/editing/htmlediting_impl.cpp: (khtml::RemoveNodeCommandImpl::RemoveNodeCommandImpl): (khtml::RemoveNodePreservingChildrenCommandImpl::doApply):
5:04 PM Changeset in webkit [7453] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3782543> CrashTracer: ...87 crashes at com.apple.WebKit: -[WebNetscapePluginPackage initWithPath:] + 0x18c

Reviewed by john.

  • Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]): make sure the file is at least 8 bytes long before calling memcmp
4:02 PM Changeset in webkit [7452] by cblu
  • 4 edits in trunk/WebKit

Fixed:
<rdar://problem/3788328> assertion failure when moving an image
<rdar://problem/3783628> REGRESSION (Mail): when I try to reorder an image, the image is duplicated

Reviewed by NOBODY (OOPS!).

  • DOM.subproj/WebDOMOperations.m: (-[DOMDocument _createRangeWithNode:]): new, convenience (-[DOMDocument _documentRange]): use _ createRangeWithNode:
  • DOM.subproj/WebDOMOperationsPrivate.h:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): set the selection to the image when starting the drag. This allows "move selection" to work and this matches NSText's behavior
3:12 PM Changeset in webkit [7451] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3714501> REGRESSION (125.8-8A162): Chinese words display as garbage in search results (www.sz.net.cn)
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Resolve URL using the document method that passes the codec rather than calling the KURL constructor directly.
2:51 PM Changeset in webkit [7450] by cblu
  • 3 edits in trunk/WebCore

Fixed: <rdar://problem/3788409> can't create or clone an embed element

Reviewed by rjw.

  • khtml/html/htmlparser.cpp: added fixme about sharing code
  • khtml/xml/dom_docimpl.cpp: ditto (DocumentImpl::createHTMLElement): create and return a HTMLEmbedElementImpl
2:33 PM Changeset in webkit [7449] by vicki
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

re-jigger these ChangeLogs so that they actually reflect what went into Safari-162

2:25 PM Changeset in webkit [7448] by vicki
  • 3 edits in trunk

change versions for TOT, Safari 2.0 (v163u)

1:41 PM Changeset in webkit [7447] by darin
  • 2 edits in trunk/WebCore

Reviewed by Chris.

  • fixed <rdar://problem/3410112> filename with non-ASCII name for <input type=file> should be sent in the page's encoding
  • khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::formData): Encode filename using the codec rather than doing the &# dance. It turns out that Mozilla only does the &# thing under certain circumstances that are not important. Always encoding the filename is almost certainly better behavior, and will fix many serious problems for Japanese and Korean users and websites.
12:23 PM Changeset in webkit [7446]
  • 4 copies in tags/Safari-162

This commit was manufactured by cvs2svn to create tag 'Safari-162'.

12:23 PM Changeset in webkit [7445] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • <rdar://problem/3788040> REGRESSION: text that i type into a textarea disappears when i tab out of the textarea
  • kwq/KWQTextArea.mm: (-[KWQTextArea textDidChange:]): Bring back an unconditional version of this method. Earlier, we deleted this method, but we should have instead removed the check.
10:35 AM Changeset in webkit [7444] by rjw
  • 3 edits in trunk/WebCore

Made drawImage() in <canvas> compliant with whatwg spec.

Reviewed by John.

  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall):
  • khtml/html/html_imageimpl.h: (DOM::HTMLImageElementImpl::pixmap):
10:28 AM Changeset in webkit [7443] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3787686, CSS parser should do case-sensitive matching of ids and attributes only in strict mode
(and not whenever you have an HTML document).

Reviewed by john

  • khtml/css/parser.cpp:
  • khtml/css/parser.y:
10:14 AM Changeset in webkit [7442] by hyatt
  • 2 edits in trunk/LayoutTests/fast

Land updated layout tests after box/container swap

Sep 2, 2004:

7:03 PM Changeset in webkit [7441] by vicki
  • 6 edits in trunk

Safari-162 stamp for everything except WebBrowser. In these project, CFBundleShortVersionString matches CFBundleVersion (162 in both cases).

5:10 PM Changeset in webkit [7440] by hyatt
  • 15 edits in trunk/WebCore

Swap RenderBox and RenderContainer. Make leaf RenderObjects actually derive off of RenderBox instead.

Reviewed by kocienda

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::addChildToFlow):
  • khtml/rendering/render_box.cpp: (RenderBox::RenderBox): (RenderBox::detach):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_container.cpp: (RenderContainer::RenderContainer): (RenderContainer::detach):
  • khtml/rendering/render_container.h:
  • khtml/rendering/render_flow.cpp: (RenderFlow::detach): (RenderFlow::dirtyLineBoxes): (RenderFlow::createInlineBox): (RenderFlow::getAbsoluteRepaintRect): (RenderFlow::lowestPosition): (RenderFlow::rightmostPosition): (RenderFlow::leftmostPosition): (RenderFlow::caretPos):
  • khtml/rendering/render_flow.h: (khtml::RenderFlow::RenderFlow):
  • khtml/rendering/render_frames.cpp: (RenderFrameSet::RenderFrameSet): (RenderFrameSet::nodeAtPoint): (RenderFrameSet::dump):
  • khtml/rendering/render_frames.h:
  • khtml/rendering/render_inline.cpp: (RenderInline::addChildToFlow):
  • khtml/rendering/render_replaced.cpp:
  • khtml/rendering/render_replaced.h: (khtml::RenderReplaced::setIntrinsicHeight):
  • khtml/rendering/render_table.cpp: (RenderTableSection::RenderTableSection): (RenderTableSection::detach): (RenderTableSection::setStyle):
  • khtml/rendering/render_table.h:
4:41 PM Changeset in webkit [7439] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by me

  • khtml/editing/htmlediting_impl.h: Fix some inconsistent use of whitespace. No code change.
4:25 PM Changeset in webkit [7438] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3786848> REGRESSION (Mail): Typing styles and font panel updates broken

  • khtml/xml/dom_position.cpp: (DOM::Position::inRenderedContent): Check for inlines that can have kids is wrong. I busted this the other day when making the PositionIterator class iterate over all nodes and not just leaves of the DOM tree.

Update all the following functions. These use the PositionIterator class, but still
only want to consider leaf nodes.

(DOM::Position::isFirstRenderedPositionOnLine)
(DOM::Position::isLastRenderedPositionOnLine)
(DOM::Position::isLastRenderedPositionInEditableBlock)
(DOM::Position::inFirstEditableInRootEditableElement)
(DOM::Position::inLastEditableInRootEditableElement)
(DOM::Position::inFirstEditableInContainingEditableBlock)
(DOM::Position::inLastEditableInContainingEditableBlock)

1:53 PM Changeset in webkit [7437] by rjw
  • 11 edits in trunk

WebCore:

Support for patterns in <canvas>

Reviewed by Hyatt.

  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall): (Context2D::putValue): (drawPattern): (ImagePattern::ImagePattern): (ImagePattern::~ImagePattern):
  • khtml/ecma/kjs_html.h: (KJS::ImagePattern::getPattern): (KJS::ImagePattern::pixmap):
  • kwq/KWQPixmap.h:
  • kwq/KWQPixmap.mm: (QPixmap::imageRef):
  • kwq/WebCoreImageRenderer.h:

WebKit:

Support for patterns in <canvas>.
(These changes attempt to create a CGImageRef from a WebImageRenderer that
is used by the pattern drawing function.)

Reviewed by Hyatt.

  • WebCoreSupport.subproj/WebImageRenderer.h:
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): (-[WebImageRenderer finalize]): (-[WebImageRenderer imageRef]): (_createImageRef):
  • WebView.subproj/WebPDFView.h:
  • WebView.subproj/WebPDFView.m:
1:50 PM Changeset in webkit [7436] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3769409, a regression from 10.3.4 to 10.3.5 involving <colgroup>s in malformed HTML.

Reviewed by mjs

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
1:39 PM Changeset in webkit [7435] by hyatt
  • 2 adds in trunk/LayoutTests/fast/invalid

Add layout test for crashing colgroup

1:38 PM Changeset in webkit [7434] by hyatt
  • 3 edits in trunk/WebCore

Fix for the <colgroup> crasher. Make sure adding to an anonymous box just returns immediately. Also eliminate
all the redundant setPos -500000 calls, since we don't need those at all.

Reviewed by john

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::addChildToFlow): (khtml::RenderBlock::makeChildrenNonInline):
  • khtml/rendering/render_inline.cpp: (RenderInline::splitFlow):
10:06 AM Changeset in webkit [7433] by kocienda
  • 12 edits
    20 adds in trunk

Reviewed by John

Fix for these bugs:

<rdar://problem/3729219> REGRESSION (Mail): Caret placement and navigation not working correctly at yahoo.com
<rdar://problem/3758606> REGRESSION (Mail): Deletions across DIV elements is broken
<rdar://problem/3784810> REGRESSION (Mail): delete at beginning of line instead deletes to the end of the document (simple reduced test)

I made some very big improvements to the code which handles deletions of selections
which span more than one block.

  • khtml/editing/htmlediting_impl.cpp: (khtml::CompositeEditCommandImpl::deleteUnrenderedText): An new, overloaded version of this function which works on a NodeImpl. The code in this function fell out of some refactoring I did in the function with the same name which takes a Position as an argument. (khtml::DeleteSelectionCommandImpl::moveNodesToBlock): New function. This new logic provides the smarts to fix the bugs listed above and greatly improves the code to perform deleting selections which span more than one block. (khtml::DeleteSelectionCommandImpl::doApply): Several changes. Constrain downstream positions so that they stay in the current block. This was a mistake before I think. Add code to detect when the insertion point is a caret at the start of a block. This is a special-case of a cross-block selection. Change the end-of-deletion-fixup case to operate on the downstreamEnd position of the selection rather than the upstream. This is more logical. Refine the block merge logic to handle more cases, like dealing with whitespace.
  • khtml/editing/htmlediting_impl.h: Associated header file changes.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::rootEditableElement): Add code to clamp the return value to the body element.
  • khtml/xml/dom_selection.cpp: (DOM::Selection::validate): Make selection canonicalizations stay in the current block.
  • layout-tests/editing/deleting/delete-block-merge-contents-001-expected.txt:
  • layout-tests/editing/deleting/delete-block-merge-contents-001.html:
  • layout-tests/editing/deleting/delete-block-merge-contents-002-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-002.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-003-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-003.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-004-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-004.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-005-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-005.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-006-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-006.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-007-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-007.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-008-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-008.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-009-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-009.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-010-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-010.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-011-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-011.html: Added.
  • layout-tests/editing/inserting/insert-3654864-fix-expected.txt: Updated with new results.
  • layout-tests/editing/inserting/insert-3654864-fix.html: Updated test to deal better with improved select all behavior.
  • layout-tests/editing/selection/select-all-003-expected.txt: Updated with new results.

Sep 1, 2004:

5:58 PM Changeset in webkit [7432] by adele
  • 3 adds in trunk/LayoutTests/fast/frames

Adding layout test for contentWindow for frames

4:49 PM Changeset in webkit [7431] by rjw
  • 2 edits in trunk/JavaScriptCore

Add pid to exception messages (to help debug dashboard clients).

Reviewed by Chris.

  • kjs/interpreter.cpp: (Interpreter::evaluate):
3:53 PM Changeset in webkit [7430] by rjw
  • 2 edits in trunk/WebCore

Fixed panther build glitch.

Reviewed by Ken.

  • khtml/ecma/kjs_html.cpp:
3:17 PM Changeset in webkit [7429] by cblu
  • 2 edits in trunk/WebKit

Fixed deployment build failure.

  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]):
12:38 PM Changeset in webkit [7428] by rjw
  • 4 edits in trunk/WebCore

WebCore:

Finished implementation of gradient support in <canvas>.

Reviewed by John.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLElementFunction::tryCall): (isGradient): (isImagePattern): (KJS::Context2DFunction::tryCall): (Context2D::putValue): (Context2D::Context2D): (KJS::GradientFunction::tryCall): (gradientCallback): (Gradient::commonInit): (Gradient::Gradient): (Gradient::~Gradient): (Gradient::getShading): (Gradient::addColorStop): (sortStops): (Gradient::colorStops):
  • khtml/ecma/kjs_html.h: (KJS::ColorStop::ColorStop):
  • khtml/ecma/kjs_html.lut.h: (KJS::):

Tests:

Test page for gradients usage in the <canvas>.

Reviewed by John.

  • html/canvas_gradient.html: Added.
  • html/gibson.jpg: Added.
11:22 AM Changeset in webkit [7427] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3784686, hidden links still active. Make sure text nodes exclude themselves from nodeAtPoint checks
when hidden.

  • khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
10:29 AM Changeset in webkit [7426] by hyatt
  • 2 adds in trunk/LayoutTests/fast/table

Add layout tests.

10:19 AM Changeset in webkit [7425] by hyatt
  • 3 edits in trunk/WebCore

Fixes for 3761411 and 3782201. This patch makes two changes to percentage heights. First it makes sure that
replaced elements always flex inside a cell (unlike blocks and tables, which do so only sometimes under bizarre
conditions that are still being guessed at by me). The second fix is a recognition that empty tables do not
actually honor their heights, and so it is a mistake to try to flex them.

Reviewed by mjs

  • khtml/rendering/render_table.cpp: (RenderTableSection::layoutRows):
  • khtml/rendering/render_table.h: (khtml::RenderTable::hasSections):

Aug 31, 2004:

3:12 PM Changeset in webkit [7424] by cblu
  • 7 edits in trunk/WebKit

Fixed:
<rdar://problem/3699498> Context menu for editable WebViews should provide items like Cut and Paste
<rdar://problem/3781535> REGRESSION (Mail): no context menu after ctrl-clicking a misspelled word

Reviewed by kocienda.

  • English.lproj/Localizable.strings:
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]): updated to handle new menu items (-[WebDefaultUIDelegate contextMenuItemsForElement:]): renamed from webView:contextMenuItemsForElement:defaultMenuItems: (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): new (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): moved, now call contextMenuItemsForElement: or editingContextMenuItemsForElement:
  • WebView.subproj/WebDefaultUIDelegate.h:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _isSelectionMisspelled]): new (-[WebHTMLView _guessesForMisspelledSelection]): new (-[WebHTMLView _changeSpellingFromMenu:]): new (-[WebHTMLView _ignoreSpellingFromMenu:]): new (-[WebHTMLView _learnSpellingFromMenu:]): new
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebUIDelegate.h:
2:58 PM Changeset in webkit [7423] by darin
  • 2 edits in trunk/WebKit
  • fixed B&I build failure
  • WebView.subproj/WebHTMLView.m: (-[WebTextCompleteController _buildUI]): Work around unwanted warning by adding a cast.
2:31 PM Changeset in webkit [7422] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3781572> can't paste text in replied message view

  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::toHTML): Copying text placed in an anonymous block was failing since the code in here depending on the text node's containing block having an element, which it won't. In fact, using containing block is wrong anyway, since positioned elements can have containing blocks far from where they live in the tree. This "move up to block check" should use the more DOM-wise enclosingBlockFlowElement() in NodeImpl.
1:18 PM Changeset in webkit [7421] by mjs
  • 1 edit in trunk/WebKit/ChangeLog

Reviewed by John.

<rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website

Because we will stop parsing when there is a pending redirection,
avoid setting one if no navigation would actually take place
because the number of steps is out of range.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canGoBackOrForward:]):
9:58 AM Changeset in webkit [7420] by hyatt
  • 2 adds in trunk/LayoutTests/fast/table

* empty log message *

9:49 AM Changeset in webkit [7419] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3742585, sony dhtml menus wrong size. The percentage table height algorithm was wrong. This patch
unifies the table percentage height algorithm with the block percentage height algorithm and fixes bugs in
both.

Reviewed by john

  • khtml/rendering/render_box.cpp: (RenderBox::calcPercentageHeight):
  • khtml/rendering/render_table.cpp: (RenderTable::layout):
9:39 AM Changeset in webkit [7418] by kocienda
  • 2 edits
    16 adds in trunk

Reviewed by me

Added more editing layout tests.

  • layout-tests/editing/deleting/delete-tab-001-expected.txt: Added.
  • layout-tests/editing/deleting/delete-tab-001.html: Added.
  • layout-tests/editing/deleting/delete-tab-002-expected.txt: Added.
  • layout-tests/editing/deleting/delete-tab-002.html: Added.
  • layout-tests/editing/deleting/delete-tab-003-expected.txt: Added.
  • layout-tests/editing/deleting/delete-tab-003.html: Added.
  • layout-tests/editing/deleting/delete-tab-004-expected.txt: Added.
  • layout-tests/editing/deleting/delete-tab-004.html: Added.
  • layout-tests/editing/editing.js: Fixed a little bug in one of the "delayed" commands.
  • layout-tests/editing/inserting/insert-tab-001-expected.txt: Added.
  • layout-tests/editing/inserting/insert-tab-001.html: Added.
  • layout-tests/editing/inserting/insert-tab-002-expected.txt: Added.
  • layout-tests/editing/inserting/insert-tab-002.html: Added.
  • layout-tests/editing/inserting/insert-tab-003-expected.txt: Added.
  • layout-tests/editing/inserting/insert-tab-003.html: Added.
  • layout-tests/editing/inserting/insert-tab-004-expected.txt: Added.
  • layout-tests/editing/inserting/insert-tab-004.html: Added.
9:29 AM Changeset in webkit [7417] by kocienda
  • 3 edits in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/3782521> Typing newline at start of block does not work

  • khtml/editing/htmlediting_impl.cpp: (khtml::InputNewlineCommandImpl::doApply): Change handling of case to insert newline at the start of a block.
  • layout-tests/editing/inserting/insert-br-006-expected.txt: Updated layout test with new results.
9:04 AM Changeset in webkit [7416] by kocienda
  • 1 edit in trunk/WebCore/khtml/editing/htmlediting_impl.cpp

Checked this in by mistake, rolling back

8:57 AM Changeset in webkit [7415] by kocienda
  • 2 edits in trunk/WebCore

ChangeLog

8:56 AM Changeset in webkit [7414] by kocienda
  • 3 edits in trunk

Reviewed by NOBODY (OOPS!).

  • khtml/editing/htmlediting_impl.cpp: (khtml::InputNewlineCommandImpl::doApply):
  • layout-tests/editing/deleting/collapse-whitespace-3587601-fix-expected.txt:
  • layout-tests/editing/selection/move-by-line-001-expected.txt:
8:41 AM Changeset in webkit [7413] by kocienda
  • 2 edits
    10 adds in trunk

Reviewed by me

Added more editing layout tests.

  • layout-tests/editing/deleting/collapse-whitespace-3587601-fix-expected.txt: Added.
  • layout-tests/editing/deleting/collapse-whitespace-3587601-fix.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-001-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-001.html: Added.
  • layout-tests/editing/editing.js: Added some more navigation commands.
  • layout-tests/editing/inserting/insert-3778059-fix-expected.txt: Added.
  • layout-tests/editing/inserting/insert-3778059-fix.html: Added.
  • layout-tests/editing/selection/move-by-line-001-expected.txt: Added.
  • layout-tests/editing/selection/move-by-line-001.html: Added.
  • layout-tests/editing/style/typing-style-003-expected.txt: Added.
  • layout-tests/editing/style/typing-style-003.html: Added.
8:27 AM Changeset in webkit [7412] by kocienda
  • 1 edit
    14 adds
    8 deletes in trunk

Reviewed by me

Added more editing layout tests. Renamed some others.

  • layout-tests/editing/inserting/insert-br-001-expected.txt: Added.
  • layout-tests/editing/inserting/insert-br-001.html: Added.
  • layout-tests/editing/inserting/insert-br-002-expected.txt: Added.
  • layout-tests/editing/inserting/insert-br-002.html: Added.
  • layout-tests/editing/inserting/insert-br-003-expected.txt: Added.
  • layout-tests/editing/inserting/insert-br-003.html: Added.
  • layout-tests/editing/inserting/insert-br-004-expected.txt: Added.
  • layout-tests/editing/inserting/insert-br-004.html: Added.
  • layout-tests/editing/inserting/insert-br-005-expected.txt: Added.
  • layout-tests/editing/inserting/insert-br-005.html: Added.
  • layout-tests/editing/inserting/insert-br-006-expected.txt: Added.
  • layout-tests/editing/inserting/insert-br-006.html: Added.
  • layout-tests/editing/inserting/insert-br-case1-expected.txt: Removed.
  • layout-tests/editing/inserting/insert-br-case1.html: Removed.
  • layout-tests/editing/inserting/insert-br-case2-expected.txt: Removed.
  • layout-tests/editing/inserting/insert-br-case2.html: Removed.
  • layout-tests/editing/inserting/insert-br-case3-expected.txt: Removed.
  • layout-tests/editing/inserting/insert-br-case3.html: Removed.
  • layout-tests/editing/inserting/insert-br-case6-expected.txt: Removed.
  • layout-tests/editing/inserting/insert-br-case6.html: Removed.
  • layout-tests/editing/inserting/insert-text-with-newlines-expected.txt: Added.
  • layout-tests/editing/inserting/insert-text-with-newlines.html: Added.
8:14 AM Changeset in webkit [7411] by kocienda
  • 2 edits in trunk

Reviewed by me

  • layout-tests/editing/editing.js: Modified typeCharacterCommand so it can accept a character as an argument.
8:02 AM Changeset in webkit [7410] by kocienda
  • 25 edits in trunk

Reviewed by Hyatt

Fix for these bugs:

<rdar://problem/3777629> REGRESSION (Mail): can't delete blank lines in quoted text in HTML mail replies
<rdar://problem/3780309> REGRESSION (Mail): can't delete past an empty span in a particular test case
<rdar://problem/3780315> REGRESSION (Mail): right arrow works incorrectly in a particular test case with an empty span
<rdar://problem/3780320> REGRESSION (Mail): left arrow works incorrectly in a particular test case with an empty span
<rdar://problem/3780336> REGRESSION (Mail): down arrow fails in a reduction of a Mail reply test case (seems to be inside a span)

  • khtml/xml/dom_position.cpp: (DOM::Position::upstream): If this position's node is a block, use it for the StayInBlock case, not the block's enclosing block. (DOM::Position::downstream): Ditto. (DOM::Position::inRenderedContent): Refine the case for non-text nodes. This was erroneously returning true for any empty element (like <span></span>).
  • khtml/xml/dom_positioniterator.cpp: Change the following four functions to consider all nodes, not just leaves of the DOM tree. This is a step towards making this iteration less cranky and unpredictable, and was necessary to do now to keep the inRenderedContent() change above from breaking editign layout tests. (DOM::PositionIterator::peekPrevious) (DOM::PositionIterator::peekNext) (DOM::PositionIterator::atStart) (DOM::PositionIterator::atEnd)
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::fontForCurrentPosition): Check that the position being checked is an element and that the element is in rendered content. I ran across some null-check failures while I was coding this fix, and the additions seem prudent.

Updated these layout tests with new results.

  • layout-tests/editing/deleting/delete-3608430-fix-expected.txt:
  • layout-tests/editing/deleting/delete-3775172-fix-expected.txt:
  • layout-tests/editing/deleting/delete-block-contents-001-expected.txt:
  • layout-tests/editing/deleting/delete-block-contents-002-expected.txt:
  • layout-tests/editing/deleting/delete-block-contents-003-expected.txt:
  • layout-tests/editing/deleting/delete-image-004-expected.txt:
  • layout-tests/editing/deleting/delete-trailing-ws-001-expected.txt:
  • layout-tests/editing/editing.js:
  • layout-tests/editing/execCommand/boldSelection-expected.txt:
  • layout-tests/editing/execCommand/italicizeByCharacter-expected.txt:
  • layout-tests/editing/execCommand/modifyForeColorByCharacter-expected.txt:
  • layout-tests/editing/execCommand/print-expected.txt:
  • layout-tests/editing/execCommand/selectAll-expected.txt:
  • layout-tests/editing/selection/extend-by-character-002-expected.txt:
  • layout-tests/editing/selection/extend-by-character-004-expected.txt:
  • layout-tests/editing/selection/extend-by-character-005-expected.txt:
  • layout-tests/editing/selection/extend-by-character-006-expected.txt:
  • layout-tests/editing/selection/select-all-001-expected.txt:
  • layout-tests/editing/selection/select-all-002-expected.txt:
  • layout-tests/editing/selection/select-all-003-expected.txt:

Aug 30, 2004:

5:49 PM Changeset in webkit [7409] by darin
  • 10 edits
    1 delete in trunk

WebCore:

Reviewed by John.

  • fixed <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com
  • kwq/KWQListBox.h: Added a clearCachedTextRenderers function.
  • kwq/KWQListBox.mm: (itemTextRenderer): Change to use globals that are outside the function, and added retain calls. (groupLabelTextRenderer): Ditto. (QListBox::clearCachedTextRenderers): Release global text renderers and nil out the globals.
  • kwq/WebCoreBridge.h: Removed updateAllViews; not needed any more.
  • kwq/WebCoreBridge.mm: Ditto.
  • kwq/WebCoreTextRendererFactory.h: Added a clearCaches method.
  • kwq/WebCoreTextRendererFactory.mm: (-[WebCoreTextRendererFactory clearCaches]): Added. Tells all the views to repaint after clearing the cached text renderers from KWQListBox. To be more elegant, we could generalize the KWQListBox trick, but for now why bother?
  • kwq/WebCoreTextRendererFactory.m: Removed. I needed to put some C++ code in here, so changed the extension to .mm.
  • WebCore.pbproj/project.pbxproj: Removed WebCoreTextRendererFactory.m, and added WebCoreTextRendererFactory.mm.

WebKit:

Reviewed by John.

  • part of fix for <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com
  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]): Call [super clearCaches].
3:58 PM Changeset in webkit [7408] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3528538> can paste a Return character into the Search field at amazon.com, other browsers won't
  • kwq/KWQTextField.mm: (-[KWQTextFieldController controlTextDidChange:]): Truncate text before the first line break.
3:44 PM Changeset in webkit [7407] by darin
  • 2 edits in trunk/WebCore
  • kwq/KWQTextCodec.mm: (KWQTextDecoder::convertOneChunkUsingTEC): Added some more assertions I used to track down what looks like a TEC bug.
3:36 PM Changeset in webkit [7406] by darin
  • 3 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3779122> No accesskey support on LABEL element
  • khtml/html/html_formimpl.h: Change type of m_currValue to DOMString. Should have been done as part of my form data check-in, but harmless to do now. Add accessKeyAction function for HTMLLabelElementImpl.
  • khtml/html/html_formimpl.cpp: (DOM::HTMLButtonElementImpl::parseHTMLAttribute): Remove conversion of DOMString to QString for m_currValue. (DOM::HTMLLabelElementImpl::formElement): If there's no "for" attribute, search children for the first control. (DOM::HTMLLabelElementImpl::accessKeyAction): Forward the accesskey action to the formElement.
2:50 PM Changeset in webkit [7405] by darin
  • 3 edits in trunk/WebCore

Reviewed by Dave.

  • fixed <rdar://problem/3303968> final newline character omitted from <textarea> when parsing a new page
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::processListing): Handle newline pending cases as well as space and tab pending spaces at the end of this function. This seems right for both scripts and text areas; it's not clear why omittiing the LF is ever needed. Tested by running all the layout tests; no regressions.
  • fixed <rdar://problem/3552736> word wrapped text fields that blur/focus when you type move the insertion point strangely (vtext.com)
  • khtml/rendering/render_form.cpp: (RenderTextArea::updateFromElement): Call text() instead of calling widget->text() directly. This prevents this function from running in cases where the text didn't really change for text areas in wrap mode.
2:28 PM Changeset in webkit [7404] by darin
  • 2 edits in trunk/WebCore

Reviewed by Dave.

  • got rid of ERROR message when running layout tests by implementing text-transform in computed style
  • khtml/css/css_computedstyle.cpp: (DOM::numberAsString): Added. Helper that returns "1" rather then "1.0" for integer values. (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Fixed use of tabs instead of spaces. Fixed switch statements so they don't use default so we get errors if we leave a case out. Changed callers to use numberAsString instead of QString::number. Added implementation of CSS_PROP_TEXT_TRANSFORM. Added code to prevent falling through to next property when no item in a switch statement matches.
1:35 PM Changeset in webkit [7403] by darin
  • 31 edits
    7 adds in trunk

WebCore:

Reviewed by Chris.

  • did work to prepare for uploading files incrementally when submitting forms
  • khtml/misc/formdata.h: Added. Class for holding form data inside WebCore.
  • khtml/misc/formdata.cpp: Added.
  • khtml/html/html_formimpl.h: Added the FormDataList type, changed the formData function parameters and made it private, renamed the encoding method to appendFormData and changed the parameters around.
  • khtml/html/html_formimpl.cpp: (DOM::FormDataList): Added. Class that replaces the old use of QValueList<QCString> for form data. Later we'll change it to accomodate filenames too. (DOM::HTMLFormElementImpl::formData): Changed code to use FormDataList intsead of the old encodingList. Also changed to return the "OK" result as the function result and put the form data into something passed as an "out" parameter; the old way was the other way around. (DOM::HTMLFormElementImpl::submit): Change to use FormData rather than a QByteArray when getting the form data to submit. (DOM::HTMLButtonElementImpl::appendFormData): Rename from encoding, and use the new appendData function instead of the old way of doing += to put data on the list. (DOM::HTMLInputElementImpl::appendFormData): Ditto. (DOM::HTMLSelectElementImpl::appendFormData): Ditto. (DOM::HTMLKeygenElementImpl::appendFormData): Ditto. (DOM::HTMLTextAreaElementImpl::appendFormData): Ditto. (DOM::FormDataList::FormDataList): Added. (DOM::FormDataList::appendString): Added. (DOM::FormDataList::begin): Added. (DOM::FormDataList::end): Added.
  • khtml/khtml_part.h: Changed the type of the submitForm parameter to FormData instead of QByteArray.
  • khtml/khtmlpart_p.h: Changed the type of the submitFormData data member to FormData instead of QByteArray.
  • khtml/khtml_part.cpp: (KHTMLPart::submitForm): Called the new flattenToString function in all the code that handles mailto forms. Called the new flatten function in the non-Apple code path.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::submitForm): Pass NSArray for form data instead of NSData.
  • kwq/KWQKJob.h: Use FormData instead of QByteArray. A couple other small cleanups.
  • kwq/KWQKJobClasses.h: Ditto.
  • kwq/KWQKJobClasses.mm: (KIO::TransferJobPrivate::TransferJobPrivate): Ditto. (KIO::TransferJob::TransferJob): Ditto. (KIO::TransferJob::postData): Ditto.
  • kwq/KWQKPartsBrowserExtension.h: Ditto.
  • kwq/KWQLoader.mm: (KWQServeRequest): Ditto. (KWQServeSynchronousRequest): Ditto.
  • kwq/KWQFormData.h: Added. A function to convert KHTML form data into an NSArray for communication with the WebKit side.
  • kwq/KWQFormData.mm: Added.
  • kwq/WebCoreBridge.h: Pass NSArray instead of NSData for form data.
  • kwq/KWQArrayImpl.h: Added a detach member function. The old version would do unnecessary work when detach was called on an array that had exactly one reference.
  • kwq/KWQArrayImpl.mm: (KWQArrayImpl::detach): Added.
  • kwq/KWQMemArray.h: (QMemArray::detach): Call through to KWQArrayImpl.
  • kwq/KWQValueList.h: (QValueList::first): Added overload for non-const. (QValueList::last): Ditto.
  • ForwardingHeaders/misc/formdata.h: Added.
  • WebCore.pbproj/project.pbxproj: Added formdata.h, formdata.cpp, KWQFormData.h, and KWQFormData.cpp.
  • WebCore-tests.exp: Updated for changes to QValueList, and re-sorted.
  • WebCore-combined.exp: Regenerated.

WebKit:

Reviewed by Chris.

  • did work to prepare for uploading files incrementally when submitting forms
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem _setFormInfoFromRequest:]): Use NSArray instead of NSData for form data. (-[WebHistoryItem formData]): Ditto.
  • History.subproj/WebHistoryItemPrivate.h: Ditto.
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
  • WebCoreSupport.subproj/WebSubresourceClient.h: Ditto.
  • WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Ditto.
  • WebView.subproj/WebFrame.m: (-[WebFrame _loadItem:withLoadType:]): Ditto. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
  • WebView.subproj/WebFramePrivate.h: Ditto.
  • WebView.subproj/WebFormDataStream.h: Added.
  • WebView.subproj/WebFormDataStream.m: (-[WebFormDataStream initWithFormDataArray:]): Placeholder; not done yet. (-[WebFormDataStream formDataArray]): Ditto.
  • WebKit.pbproj/project.pbxproj: Added WebFormDataStream files.
11:00 AM Changeset in webkit [7402] by darin
  • 4 edits in trunk/WebCore

Reviewed by Ken.

  • improved multiple submit logic in preparation for making command-click on a form button load a form in another frame
  • kwq/KWQKHTMLPart.h: Added const to a bunch of member functions for cleanup. Added prepareForUserAction member function.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::submitForm): Simplified logic and removed special case for "http" and "https". (KWQKHTMLPart::renderer): Added const. (KWQKHTMLPart::keyEvent): Added call to prepareForUserAction. (KWQKHTMLPart::lastEventIsMouseUp): Added const. (KWQKHTMLPart::eventMayStartDrag): Added const. (KWQKHTMLPart::mouseDown): Added call to prepareForUserAction. (KWQKHTMLPart::overrideMediaType): Added const. (KWQKHTMLPart::canGoBackOrForward): Added const. (KWQKHTMLPart::prepareForUserAction): Added. Clears _submittedFormURL.
  • kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityPerformAction:]): Added call to prepareForUserAction.
10:43 AM Changeset in webkit [7401] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3762231> REGRESSION (Mail): tab key inserts a single space

  • khtml/editing/htmlediting_impl.cpp: (khtml::isTab): New helper. Checks a DOMString to see if it is one character and that character is a tab. (khtml::InputTextCommandImpl::execute): Trap tabs before handling insertion of other kinds of whitespace. Treat a tab like four spaces. Rearrange the code to update the ending position after the text insertion to cover the new tab case where the amount of advance is not the same as the number of character in the passed-in DOMString (i.e. tabs expand to four characters).
10:39 AM Changeset in webkit [7400] by sullivan
  • 4 edits in trunk/WebKit

Reviewed by Ken.

  • WebKit part of fix for <rdar://problem/3607720> myFrame.print() prints the window but should only print the frame
  • WebView.subproj/WebUIDelegatePrivate.h: declare new delegate method that includes which frame to print
  • WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webView:printFrameView:]): implement default (no-op) version of new delegate method
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge print]): call new delegate method if available, otherwise call old delegate method, for backward compatibility.
8:38 AM Changeset in webkit [7399] by kocienda
  • 2 edits in trunk/WebKit

Reviewed by John.
Checked in by Ken

Ken comments: It looks like Maciej forgot to land this when he checked in the
WebCore portion of this change.

<rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website

Because we will stop parsing when there is a pending redirection,
avoid setting one if no navigation would actually take place
because the number of steps is out of range.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canGoBackOrForward:]):
8:13 AM Changeset in webkit [7398] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by Chris

Fix for this bug:

<rdar://problem/3779706> plain text on pasteboard loses indentation when pasted into Blot

  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::documentFragmentWithText): New function that takes over the code from KWQKHTMLPart and improves it to handle converting tabs and spaces for suitable display in HTML.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge documentFragmentWithText:]): Move smarts from here to KWQKHTMLPart.
Note: See TracTimeline for information about the timeline view.