Timeline



Oct 7, 2004:

4:27 PM Changeset in webkit [7788] by adele
  • 12 edits in branches/Safari-1-2-branch

WebCore:

Reviewed by Darin.

Some of this was rolled from HEAD, and some is a new bug fix that we'll do on TOT separately.

  • fixed <rdar://problem/3827035> REGRESSION (Navy): Safari no longer works with Wachovia online banking after logging in
  • fixed <rdar://problem/3830201> REGRESSION (Navy): onload handler doesn't run on page with meta refresh (0 duration) (clone for SUPanNavy)

The fix for <rdar://problem/3773150> made it so we stopped tokenizing once an immediate redirect was pending.
For the Wachovia bug, there was a failing history.go call in the <head>; even though it did not cause any
navigation, it prevented the rest of the page from being loaded. Now we check to see if the requested history
navigation is possible, and if it's not then we continue processing the rest of the page as normal.

Another problem caused by the same fix is that <meta> redirects were preventing tokenizing in the same way.
This is incorrect; the reason the JavaScript-triggered loads prevent tokenizing is that they take place
"right away" in other browsers, but that is not true of <meta> redirect. We fixed this by using a separate
call for <meta> redirect and not preventing tokenizing when that's in effect.

  • khtml/khtml_part.h: Removed userGesture parameter from scheduleRedirection. Renamed isImmediateRedirectPending to isScheduledLocationChangePending. Added scheduleLocationChange.
  • khtml/khtml_part.cpp: (KHTMLPart::openURL): Updated for new constant name. (KHTMLPart::scheduleRedirection): Removed now-unneeded userGesture parameter, and removed code that does the special case for redirection during load; a <meta> refresh can never be one of those special redirects during a load because it redirects the frame itself, not another frame. Also tightened up the logic by always stopping the redirect timer even if we aren't restarting it. (KHTMLPart::scheduleLocationChange): Added. Like scheduleRedirection, but with a different constant so we can tell it apart and always a delay of 0. The "redirection during load" case was moved in here and renamed to locationChangeScheduledDuringLoad. (KHTMLPart::isScheduledLocationChangePending): Renamed from isImmediateRedirectPending. This now returns true only for location changes and history navigation, not <meta> redirects. (KHTMLPart::scheduleHistoryNavigation): Added a check of canGoBackOrForward across bridge so we don't set up a history navigation that will just fail later. This fixes the Wachovia bug. Also tightened up logic to do the stop() outside the if as above, and got rid of a silly timer delay computation that always resulted in 0.
  • khtml/khtmlpart_p.h: Added a new value to the RedirectionScheduled enum for scheduleLocationChange and also renamed one of the existing values.
  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::write): Changed to use isScheduledLocationChangePending instead of isImmediateRedirectPending, because we do want to continue tokenizing if it's actually a redirect.
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Changed to call the new scheduleLocationChange instead of calling scheduleRedirection with delay of 0.
  • khtml/ecma/kjs_window.cpp: (Window::put): Ditto. (WindowFunc::tryCall): Ditto. (Location::put): Ditto. (LocationFunc::tryCall): Ditto.
  • kwq/KWQKHTMLPart.h: Added canGoBackOrForward.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canGoBackOrForward): Added. Calls across bridge to do the real work.
  • kwq/WebCoreBridge.h: Added canGoBackOrForward.

WebKit:

Reviewed by Darin.

  • roll in canGoBackOrForward method from HEAD; needed for WebCore bug fix
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canGoBackOrForward:]): Added.
3:05 PM Changeset in webkit [7787] by rjw
  • 1 edit in trunk/JavaScriptCore/kjs/object.cpp

Fixed build error.

2:30 PM Changeset in webkit [7786] by rjw
  • 3 edits in trunk/JavaScriptCore

Added simple JavaScript call tracing. Very useful for
debugging complex pages.

Tracing is only available in development builds and is
enabled by:

(gdb) set traceJavaScript = 1

or programatically

setTraceJavaScript(true)

