Timeline



Sep 18, 2004:

6:12 PM Changeset in webkit [7596] by darin
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3805627> -[DOMRange _text] sometimes includes all text to the end of the document for certain ranges
  • khtml/misc/khtml_text_operations.cpp: (khtml::TextIterator::advance): Correctly handle the case when we are already on m_endNode. The concept here is that m_endNode is a node you must never "leave" when iterating.

Sep 17, 2004:

12:22 PM Changeset in webkit [7595] by vicki
  • 3 edits in trunk

change version number to 2.0, 165u for TOT

12:06 PM Changeset in webkit [7594]
  • 3 copies in tags/Safari-164

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

12:06 PM Changeset in webkit [7593] by vicki
  • 6 edits in trunk

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

11:10 AM Changeset in webkit [7592] by cblu
  • 2 edits in trunk/WebKit

Fixed:

<rdar://problem/3805757> don't unnecessarily put RTFD on the pasteboard
<rdar://problem/3805756> strip attachments before generating RTF

Reviewed by john.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): only put RTFD on the pasteboard if it has attachments, strip attachments when writing RTF
9:49 AM Changeset in webkit [7591] by kocienda
  • 2 edits in trunk

Reviewed by me

  • layout-tests/editing/selection/unrendered-004-expected.txt: Updated expected results.
9:44 AM Changeset in webkit [7590] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Darin

Fix for this bug:

<rdar://problem/3780245> REGRESSION (Mail): some lines are skipped when doing arrow navigation

  • khtml/xml/dom_position.cpp: (DOM::Position::previousLinePosition): One-line fix. Make sure that BRs at the end of blocks are not skipped.
9:42 AM Changeset in webkit [7589] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by Darin

Fix for this bug:

<rdar://problem/3805594> REGRESSION (Mail): Second return key stroke does not work when first was in blockquote

  • khtml/xml/dom_selection.cpp: (DOM::Selection::toRange): Code to convert caret positions moved the position upstream before making a range-compliant position, but erroneously would allow the position to cross blocks. Now it will no longer do so.

Sep 16, 2004:

5:58 PM Changeset in webkit [7588] by rjw
  • 9 edits in trunk/WebCore

Part 1 of the feature requested in
<rdar://problem/3752791> Dashboard: Need a better solution for control regions

This patch implements the CSS parsing necessary for dashboard regions.
Here's an example of the syntax we support:

<style>
#aDiv {

-apple-dashboard-region:

dashboard-region-circle(control 0 0 80 0)
dashboard-region-rectangle(control,20,0,20,0)
dashboard-region-circle(control 80 0 0 0);

}
</style>

Part 2 will determine the appropriate regions.

Reviewed by Chris.

  • khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
  • khtml/css/css_valueimpl.h: (DOM::CSSPrimitiveValueImpl::): (DOM::DashboardRegionImpl::DashboardRegionImpl): (DOM::DashboardRegionImpl::~DashboardRegionImpl): (DOM::DashboardRegionImpl::setNext): (DOM::DashboardRegionImpl::setLabel):
  • khtml/css/cssparser.cpp: (CSSParser::parseValue): (CSSParser::parseContent): (skipCommaInDashboardRegion): (CSSParser::parseDashboardRegions):
  • khtml/css/cssparser.h:
  • khtml/css/cssproperties.c: (hash_prop): (findProp):
  • khtml/css/cssproperties.h:
  • khtml/css/cssproperties.in:
  • khtml/dom/css_value.h: (DOM::CSSPrimitiveValue::):
4:45 PM Changeset in webkit [7587] by darin
  • 4 edits in trunk/WebCore
  • fixed caret-drawing regression from my last patch
  • khtml/xml/dom_selection.cpp: (DOM::Selection::xPosForVerticalArrowNavigation): Pass false, meaning "vertical line caret" rather than true meaning "big box for overtyping". (DOM::Selection::layoutCaret): Ditto.
