Timeline


and

02/19/05:

18:24 Changeset [8642] by kocienda
  • 13 edits in trunk/WebCore

Reviewed by Maciej

  • khtml/editing/htmlediting.cpp: (khtml::matchNearestBlockquoteColorString): New function which abstracts away the CSS property we use for this pseudo-color. (khtml::ReplacementFragment::removeBlockquoteColorsIfNeeded): Set the new nearestBlockquoteColorString psuedo-color here, rather than removing colors as was done before. (khtml::ReplaceSelectionCommand::applyStyleToInsertedNodes): Check for the pseudo-color in the desired style, and determine the real color based on the nearest blockquote (or none) to the node. (khtml::nearestMailBlockquote): Name change from closestMailBlockquote to match new property better.

All the rest of this change is the mechanical coding you need to do to add a new CSS property, in this
case, -khtml-match-nearest-mail-blockquote-color.

  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue)
  • khtml/css/cssparser.cpp: (CSSParser::parseValue):
  • khtml/css/cssproperties.c: (hash_prop): (findProp):
  • khtml/css/cssproperties.h:
  • khtml/css/cssproperties.in:
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty)
  • khtml/css/cssvalues.c: (findValue)
  • khtml/css/cssvalues.h:
  • khtml/css/cssvalues.in:
  • khtml/rendering/render_style.h: (khtml::RenderStyle::matchNearestMailBlockquoteColor) (khtml::RenderStyle::setMatchNearestMailBlockquoteColor) (khtml::RenderStyle::initialMatchNearestMailBlockquoteColor)
14:53 Changeset [8641] by kocienda
  • 5 edits in trunk

Reviewed by Chris

Fix for these bugs:

<rdar://problem/4014228> REGRESSION (186-187) extra, uneditable lines inserted above and below a line of pasted quoted text
<rdar://problem/4014393> REGRESSION (186-187) pasted quoted text gets extra <cr>s when pasted at top of document

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::ReplacementFragment): Part of a general refactoring of how the fragment is inserted into the document, rendered, and then tested for certain important pieces of information that are required for pasting. (khtml::ReplacementFragment::insertFragmentForTestRendering): New helper. Handles inserting the fragment nodes into the document. (khtml::ReplacementFragment::restoreTestRenderingNodesToFragment): Removes nodes from the document, and restores them to the fragment. (khtml::ReplacementFragment::computeStylesUsingTestRendering): Factored out code that did this before into its own function. (khtml::ReplacementFragment::removeUnrenderedNodesUsingTestRendering): Ditto. (khtml::ReplacementFragment::countRenderedBlocks): This is a real improvement, as it eliminates a major use of the isProbablyBlock() function. Now, the blocks that are counted are real, rendered blocks. (khtml::ReplacementFragment::removeStyleNodes): Made this function retain margin-zeroing CSS properties on paragraphs. This does two things: 1) It helps us to maintain good behavior in the short term while there are still versions of Mail out there that use <p> elements instead of <div> elements for new paragraphs; and 2) It will help to maintain the compatibility with other mail clients that use <p> elements for their paragraphs but render them themselves with no margins as the result of quirks. (khtml::ReplaceSelectionCommand::doApply): Do some work to fix up and improve the handling of blank lines, be they <p> elements or <br> elements, that can be removed after pasting. This, coupled with the refactoring, fixes 4014393.
  • khtml/editing/htmlediting.h: Updated for new functions.
  • layout-tests/editing/pasteboard/paste-text-010-expected.txt: Updated results, actually improved with this change.
  • layout-tests/editing/pasteboard/paste-text-011-expected.txt: Ditto.
13:46 Changeset [8640] by kdecker
  • 3 edits in trunk/WebCore