Function, args, and return values are printed to console. Very
verbose.

Reviewed by Ken.

  • kjs/function_object.cpp: (FunctionProtoFuncImp::call):
  • kjs/object.cpp: (KJS::Object::call):

Oct 6, 2004:

7:03 PM Changeset in webkit [7785] by hyatt
  • 6 edits in trunk/WebCore

Back out style sharing perf fix.

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::locateCousinList): (khtml::CSSStyleSelector::canShareStyleWithElement): (khtml::CSSStyleSelector::locateSharedStyle):
  • khtml/css/cssstyleselector.h:
  • khtml/html/html_elementimpl.h: (DOM::HTMLElementImpl::inlineStyleDecl):
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::recalcStyle):
  • khtml/xml/dom_elementimpl.h:
4:27 PM Changeset in webkit [7784] by hyatt
  • 1 edit in trunk/WebCore/khtml/css/cssstyleselector.cpp

Really bring the new code in line with the old style sharing code.

9:50 AM Changeset in webkit [7783]
  • 3 copies in tags/Safari-166

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

9:50 AM Changeset in webkit [7782] by vicki
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj

reversion JSC, for the -Wno-long-double changes

9:39 AM Changeset in webkit [7781] by vicki
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj

Add -Wno-long-double back to our warning flags. Without it, the x86 build fails.

Oct 5, 2004:

10:52 PM Changeset in webkit [7780] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (v167u)

10:13 PM Changeset in webkit [7779] by vicki
  • 6 edits in trunk

Safari-166 stamp for everything except WebBrowser. In these projects, CFBundleShortVersionString matches CFBundleVersion (166 for both).

6:43 PM Changeset in webkit [7778] by hyatt
  • 2 edits in trunk/WebCore

Fix a bug in the iteration of locateCousinList and clean up the style sharing stats code.

Reviewed by NOBODY (OOPS!).

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::locateCousinList): (khtml::CSSStyleSelector::elementsCanShareStyle): (khtml::CSSStyleSelector::locateSharedStyle): (khtml::CSSStyleSelector::styleForElement):
4:19 PM Changeset in webkit [7777] by rjw
  • 5 edits in trunk/JavaScriptCore

JavaScriptCore:

Fixed <rdar://problem/3819234> NPN_SetException (and throwException:) isn't implemented

Reviewed by Chris.

  • bindings/NP_jsobject.cpp: (_NPN_SetException):
  • bindings/npruntime.cpp: (_NPN_SetExceptionWithUTF8):
  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject throwException:]):
  • kjs/internal.h: (KJS::InterpreterImp::context):

WebBrowser:

Added debugging support for:

Fixed <rdar://problem/3819234> NPN_SetException (and throwException:) isn't implemented

Logging is not enabled in either development or deployment build.

Reviewed by Chris.

  • LocationChangeHandler.m: (+[Logger isSelectorExcludedFromWebScript:]): (-[Logger logMessage:]): (-[LocationChangeHandler webView:windowScriptObjectAvailable:]): (-[LocationChangeHandler webView:locationChangeDone:forDataSource:]):
4:06 PM Changeset in webkit [7776] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::computeHorizontalPositionsForLine): Fix coding mistake that broke layout tests involving compacts.
4:02 PM Changeset in webkit [7775] by hyatt
  • 5 edits in trunk/WebCore

Fix style sharing optimization to be fast again. Go back to using pointer comparisons when looking for
cousins to share.

Reviewed by darin

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::locateCousinList):
  • khtml/rendering/render_object.cpp: (RenderObject::setStyleInternal):
  • khtml/rendering/render_object.h:
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::recalcStyle):
3:45 PM Changeset in webkit [7774] by cblu
  • 3 edits in trunk/WebKit

Fixed: <rdar://problem/3827002> assertion failure in WebBaseNetscapePluginStream on abc.go.com

Reviewed by rjw.

  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): avoid assertion failure in dealloc by temporarily setting isTerminated to YES in case we are released in this method
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
3:19 PM Changeset in webkit [7773] by hyatt
  • 3 edits in trunk/WebCore

