Timeline



Sep 8, 2004:

4:56 PM Changeset in webkit [7495] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • check in regenerated file khtml/ecma/kjs_window.lut.h, for 3772916
  • khtml/ecma/kjs_window.lut.h: (KJS::):
4:53 PM Changeset in webkit [7494] by sullivan
  • 3 edits in trunk/WebKit

WebKit:

Reviewed by Darin.

  • fixed the localization aspect of: <rdar://problem/3790011> undoable operations all say "Undo" in the menu, no specific action names

We now have all the strings ready for localization; we just don't actually use them yet.

  • English.lproj/Localizable.strings: updated for this change
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setUndoActionNamePlaceholder]): added this placeholder method whose purpose is to hold localizable strings for all the Undo action names that NSTextView uses. Later we will use some or all of these, but we can do that part after the localization freeze.

WebBrowser:

Reviewed by Darin.

  • English.lproj/StringsNotToBeLocalized.txt: updated for my recent changes
4:43 PM Changeset in webkit [7493] by vicki
  • 4 edits in branches/Safari-1-2-branch/WebCore
  • merge this fix from HEAD for SUPanNavy, <rdar://problem/3791496>

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.
4:13 PM Changeset in webkit [7492] by cblu
  • 1 edit in trunk/WebKit/ChangeLog

Fixed previous "Reviewed by" line.

  • ChangeLog:
4:12 PM Changeset in webkit [7491] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3778785> REGRESSION (Mail): copying from MS word and pasting into editable region leaves internal clipboard data

Reviewed by NOBODY (OOPS!).

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ignore Microsoft's header meta data
3:23 PM Changeset in webkit [7490] by vicki
  • 3 edits in branches/Safari-1-2-branch/WebCore
  • A few follow up changes necessary to really fix the colgroup crash, <rdar://problem/3791559>. I've included the original ChangeLog comments below. I did not merge the changes in render_block.cpp to eliminate redundant setPos -500000 calls, since those weren't necessary for this fix.
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::addChildToFlow):

2004-09-01 David Hyatt <hyatt@apple.com>

Fix for 3769409, a regression from 10.3.4 to 10.3.5 involving <colgroup>s in malformed HTML.

Reviewed by mjs

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):

2004-09-01 David Hyatt <hyatt@apple.com>

Fix for the <colgroup> crasher. Make sure adding to an anonymous box just returns immediately. Also eliminate
all the redundant setPos -500000 calls, since we don't need those at all.

Reviewed by john

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::addChildToFlow):
3:07 PM Changeset in webkit [7489] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • follow-up fix for <rdar://problem/3791526>, for SUPanNavy

2004-08-13 Darin Adler <Darin Adler>

Reviewed by Chris.

  • fixed <rdar://problem/3760924> Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec. This has many advantages; the big one that fixes the bug is that it gives the mangled names that work even for files that have names that can't otherwise be encoded in Carbon-style path names. I didn't write this from scratch: I started with the method in Foundation and just changed it to use FSSpec. (-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call CarbonPathFromPOSIXPath instead.
2:48 PM Changeset in webkit [7488] by cblu
  • 3 edits in trunk/WebKit

Fixed: <rdar://problem/3792893> WebBaseResourceHandleDelegate always returns cached data for subresource loads

Reviewed by rjw.

  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]): new (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceForRequest:
2:46 PM Changeset in webkit [7487] by mjs
  • 3 edits in trunk/WebCore
  • fixed deployment build problems noticed by Grant
  • khtml/rendering/render_flow.cpp: (RenderFlow::caretRect):
  • khtml/rendering/render_text.cpp: (RenderText::caretRect):
1:26 PM Changeset in webkit [7486] by hyatt
  • 2 edits in trunk/WebCore

Fix XML so that elements with no namespace never make HTML elements (when their names coincidentally match).

Reviewed by rjw

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::createElementNS):
1:04 PM Changeset in webkit [7485] by cblu
  • 1 edit
    4 adds in trunk/WebKit

Forgot to add this in previous check-in.

  • English.lproj/WebViewEditingContextMenu.nib: Added.
12:26 PM Changeset in webkit [7484] by mjs
  • 15 edits in trunk/WebCore

Reviewed by John.

  • renamed caretPos to caretRect and made it return a QRect instead of taking four out parameters by reference.
  • khtml/rendering/render_box.cpp: (RenderBox::caretRect):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_br.cpp: (RenderBR::caretRect):
  • khtml/rendering/render_br.h:
  • khtml/rendering/render_flow.cpp: (RenderFlow::caretRect):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_object.cpp: (RenderObject::caretRect):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_text.cpp: (RenderText::caretRect):
  • khtml/rendering/render_text.h:
  • khtml/xml/dom_selection.cpp: (DOM::Selection::xPosForVerticalArrowNavigation): (DOM::Selection::layoutCaret):
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge caretRectAtNode:offset:]):
11:17 AM Changeset in webkit [7483] by cblu
  • 4 edits in trunk/WebKit