Reviewed by Chris.

Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission

Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case. Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker.

  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]): Changed this to invoke the new stringByEvaluatingJavaScriptFromString:forceUserGesture method below. (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Let the WebKit make the determination if this was a user originated gesture or not; we must no longer assume this is always the case.
13:40 Changeset [8639] by kdecker
  • 3 edits in trunk/WebKit

Reviewed by Chris.

Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission

Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case. Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker.

  • Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar.
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins; we still want to allow those. (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest. (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript(). (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]): (-[WebPluginRequest isCurrentEventUserGesture]): Added.
13:36 Changeset [8638] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3951196> REGRESSION (Mail): too many levels of reply quotes after certain steps

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
  • If we find a new start node, update topBlockquote so we don't use too many block quotes for the contents following the new line.
  • Build up the list of ancestors after we've determined the actual topBlockquote.
  • Don't insert an extra new line if there is a new start node.
10:59 Changeset [8637] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3978461> smart paste is broken

Reviewed by kevin.

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): properly check for leading and trailing whitespace. These checks were incorrectly reversed. Also check if we're pasting at the beginning or end of a line. We should not insert spaces in either case.

02/18/05:

17:13 Changeset [8636] by adele
  • 7 edits in trunk/WebCore

Reviewed by Darin.

Fix for <rdar://problem/3975568> REGRESSION(125-180)Australian Open pages have drawing problem

This patch fixes two problems caused by our added support for custom tags. First, the layout problem at the sites mentioned in the bug
was caused by custom tags within tables. In checkChild, we needed to treat these tags as spans so they get placed correctly in the DOM tree.
Also, we were indexing the tagPriority and endTag arrays with id values from the custom tags that were greater than the size of the array. So now
we have functions to check for the custom tags, and again, treat them as spans. To avoid confusion, we changed the names of the arrays to
endTagArray and tagPriorityArray.

  • khtml/html/dtd.h: changed all uses of the endTag array to endTagArray for our new wrapper functions (DOM::tagPriority): added function to check array bounds and to treat custom tags as spans (DOM::endTagRequirement): added function to check array bounds and to treat custom tags as spans
  • khtml/html/dtd.cpp: changed name of endTag and tagPriority arrays to endTagArray and tagPriorityArray (DOM::checkChild): treat custom tags as spans during this check
  • khtml/html/html_elementimpl.cpp: changed all uses of the endTag array to the endTagRequirement function (HTMLElementImpl::createContextualFragment): (HTMLElementImpl::setInnerText): (HTMLElementImpl::setOuterText): (HTMLElementImpl::toString):
  • khtml/html/htmlparser.cpp: changed all uses of the endTag array to the endTagRequirement function and all uses of the tagPriority array to the tagPriority function. (KHTMLParser::parseToken): (KHTMLParser::insertNode):
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): changed all uses of the endTag array to the endTagRequirement function
  • khtml/editing/markup.cpp: changed all uses of the endTag array to the endTagRequirement function (khtml::endMarkup): (khtml::markup):
14:10 Changeset [8635] by jens
  • 2 edits in trunk/WebCore

Fixed build: Whoops, setNeedsLayout's parameter is NOT optional!

13:39 Changeset [8634] by jens
  • 5 edits in trunk/WebCore

[3603191] REGRESSION: Applets not receiving all of the Applet Parameters in Java 1.4.1/1.4.2. Fix is to defer instantiating the applet plugin until the applet tag and its nested param tags have been completely parsed.

12:49 Changeset [8633] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4006161> Tiger8A380: Widgets leak dashboard regions

We were leaking the DashboardRegionImpls.

Reviewed by Kevin.

  • khtml/css/css_valueimpl.cpp: (DOM::CSSPrimitiveValueImpl::cleanup):
12:11 Changeset [8632] by cblu
  • 8 edits in trunk

WebCore:

Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): don't set class on element returned by createStyleSpanElement since that's already done (khtml::ReplacementFragment::ReplacementFragment): take matchStyle param, don't call computeStylesAndRemoveUnrendered() if !matchStyle (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): take matchStyle param (khtml::ReplaceSelectionCommand::doApply): if m_matchStyle, use selection.start() as the insertion position and don't call applyStyleToInsertedNodes()
  • khtml/editing/htmlediting.h:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): take matchStyle param and pass it (-[WebCoreBridge replaceSelectionWithNode:selectReplacement:smartReplace:]): pass NO for matchStyle (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): pass NO for matchStyle (-[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]): pass YES for matchStyle

WebKit:

Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled

Reviewed by kocienda.

  • WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
11:55 Changeset [8631] by kocienda
  • 5 edits in trunk

Reviewed by Chris

Fix for these bugs:

<rdar://problem/4013025> Copy/Paste of quoted word results in removal of any following <cr>
<rdar://problem/4013100> Copy/Paste quoted text and then decrease quote level does not change text color