Fix lists so that they properly participate in line layout as though they are text (when text bullets are
used) and as images (when image bullets are used).

Reviewed by kocienda

  • khtml/rendering/render_list.cpp: (RenderListMarker::createInlineBox):
  • khtml/rendering/render_list.h: (khtml::ListMarkerBox:::InlineBox): (khtml::ListMarkerBox::isText):
3:14 PM Changeset in webkit [7772] by sullivan
  • 2 edits in trunk/WebKit
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): initialize "arguments" var to nil to satisfy compiler on deployment build.
2:38 PM Changeset in webkit [7771] by rjw
  • 2 edits in trunk/JavaScriptCore

Fixed <rdar://problem/3821515> binding layer needs to convert NSNumber-bools to js type boolean not number

Reviewed by Ken.

  • bindings/objc/objc_utility.mm: (KJS::Bindings::convertObjcValueToValue):
2:16 PM Changeset in webkit [7770] by rjw
  • 6 edits in trunk/WebKit

Fixed <rdar://problem/3825442> first click lost for Dashboard
Allow dashboard to force acceptsFirstMouse:

Reviewed by Chris.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstMouse:]):
  • WebView.subproj/WebView.m: (-[WebView _dashboardBehavior:]):
  • WebView.subproj/WebViewInternal.h:
  • WebView.subproj/WebViewPrivate.h:
  • WebCoreSupport.subproj/WebImageRenderer.h: Comment change only
2:08 PM Changeset in webkit [7769] by hyatt
  • 1 edit in trunk/WebCore/khtml/rendering/render_box.cpp

Back out the assertion.

1:42 PM Changeset in webkit [7768] by cblu
  • 7 edits in trunk/WebKit

Fixed: <rdar://problem/3760920> Need to record plugin view instances

Reviewed by rjw.

  • Plugins.subproj/WebPluginController.h:
  • Plugins.subproj/WebPluginController.m: (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): new, creates plug-in view and adds it to global list (+[WebPluginController isPlugInView:]): new, checks if the plug-in view is in the global list (-[WebPluginController destroyAllPlugins]): remove the plug-in from the global list
  • Plugins.subproj/WebPluginDocumentView.m: (-[WebPluginDocumentView setDataSource:]): call [WebPluginController plugInViewWithArguments:fromPluginPackage:]
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): ditto
  • WebView.subproj/WebFrame.m: (-[WebFrame _reloadForPluginChanges]): call [WebPluginController isPlugInView:]
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]): ditto
1:37 PM Changeset in webkit [7767] by kocienda
  • 5 edits in trunk/WebCore

Reviewed by Darin

Recent checkin adding upstreamDeepEquivalent had it backwards. The helper
we want is downstreamDeepEquivalent, as the deepEquivalent function returns
an upstream position.

  • khtml/editing/selection.cpp: (khtml::Selection::layout): DOWNSTREAM case now uses downstreamDeepEquivalent. UPSTREAM uses deepEquivalent.
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::downstreamDeepEquivalent): New helper, replacing upstreamDeepEquivalent.
  • khtml/editing/visible_position.h
1:25 PM Changeset in webkit [7766] by hyatt
  • 28 edits in trunk/WebCore

New selection gap-filling architecture. Makes the gap-filling much more like NSTextView and puts the responsibility
for gap-filling in the block. Fixes numerous bugs with selection drawing including bidi issues, incorrect old
horizontal gap filling, and selection performance issues.