Fixed: <rdar://problem/3791240> WebKit uses the NSTextViewContextMenu nib from inside AppKit

Reviewed by john.

  • English.lproj/StringsNotToBeLocalized.txt:
  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): use our copy of the nib
12:07 AM Changeset in webkit [7482] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • merge this fix from HEAD for SUPanNavy, <rdar://problem/3791559>

2004-08-26 David Hyatt <hyatt@apple.com>

Fix for 3777172, crash from nested colgroup. Don't allow nested table sections or col groups.

Reviewed by darin

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):

Sep 7, 2004:

11:58 PM Changeset in webkit [7481] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • merge this fix from HEAD for SUPanNavy, <rdar://problem/3791536>

2004-08-25 Kevin Decker <kdecker@apple.com>

Reviewed by John and Maciej.

  • Fixes SAP bug <rdar://problem/3751295> Personalize link at the top gives an error in the pop-up window.
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Passes a referrer to KHTMLPart::begin()
11:54 PM Changeset in webkit [7480] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • merge this fix from HEAD for SUPanNavy, <rdar://problem/3791526>

2004-08-11 Adele Amchan <adele@apple.com>

Reviewed by me, bug fix by Darin.

  • fixed <rdar://problem/3736477> Pages don't load if hard drive is named with non-ASCII Symbol
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't ever fail due to encoding problems even though this string should always be ASCII. (-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path can, so we need to use this instead of cString which can fail depending on characters and encoding.
11:36 PM Changeset in webkit [7479] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • merge this fix from HEAD for SUPanNavy, <rdar://problem/3791327>

2004-07-08 Chris Blumenberg <cblu@apple.com>

Fixed: <rdar://problem/3706296> VIP: ifilm.com crashing reproducibly with Safari

Reviewed by kocienda.

  • Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage launchRealPlayer]): don't release a NULL appURL
6:27 PM Changeset in webkit [7478] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Kevin.

<rdar://problem/3759209> REGRESSION (Mail): assertion failure when all of marked text deleted at start of document

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setMarkedRange): Allow any empty range, even if it's not in a text node, since in this case it won't matter and weird things can happen when all marked text is removed, there might not be any text nodes.
6:08 PM Changeset in webkit [7477] by hyatt
  • 10 edits in trunk/WebCore

Initial text-decoration CSS3 work for editing. Just gets the properties and values parsed.

Reviewed by darin

  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
  • khtml/css/cssparser.cpp: (CSSParser::parseValue):
  • khtml/css/cssproperties.c: (hash_prop): (findProp):
  • khtml/css/cssproperties.h:
  • khtml/css/cssproperties.in:
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::adjustRenderStyle):
  • khtml/css/cssvalues.c: (hash_val): (findValue):
  • khtml/css/cssvalues.h:
  • khtml/css/cssvalues.in:
4:01 PM Changeset in webkit [7476] by darin
  • 2 edits in trunk/WebKit
  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3:33 PM Changeset in webkit [7475] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • merge this change from HEAD for SUPanNavy, <rdar://problem/3772907>

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

Reviewed by Richard.

<rdar://problem/3245706> URLs with backslashes instead of slashes work on WinIE; should work on Safari (SAP)
<rdar://problem/3506429> <BASE> tag containing backslash is breaking images with absolute URLs

  • kwq/KWQKURL.mm: (substituteBackslashes): Helper method (KURL::KURL): If the URL contains any backslashes, substitute all that appear before the query or fragment.
3:00 PM Changeset in webkit [7474] by vicki
  • 5 edits in branches/Safari-1-2-branch/WebCore
  • merge this fix from HEAD for SUPanNavy, <rdar://problem/3772916>

2004-07-28 Maciej Stachowiak <mjs@apple.com>

Reviewed by Trey.

<rdar://problem/3678534> controls on page at http://help.sap.com don't work properly

To fix this I implemented the various JavaScript BarInfo properties in JavaScript.

  • khtml/ecma/kjs_window.cpp: (Window::Window): (Window::locationbar): (Window::menubar): (Window::personalbar): (Window::statusbar): (Window::toolbar): (Window::scrollbars): (Window::mark): (Window::get): (SelectionFunc::tryCall): (BarInfo::BarInfo): (BarInfo::~BarInfo): (BarInfo::get): (BarInfo::put):
  • khtml/ecma/kjs_window.h: (KJS::Window::): (KJS::BarInfo::): (KJS::BarInfo::part): (KJS::BarInfo::classInfo):
  • khtml/ecma/kjs_window.lut.h: (KJS::):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::locationbarVisible): (KWQKHTMLPart::menubarVisible): (KWQKHTMLPart::personalbarVisible): (KWQKHTMLPart::scrollbarsVisible): (KWQKHTMLPart::statusbarVisible): (KWQKHTMLPart::toolbarVisible):
2:34 PM Changeset in webkit [7473] by cblu
  • 1 edit in trunk/WebKit/ChangeLog

Fixed previous "Reviewed by" line.

  • ChangeLog:
2:28 PM Changeset in webkit [7472] by cblu
  • 1 edit in trunk/WebKit/ChangeLog

Fixed: <rdar://problem/3790143> exception raised when dragging a URL with 2-byte characters

(checked in with last check-in)

2:26 PM Changeset in webkit [7471] by cblu
  • 3 edits in trunk/WebKit

Fixed:
<rdar://problem/3080103> Need to pass cmd-modified keys to plug-ins
<rdar://problem/3751509> can't use safari edit menu to copy and paste with Vantage Learning's My Access

Reviewed by NOBODY (OOPS!).

  • Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]): (-[WebBaseNetscapePluginView cut:]): (-[WebBaseNetscapePluginView copy:]): (-[WebBaseNetscapePluginView paste:]): (-[WebBaseNetscapePluginView selectAll:]):
2:19 PM Changeset in webkit [7470] by hyatt
  • 2 adds in trunk/LayoutTests/fast/table

Add layout test results.

1:51 PM Changeset in webkit [7469] by vicki
  • 3 edits in branches/Safari-1-2-branch/JavaScriptCore
  • merge this fix from HEAD for SUPanNavy, <rdar://problem/3773145>

2004-08-17 Darin Adler <Darin Adler>

Reviewed by Adele.

  • fixed <rdar://problem/3746676> SAP WebDynpro app hangs inside JavaScript property map hash table code (deleted sentinel problem)
  • kjs/property_map.h: Added some private functions.
  • kjs/property_map.cpp: (KJS::PropertyMap::clear): Set sentinelCount to 0. (KJS::PropertyMap::put): Complete search for the element before choosing to use the deleted-element sentinel. Also keep sentinel count up to date when we destroy a sentinel by overwriting with a new added element. (KJS::PropertyMap::expand): Added. Calls rehash with a size 2x the old size, or 16. (KJS::PropertyMap::rehash): Added. Refactored the rehash code into a separate function. (KJS::PropertyMap::remove): Add one to sentinelCount, and rehash if 1/4 or more of the elements are deleted-element sentinels. (KJS::PropertyMap::checkConsistency): Check the sentinelCount.
1:40 PM Changeset in webkit [7468] by vicki
  • 2 edits in branches/Safari-1-2-branch/JavaScriptCore
  • merge this fix from HEAD for SUPanNavy, <rdar://problem/3772913>

2004-08-04 Vicki Murley <vicki@apple.com>

Reviewed by mjs.

  • fix <rdar://problem/3649789> SAP WebGUI has problems loading first page because of parse error
  • kjs/lexer.cpp: (Lexer::lex): if the current character is a '\' and the next character is a line terminator, go to the next line and continue parsing the string (instead of failing). This matches behavior in Mac IE and Mozilla.
11:58 AM Changeset in webkit [7467] by darin
  • 2 edits in trunk/WebKit
  • fixed deployment build
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Initialize prepend variable.

Sep 6, 2004:

11:37 PM Changeset in webkit [7466] by darin
  • 2 edits in trunk/JavaScriptCore
  • JavaScriptCore.pbproj/project.pbxproj: Bump MACOSX_DEPLOYMENT_TARGET to 10.3.
10:38 PM Changeset in webkit [7465] by mjs
  • 4 edits in trunk/WebCore

Reviewed by Darin and Ken.

<rdar://problem/3655568> window.open fails when URL contains trailing space

  • kwq/KWQKURL.mm: (KURL::KURL): Strip trailing and leading space when resolving relative URLs in all cases, instead of just leading in the non-absolute case as before.
  • refactored KURL constructor to put more work in separate functions and also to change static methods to static functions, to avoid having to change the header when only changing helper functions that do not affect the KURL API (since KURL.h is widely included).
  • kwq/KWQKURL.mm: (encodeHostname): (findHostnamesInMailToURL): (findHostnameInHierarchicalURL): (encodeHostnames): (encodeRelativeString): (substituteBackslashes):
  • kwq/KWQKURL.h:
  • add missing include of qvaluelist.h
  • khtml/ecma/kjs_dom.h:
5:25 PM Changeset in webkit [7464] by darin
  • 34 edits in trunk

WebCore:

Reviewed by John.

  • fixed <rdar://problem/3512066> REGRESSION (Mail): Select All highlights only part of the content, though all is copied
  • fixed <rdar://problem/3157025> REGRESSION (Mail): Should select paragraph instead of line on triple-click
  • fixed <rdar://problem/3735048> REGRESSION (Mail): HTML editing must select newline on triple click
  • fixed <rdar://problem/3788872> REGRESSION (Mail): ctrl-a emacs key binding does not work (move to start of paragraph)
  • fixed <rdar://problem/3788881> REGRESSION (Mail): ctrl-e emacs key binding does not work (move to end of paragraph)
  • fixed <rdar://problem/3789931> REGRESSION (Mail): typing style lost when you backspace
  • added code to select inserted text to help WebKit implement yankAndSelect:
  • did some clean-up on editing commands code
  • khtml/khtml_part.cpp: (KHTMLPart::handleMousePressEventTripleClick): Expand to a paragraph, not a line. (KHTMLPart::selectAll): Remove a lot of unneeded code and just expand to document using Selection. (KHTMLPart::selectionHasStyle): Remove check that limited us to only HTML elements, and add a check for nil. Together, these two changes fix a few cases I ran into during testing.
  • khtml/rendering/render_canvas.cpp: (RenderCanvas::setSelection): Fix test that was checking if the old selection spanned multiple objects when it really should have checked whether the new new selection spans multiple objects. This caused the select all redraw bug.
  • khtml/editing/htmlediting.h: Fixed indenting. Remove command IDs, replacing them with a couple of specific type checking methods, and SharedCommandImpl, using EditCommandImpl directly instead. Got rid of virtual functions, since the command objects have no data members other than the ones inherited from SharedPtr. Removed explicit copy constructors and destructors. Removed unneeded empty constructors. Removed inline directives that were having no effect. Added some boolean selectInsertedText parameter to some commands. Made almost all member functions const, because the const here applies to the command object which is a smart pointer, not the pointed-to command implementation object.
  • khtml/editing/htmlediting.cpp: (khtml::EditCommand::EditCommand): Changed since SharedPtr is now a pointer to EditCommandImpl. (khtml::EditCommand::operator=): Added. By defining this explicitly, we don't need the class that we are pointing to defined in the header, which lets us get rid of SharedCommandImpl. (khtml::EditCommand::isInputTextCommand): Added. (khtml::EditCommand::isTypingCommand): Added. (khtml::EditCommand::setParent): Updated since EditCommandImpl.setParent takes an impl pointer now. (khtml::EditCommand::handle): Removed, since it's identical to get(). (khtml::InputTextCommand::input): Added selectInsertedText parameter. (khtml::TypingCommand::TypingCommand): Ditto. (khtml::TypingCommand::insertText): Ditto. (khtml::TypingCommand::isOpenForMoreTypingCommand): Use isTypingCommand instead of commandID. (khtml::TypingCommand::closeTyping): Change parameter type to const reference.
  • khtml/editing/htmlediting_impl.h: Made StyleChange functions be const member functions. Changed parent() and setParent() to take and return EditCommandImpl pointers and be inlined. Added virtual isInputTextCommand, isTypingCommand, and preservesTypingStyle functions. Removed commandID functions and unneeded explicit destructors. Removed unneeded doApply function declaration in CompositeEditCommandImpl. Changed type of applyTypingStyle to return a node, not necessarily an element. Removed private execute function from InputTextCommandImpl. Added selectInsertedText to InputTextCommandImpl's input function and TypingCommandImpl's constructor and insertText function.
  • khtml/editing/htmlediting_impl.cpp: (khtml::StyleChange::StyleChange): Don't bother initializing the booleans since init handles that. (khtml::StyleChange::init): Added code to strip whitespace, and tweaked how the function does its job. (khtml::StyleChange::currentlyHasStyle): Added a check for null value, which can happen for properties where we don't have computed style implemented yet. (khtml::EditCommandImpl::EditCommandImpl): Updated since there is no SharedCommandImpl any more. (khtml::EditCommandImpl::apply): Call new preservesTypingStyle function rather than checking the command ID. This preserves typing style when deleting with the keyboard. (khtml::EditCommandImpl::setStartingSelection): Changed since parent is now a EditCommandImpl. Also rewrote to use for loop so it's simpler-looking. (khtml::EditCommandImpl::setEndingSelection): Ditto. (khtml::EditCommandImpl::setTypingStyle): Ditto. (khtml::EditCommandImpl::preservesTypingStyle): Added. Returns false. (khtml::EditCommandImpl::isInputTextCommand): Added. Returns false. (khtml::EditCommandImpl::isTypingCommand): Added. Returns false. (khtml::CompositeEditCommandImpl::applyTypingStyle): Changed this function to return a node rather than an element. Also change it so it returns the child as-is if the style change has nothing in it. (khtml::AppendNodeCommandImpl::~AppendNodeCommandImpl): Removed unneeded null checks. (khtml::DeleteSelectionCommandImpl::preservesTypingStyle): Added. Returns true. (khtml::DeleteTextCommandImpl::~DeleteTextCommandImpl): Removed unneeded null checks. (khtml::InputTextCommandImpl::input): Renamed execute function to input and got rid of the additional level of indirection, since it was the only caller. Added selectInsertedText parameter and changed the code so it will respect it. (khtml::InputTextCommandImpl::isInputTextCommand): Added. Returns true. (khtml::InsertNodeBeforeCommandImpl::~InsertNodeBeforeCommandImpl): Removed unneeded null checks. (khtml::JoinTextNodesCommandImpl::~JoinTextNodesCommandImpl): Ditto. (khtml::MoveSelectionCommandImpl::MoveSelectionCommandImpl): Hold a reference to the fragment while the command exists. (khtml::MoveSelectionCommandImpl::~MoveSelectionCommandImpl): Release the fragment. (khtml::RemoveNodeCommandImpl::~RemoveNodeCommandImpl): Remove unneeded null checks. (khtml::RemoveNodeCommandImpl::doUnapply): Take advantage of defined behavior of insertBefore when the node to insert before is 0 (means the same thing as appendChild). (khtml::RemoveNodePreservingChildrenCommandImpl::~RemoveNodePreservingChildrenCommandImpl): Remove unneeded null check. (khtml::ReplaceSelectionCommandImpl::ReplaceSelectionCommandImpl): Hold a reference to the fragment while the command exists. (khtml::ReplaceSelectionCommandImpl::~ReplaceSelectionCommandImpl): Release the fragment. (khtml::SetNodeAttributeCommandImpl::~SetNodeAttributeCommandImpl): Remove unneeded null check. (khtml::SplitTextNodeCommandImpl::~SplitTextNodeCommandImpl): Remove unneeded null check. (khtml::TypingCommandImpl::TypingCommandImpl): Added selectInsertedText parameter. (khtml::TypingCommandImpl::doApply): Pass along selectInsertedText parameter. (khtml::TypingCommandImpl::insertText): Ditto. (khtml::TypingCommandImpl::preservesTypingStyle): Added. Returns true for DeleteKey. (khtml::TypingCommandImpl::isTypingCommand): Added. Returns true.
  • khtml/editing/jsediting.cpp: Add a cut at implementing the underline command. May not work perfectly yet because text-decoration is not inherited the way, say, font-weight is.
  • khtml/xml/dom_selection.h: Removed some unneeded friend declarations for comparison operators that use only public members. Added PARAGRAPH_BOUNDARY.
  • khtml/xml/dom_selection.cpp: (DOM::Selection::modifyExtendingRightForward): Implemented paragraph boundary case, simplified line boundary case (by changing parameter types and function names, not the algorithm), and made paragraph case fall into line case for now. (DOM::Selection::modifyMovingRightForward): Ditto. (DOM::Selection::modifyExtendingLeftBackward): Ditto. (DOM::Selection::modifyMovingLeftBackward): Ditto. (DOM::Selection::validate): Implemented paragraph case and paragraph boundary case, simplified the line case as above and also fixed the document case. (DOM::startOfFirstRunAt): Changed to use DOM::Position instead of node offset pairs. Also renamed and got rid of separate bool to indicate "not found". (DOM::endOfLastRunAt): Ditto. (DOM::selectionForLine): Ditto.
  • khtml/xml/dom_position.h: Added startParagraphBoundary and endParagraphBoundary. Also used enums instead of bools in a couple of places. Removed some unneeded friend declarations for comparison operators that use only public members.
  • khtml/xml/dom_position.cpp: (DOM::Position::Position): Coding style tweak. (DOM::Position::startParagraphBoundary): Added. (DOM::Position::endParagraphBoundary): Added. (DOM::Position::upstream): Use enum parameter instead of bool. (DOM::Position::downstream): Ditto. (DOM::Position::rendersOnSameLine): Removed unused function. Noticed some backwards logic here, and removed it rather than fixing it.
  • khtml/xml/dom_nodeimpl.h: Added traversePreviousNodePostOrder.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::traversePreviousNodePostOrder): Added. For some uses, this function is more analogous to traverseNextNode in reverse than traversePreviousNode, which does a backwards pre-order traversal.
  • kwq/WebCoreBridge.h: Replaced fontForCurrentPosition method with fontForSelection:, added selectInsertedText parameter to insertText method, and added selectionStartHasStyle: method. Add WebSelectToParagraphBoundary.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge setSelectedDOMRange:affinity:]): Added workaround for bug where isRenderedContent returns false for <br> elements at the ends of lines. (-[WebCoreBridge insertText:selectInsertedText:]): Added selectInsertedText parameter, passing it along to TypingCommand::insertText. (-[WebCoreBridge selectionStartHasStyle:]): Added. Calls code in the part that does the real work. (-[WebCoreBridge fontForSelection:]): Ditto.
  • kwq/KWQKHTMLPart.h: Renamed fontForCurrentPosition to fontForSelection, and added a feature where it tells us whether there are multiple fonts in the selection or not.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::fontForSelection): Rewrote this to be a bit simpler, and added code to detect whether there are multiple fonts in the selection. (KWQKHTMLPart::didTellBridgeAboutLoad): Use a global character rather than a bad pointer here. Better not to rely on undefined behavior. (KWQKHTMLPart::documentFragmentWithText): Use lowercase HTML. I believe this works better when the document is XML, and we should probably visit all callers and change them. (KWQKHTMLPart::registerCommandForUndo): Call get() instead of handle(). (KWQKHTMLPart::registerCommandForRedo): Call get() instead of handle().
  • khtml/misc/shared.h: Added a private, non-implemented copy constructor and assignment operator to Shared<> and TreeShared<> to prevent copying reference counts by accident.
  • khtml/rendering/render_style.h: Get rid of Shared<BorderData>, since it's not used that way. This makes BorderData smaller, and allows it to compile with the change to Shared<>.
  • khtml/xml/dom_docimpl.h: Remove unneeded copy constructor on DocumentFragmentImpl, which ran afoul of the change to Shared<> and was unused.
  • khtml/xml/dom_docimpl.cpp: Ditto.
  • khtml/xml/dom_stringimpl.cpp: (DOM::DOMStringImpl::empty): Changed code around so it doesn't run afoul of the change to Shared<>. The old code was copying a DOMStringImpl. (DOM::DOMStringImpl::ascii): Added code to null-terminate the string buffer.