For the most part, these bugs were caused by errors and lack of foresight on my part when
I added the better paste code. Chalk these fixes up to the result of bake time.

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::ReplacementFragment): Need to move count of number of blocks in fragment after the call to remove unrendered nodes. Meant to do this before, but forgot to. (khtml::ReplacementFragment::removeStyleNodes): Need to remove inline styles from elements! Terrible omission now fixed. (khtml::ReplacementFragment::removeBlockquoteColorsIfNeeded): Remove blockquote colors for now. Code has a more extensive comment in it now to explain the difficulty, and the need for more study and changes. (khtml::ReplaceSelectionCommand::doApply): Need to call applyStyleToInsertedNodes() in the m_fragment.hasInterchangeNewline() case. This was just missed before.
  • layout-tests/editing/pasteboard/paste-text-011-expected.txt: Updated results, subtly different, but OK.
  • layout-tests/editing/pasteboard/paste-text-017-expected.txt: Updated for <p> to <div> change in test content.
  • layout-tests/editing/pasteboard/paste-text-017.html: Needed to change <p> to <div> to make this test go with the new design of using <div> tags for default paragraphs.
11:37 Changeset [8630] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3974263 (and possibly others). Don't let fixed tables use maxint as their maxwidth when some
cells have percentage values.

Reviewed by kocienda

  • khtml/misc/arena.cpp: (ArenaAllocate):
  • khtml/rendering/table_layout.cpp: (FixedTableLayout::calcWidthArray): (FixedTableLayout::calcMinMaxWidth): (AutoTableLayout::layout):
11:35 Changeset [8629] by hyatt
  • 2 adds in trunk/LayoutTests/fast/table

new layout test

02/17/05:

17:51 Changeset [8628] by rjw
  • 2 edits in trunk/WebKit

Removed code that should not have been checked in from
last patch.

  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory isFontFixedPitch:]):
17:30 Changeset [8627] by darin
  • 3 edits in trunk/WebCore

Reviewed by Kevin.

  • fixed <rdar://problem/3998627> WebKit crashes when deleting text in a modified div
  • khtml/khtml_part.cpp: (KHTMLPart::selectionComputedStyle): Add a ref and deref to keep the element alive until it's added to the DOM tree.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::styleForSelectionStart): Ditto.
17:26 Changeset [8626] by rjw
  • 6 edits in trunk

WebCore:

Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead

Fixed w/o introducing a performance regression. Add early
check for Osaka-Mono to avoid expensive call into WebKit.

Reviewed by Vicki.

  • kwq/KWQFont.mm: (QFont::isFixedPitch):

WebKit:

Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead

Fixed w/o introducing a performance regression.

Reviewed by Vicki (and earlier by Dave Harrison).

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _computeWidthForSpace]): (widthForNextCharacter):
  • WebCoreSupport.subproj/WebTextRendererFactory.h:
  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[NSFont _web_isFakeFixedPitch]): (-[WebTextRendererFactory isFontFixedPitch:]): (-[WebTextRendererFactory fontWithFamily:traits:size:]):
17:25 Changeset [8625] by darin
  • 2 edits in trunk/WebCore

Reviewed by Kevin.

  • fixed <rdar://problem/4011210> REGRESSION (180-181): Maxlength property for INPUT object not working
  • kwq/KWQTextField.mm: (-[KWQTextField textView:shouldChangeTextInRange:replacementString:]): If controller returns YES, go on to call super, since super does the text formatter handling, which we need. (-[KWQSecureTextField textView:shouldChangeTextInRange:replacementString:]): Ditto. (-[KWQSearchField textView:shouldChangeTextInRange:replacementString:]): Ditto.
17:23 Changeset [8624]
  • 3 copies in tags/Safari-187

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

17:23 Changeset [8623] by vicki
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

move the Safari-187 release marker in the WebCore Changelog, since we're going to include <rdar://problem/4012058> in Safari-187

17:13 Changeset [8622] by rjw
  • 2 edits in trunk/JavaScriptCore

Fixed <rdar://problem/4003251> Safari crashed at www.icelandair.com in LiveConnect code converting a Java object to a string

Added nil check.

Reviewed by John Sullivan.

  • bindings/jni/jni_runtime.cpp: (JavaField::valueFromInstance):
16:38 Changeset [8621] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/4012058> Copy from quoted text and paste results in blue text

The relatively-new paste code tries hard to retain style of the content from the
source location. However, in the case of quoted material in mail messages, we do
not want to carry the quoting color along. This fixes the problem by factoring
out such colors.

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::computeStylesAndRemoveUnrendered): Now calls removeBlockquoteColorsIfNeeded() to fix bug. (khtml::ReplacementFragment::removeBlockquoteColorsIfNeeded): New function. Factors out colors that are the result of text being quoted. (khtml::isNodeRendered): Function moved in file. No other change. (khtml::isProbablyBlock): Function moved in file. No other change. (khtml::closestMailBlockquote): New function. Helps fix bug. (khtml::isMailBlockquote): Function moved to be free-floating instead of being a member of CompositeEditCommand. No other change.
  • khtml/editing/htmlediting.h: Moved around some functions. Added removeBlockquoteColorsIfNeeded().
  • khtml/editing/markup.cpp: Remove redundant static implementation of isMailBlockquote.
