Timeline



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.

Sep 13, 2004:

11:03 PM Changeset in webkit [7546] by darin
  • 7 edits in trunk/WebCore

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.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::sendResizeEvent): Removed an old attempt to work around this same issue. (KWQKHTMLPart::mouseDown): Ditto. (KWQKHTMLPart::mouseDragged): Ditto. (KWQKHTMLPart::mouseUp): Ditto. (KWQKHTMLPart::mouseMoved): Ditto. (KWQKHTMLPart::sendContextMenuEvent): Ditto.
9:48 PM Changeset in webkit [7545] by darin
  • 4 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed regression caused by change earlier today
  • khtml/xml/dom_selection.cpp: (DOM::Selection::modifyExtendingRightForward): Use CaretPosition for CHARACTER, not WORD.
6:02 PM Changeset in webkit [7544]
  • 9 copies
    4 deletes in tags/JavaScriptCore-125~6

This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-125~6'.

6:02 PM Changeset in webkit [7543] by vicki
  • 2 edits in branches/Safari-1-2-branch/JavaScriptCore
  • fix a typo in my last change, whoops!
  • kjs/property_map.cpp: (KJS::PropertyMap::put):
5:56 PM Changeset in webkit [7542] by vicki
  • 2 edits in branches/Safari-1-2-branch/JavaScriptCore
  • initialize deletedElementIndex to 0 to make the compiler happy
  • kjs/property_map.cpp: (KJS::PropertyMap::put):
5:37 PM Changeset in webkit [7541]
  • 23 copies
    3 deletes in tags/WebKit-125~5~1

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

5:37 PM Changeset in webkit [7540] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit

versioning for SUPanNavy, WebKit-125.5.1

5:32 PM Changeset in webkit [7539]
  • 68 copies
    2 deletes in tags/WebCore-125~8~8

This commit was manufactured by cvs2svn to create tag
'WebCore-125~8~8'.

5:32 PM Changeset in webkit [7538] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • versioning for SUPanNavy, WebCore-125.8.8
5:27 PM Changeset in webkit [7537] by vicki
  • 2 edits in branches/Safari-1-2-branch/JavaScriptCore

versioning for SUPanNavy, JavaScriptCore-125.6

5:03 PM Changeset in webkit [7536] by vicki
  • 4 edits in branches/Safari-1-2-branch/WebCore
  • roll the fix for <rdar://problem/3791496> off the branch, since we won't be including this in SUPanNavy

2004-08-10 Darin Adler <Darin Adler>

Reviewed by Trey.

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

I fixed three problems:

1) script interpreter destroyed while it was interpreting scripts, caused random havoc
2) code trying to get to view after view was detached from part, caused nil-deref
3) signals sent to parent after child was no longer in the parent's frames list, caused nil-deref

Now the test page works fine. Hope the real sites do too.

  • khtml/khtml_part.h: Add connectChild and disconnectChild helper functions (private).
  • khtml/khtml_part.cpp: (KHTMLPart::clear): Call disconnectChild on each frame as we detach it (see below). (KHTMLPart::end): Ref the part at the start, and deref the part at the end, of this function. Otherwise, we can end up destroying the part, and hence the interpreter, inside a script that the interpreter itself is running. (KHTMLPart::slotFinishedParsing): Add another check for a nil m_view, after the call to checkCompleted. (KHTMLPart::checkCompleted): Remove bogus if statement with empty body. (KHTMLPart::processObjectRequest): Call disconnectChild to disconnect the child <-> parent signals of the old child that the new one is replacing, and connectChild to connect the signals (nicer factoring). (KHTMLPart::slotChildCompleted): Fixed up a confusing boolean if/expression to be simpler. Not related to the bug fix, but an earlier version of the fix had changes in this function. (KHTMLPart::connectChild): Added. Connects the appropriate signals for a child frame. (KHTMLPart::disconnectChild): Added. Disconnects the same signals that connectChild connects.
  • kwq/KWQKHTMLPart.mm: (KHTMLPart::frameDetached): Added a call to disconnectChild before removing the child from the frames list.