4:09 PM Changeset in webkit [7586] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/3804648> 8A262: Safari crashed in -[WebView(WebPrivate) _editingDelegateForwarder] inside QuickTime Cocoa Plug-in during WebView deallocation
  • WebView.subproj/WebView.m: (-[WebView _editingDelegateForwarder]): Check _private for nil before dereferencing it.
3:24 PM Changeset in webkit [7585] by darin
  • 18 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3803280> crash in selectAll on page with no contents
  • khtml/khtml_part.cpp: (KHTMLPart::selectAll): Handle case of 0 for documentElement().
  • khtml/xml/dom_position.cpp: (DOM::Position::previousWordPosition): Ditto. (DOM::Position::nextWordPosition): Ditto.
  • cleaned up caret code
  • changed DOM::Selection to use CaretPosition more
  • khtml/rendering/render_box.cpp: (RenderBox::caretRect): Change to use empty rectangles instead of an X value of -1 to mean no rectangle.
  • khtml/rendering/render_image.cpp: (RenderImage::selectionRect): Take advantage of the fixed QRect constructor.
  • khtml/rendering/render_object.cpp: (RenderObject::caretRect): Change to use empty rectangle instead of an X value of -1 to mean no rectangle.
  • khtml/rendering/render_text.cpp: (RenderText::caretRect): Cleaned up, and changed to use an empty rectangle instead of an X value of -1 to mean no rectangle.
  • khtml/xml/dom_caretposition.h: Made conversion from Position to CaretPosition something you can do implicitly, since it's an unambiguous conversion. Conversion in the other direction needs to be done explicitly. Moved EIncludeLineBreak here, and added startParagraphBoundary and endParagraphBoundary functions.
  • khtml/xml/dom_caretposition.cpp: (DOM::startParagraphBoundary): Added. Replaces, and made from, member function of DOM::Position. (DOM::endParagraphBoundary): Ditto.
  • khtml/xml/dom_position.h: Removed EIncludeLineBreak and startParagraphBoundary and endParagraphBoundary.
  • khtml/xml/dom_position.cpp: Removed startParagraphBoundary and endParagraphBoundary.
  • khtml/xml/dom_selection.h: Use CaretPosition instead of Position in a few places. Use a QRect for the caret rect. Change nodeIsBeforeNode to be a static member function.
  • khtml/xml/dom_selection.cpp: (DOM::Selection::Selection): Change caret to store QRect instead of 3 separate fields. (DOM::Selection::init): Ditto. (DOM::Selection::operator=): Ditto. (DOM::Selection::modifyExtendingRightForward): Change to use CaretPosition instead of Position. Check for 0. (DOM::Selection::modifyMovingRightForward): Ditto. Check for 0. (DOM::Selection::modifyExtendingLeftBackward): Ditto. (DOM::Selection::modifyMovingLeftBackward): Ditto. (DOM::Selection::modify): Ditto. (DOM::Selection::layoutCaret): Change to use a QRect for the caret rect, and use an empty one to mean no rectangle. (DOM::Selection::getRepaintRect): Ditto. (DOM::Selection::paintCaret): Ditto. (DOM::Selection::validate): Change to use CaretPosition instead of Position. Also fixed PARAGRAPH_BOUNDARY, which was broken and doing the same thing as PARAGRAPH before, but it's not really used so that didn't matter. Check for 0. (DOM::Selection::nodeIsBeforeNode): Tightened up a bit and added some FIXMEs. This function has a number of problems and should probably be discarded in favor of the DOMStringImpl method that does the same thing.
2:16 PM Changeset in webkit [7584] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3787168> REGRESSION (Mail): Deleting text from the beginning of a quoted range removes the quoting from the rest

  • khtml/editing/htmlediting_impl.cpp: (khtml::DeleteSelectionCommandImpl::moveNodesAfterNode): Only move the text nodes (and their siblings) when doing this move between blocks. This serves to mimic NSText behavior very well.
11:38 AM Changeset in webkit [7583] by cblu
  • 3 edits in trunk/WebKit

Fixed: <rdar://problem/3779150> REGRESSION: images not copied when copying HTML in Safari and pasting into TextEdit