16:11 Changeset [8620] by rjw
  • 2 edits in trunk/WebKit

Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore

We were incorrectly adding image position when flipping coordinates.

Reviewed by David Harrison.

  • WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
16:09 Changeset [8619] by rjw
  • 5 edits in trunk/WebKit

Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left

Added SPI for dashboard to disable wheel scrolling of the WebClipView.

Reviewed by Ken.

  • ChangeLog:
  • WebView.subproj/WebClipView.m: (-[WebClipView _focusRingVisibleRect]): (-[WebClipView scrollWheel:]):
  • WebView.subproj/WebView.m: (-[WebViewPrivate init]): (-[WebView drawRect:]): (-[WebView _dashboardBehavior:]):
  • WebView.subproj/WebViewInternal.h:
  • WebView.subproj/WebViewPrivate.h:
16:05 Changeset [8618] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (187+)

15:59 Changeset [8617] by vicki
  • 6 edits in trunk

Safari-187 stamp

15:31 Changeset [8616] by kocienda
  • 3 edits in trunk/WebCore

I checked in when the tree was closed. Rolling out.

15:27 Changeset [8615] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/4003463> Mail.app HTML uses inline styling markup not understood by Entourage and Eudora

  • khtml/editing/htmlediting.cpp: (khtml::StyleChange::styleModeForParseMode): Helper to map a document parse mode to a use/don't use legacy-html-styles value. (khtml::StyleChange::checkForLegacyHTMLStyleChange): Add support for colors, font faces, and font sizes. (khtml::ApplyStyleCommand::applyTextDecorationStyle): Now call styleModeForParseMode to determine whether to use legacy html styles or not. (khtml::ApplyStyleCommand::addBlockStyleIfNeeded): Ditto. (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto.
  • khtml/editing/htmlediting.h: All the following support the new bits of data we need to store. (khtml::StyleChange::applyFontColor) (khtml::StyleChange::applyFontFace) (khtml::StyleChange::applyFontSize) (khtml::StyleChange::fontColor) (khtml::StyleChange::fontFace) (khtml::StyleChange::fontSize)
15:04 Changeset [8614] by vicki
  • 4 edits in trunk/WebKit
  • roll out this change, since it causes a 1.5% performance regression

2005-02-15 Richard Williamson <rjw@apple.com>

Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead

Lie about Osaka-Mono. Treat it as fixed pitch, even though,
strictly speaking it isn't. (Similar to what we do with
Courier New.)

Reviewed by David Harrison.

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _computeWidthForSpace]):
  • WebCoreSupport.subproj/WebTextRendererFactory.h:
  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[NSFont _web_isFakeFixedPitch]): (-[WebTextRendererFactory isFontFixedPitch:]): (-[WebTextRendererFactory fontWithFamily:traits:size:]):
13:24 Changeset [8613] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4008163> dynamic support for -apple-dashboard-region is flakey

Style operator== wasn't including regions.

13:17 Changeset [8612] by adele
  • 2 edits in trunk/WebCore

Reviewed by Chris.

fix for <rdar://problem/4010028> 8A383: Safari v185 crash loading united.com multi city fare finder page.

  • khtml/dom/dom_string.cpp: (DOM::DOMString::operator += ): prevent nil dereference when DOMString being added is nil
11:53 Changeset [8611] by jens
  • 4 edits in trunk/WebCore

Fix for rdar://3963151 "Mail only pasted ~950 of 1407 text lines into my message!" Force tokenizer to run synchronously while parsing document fragments, so it doesnt stop halfway through and cause truncated content.

09:48 Changeset [8610] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Ken.

  • fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs to lockup (resolved by re-boot only)
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge nextKeyViewOutsideWebFrameViews]): Don't allow recursion here; assert on debug build, return nil on deployment. I couldn't get my machine into a state to repro this problem (and neither could the originator), but it's obvious from the stack crawl that this method was recursing when it shouldn't have.
09:35 Changeset [8609] by kocienda
  • 20 edits in trunk

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3982183> Mail's HTML paragraphs appear with unintended margins in Entourage and Eudora

  • khtml/editing/htmlediting.cpp: (khtml::createDefaultParagraphElement): Change element we make from <p> to <div>. This fixes the problem, as these other mailers show <div> elements without margins.