Reviewed by kocienda

  • khtml/html/html_imageimpl.cpp: (HTMLImageLoader::notifyFinished):
  • khtml/misc/khtmllayout.h: (khtml::GapRects::left): (khtml::GapRects::center): (khtml::GapRects::right): (khtml::GapRects::uniteLeft): (khtml::GapRects::uniteCenter): (khtml::GapRects::uniteRight): (khtml::GapRects::unite): (khtml::GapRects::operator QRect): (khtml::GapRects::operator==): (khtml::GapRects::operator!=):
  • khtml/rendering/font.cpp: (Font::drawHighlightForText):
  • khtml/rendering/font.h:
  • khtml/rendering/render_block.cpp: (khtml:::RenderFlow): (khtml::RenderBlock::removeChild): (khtml::RenderBlock::paintObject): (khtml::RenderBlock::paintEllipsisBoxes): (khtml::RenderBlock::setSelectionState): (khtml::RenderBlock::shouldPaintSelectionGaps): (khtml::RenderBlock::isSelectionRoot): (khtml::RenderBlock::selectionGapRects): (khtml::RenderBlock::paintSelection): (khtml::RenderBlock::fillSelectionGaps): (khtml::RenderBlock::fillInlineSelectionGaps): (khtml::RenderBlock::fillBlockSelectionGaps): (khtml::RenderBlock::fillHorizontalSelectionGap): (khtml::RenderBlock::fillVerticalSelectionGap): (khtml::RenderBlock::fillLeftSelectionGap): (khtml::RenderBlock::fillRightSelectionGap): (khtml::RenderBlock::getHorizontalSelectionGapInfo): (khtml::RenderBlock::leftSelectionOffset): (khtml::RenderBlock::rightSelectionOffset):
  • khtml/rendering/render_block.h: (khtml::RenderBlock::hasSelectedChildren): (khtml::RenderBlock::selectionState): (khtml::RenderBlock::BlockSelectionInfo::BlockSelectionInfo): (khtml::RenderBlock::BlockSelectionInfo::rects): (khtml::RenderBlock::BlockSelectionInfo::state): (khtml::RenderBlock::BlockSelectionInfo::block): (khtml::RenderBlock::selectionRect):
  • khtml/rendering/render_box.cpp: (RenderBox::position):
  • khtml/rendering/render_br.cpp: (RenderBR::inlineBox):
  • khtml/rendering/render_br.h: (khtml::RenderBR::selectionRect): (khtml::RenderBR::paint):
  • khtml/rendering/render_canvas.cpp: (RenderCanvas::selectionRect): (RenderCanvas::setSelection):
  • khtml/rendering/render_canvasimage.cpp: (RenderCanvasImage::paint):
  • khtml/rendering/render_image.cpp: (RenderImage::paint):
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_line.cpp: (khtml::InlineBox::nextLeafChild): (khtml::InlineBox::prevLeafChild): (khtml::InlineBox::selectionState): (khtml::InlineFlowBox::addToLine): (khtml::InlineFlowBox::firstLeafChild): (khtml::InlineFlowBox::lastLeafChild): (khtml::InlineFlowBox::firstLeafChildAfterBox): (khtml::InlineFlowBox::lastLeafChildBeforeBox): (khtml::InlineFlowBox::selectionState): (khtml::RootInlineBox::fillLineSelectionGap): (khtml::RootInlineBox::setHasSelectedChildren): (khtml::RootInlineBox::selectionState): (khtml::RootInlineBox::firstSelectedBox): (khtml::RootInlineBox::lastSelectedBox): (khtml::RootInlineBox::selectionTop): (khtml::RootInlineBox::block):
  • khtml/rendering/render_line.h: (khtml::RootInlineBox::RootInlineBox): (khtml::RootInlineBox::hasSelectedChildren): (khtml::RootInlineBox::selectionHeight):
  • khtml/rendering/render_object.cpp: (RenderObject::selectionColor):
  • khtml/rendering/render_object.h: (khtml::RenderObject::): (khtml::RenderObject::selectionState): (khtml::RenderObject::setSelectionState): (khtml::RenderObject::selectionRect): (khtml::RenderObject::canBeSelectionLeaf): (khtml::RenderObject::hasSelectedChildren): (khtml::RenderObject::hasDirtySelectionState): (khtml::RenderObject::setHasDirtySelectionState): (khtml::RenderObject::shouldPaintSelectionGaps): (khtml::RenderObject::SelectionInfo::SelectionInfo):
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::RenderReplaced): (RenderReplaced::shouldPaint): (RenderReplaced::selectionRect): (RenderReplaced::setSelectionState): (RenderReplaced::selectionColor): (RenderWidget::paint): (RenderWidget::setSelectionState):
  • khtml/rendering/render_replaced.h: (khtml::RenderReplaced::canBeSelectionLeaf): (khtml::RenderReplaced::selectionState):
  • khtml/rendering/render_text.cpp: (InlineTextBox::checkVerticalPoint): (InlineTextBox::isSelected): (InlineTextBox::selectionState): (InlineTextBox::selectionRect): (InlineTextBox::paintSelection): (InlineTextBox::paintMarkedTextBackground): (RenderText::paint): (RenderText::setSelectionState): (RenderText::selectionRect):
  • khtml/rendering/render_text.h: (khtml::RenderText::canBeSelectionLeaf):
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::drawHighlightForText):
  • kwq/KWQPtrDict.h: (QPtrDictIterator::toFirst):
  • kwq/KWQRect.mm: (QRect::unite):
  • kwq/WebCoreTextRenderer.h:
  • kwq/WebCoreTextRendererFactory.mm: (WebCoreInitializeEmptyTextGeometry):