Reviewed by john.

  • WebView.subproj/WebHTMLView.m:
(-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): use …
for RTFD
  • WebView.subproj/WebHTMLViewPrivate.h:

Sep 15, 2004:

9:57 PM Changeset in webkit [7582] by darin
  • 2 edits in trunk/WebCore
  • fixed Panther build
  • kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityActionDescription:]): Fixed backwards check in #if that was compiling the code on Panther only rather than Tiger only.
5:57 PM Changeset in webkit [7581] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed lockFocus exception I observed; perhaps not a real issue in the field due to exception blocking
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::imageFromRect): Put most of the function inside a big if statement to avoid the exception we get from lockFocus otherwise.
5:57 PM Changeset in webkit [7580] by darin
  • 4 edits in trunk/WebCore

Reviewed by Dave.

  • fixed <rdar://problem/3786467> REGRESSION (Mail): Reproducible crash replying to an HTML message when your preference is for plain text composing.
  • khtml/rendering/render_block.h: Remove removeChildrenFromLineBoxes.
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::removeChild): Remove calls to removeChildrenFromLineBoxes which was the old way of working around this.
  • khtml/rendering/render_flow.cpp: (RenderFlow::detach): Add comments and code to handle removing children from line boxes we are about to delete.
5:52 PM Changeset in webkit [7579] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/3781561> REGRESSION (Mail): typing in Mail became suddenly really sluggish (substitute font code)

A DocumentMarker may begin before the InLineBox that includes
it. Ensure that we correctly handle that case. The paintMarker()
method and code that calls it could do with some cleanup to
make it clearer how all the cases are handled, i.e. marker
within box, or intersecting beginning or end of box.

Reviewed by Darin.

  • khtml/rendering/render_text.cpp: (InlineTextBox::paintMarker): Minimal change to ensure that we handle the case of marker starting before box.
5:51 PM Changeset in webkit [7578] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • get rid of some of the localizable strings in here; we still have to figure out how we're going to localize the last few role descriptions
  • kwq/KWQAccObject.mm: (-[KWQAccObject roleDescription]): Use NSAccessibilityRoleDescription for most descriptions instead of a hard-coded string (inside the UI_STRING placeholder). (-[KWQAccObject accessibilityActionDescription:]): Same thing, with NSAccessibilityActionDescription.
5:46 PM Changeset in webkit [7577] by darin
  • 4 edits in trunk/WebCore

Reviewed by John.

  • did some QRect-related changes to facilitate later bug fixing
  • kwq/KWQPainter.h: Added fillRect overload that takes QRect to match the real Qt one.
  • kwq/KWQPainter.mm: (QPainter::fillRect): Added overload that takes QRect.
  • kwq/KWQRect.mm: (QRect::QRect): Change default constructed QRect to have a width and height of 0 rather than 1. Contrary to what we believed earlier, this is what Qt does.
5:41 PM Changeset in webkit [7576] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3799512> REGRESSION (Mail): caret flashes 1 pixel too far to the left
  • khtml/rendering/render_text.cpp: (RenderText::caretRect): Added one to the horizontal position of the caret rect.
5:31 PM Changeset in webkit [7575] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed assertion I saw using the font panel
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _colorAsString:]): Convert color space before trying to get R, G, and B components.
4:55 PM Changeset in webkit [7574] by adele
  • 2 edits in branches/Safari-1-2-branch/WebKit

Code change by Darin, reviewed by me.

  • further follow-up fix for for <rdar://problem/3791526>
  • WebView.subproj/WebFrame.m: (+[WebFrame _recursiveCheckCompleteFromFrame:]): Don't call _isLoadCompleted on the child frame again, once is enough. The second time hits an assertion failure. This is already fixed on Tiger.
1:58 PM Changeset in webkit [7573] by kocienda
  • 2 edits
    12 adds in trunk