Some test files needed to change to preserve the ability to "eyeball" the results.
Many others changed just because their <p> elements changed to <div> elements.

  • layout-tests/editing/deleting/delete-3928305-fix-expected.txt
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt
  • layout-tests/editing/inserting/insert-div-013-expected.txt
  • layout-tests/editing/inserting/insert-div-013.html
  • layout-tests/editing/inserting/insert-div-014-expected.txt
  • layout-tests/editing/inserting/insert-div-014.html
  • layout-tests/editing/inserting/insert-div-018-expected.txt
  • layout-tests/editing/inserting/insert-div-018.html
  • layout-tests/editing/inserting/insert-div-019-expected.txt
  • layout-tests/editing/inserting/insert-div-019.html
  • layout-tests/editing/inserting/insert-div-020-expected.txt
  • layout-tests/editing/inserting/insert-div-020.html
  • layout-tests/editing/inserting/insert-div-021-expected.txt
  • layout-tests/editing/inserting/insert-div-021.html
  • layout-tests/editing/style/remove-underline-across-paragraph-expected.txt
  • layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt
  • layout-tests/editing/style/remove-underline-after-paragraph-expected.txt
  • layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt
09:28 Changeset [8608] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3996737> REGRESSION (Mail): Copy/paste in Mail inserts returns

The root cause of the problem is that a couple of pieces of code in AppKit and Mail
insert newlines into markup as it is generated, and the paste code in WebCore was
not smart about nodes that do not render (as is the case with these added newlines).
So, the solution is to remove these unrendered nodes in the paste code in a pre-pass.
Fortunately, my recent addition of such a pass to the paste code to handle styles
gave me a convenient place to put this new logic.

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::ReplacementFragment): Use new name for function below. (khtml::ReplacementFragment::computeStylesAndRemoveUnrendered): Name change from computeStylesForNodes(). Now does the additional work of removing unrendered nodes, as mentioned above. (khtml::isNodeRendered): New helper function.
  • khtml/editing/htmlediting.h: Updated as necessary.
09:23 Changeset [8607] by kocienda
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Forgot to paste in radar URL to show which bug I fixed

09:21 Changeset [8606] by kocienda
  • 2 edits
    2 adds in trunk

Reviewed by Hyatt

Fix for this bug:

The styling code did not move to the next node when the starting position was
at the last offset of a node. Instead, it styled it. Clearly wrong. Solution
is to borrow a check from the delete algorithm. Though I call caretMaxOffset(),
which I consider deprecated, it is still the simplest and most strightforward
way to ask the right question for this kind of problem.

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::applyInlineStyle): Fixed, as described above.
  • layout-tests/editing/style/style-3998892-fix-expected.txt: Added.
  • layout-tests/editing/style/style-3998892-fix.html: Added.

02/16/05:

17:39 Changeset [8605] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3954842> Forward/reply to an HTML email can result in nothing (in cases with <link> tags for CSS)

Reviewed by john.

  • khtml/xml/dom_nodeimpl.cpp: (NodeBaseImpl::addChild): don't call insertedIntoDocument on the added child if "this" itself is not in the document.
17:34 Changeset [8604] by sullivan
  • 3 edits in trunk/WebCore

Written by Darin, reviewed by Maciej and me

  • change required to make previous checkin work with English language RSS pages
  • kwq/KWQKURL.h: new private method isHierarchical
  • kwq/KWQKURL.mm: (KURL::KURL): add hierarchical base URL check when determining whether the URL is absolute (KURL::isHierarchical): new method, returns true if this is a valid URL with a slash just past the scheme's trailing colon
16:55 Changeset [8603] by kali
  • 1 edit in trunk/JavaScriptCore/kjs/date_object.cpp
  • added extensions to toLocalString, toLocaleTimeString, toLocaleDateString to give more control over date formating (4007277)
16:15 Changeset [8602] by sullivan
  • 2 edits in trunk/WebKit

Written by Darin, reviewed by me.

  • WebKit part of fix for <rdar://problem/4007384> FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
  • DOM.subproj/DOMPrivate.h: updated this file, which is a copy of the WebCore version
16:14 Changeset [8601] by sullivan
  • 3 edits in trunk/WebCore