1:11 PM Changeset in webkit [7765] by hyatt
  • 2 edits in trunk/WebKit

Fix to make selection more like NSTextView. All gap painting is now done by WebCore, so WebKit no longer
needs to try to fill gaps around text.

Reviewed by kocienda

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
1:05 PM Changeset in webkit [7764] by kocienda
  • 9 edits in trunk/WebCore

Reviewed by Darin

Use the new CSS properties I added with my previous check-in. Also makes
some changes to caret positioning and drawing to make the proper editing
end-of-line behavior work correctly.

  • khtml/editing/selection.cpp: (khtml::Selection::layout): Caret drawing now takes affinity into account when deciding where to paint the caret (finally!).
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::previousVisiblePosition): Move off Position::rendersInDifferentPosition to determine the result. Use a simpler test involving comparisons between downstream positions while iterating. This is cheaper to do and easier to understand. (khtml::VisiblePosition::nextVisiblePosition): Ditto.
  • khtml/rendering/bidi.cpp: (khtml::BidiIterator::current): Do not return non-breaking spaces for empty text renderers and for non-text renderers. Return a null Qchar instead. Returning non-breaking spaces was causing errors when the new -khtml-nbsp-mode was set to "space". (khtml::RenderBlock::computeHorizontalPositionsForLine): Shrink line boxes that contain with more spaces than can fit on the end of a line. (khtml::RenderBlock::skipWhitespace): Factor this out from findNextLineBreak. (khtml::RenderBlock::findNextLineBreak): Use new skipWhitespace function. Add in code to check and use new CSS properties.
  • khtml/rendering/break_lines.cpp: (khtml::isBreakable): Consider a non-breaking space a breakable character based on setting of new -khtml-nbsp-mode property.
  • khtml/rendering/break_lines.h: Ditto.
  • khtml/rendering/render_block.h: Declare skipWhitespace function.
  • khtml/rendering/render_text.cpp: (RenderText::caretRect): Do not draw the caret beyond the right edge of the window when in white-space normal mode.
11:24 AM Changeset in webkit [7763] by kocienda
  • 15 edits in trunk/WebCore

Reviewed by Darin

Fix for these bugs:

In this patch, I add two new CSS properties and their associated behavior.
This is to support end-of-line and word-wrapping features that match the
conventions of text editors.