Reviewed by Hyatt

  • khtml/editing/htmlediting_impl.cpp: (khtml::DeleteSelectionCommandImpl::doApply): The whitespace fixup code that makes sure proper whitespace renders after deletion was getting confused in cases where the deletion merged blocks. Basically, I needed to move some whitespace fixup code so it runs before deleting in the case where blocks need to be merged. It used to run after, and was getting confused by whitespace left over at the ends of the block after the deletion.
  • layout-tests/editing/deleting/delete-block-merge-contents-012-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-012.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-013-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-013.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-014-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-014.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-015-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-015.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-016-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-016.html: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-017-expected.txt: Added.
  • layout-tests/editing/deleting/delete-block-merge-contents-017.html: Added.
11:26 AM Changeset in webkit [7572] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3802232> REGRESSION (Mail): WebCore Editing must do smart copy

Reviewed by kocienda.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]): call instance method not class method to get pasteboard types since the types depends on the current selection granularity (-[WebHTMLView pasteboardTypesForSelection]): if the selection granularity is "word" include the smart pasteboard type (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): put nil on the pasteboard for smart copy
11:02 AM Changeset in webkit [7571] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Hyatt

  • khtml/editing/htmlediting_impl.cpp: (khtml::DeleteSelectionCommandImpl::moveNodesAfterNode): Renamed from moveNodesToBlock. Just some simplification and cleanup in this function. (khtml::DeleteSelectionCommandImpl::doApply): Remove a hunk of start-of-block code I thought I was going to get around to improving and refining. However, I no longer need this case.
  • khtml/editing/htmlediting_impl.h: Function name change.
10:36 AM Changeset in webkit [7570] by darin
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Remove stray change marker.

Sep 14, 2004:

10:57 PM Changeset in webkit [7569] by darin
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

  • fixed <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose)
  • fixed <rdar://problem/3798946> REGRESSION (Mail): Cursor does not disappear when typing
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView keyDown:]): Hide cursor by calling setHiddenUntilMouseMoves:YES. (-[WebHTMLView transpose:]): Added.
10:55 PM Changeset in webkit [7568] by darin
  • 8 edits in trunk/WebCore

Reviewed by Maciej.

  • added method for fix to <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose)
  • kwq/WebCoreBridge.h: Added rangeOfCharactersAroundCaret.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge rangeOfCharactersAroundCaret]): Added.
  • khtml/xml/dom_caretposition.h: Added range function to make a Range from two CaretPosition objects.
  • khtml/xml/dom_caretposition.cpp: (DOM::CaretPosition::rangeCompliantEquivalent): Fixed a bug in this that caused it to screw up ranges in text nodes. Also changed it to use offset 0 as Ken and I discussed. (DOM::range): Added.
  • kwq/DOM.mm: (-[DOMRange description]): Added.
8:05 PM Changeset in webkit [7567] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3786986> REGRESSION: TEXTAREAs have extra wide right margins where the scrollbars used to be
  • kwq/KWQTextArea.mm: (-[KWQTextArea _updateTextViewWidth]): Renamed from _frameSizeChanged. Now uses the width of the size from the contentSize method rather than trying to compute a size. (-[KWQTextArea initWithFrame:]): Call method by new name. (-[KWQTextArea tile]): Override this instead of setFrame: to adjust the size as the size of the text area changes.
7:59 PM Changeset in webkit [7566] by rjw
  • 2 edits in trunk

Fixed typo in header comment.

7:48 PM Changeset in webkit [7565] by rjw
  • 25 edits in trunk

WebKit:

  1. Add class parameter to object allocation function. This is somewhat redundant, given that the allocation function is in the class function vector, but people wanted to use the same allocation function for different classes.
  1. Renamed NPN_Class to NPN_Invoke to match the name in the function vector.
  1. Add support for a default function on an object. This is a feature that ActiveX supports, and will allow JavaScript code to be written that will look exactly the same for both ActiveX plugins and Netscape or WebKit plugins. There are implementations included for the 'C' and 'Objective-C' bindings.

There bugs are covered by

<rdar://problem/3776343> Support for default functions in the JavaScript bindings
<rdar://problem/3779186> NPN_Call needs to be renamed to NPN_Invoke
<rdar://problem/3674754> Need to implement latest npruntime.h