WebKit:

Reviewed by John.

  • fixed <rdar://problem/3696542> REGRESSION (Mail): Editable WebKit doesn't support underline yet (in the iChat profile window, at least)
  • fixed <rdar://problem/3780249> REGRESSION (Mail): copy style/paste style doesn't work in HTML editing in Mail
  • fixed <rdar://problem/3788857> REGRESSION (Mail): Home and End keys don't work in message composer
  • fixed <rdar://problem/3788884> REGRESSION (Mail): ctrl-d emacs key binding does not work (delete forward)
  • fixed <rdar://problem/3788890> REGRESSION (Mail): ctrl-k emacs key binding does not work (delete to end of paragraph)
  • fixed <rdar://problem/3788899> REGRESSION (Mail): ctrl-y emacs key binding does not work (yank)
  • fixed <rdar://problem/3788901> REGRESSION (Mail): ctrl-o emacs key binding does not work (insert newline in front of insertion point)
  • fixed <rdar://problem/3788908> REGRESSION (Mail): ctrl-left-arrow emacs key binding does not work (move to beginning of line)
  • fixed <rdar://problem/3788913> REGRESSION (Mail): ctrl-right-arrow emacs key binding does not work (move to end of line)
  • implemented a first cut at other attribute changes from Text Panel besides underline (bugs?)
  • dealt with a couple of FIXMEs in WebHTMLView.m
  • updated list of not-yet-implemented methods in WebHTMLView.m
  • fixed many deletion operations to call the correct editing delegate methods
  • WebView.subproj/WebFrameViewPrivate.h: Remove _scrollToTopLeft and _scrollToBottomLeft. No one was calling them anyway, so they should really have been marked internal and not private.
  • WebView.subproj/WebFrameView.m: (-[WebFrameView scrollToBeginningOfDocument:]): Renamed _scrollToTopLeft to this, so the home key would start working with the key bindings machinery. (-[WebFrameView scrollToEndOfDocument:]): Same thing, for end key. (-[WebFrameView keyDown:]): Update for name changes, and also make sure we don't try to grab control-arrow keys here (probably not necessary, but good anyway).
  • WebView.subproj/WebHTMLViewInternal.h: Added keyDownEvent field, and startNewKillRingSequence and nextResponderDisabledOnce flags.
  • WebView.subproj/WebHTMLView.m: Rearrange declarations at the top of the file so that external things are up with the #import directives and things inside this file are declared below. (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): Ditto. (-[WebHTMLView _calculatePrintHeight]): Moved up into the "internal to file" category. (-[WebHTMLView _updateTextSizeMultiplier]): Ditto. (-[WebHTMLView _selectedRange]): Added. (-[WebHTMLView _openLinkFromMenu:]): Left this method lying around even though I deleted the other APPKIT_CODE_FOR_REFERENCE in case this shows up in the context menu we are now sharing with the AppKit. Chris will look at this later, and he can delete it then. (+[WebHTMLView initialize]): Call _NSInitializeKillRing. (-[WebHTMLView _documentRange]): Added. (-[WebHTMLView string]): Call the bridge to get the plain text rather than making an attributed string and then getting the text from there. (-[WebHTMLView becomeFirstResponder]): Set startNewKillRingSequence flag, so that new deletions will create a new kill ring entry. (-[WebHTMLView moveToBeginningOfDocument:]): Use backward direction instead of left direction. (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto. (-[WebHTMLView moveToBeginningOfLine:]): Ditto. (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): Ditto. (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary. (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto. (-[WebHTMLView moveToEndOfDocument:]): Use forward direction instead of right direction. (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto. (-[WebHTMLView moveToEndOfLine:]): Ditto. (-[WebHTMLView moveToEndOfLineAndModifySelection:]): Ditto. (-[WebHTMLView moveToEndOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary. (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto. (-[WebHTMLView _shouldDeleteRange:]): Added. (-[WebHTMLView _deleteRange:preflight:killRing:prepend:]): Added. (-[WebHTMLView delete:]): Changed to call new _deleteRange method. (-[WebHTMLView cut:]): Changed to preflight property and call new _deleteRange method. (-[WebHTMLView _selectionFontAttributes]): Added. (-[WebHTMLView _selectionFontAttributesAsRTF]): Added. (-[WebHTMLView _fontAttributesFromFontPasteboard]): Added. (-[WebHTMLView _emptyStyle]): Added. (-[WebHTMLView _styleFromFontAttributes:]): Added. (-[WebHTMLView _applyStyleToSelection:]): Added. (-[WebHTMLView copyFont:]): Implemented. (-[WebHTMLView pasteFont:]): Implemented. (-[WebHTMLView _originalFontA]): Added. (-[WebHTMLView _originalFontB]): Added. (-[WebHTMLView _addToStyle:fontA:fontB:]): Added. Has code from the method that figures out what the font manager is doing for changeFont:, now needed for changeAttribute: too. (-[WebHTMLView _styleFromFontManagerOperation]): Renamed and now calls shared methods. (-[WebHTMLView changeFont:]): Call shared method, still does the same thing. (-[WebHTMLView _colorAsString:]): Added. Has code from the method we were using with the color panel before. (-[WebHTMLView _shadowAsString:]): Added. (-[WebHTMLView _styleForAttributeChange:]): Added. (-[WebHTMLView changeAttributes:]): Implemented. (-[WebHTMLView _styleFromColorPanelWithSelector:]): Renamed and now calls shared methods. (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): Call method by new name. (-[WebHTMLView changeDocumentBackgroundColor:]): Call method by new name. (-[WebHTMLView changeColor:]): Changed around a bit; still doesn't work yet. (-[WebHTMLView _alignSelectionUsingCSSValue:]): Call shared methods. (-[WebHTMLView indent:]): Removed, since NSTextView doesn't implement this method. Added to list of methods to possibly implement later in the file. (-[WebHTMLView insertTab:]): Call insertText: to save code and so we get WebViewInsertActionTyped instead of WebViewInsertActionPasted. (-[WebHTMLView changeCaseOfLetter:]): Removed, since NSTextView doesn't implement this method. Added to list of methods to possibly implement later in the file. (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Added. (-[WebHTMLView deleteForward:]): Implemented. This makes Control-D work. (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Implemented by just calling deleteBackward for now; probably better than doing nothing. (-[WebHTMLView deleteWordForward:]): Changed to call new _delete method above. Fixes things so that we delete the selection if there is one, get the appropriate delegate calls, handle the kill ring properly, and don't do any selection if we can't delete. (-[WebHTMLView deleteWordBackward:]): Ditto. (-[WebHTMLView deleteToBeginningOfLine:]): Ditto. (-[WebHTMLView deleteToEndOfLine:]): Ditto. (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto. (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. Added additional behavior needed since this is bound to Control-K, so it's not really just delete to end of paragraph. (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Added. Calls insertNewline:. (-[WebHTMLView insertTabIgnoringFieldEditor:]): Added. Calls insertTab:. (-[WebHTMLView subscript:]): Added. (-[WebHTMLView superscript:]): Added. (-[WebHTMLView unscript:]): Added. (-[WebHTMLView underline:]): Added. (-[WebHTMLView yank:]): Added. (-[WebHTMLView yankAndSelect:]): Added. Calls _insertText. (-[WebHTMLView _arrowKeyDownEventSelectorIfPreprocessing:]): Added. Part of workaround for control-arrow key trouble. (-[WebHTMLView respondsToSelector:]): Added. More of workaround. (-[WebHTMLView nextResponder:]): Added. More of workaround. (-[WebHTMLView _selectionChanged]): Set startNewKillRingSequence flag, so that new deletions will create a new kill ring entry. (-[WebHTMLView _updateFontPanel]): Remove a bunch of code here that wasn't working very well because it walked a DOM range incorrectly, and instead use the new method that does all the right stuff on the other side of the bridge. (-[WebHTMLView _insertText:selectInsertedText:]): Added new helper method for use by both insertText and yankAndSelect, with most of the guts of insertText and one additional parameter. (-[WebHTMLView insertText:]): Call the new _insertText.
  • WebView.subproj/WebView.m: Use macros to make the forwarding from WebView more terse. Updated the list to include a few methods it didn't before.