There are also some other small changes here which begin to lay the groundwork
for using these new properties to bring about the desired editing behavior.

  • khtml/css/cssparser.cpp: (CSSParser::parseValue): Add support for new CSS properties.
  • khtml/css/cssproperties.c: Generated file.
  • khtml/css/cssproperties.h: Ditto.
  • khtml/css/cssproperties.in: Add new properties.
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): Add support for new CSS properties.
  • khtml/css/cssvalues.c: Generated file.
  • khtml/css/cssvalues.h: Ditto.
  • khtml/css/cssvalues.in: Add support for new CSS properties.
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::upstreamDeepEquivalent): Added new helper.
  • khtml/editing/visible_position.h:
  • khtml/rendering/render_box.cpp: (RenderBox::deleteLineBoxWrapper): Zero out inlineBoxWrapper.
  • khtml/rendering/render_replaced.cpp: (RenderWidget::detach): Zero out inlineBoxWrapper.
  • khtml/rendering/render_style.cpp: (StyleCSS3InheritedData): (StyleCSS3InheritedData::operator==): Add support for new CSS properties. (RenderStyle::diff): Ditto.
  • khtml/rendering/render_style.h: (khtml::RenderStyle::nbspMode): Ditto. (khtml::RenderStyle::khtmlLineBreak): Ditto. (khtml::RenderStyle::setNBSPMode): Ditto. (khtml::RenderStyle::setKHTMLLineBreak): Ditto. (khtml::RenderStyle::initialNBSPMode): Ditto. (khtml::RenderStyle::initialKHTMLLineBreak): Ditto.
8:44 AM Changeset in webkit [7762] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/3577255> custom file icon shows up upside down in <input type=file>
  • WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Added a call to setFlipped that fixes the problem, even though I don't know why.
8:43 AM Changeset in webkit [7761] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3673150> Pasting string from clipboard that is longer than input box will accept fails rather than truncating
  • kwq/KWQTextField.mm: (-[KWQTextFieldFormatter isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:]): Wrote a new version of this method that truncates incoming strings rather than rejecting them out of hand.
12:03 AM Changeset in webkit [7760] by darin
  • 3 edits in trunk/WebKit

Reviewed by Maciej.

  • fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectionStartFontAttributesAsRTF]): Changed to call new bridge method named fontAttributesForSelectionStart, deleted the method this used to use, and renamed this to have the word "start" in it. (-[WebHTMLView copyFont:]): Updated for name change.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
12:01 AM Changeset in webkit [7759] by darin
  • 9 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3826343> crash in KHTMLParser::setCurrent parsing document fragment (happens in Calendar widget)
  • khtml/html/htmlparser.cpp: (KHTMLParser::KHTMLParser): Initialized currentIsReferenced to false (fixes bug). (KHTMLParser::reset): Use doc() to make code easier to read. (KHTMLParser::setCurrent): Ditto. (KHTMLParser::parseToken): Ditto. (KHTMLParser::insertNode): Ditto. (KHTMLParser::getElement): Ditto. (KHTMLParser::popOneBlock): Ditto.
  • fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
  • kwq/KWQKHTMLPart.h: Added fontAttributesForSelectionStart.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::styleForSelectionStart): Factored out most of fontForSelection. (KWQKHTMLPart::fontAttributesForSelectionStart): Added. (KWQKHTMLPart::fontAttributesForSelectionStart): Added. (KWQKHTMLPart::registerCommandForUndo): Updated for name change (see below). (KWQKHTMLPart::registerCommandForRedo): Ditto.
  • kwq/WebCoreBridge.h: Added fontAttributesForSelectionStart.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge undoEditing:]): Updated for name change (see below). (-[WebCoreBridge redoEditing:]): Ditto. (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]): Got rid of named temporary EditCommandPtr variable to make things slightly more terse. (-[WebCoreBridge moveSelectionToDragCaret:smartMove:]): Ditto. (-[WebCoreBridge deleteSelectionWithSmartDelete:]): Ditto. (-[WebCoreBridge fontAttributesForSelectionStart]): Added.
  • fix compile on Panther and other cleanup
  • khtml/khtml_part.cpp: Removed unneeded include.
  • kwq/KWQEditCommand.h: Got rid of use of "impl" when referring to EditCommand pointers.
  • kwq/KWQEditCommand.mm: Added include so we compile on Panther. (-[KWQEditCommand initWithEditCommand:]): Changed name. (-[KWQEditCommand dealloc]): Updated for m_impl change to m_command. (-[KWQEditCommand finalize]): Ditto. (+[KWQEditCommand commandWithEditCommand:]): Changed name. (-[KWQEditCommand command]): Changed name.