Reviewed by John.

  • Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]):
  • Plugins.subproj/WebScriptObject.h:
  • Plugins.subproj/npfunctions.h:
  • Plugins.subproj/npruntime.h:

JavaScriptCore:

  1. Add class parameter to object allocation function. This is somewhat redundant, given that the allocation function is in the class function vector, but people wanted to use the same allocation function for different classes.
  1. Renamed NPN_Class to NPN_Invoke to match the name in the function vector.
  1. Add support for a default function on an object. This is a feature that ActiveX supports, and will allow JavaScript code to be written that will look exactly the same for both ActiveX plugins and Netscape or WebKit plugins. There are implementations included for the 'C' and 'Objective-C' bindings.

There bugs are covered by

<rdar://problem/3776343> Support for default functions in the JavaScript bindings
<rdar://problem/3779186> NPN_Call needs to be renamed to NPN_Invoke
<rdar://problem/3674754> Need to implement latest npruntime.h

Reviewed by John.

  • bindings/NP_jsobject.cpp: (jsAllocate): (NPN_InvokeDefault): (NPN_Invoke):
  • bindings/c/c_class.cpp:
  • bindings/c/c_instance.cpp: (CInstance::CInstance): (CInstance::operator=): (CInstance::invokeMethod): (CInstance::invokeDefaultMethod):
  • bindings/c/c_instance.h:
  • bindings/c/c_runtime.cpp:
  • bindings/c/c_runtime.h:
  • bindings/jni/jni_instance.cpp: (JavaInstance::invokeDefaultMethod):
  • bindings/jni/jni_instance.h:
  • bindings/npruntime.cpp: (NPN_CreateObject):
  • bindings/npruntime.h:
  • bindings/objc/WebScriptObject.h:
  • bindings/objc/objc_class.mm: (ObjcClass::fallbackObject):
  • bindings/objc/objc_instance.h:
  • bindings/objc/objc_instance.mm: (ObjcInstance::invokeDefaultMethod):
  • bindings/objc/objc_runtime.h:
  • bindings/objc/objc_runtime.mm: (ObjcFallbackObjectImp::ObjcFallbackObjectImp): (ObjcFallbackObjectImp::get): (ObjcFallbackObjectImp::put): (ObjcFallbackObjectImp::canPut): (ObjcFallbackObjectImp::implementsCall): (ObjcFallbackObjectImp::call): (ObjcFallbackObjectImp::hasProperty): (ObjcFallbackObjectImp::deleteProperty): (ObjcFallbackObjectImp::defaultValue):
  • bindings/runtime.h: (KJS::Bindings::Class::fallbackObject): (KJS::Bindings::Instance::getValueOfUndefinedField): (KJS::Bindings::Instance::setValueOfUndefinedField): (KJS::Bindings::Instance::valueOf):
  • bindings/runtime_object.cpp: (RuntimeObjectImp::implementsCall): (RuntimeObjectImp::call):
  • bindings/runtime_object.h:

WebKitExamples:

Reworked NetscapeMoviePlugIn to better test and illustrate
scripting APIs.