4:30 PM Changeset in webkit [7463] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • improved computed style code and implemented text-decoration and text-shadow (needed for, e.g., underline)
  • khtml/css/css_computedstyle.cpp: Added CSS_PROP_TEXT_DECORATION to the InheritableProperties array for now even though it's not inheritable. This makes underline work in some cases for typing style. We may decide to take it back out again after further consideration. (DOM::valueForLength): Use IDs in primitive values rather than strings. (DOM::valueForBorderStyle): Ditto, also renamed this. (DOM::valueForTextAlign): More of the same. (DOM::valueForShadow): Added this function. (DOM::CSSComputedStyleDeclarationImpl::getPositionOffsetValue): More IDs in primitive values. (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Changed all the cases to use IDs instead of strings in primitive values. Also put the style in a local variable for better code size and smaller source code too. Added implementation for CSS_PROP_TEXT_DECORATION and CSS_PROP_TEXT_SHADOW.
  • khtml/css/css_valueimpl.cpp: (CSSValueListImpl::cssText): Put commas between list elements. (CSSPrimitiveValueImpl::cssText): Fixed some messed up indenting and removed an unneeded default case that would just prevent a warning if we ever have an unhandled enum value.
4:23 PM Changeset in webkit [7462] by darin
  • 4 edits in trunk/WebCore