Oct 4, 2004:

4:20 PM Changeset in webkit [7758] by cblu
  • 2 edits in trunk/WebKit
  • WebView.subproj/WebFrameInternal.h: removed constant declarations that I committed by mistake
3:54 PM Changeset in webkit [7757] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • did a more-robust version of the fix I just landed
  • khtml/html/htmlparser.h: Added currentIsReferenced boolean.
  • khtml/html/htmlparser.cpp: (KHTMLParser::KHTMLParser): Initializes currentIsReferenced. (KHTMLParser::setCurrent): Changed to respect and set currentIsReferenced.
3:45 PM Changeset in webkit [7756] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3824393> REGRESSION (165-TOT): Crash in KHTMLParser::popOneBlock closing window (bose.com)
  • khtml/html/htmlparser.cpp: (KHTMLParser::~KHTMLParser): Move call to setCurrent(0) after the call to freeBlock, since freeBlock doesn't work well when current is 0, and there's no reason we need to reset the current block first. (KHTMLParser::setCurrent): Don't ever hold a reference to the document. This prevents a situation where there would be a reference cycle. In the test case from the bug above, this cycle actually happened and resulted in a double-delete of the document, tokenizer, and parser.
3:14 PM Changeset in webkit [7755] by cblu
  • 13 edits in trunk/WebKit

Fixed: <rdar://problem/3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy
Fixed a number of FIXME's related to notifying plug-ins of loaded pages.