Reviewed by John.

  • CarbonWeb/MyWebUIAdapter.m: (-[MyWebUIAdapter webView:runJavaScriptAlertPanelWithMessage:]): (-[MyWebUIAdapter webView:runJavaScriptConfirmPanelWithMessage:]): (-[MyWebUIAdapter webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
  • CarbonWeb/TWebWindow.cp:
  • NetscapeMoviePlugIn/MovieObject.c: Added. (getMovieClass): (initializeIdentifiers): (movieHasProperty): (movieHasMethod): (movieGetProperty): (movieSetProperty): (movieInvoke): (movieInvokeDefault): (movieInvalidate): (movieAllocate): (movieDeallocate): (LoadMovieFromFile): (CreateMovieController): (UpdateMovieFrame): (PlayMovie): (PauseMovie): (IsMovieMuted): (SetMovieMuted): (DestroyMovie): (HandleMovieEvent):
  • NetscapeMoviePlugIn/MovieObject.h: Added.
  • NetscapeMoviePlugIn/NetscapeMoviePlugIn.xcode/project.pbxproj:
  • NetscapeMoviePlugIn/PluginObject.c: Added. (getPluginClass): (initializeIdentifiers): (pluginHasProperty): (pluginHasMethod): (pluginGetProperty): (pluginSetProperty): (pluginInvoke): (pluginInvokeDefault): (pluginInvalidate): (pluginAllocate): (pluginDeallocate):
  • NetscapeMoviePlugIn/PluginObject.h: Added.
  • NetscapeMoviePlugIn/main.c: (NP_Initialize): (NPP_New): (NPP_Destroy): (NPP_SetWindow): (NPP_StreamAsFile): (NPP_HandleEvent): (NPP_GetValue): (NPP_SetValue):
  • NetscapeMoviePlugIn/movie.h: Added.
  • NetscapeMoviePlugIn/movie.html:
  • makefile:
5:16 PM Changeset in webkit [7564] by mjs
  • 4 edits in trunk/JavaScriptCore

Reviewed by Darin.

<rdar://problem/3794735> Gmail- sending a very long message with Safari is so slow it seems like a hang

  • kjs/string_object.cpp: (StringProtoFuncImp::call): Replaced implementation of replace() method with function below... (replace): In order to avoid excessive allocation and copying, figure out the ranges of the original string and replacement strings to be assembled, instead of constantly creating new strings at each substitution. The old behavior is basically O(N2) for a global replace on a pattern that matches many places in the string. (regExpIsGlobal): Helper function for the above. (expandSourceRanges): ditto (pushSourceRange): ditto (expandReplacements): ditto (pushReplacement): ditto
  • kjs/ustring.cpp: (KJS::UString::spliceSubstringsWithSeparators): New method that pieces together substring ranges of this string together with specified separators, all at one go.
  • kjs/ustring.h: (KJS::UString::Range::Range): Added new helper class to represent substring choices.
4:59 PM Changeset in webkit [7563] by vicki
  • 6 edits in branches/Safari-1-2-branch/WebCore
  • roll the fix for 3710123 in

2004-09-13 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • fixed <rdar://problem/3710123> Loading iframe that replaces content in the parent document crashes Safari (Oracle Portal)

This is a more complete fix, but it requires the previous attempt at a fix for this same
bug below, because this is only the "don't destroy the KHTMLPart" portion; other fixes are
still needed to survive shutdown of the part.

  • khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::interpreter): Call the new keepAlive method. This is called whenever we're about to use an interpreter to run some JavaScript, and it's JavaScript that might destroy the part, hence the interpreter.
  • khtml/khtml_part.h: Added keepAlive() and slotEndLifeSupport() member functions.
  • khtml/khtmlpart_p.h: Added m_lifeSupportTimer.
  • khtml/khtml_part.cpp: (KHTMLPart::init): Connects m_lifeSupportTimer to slotEndLifeSupport. (KHTMLPart::write): Removed old attempt to work around this issue. (KHTMLPart::end): Ditto. (KHTMLPart::keepAlive): Added. References the part, then sets up a one-shot timer. (KHTMLPart::slotEndLifeSupport): Added. Stops the timer and then removes the reference from the part, possibly destroying it.
  • kwq/KWQSlot.mm: (KWQSlot::KWQSlot): Added the new slot to the list of slots. (KWQSlot::call): Ditto.
4:41 PM Changeset in webkit [7562] by vicki
  • 4 edits in branches/Safari-1-2-branch/WebCore
  • roll the fix for <rdar://problem/3791496> back in
4:41 PM Changeset in webkit [7561] by cblu
  • 3 edits in trunk/WebCore

Backed out my changes to these files. They were not meant to be checked. (I'm having a bad CVS day)

  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:]): (-[WebCoreBridge replaceSelectionWithNode:selectReplacement:]): (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:selectReplacement:]): (-[WebCoreBridge replaceSelectionWithText:selectReplacement:]):