Reviewed by John.

  • did some clean-up on form data code
  • khtml/misc/formdata.h: Added more public functions as suggested by Chris when he reviewed this class.
  • khtml/misc/formdata.cpp: (khtml::FormData::appendFile): Added. Will be needed soon.
  • kwq/KWQFormData.mm: (arrayFromFormData): Use new cleaned-up FormData API.
4:22 PM Changeset in webkit [7461] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • kwq/DOM-CSS.mm: (-[DOMCSSStyleDeclaration description]): Use cssText in the description so it's easier to see in the debugger.
4:21 PM Changeset in webkit [7460] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::send): Remove uneeded QCString copy.
2:13 PM Changeset in webkit [7459] by sullivan
  • 3 edits
    1 add in trunk/WebKit

WebKit:

Reviewed by Darin.

  • put preference keys in a private header file so Safari can use them for Managed Preferences
  • WebView.subproj/WebPreferenceKeysPrivate.h: new Private header file, includes the #defines for NSUserDefaults preference keys
  • WebView.subproj/WebPreferences.m: moved the preference key #defines out of here; now imports WebPreferenceKeysPrivate.h
  • WebKit.pbproj/project.pbxproj: updated for new file

WebBrowser:

Reviewed by Darin.

  • fixed these bugs: <rdar://problem/3786507> Safari's managed preferences manifest needs to be brought up to date and made localizable <rdar://problem/3550533> Would like Safari to make more preferences "managed" in the Managed Preferences sense
  • Preferences.subproj/AdvancedPreferences.m: (-[AdvancedPreferences updateStyleSheetMenu]): disable popup button if style sheet enabled-ness or location is forced (-[AdvancedPreferences updateMinFontSizeViews]): disable checkbox and combo box if min font size value is forced (-[AdvancedPreferences updateTabToAllViews]): disable checkbox if tab-to-links value is forced
  • Preferences.subproj/AppearancePreferences.h: new outlets for "Select" buttons
  • Preferences.subproj/English.lproj/AppearancePreferences.nib: wire up "Select" button outlets
  • Preferences.subproj/AppearancePreferences.m: (-[AppearancePreferences updateDefaultCharacterSetPopup]): disable popup if text encoding value is forced (-[AppearancePreferences initializeFromDefaults]): disable each "Select" button if the font or font size is forced
  • Preferences.subproj/AutoFillPreferences.m: (-[AutoFillPreferences updateViews]): disable each checkbox if its value is forced
  • Preferences.subproj/BookmarkPreferences.m: (-[BookmarkPreferences setUpCheckbox:fromPreferenceKey:]): renamed from "setStateOfCheckbox:..."; now disables checkbox if the preference key value is forced (-[BookmarkPreferences updateBookmarksViews]): updated for name change
  • Preferences.subproj/GeneralPreferences.m: (-[GeneralPreferences updateExternalLinkPolicyViews]): disable radio buttons if value is forced (-[GeneralPreferences initializeFromDefaults]): disable new window policy popup, downloads clearing policy popup, and/or auto-open downloads checkbox if its value is forced
  • Preferences.subproj/SecurityPreferences.m: (-[SecurityPreferences updateJavaScriptViews]): disable javascript and/or block popups checkbox if its value is forced (-[SecurityPreferences updateMiscellaneousSecurityViews]): disable insecure forms checkbox if its value is forced (-[SecurityPreferences initializeFromDefaults]): disable java checkbox and/or plugins checkbox if its value is forced
  • Preferences.subproj/TabsPreferences.m: (-[TabsPreferences updateViews]): disable each checkbox if its value is forced
  • PrintingAccessoryViewController.m: (-[PrintingAccessoryViewController accessoryView]): disable each checkbox if its value is forced
  • Resources/com.apple.Safari.manifest/Contents/Resources/com.apple.Safari.manifest: updated key names to match latest spec; removed keys that have been removed in latest spec (pfm_print_string and pfm_ui_category); added pfm_titles; removed periods from pfm_descriptions since they aren't sentences; made all keys user-managed
  • Resources/com.apple.Safari.manifest/Contents/Resources/English.lproj/Localizable.strings: created contents from com.apple.Safari.manifest. I did this by hand this time, but wrote bug 3789768 about automating it later.
10:15 AM Changeset in webkit [7458] by darin
  • 1 delete in trunk/LayoutTests/css1/text_properties/text-transform.html

Removed this test, since it doesn't work reliably.
We can bring it back some day if we like.

Sep 4, 2004:

12:59 PM Changeset in webkit [7457] by rjw
  • 3 edits in trunk/WebCore

Fix build problem on panther.

  • khtml/ecma/kjs_html.cpp:
  • khtml/rendering/render_canvasimage.h:
Note: See TracTimeline for information about the timeline view.