3:45 PM Changeset in webkit [7535] by darin
  • 2 edits in trunk/WebCore

Reviewed by Kevin.

  • fixed <rdar://problem/3798453> DIG failure: getting variable with same name as DOM element attribute gets attribute value instead
  • khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): When adding current target and other event handler scope, put it below the existing scope chain. This ensures that things found in the function's scope will come before the event handler, as in other browsers.
3:44 PM Changeset in webkit [7534] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Kevin and Maciej.

  • new function to support fix for DIG bug in WebCore
  • kjs/scope_chain.h: Added new push function that pushes another entire scope chain.
  • kjs/scope_chain.cpp: (KJS::ScopeChain::push): Ditto.
2:36 PM Changeset in webkit [7533] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Darin

Fix for this bug:

<rdar://problem/3798346> REGRESSION (125-162): crash pushing down arrow key on KLM.com site

  • khtml/xml/dom_position.cpp: (DOM::Position::nextLinePosition): This function was being called in a case where it was not expected until we traced the code. It has to do with some deeper issues associated with handling arrow keys, resulting in the editing arrow-down code running in a case where we are not editing. I discussed this with Darin, and we decided to handle the broader issues at a later date. The fix I am checking in here to fix the bug is merely avoiding a null-deref.
1:38 PM Changeset in webkit [7532] by rjw
  • 2 edits in trunk/WebKit

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

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]):
1:17 PM Changeset in webkit [7531] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3784840> REGRESSION (Mail): Text is inserted in the wrong place after changing typing style

  • khtml/editing/htmlediting_impl.cpp: (khtml::InputTextCommandImpl::prepareForTextInsertion): Code to handle typing style did not check to see if the reference node used for the DOM node insertion operation was a block. If it is, then the new node containing the new editing style now is inserted at the start of the block, instead of after it.
12:32 PM Changeset in webkit [7530] by rjw
  • 2 edits in trunk/WebKit

Fixed snafu from 3782533 checkin.

Reviewed by John.

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]):
11:39 AM Changeset in webkit [7529] by kocienda
  • 2 edits
    4 adds in trunk

Reviewed by me

Added a couple new layout tests to cover recent changes.

  • layout-tests/editing/editing.js: Added some new functions to do by-word selection movement.
  • layout-tests/editing/selection/move-backwords-by-word-001-expected.txt: Added.
  • layout-tests/editing/selection/move-backwords-by-word-001.html: Added.
  • layout-tests/editing/selection/selection-3748164-fix-expected.txt: Added.
  • layout-tests/editing/selection/selection-3748164-fix.html: Added.
11:25 AM Changeset in webkit [7528] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3765519> REGRESSION (Mail): word movement goes too far upstream at start of line

  • khtml/xml/dom_position.cpp: (DOM::Position::previousWordPosition): Use downstream position here when making final placement of caret.
11:09 AM Changeset in webkit [7527] by vicki
  • 3 edits in branches/Safari-1-2-branch/WebCore
  • fix merge errors from <rdar://problem/3773150>
  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::write):
  • khtml/khtml_part.cpp: (KHTMLPart::isImmediateRedirectPending):
11:06 AM Changeset in webkit [7526] by kocienda
  • 13 edits
    5 adds in trunk/WebCore

Reviewed by Darin

Various editing improvements, many focused on the improvements made possible by the
new CaretPosition class.

Includes fixes for these bugs:

<rdar://problem/3748164> REGRESSION (Mail): Arrow navigation in typical mail message can result in stuck caret
<rdar://problem/3782062> REGRESSION (Mail): option-delete can delete almost all of a message when it has trouble finding a word
<rdar://problem/3790456> triple click does not select entire paragraph (folklore.org)

  • WebCore.pbproj/project.pbxproj: Added CaretPosition class files.
  • khtml/dom/dom2_range.h: (DOM::offsetInCharacters): Moved this helper here from khtml_text_operations.cpp. This function helps to determine how to interpret the offsets used in DOM Ranges.
  • khtml/editing/htmlediting_impl.cpp: (khtml::InputNewlineCommandImpl::doApply): Use CaretPosition class to make "end-of-block" determination. Also, fix a caret placement glitch in "case 1" in the code: Place the caret in the node after the inserted BR. This makes it show up in the right place.
  • khtml/khtml_part.cpp: (KHTMLPart::handleMousePressEventDoubleClick): Don't limit double-click and triple-click handling only to text nodes. (KHTMLPart::handleMousePressEventTripleClick): Ditto. (KHTMLPart::selectAll): Use CaretPosition class to implement improved selectAll.
  • khtml/misc/khtml_text_operations.cpp: (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Make a fix to the initial state setting of m_handledChildren. This is true if the offset into the end node is 0, meaning that we do not want to descend into its children at all.
  • khtml/xml/dom_caretposition.cpp: Added.
  • khtml/xml/dom_caretposition.h: Added.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::traverseNextNode): Fix bugs with the stayWithin implementation. We could miss nodes we want to test due to an erroneous check of stayWithin when no such check is needed. (NodeImpl::traverseNextSibling): Ditto. (NodeImpl::traversePreviousNodePostOrder): Ditto.
  • khtml/xml/dom_position.cpp: (DOM::Position::Position): Remove spurious semi-colon. (DOM::Position::upstream): Move incoming Position to its equivalentDeepPosition. This is part of the transition that will make this code work better with increased use of CaretPosition. (DOM::Position::downstream): Ditto. (DOM::Position::atStartOfContainingEditableBlock): Removed. Dead code; was not being called. (DOM::Position::atStartOfRootEditableElement): Removed. Dead code; was not being called. (DOM::Position::isLastRenderedPositionInEditableBlock): Removed. Replaced with calls to CaretPosition class. (DOM::Position::inLastEditableInRootEditableElement): Removed. Dead code; was not being called. (DOM::Position::inFirstEditableInRootEditableElement): Removed. Was only being called by other code that has been removed.
  • khtml/xml/dom_position.h:
  • khtml/xml/dom_selection.cpp: (DOM::Selection::modifyExtendingRightForward): Moved implementation of CHARACTER case to use CaretPosition class instead of Position class helpers. (DOM::Selection::modifyMovingRightForward): Ditto. (DOM::Selection::modifyExtendingLeftBackward): Ditto. (DOM::Selection::modifyMovingLeftBackward): Ditto. (DOM::Selection::validate): Made simplifications in code that used to call a concoction of Position class helpers to do the right thing. Now calls CaretPosition equivalents.
10:56 AM Changeset in webkit [7525] by cblu
  • 3 edits in trunk/WebKit

Support for: <rdar://problem/3794790> drop rate or time remaining from download status when window is too small to fit it

Reviewed by john.

  • Misc.subproj/WebStringTruncator.h:
  • Misc.subproj/WebStringTruncator.m: (+[WebStringTruncator widthOfString:font:]): new
10:19 AM Changeset in webkit [7524] by kocienda
  • 3 edits in trunk

Reviewed by me

This test was broken. The result is that it was not testing what it was supposed to
be testing. I fixed the test and updated the expected results.

  • layout-tests/editing/selection/move-between-blocks-no-001-expected.txt
  • layout-tests/editing/selection/move-between-blocks-no-001.html
9:43 AM Changeset in webkit [7523] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for these bugs:

<rdar://problem/3784835> REGRESSION (Mail): crash in DOM::ElementImpl::tagName inside delete text command code while editing a Mail message
<rdar://problem/3788015> REGRESSION (Mail): Crash deleting before a blockquote
<rdar://problem/3796366> REGRESSION (Mail): Crash Mail by deleting the right line from pasted HTML

  • khtml/editing/htmlediting_impl.cpp: (khtml::DeleteSelectionCommandImpl::doApply): All of these bugs are due to the same problem. When I made the delete command run even when the text is a caret (to make block merges work right when the caret is at the start of a block), I failed to handle one case when there might be no text to delete. This resulted in a call to the DeleteTextCommand with a zero-length deletion request. This is not supported. Now, I have added an additional test in this one place in the code that was causing all these failures.