4:41 PM Changeset in webkit [7560] by hyatt
  • 4 edits in trunk/WebCore

Fix the crash in the layout tests caused by my recent selection changes. Simply eliminate the buggy
selection border setting code and let isSelectionBorder be implemented in terms of the SelectionState.

Reviewed by kocienda

  • khtml/rendering/render_canvas.cpp: (RenderCanvas::setSelection):
  • khtml/rendering/render_object.cpp: (RenderObject::RenderObject): (RenderObject::container): (RenderObject::isSelectionBorder):
  • khtml/rendering/render_object.h: (khtml::RenderObject::minMaxKnown): (khtml::RenderObject::setReplaced):
4:35 PM Changeset in webkit [7559] by cblu
  • 4 edits in trunk/WebCore

Fixed: <rdar://problem/3778680> REGRESSION: plug-in content sometimes doesn't show up

Reviewed by dave.

  • khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::parseHTMLAttribute): set needWidgetUpdate to true only if there is a renderer (HTMLObjectElementImpl::attach): if needWidgetUpdate is true, call updateWidget
3:14 PM Changeset in webkit [7558] by mjs
  • 4 edits in trunk

JavaScriptCore:

Reviewed by Darin.

  • fixed <rdar://problem/3800315> encode-URI-test layout test is failing
  • kjs/function.cpp: (KJS::GlobalFuncImp::call): Make sure to escape null characters. This is a bug in the new code that made part of the test fail.

WebCore:

Reviewed by Darin.

  • fixed <rdar://problem/3800315> encode-URI-test layout test is failing
  • updated escape/encodeURI layout test to match our new, more compatible behavior.
  • layout-tests/fast/js/global/encode-URI-test.html:
3:03 PM Changeset in webkit [7557] by kocienda
  • 2 edits
    2 adds in trunk

Reviewed by Richard

Fix for this bug:

<rdar://problem/3800834> REGRESSION (Mail): Can't delete backwards past quoted text using HTML editing

  • khtml/editing/htmlediting_impl.cpp: (khtml::TypingCommandImpl::issueCommandForDeleteKey): Use CaretPosition class to get superior smarts about the selection to delete in the "start of block" case. This fixes the bug. While I was in the neighborhood, I cleaned up this function a bit.
  • layout-tests/editing/deleting/delete-3800834-fix-expected.txt: Added.
  • layout-tests/editing/deleting/delete-3800834-fix.html: Added.
1:48 PM Changeset in webkit [7556] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by me

  • khtml/css/parser.cpp: Did not regenerate this file from parser.y before last checkin.
1:34 PM Changeset in webkit [7555] by cblu
  • 4 edits in trunk/WebCore

Fixed typos in last check-in.

  • khtml/khtml_part.cpp: (KHTMLPart::selectClosestWordFromMouseEvent): (KHTMLPart::handleMousePressEventDoubleClick):
  • khtml/khtml_part.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::sendContextMenuEvent):
1:16 PM Changeset in webkit [7554] by hyatt
  • 13 edits in trunk/WebCore

Fix for 3667862, regression where dragging of selection became really slow. This patch completely rewrites
selection painting and drawing so that the enclosing rect is much more snug. The containing block rect is no
longer used at all.

Reviewed by NOBODY (OOPS!).

  • khtml/rendering/render_canvas.cpp: (RenderCanvas::selectionRect): (getSelectionInfo): (RenderCanvas::setSelection): (RenderCanvas::clearSelection):
  • khtml/rendering/render_canvas.h:
  • khtml/rendering/render_container.cpp: (RenderContainer::removeChildNode):
  • khtml/rendering/render_image.cpp: (RenderImage::selectionRect): (RenderImage::selectionTintColor): (RenderImage::paint):
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_object.cpp: (RenderObject::selectionStartEnd):
  • khtml/rendering/render_object.h: (khtml::RenderObject::selectionRect): (khtml::RenderObject::SelectionInfo::object): (khtml::RenderObject::SelectionInfo::rect): (khtml::RenderObject::SelectionInfo::state): (khtml::RenderObject::SelectionInfo::SelectionInfo): (khtml::RenderObject::SelectionInfo::m_state):
  • khtml/rendering/render_text.cpp: (InlineTextBox::textObject): (InlineTextBox::selectionRect): (InlineTextBox::paintSelection): (RenderText::getAbsoluteRepaintRect): (RenderText::selectionRect):
  • khtml/rendering/render_text.h:
  • kwq/KWQPainter.mm: (getBlendedColorComponent): (QPainter::selectedTextBackgroundColor):