Written by Darin, reviewed by me.

  • WebCore part of fix for <rdar://problem/4007384> FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
  • kwq/DOM.mm: (-[DOMElement _getURLAttribute:]): new SPI method, uses parseURL and completeURL to get valid URL from attribute value
  • kwq/DOMPrivate.h: declare new SPI method
13:20 Changeset [8600] by rjw
  • 2 edits in trunk/WebKit

Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame]

Webstractor.app was playing tricks to create thumbnails of
pages. This caused the 'focusView' to be incorrect during
animated GIF frame rendering.

Reviewed by Chris.

  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
11:55 Changeset [8599] by vicki
  • 2 edits in trunk/WebKit

Reviewed by me, code change by Darin.

  • fixed the build on Panther
  • WebView.subproj/WebFormDataStream.m: (webSetHTTPBody): Added a Panther-specific code path that just loads all the data into one big NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll still load the file into memory before sending it to the server on Panther.

02/15/05:

16:31 Changeset [8598] by rjw
  • 2 edits in trunk/WebKit

Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk

Removed use of FATAL_ALWAYS from getUncachedWidth(). It's unclear
why we would trigger the FATAL_ALWAYS. In the past we've seen
the message triggered because of corrupt fonts. Anyway, in this
particular case, we will now return 0 for the character width,
rather than exiting.

Reviewed by David Harrison.

  • WebCoreSupport.subproj/WebTextRenderer.m: (getUncachedWidth):
15:48 Changeset [8597] by mjs
  • 6 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/3942428> reproducible crash loading cbs.sportsline.com

This change reverts the fix for <rdar://problem/3805311>, and
re-fixes it in a different (better) way. Instead of preventing
programmatic open from setting the parsing flag, instead make sure
that programmatic close resets it.

  • khtml/khtml_part.cpp: (KHTMLPart::openURL): (KHTMLPart::didExplicitOpen): (KHTMLPart::closeURL): (KHTMLPart::begin): (KHTMLPart::end): (KHTMLPart::endIfNotLoading): (KHTMLPart::slotFinishedParsing): (KHTMLPart::checkEmitLoadEvent):
  • khtml/khtml_part.h:
  • khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::open): (DocumentImpl::implicitOpen): (DocumentImpl::close): (DocumentImpl::implicitClose):
  • khtml/xml/dom_docimpl.h:
15:41 Changeset [8596] by harrison
  • 4 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/3933665> smart delete seems to delete too much after expanding selection with arrow keys

Fixed by updating the selection granularity. Only byWord granularity enables smart delete, but in this
case the granularity changed from byWord to byCharacter.

  • khtml/khtml_part.cpp: (KHTMLPart::setSelectionGranularity):
  • khtml/khtml_part.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]): (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]): (-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
15:31 Changeset [8595] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Darin.

(continued) <rdar://problem/4004305> REGRESSION (Mail): Command-right-arrow on wrapped text goes to end of previous line

This was supposed have been committed yesterday with the other part of the fix, but was not.

  • khtml/editing/visible_units.cpp: (khtml::endOfWord):
14:53 Changeset [8594] by rjw
  • 4 edits in trunk/WebKit

Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead

Lie about Osaka-Mono. Treat it as fixed pitch, even though,
strictly speaking it isn't. (Similar to what we do with
Courier New.)

Reviewed by David Harrison.

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _computeWidthForSpace]):
  • WebCoreSupport.subproj/WebTextRendererFactory.h:
  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[NSFont _web_isFakeFixedPitch]): (-[WebTextRendererFactory isFontFixedPitch:]): (-[WebTextRendererFactory fontWithFamily:traits:size:]):
09:01 Changeset [8593] by kocienda
  • 4 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/3951178> REGRESSION (Mail): blank line lost after pasting as quotation

Problem was that the blank line after the selection was getting deleted incorrectly since the
paste code thought this was an unneeded placeholder rather than a placeholder outside of the
selection.

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Now calls findBlockPlaceholder. (khtml::CompositeEditCommand::findBlockPlaceholder): Moved finding code formerly in removeBlockPlaceholderIfNeeded to this new helper. (khtml::ReplaceSelectionCommand::doApply): Do not delete placeholder up front. Call findBlockPlaceholder, and delete it later if needed in the already-existing cleanup step.
  • khtml/editing/htmlediting.h: Add new function.

New layout test.

  • layout-tests/editing/pasteboard/paste-text-017-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-017.html: Added.

Result changed for the better.

  • layout-tests/editing/pasteboard/paste-text-011-expected.txt
Note: See TracTimeline for information about the timeline view.