Sep 12, 2004:

11:23 PM Changeset in webkit [7522] by darin
  • 2 edits in trunk/JavaScriptCore
  • tests/mozilla/expected.html: Updated test results for 3 more tests that pass with the new version of escape and unescape.
11:22 PM Changeset in webkit [7521] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • fixed <rdar://problem/3798209> any non-ASCII characters are garbled in the result of toLocaleString
  • kjs/date_object.cpp: (formatLocaleDate): Replaced two old functions that used LongDateTime with this one new function that uses CFDateFormatter. (DateProtoFuncImp::call): Call the new formatLocaleDate instead of both formatLocaleDate and formatLocaleTime.
11:05 PM Changeset in webkit [7520] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3797758> REGRESSION (155-156): Cannot tab between input fields at switchboard.com
  • kwq/KWQLineEdit.mm: (QLineEdit::selectAll): Use setFocus() instead of calling makeFirstResponder directly since it handles the case where the field editor has focus.
11:05 PM Changeset in webkit [7519] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3792082> zero character codes in UTF-16 input cause crash
  • kwq/KWQTextCodec.mm: (KWQTextDecoder::convertUTF16): Fixed code that was using the wrong variable to decrement the input length, causing buffer overrun.
11:04 PM Changeset in webkit [7518] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3798240> computed style error log messages seen with numbers in the range 74-77
  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Added implementations for CSS_PROPKHTML_MARQUEE_INCREMENT, CSS_PROP_MAX_HEIGHT, CSS_PROP_MAX_WIDTH, CSS_PROP_MIN_HEIGHT, CSS_PROP_MIN_WIDTH, and CSS_PROP_VISIBILITY.
11:03 PM Changeset in webkit [7517] by darin
  • 1 edit
    1 delete in trunk
  • layout-tests/css1/text_properties/text-transform-expected.txt: Removed unused test result.

Sep 11, 2004:

1:22 AM Changeset in webkit [7516] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/3787208> can't log in to SAP SDN site (JS parse error)

  • kwq/KWQKURL.mm: (KURL::decode_string): Check for find result >= 0 instead of >0, to handle case of first character in a string being encoded.

Sep 10, 2004:

4:26 PM Changeset in webkit [7515] by rjw
  • 2 edits in trunk/WebKit

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:]):
4:15 PM Changeset in webkit [7514] by vicki
  • 4 edits in branches/Safari-1-2-branch/WebCore
  • merge these changes for SUPanNavy, <rdar://problem/3773150>

2004-08-13 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

  • fixed <rdar://problem/3752509> Pop up windows not showing up within SAP's BW Module (changing location.href on new window created by window.open)

(actually the previous fix for this bug was mostly correct, but
this additional change is needed to avoid the regression in
<rdar://problem/3751025> REGRESSION: website rejects Safari 125.9
as "need to upgrade to IE 6", but didn't reject 125.8

So if merging for a software update, make sure to include both
this and the previous fix.

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::write): When there is an immediate reidrect pending, make sure to stop tokenizing, because we need to make sure no further script tags are processed beyond the one that triggered the redirect.
  • khtml/khtml_part.cpp: (KHTMLPart::isImmediateRedirectPending): New method to allow checking if a redirect is pending.
  • khtml/khtml_part.h:

2004-06-18 John Sullivan <sullivan@apple.com>

Reviewed by Darin

  • fixed <rdar://problem/3534851> Pop up windows not showing up within SAP's BW Module (changing location.href on new window created by window.open)
  • khtml/khtml_part.cpp: (KHTMLPart::scheduleRedirection): allow new redirect to win if delay <= current delay, not just <
4:12 PM Changeset in webkit [7513] by vicki
  • 3 edits in branches/Safari-1-2-branch/WebKit

WebKit:

  • merge this change for <rdar://problem/3791183> Need to choose "best" frame instead of printing all frames clipped to window size (clone for SUPanNavy). The original fix would not compile on 10.3.5.