1:16 PM Changeset in webkit [7553] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3794376> vertical formatting lines that show quote level are missing

Rolling out change Dave made to fix 3787686. It turns out that we do not want this
change, as it does not appear to have any effect on the bug. In addition, it caused
the regression in quote bar behavior.

  • khtml/css/parser.cp
  • khtml/css/parser.y
11:52 AM Changeset in webkit [7552] by cblu
  • 2 edits in trunk/WebCore

Fixed: Control-click shouldn't cause deselect when clicking selection.

Reviewed by rjw.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::sendContextMenuEvent): don't attempt to select the closest word when the selection is clicked
11:42 AM Changeset in webkit [7551] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • merge these changes for <rdar://problem/3800366>

2004-09-13 Richard Williamson <rjw@apple.com>

D'oh. How many times can I screw up a simple fix!

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]):

2004-09-13 Richard Williamson <rjw@apple.com>

Fixed snafu from 3782533 checkin.

Reviewed by John.

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]):

2004-09-10 Richard Williamson <rjw@apple.com>

Fixed <rdar://problem/3782533> CrashTracer: .1459 crashes at com.apple.WebKit: -[WebTextRenderer
initWithFont:usingPrinterFont:] + 0x138

We were explicitly failing when we encountered deprecated fonts.
(Those with unsupported glyph packings).
Deprecated fonts should only appear on a system that have
stuff migrated from OS 9. Ugh, thats probably why we've never seen
the problem here.

Reviewed by John.

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]):
11:29 AM Changeset in webkit [7550] by cblu
  • 2 edits in trunk/WebCore

Fixed badness that my last patch caused. Because there was a conflict, my last patch added stuff that darin had just removed.

Reviewed by darin.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::sendContextMenuEvent): don't call deref on the view
11:13 AM Changeset in webkit [7549] by cblu
  • 4 edits in trunk/WebCore

Fixed: <rdar://problem/3783595> REGRESSION (Mail): control-click does not select closest word

Reviewed by kocienda.

  • khtml/khtml_part.cpp: (KHTMLPart::selectionGranularity): new getter, need this for an upcoming patch (KHTMLPart::selectClosetWordFromMouseEvent): new, factored from handleMousePressEventDoubleClick (KHTMLPart::handleMousePressEventDoubleClick): call selectClosetWordFromMouseEvent
  • khtml/khtml_part.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::sendContextMenuEvent): call selectClosetWordFromMouseEvent if nothing swallows the event
9:54 AM Changeset in webkit [7548] by kocienda
  • 2 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/3800346> Inserting newline in BR after block not working

  • khtml/editing/htmlediting_impl.cpp: (khtml::InputNewlineCommandImpl::doApply): The code to insert the "extra" BR at the end of blocks (hack done to make BRs show up when they appear at the ends of blocks) did not cover this one quirky case where the insertion point can be placed in a BR at the end of a block that does actually render. Now the input newline code can handle this addtional case.
  • layout-tests/editing/selection/insert-3800346-fix-expected.txt: Added.
  • layout-tests/editing/selection/insert-3800346-fix.html: Added.
9:22 AM Changeset in webkit [7547] by darin
  • 3 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3479392> REGRESSION (Mail): select all does not select all at some pages
  • khtml/xml/dom_caretposition.cpp: (DOM::CaretPosition::deepEquivalent): Use caretMaxOffset instead of maxOffset when descending to the last node. Also change around the function a bit.
Note: See TracTimeline for information about the timeline view.