Timeline


and

02/21/05:

17:32 Changeset [8658] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4008338> REGRESSION (125-178): opacity style not working, breaks fading images on okcupid.com

There was a long standing bug in cssText(). Double value were always cast int! So,
opacity values values were incorrectly converted to text, i.e. 0.75 became 0.

The problem was newly triggered because we parse the css for opacity *TWICE*. This is a result of
incorrectly "invalidating" the style attribute (from fix for 3790449). The second parse was from
the cssText() of the style.

Reviewed by Hyatt.

  • khtml/css/css_valueimpl.cpp: (DOM::CSSPrimitiveValueImpl::cssText):
16:19 Changeset [8657] by hyatt
  • 2 edits in trunk/WebCore

Fix for 4017204, apply the same fix to the base class nodeAtPoint that was already applied to RenderBlock.
Skip elements with layers and inline flows. Demoted <form>s can end up causing trouble otherwise.

Reviewed by Richard Williamson

  • khtml/rendering/render_box.cpp: (RenderBox::nodeAtPoint):
15:36 Changeset [8656] by hyatt
  • 9 edits in trunk/WebCore

Fix for 4017033, CSS is being parsed twice. Make sure to always validate the style attribute when it is
initially parsed. Add code to clean up decls when the style attribute is completely removed. Add a new
synchronizing boolean that avoids reparsing the style declaration when the attribute is simply
being synced up to the declaration.

Reviewed by John

  • khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::setChanged):
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::invalidateStyleAttribute): (HTMLElementImpl::updateStyleAttributeIfNeeded): (HTMLElementImpl::HTMLElementImpl): (HTMLElementImpl::~HTMLElementImpl): (HTMLElementImpl::destroyInlineStyleDecl): (HTMLElementImpl::mapToEntry): (HTMLElementImpl::parseHTMLAttribute):
  • khtml/html/html_elementimpl.h:
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::ElementImpl): (ElementImpl::setAttribute):
  • khtml/xml/dom_elementimpl.h: (DOM::ElementImpl::updateStyleAttributeIfNeeded):
15:24 Changeset [8655] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (188+)

15:17 Changeset [8654]
  • 1 copy in tags/Safari-188

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

15:17 Changeset [8653] by vicki
  • 6 edits in trunk

Safari-188 stamp

14:02 Changeset [8652] by kocienda
  • 9 edits in trunk

Tree was closed. Rolling out.

14:01 Changeset [8651] by kocienda
  • 9 edits in trunk

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::isEmptyFontTag): Helper for removing <font> tags. (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::isHTMLStyleNode): (khtml::ApplyStyleCommand::removeHTMLFontStyle): (khtml::ApplyStyleCommand::applyTextDecorationStyle): Now call styleModeForParseMode to determine whether to use legacy html styles or not. (khtml::ApplyStyleCommand::removeInlineStyle): Now properly removes <font> styles. (khtml::ApplyStyleCommand::addBlockStyleIfNeeded): Ditto. (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto. (khtml::createFontElement): Helper for applying <font> elements.
  • 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)

Test results updated now that we will write out <font> tags for quirks mode documents.

  • layout-tests/editing/execCommand/modifyForeColorByCharacter-expected.txt
  • layout-tests/editing/style/block-style-004-expected.txt
  • layout-tests/editing/style/block-style-005-expected.txt
  • layout-tests/editing/style/block-style-006-expected.txt
  • layout-tests/editing/style/smoosh-styles-001-expected.txt
  • layout-tests/editing/style/smoosh-styles-002-expected.txt
13:55 Changeset [8650] by darin
  • 2 edits in trunk/WebCore
  • fixed Panther deployment build
  • kwq/KWQTextEdit.mm: (QTextEdit::setScrollBarModes): Put more stuff inside #if.
11:56 Changeset [8649] by harrison
  • 2 edits in trunk/WebKit

Reviewed by Darin.

<rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer misspellingLineThickness]): (-[WebTextRenderer misspellingLinePatternWidth]): Replaced #defines with these methods, so others can get the same info.

(-[WebTextRenderer drawLineForMisspelling:withWidth:]):
Keep underline within originally specified bounds.

11:56 Changeset [8648] by harrison
  • 5 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps

  • khtml/rendering/render_text.cpp: (InlineTextBox::paintMarker): Make sure underline is placed within the text bounds.
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::misspellingLineThickness):
  • kwq/WebCoreTextRenderer.h: Add misspellingLineThickness for use by InlineTextBox::paintMarker.
11:50 Changeset [8647] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/4012978> -[DOMRange markupString] crashes when range contains only a text node with a single space
  • khtml/editing/markup.cpp: (khtml::createMarkup): Added updateLayout calls, and added a missing nil check.
09:50 Changeset [8646] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/4005435> Safari hung while pasting text into a <textarea> (Panther-only)
  • kwq/KWQTextEdit.mm: (QTextEdit::setScrollBarModes): Don't setAutohidesScrollers:YES on Panther.
09:45 Changeset [8645] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts
  • Misc.subproj/WebNSURLExtras.m: (containsPossibleLatinLookalikes): Added. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true, don't decode the host name.
09:33 Changeset [8644] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/4015499> REGRESSION (186-187): pasted quoted text starting with a blank line increases quote level of pasted text when pasted

  • khtml/editing/markup.cpp: (khtml::markup): Changed over to ASSERT instead of assert. (khtml::createMarkup): The issue was that the code to add parents all the way back to the common ancestor block did not check for blocks whose markup had already been added, and could result in adding markup for nodes twice (hence the additional and erroneous quote level). Now there is a new check that will only add markup for those nodes before the start of the selection range. This fixes the bug. (khtml::createFragmentFromMarkup): Changed over to ASSERT instead of assert. (khtml::createFragmentFromText): Ditto.
09:32 Changeset [8643] by darin
  • 2 edits in trunk/JavaScriptCore
  • kjs/date_object.cpp: (timetUsingCF): Fixed indenting.

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.
Note: See TracTimeline for information about the timeline view.