2004-09-10 John Sullivan <sullivan@apple.com>

Reviewed by Chris.

  • added _isFrameSet as a private method, so it can be used in WebBrowser. This is needed to merge the fix for 3123987 to SUPanNavy.
  • WebView.subproj/WebFrame.m: (-[WebFrame _isFrameSet]): new method
  • WebView.subproj/WebFramePrivate.h: declare new method

WebBrowser:

  • merge this change for <rdar://problem/3791183> Need to choose "best" frame instead of printing all frames clipped to window size (clone for SUPanNavy). The original fix would not compile on 10.3.5.

2004-09-10 John Sullivan <sullivan@apple.com>

Reviewed by Chris.

  • changed implementation of -[WebFrameView isFrameset] so that it's more easily mergeable back to 10.3.5. This is needed to merge 3123987 to SUPanNavy.
  • BrowserWebViewExtras.m: (-[WebFrameView isFrameset]): Call private WebFrame method instead of using DOM.
3:21 PM Changeset in webkit [7512] by sullivan
  • 3 edits in trunk/WebKit

WebKit:

Reviewed by Chris.

  • added _isFrameSet as a private method, so it can be used in WebBrowser. This is needed to merge the fix for 3123987 to SUPanNavy.
  • WebView.subproj/WebFrame.m: (-[WebFrame _isFrameSet]): new method
  • WebView.subproj/WebFramePrivate.h: declare new method

WebBrowser:

Reviewed by Chris.

  • changed implementation of -[WebFrameView isFrameset] so that it's more easily mergeable back to 10.3.5. This is needed to merge 3123987 to SUPanNavy.
  • BrowserWebViewExtras.m: (-[WebFrameView isFrameset]): Call private WebFrame method instead of using DOM.
1:53 PM Changeset in webkit [7511] by vicki
  • 3 edits in branches/Safari-1-2-branch/WebCore
  • code changes by Darin, reviewed by Vicki

Fix build breakage on the branch caused by bad merging for <rdar://problem/3772916> controls
on page at http://help.sap.com don't work properly (clone for SUPanNavy)

  • khtml/ecma/kjs_dom.lut.h: (KJS::):
  • khtml/ecma/kjs_window.cpp: (Window::Window): (BarInfo::BarInfo):
9:18 AM Changeset in webkit [7510] by cblu
  • 1 edit in trunk/WebKit/ChangeLog

Fixed previous "Reviewed by" line.

  • ChangeLog:
8:58 AM Changeset in webkit [7509] by cblu
  • 10 edits in trunk

WebCore:

Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout

Reviewed by rjw.

  • khtml/khtml_part.h: (KHTMLPart::didFirstLayout): new
  • khtml/khtmlview.cpp: (KHTMLView::layout): call didFirstLayout
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::didFirstLayout): new
  • kwq/WebCoreBridge.h:

WebKit:

Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout

Reviewed by NOBODY (OOPS!).

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge didFirstLayout]): new
  • WebView.subproj/WebDefaultFrameLoadDelegate.m: (-[WebDefaultFrameLoadDelegate webView:didFirstLayoutInFrame:]): new
  • WebView.subproj/WebViewPrivate.h:

WebBrowser:

Fixed: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout

Reviewed by rjw.

  • BrowserWindowController.h:
  • BrowserWindowController.m: (-[BrowserWindowController startRSSAnimationForFrame:error:]): new (-[BrowserWindowController webFrameLoadDidFirstLayout:]): new (-[BrowserWindowController webFrameLoadFinished:withError:]): call startRSSAnimationForFrame:error:
  • Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): added toggle for RSS animation (-[BrowserDocument toggleRSSAnimateAfterFirstLayout:]): new (-[BrowserDocument validate_toggleRSSAnimateAfterFirstLayout:]): new
  • LocationChangeHandler.m: (-[LocationChangeHandler webView:didFirstLayoutInFrame:]): new
  • PreferenceKeys.h:
Note: See TracTimeline for information about the timeline view.