Reviewed by rjw.

  • Plugins.subproj/WebBaseNetscapePluginStream.h:
    • replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins
    • added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not.
    • added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled.
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError: (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new (-[WebBaseNetscapePluginStream dealloc]): release new ivars (-[WebBaseNetscapePluginStream finalize]): added assert (-[WebBaseNetscapePluginStream setRequestURL:]): new (-[WebBaseNetscapePluginStream setResponseURL:]): new (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before (-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method (-[WebBaseNetscapePluginStream destroyStream]):
    • do nothing if terminated
    • call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL
    • call NPP_URLNotify if sendNotification is YES regardless of value of notifyData

(-[WebBaseNetscapePluginStream receivedError:]): call reasonForError
(-[WebBaseNetscapePluginStream deliverData]): use renamed ivar

  • Plugins.subproj/WebBaseNetscapePluginView.h:
    • added observingFrameLoadNotification boolean
    • renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView addFrameLoadObserver]): new (-[WebBaseNetscapePluginView removeFrameLoadObserver]): new (-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver (-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar (-[WebBaseNetscapePluginView dealloc]): ditto (-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
    • call NPP_URLNotify depending of value of sendNotification
    • call new init method on WebBaseNetscapePluginStream rather then setting variables individually

(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame
(-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it
(-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification
(-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification
(-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it
(-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification
(-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification
(-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter
(-[WebPluginRequest sendNotification]): new

  • Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
  • Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does
  • Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream
  • Plugins.subproj/WebNetscapePluginStream.h:
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it (-[WebNetscapePluginStream dealloc]): use renamed ivar (-[WebNetscapePluginStream start]): ditto
  • WebView.subproj/WebFrame.m: (-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send. (-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished (-[WebFrame _loadItem:withLoadType:]): ditto (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto (-[WebFrame _setInternalLoadDelegate:]): new (-[WebFrame _internalLoadDelegate]): new
  • WebView.subproj/WebFrameInternal.h:
  • WebView.subproj/WebFramePrivate.h:
2:32 PM Changeset in webkit [7754] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3825429> onclick handler called when mouse down on another element (affects Dashboard Movies widget, test case enclosed)
  • khtml/khtmlview.cpp: (KHTMLViewPrivate::KHTMLViewPrivate): Initialize the click node to 0. (KHTMLViewPrivate::~KHTMLViewPrivate): Deref the click node. (KHTMLViewPrivate::reset): Clear the click node. (KHTMLView::viewportMousePressEvent): Call invalidateClick when we pass the event to a subframe to reduce the chance that we'll hold on to an old click node for a long time. Set the click node to the node we we are clicking on. (KHTMLView::viewportMouseDoubleClickEvent): Only send a click even if the node is the same one from the original click. Call invalidateClick when done to reduce the chance that we'll hold on to an old click node for a long time. (KHTMLView::invalidateClick): Clear the click node. (KHTMLView::viewportMouseReleaseEvent): Only send a click even if the node is the same one from the original click. Call invalidateClick when done to reduce the chance that we'll hold on to an old click node for a long time. (KHTMLView::keyPressEvent): Remove code that sets the originalNode field, which is never used.
11:52 AM Changeset in webkit [7753] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3825289> REGRESSION (Mail): Crash in fontForSelection in empty window

  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::previousPosition): Switch to node iteration instead "leaf" iteration. I have been wanting to make this change for a long time, but couldn't since other code relied on the leaf behavior. That is no longer true. Plus, the bug fix requires the new behavior. (khtml::VisiblePosition::nextPosition): Ditto. (khtml::VisiblePosition::isCandidate): Empty blocks needed a height to be a candidate, but we make a special case for the body element. This fixes the bug.
11:30 AM Changeset in webkit [7752]
  • 25 copies
    3 deletes in tags/WebKit-125~5~3

This commit was manufactured by cvs2svn to create tag
'WebKit-125~5~3'.

11:30 AM Changeset in webkit [7751] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • versioning for SUPanNavy, WebKit-125.5.3
11:01 AM Changeset in webkit [7750] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content

After bumping up our plug-in version, Flash now sends 2 CRLF's between the headers and body of their POST request. Our code was not prepared for this.

Reviewed by darin.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's
10:43 AM Changeset in webkit [7749] by darin
  • 3 edits in trunk/WebKit

Reviewed by Ken.

  • fixed a potential storage leak when we turn on CGImageRef image rendering
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): Fix potential storage leak by adding [super dealloc], but leak was not real yet because the code is commented out.
  • make paste style work with color as part of fix to <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectionFontAttributes]): Change structure so it's easy to add more attributes. For now I haven't added any yet. (-[WebHTMLView _colorAsString:]): Moved this earlier in the file. (-[WebHTMLView _shadowAsString:]): Ditto. (-[WebHTMLView _styleFromFontAttributes:]): Add background color, foreground color, and text shadow.
10:40 AM Changeset in webkit [7748] by darin
  • 5 edits
    1 delete in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3800667> REGRESSION (Mail): double-clicking multiple spaces only selects two spaces
  • kwq/KWQTextUtilities.mm: (KWQFindWordBoundary): Moved here from the .cpp file. Changed to use the doubleClickAtIndex: method from NSAttributedString rather than using Unicode Utilities.
  • kwq/KWQTextUtilities.cpp: Removed.
  • WebCore.pbproj/project.pbxproj: Removed KWQTextUtilities.cpp.
  • fixed a problem that would show up using HTML editing under garbage collection
  • kwq/KWQEditCommand.mm: (-[KWQEditCommand finalize]): Fixed a [super dealloc] that should have been a [super finalize].
  • another small change
  • khtml/editing/visible_units.cpp: (khtml::nextWordBoundary): Tweaked a comment.
10:34 AM Changeset in webkit [7747] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Ken.

  • rolled in a fix the KDE folks did for the operations that generate HTML fragments
  • kjs/string_object.cpp: (StringProtoFuncImp::call): Added quote marks to generated HTML.
  • rolled out an old workaround we don't need any more
  • JavaScriptCore.pbproj/project.pbxproj: Remove -Wno-long-double because the <math.h> issue that required it is no longer there.
Note: See TracTimeline for information about the timeline view.