⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Feb 28, 2003:

11:44 PM Changeset in webkit [3723] by rjw
  • 2 edits in trunk/WebKit

Make WebDOM* classes private instead of public. This change
was made before but the project file must have been accidentally
overwritten. Make the WebPlugin* classes private.

Reviewed by me.

  • WebKit.pbproj/project.pbxproj:
8:07 PM Changeset in webkit [3722] by darin
  • 4 edits in trunk/WebCore
  • khtml/css/parser.y: Fixed bad check-in that broke the build in a subtle way.
  • khtml/css/parser.cpp: Regenerated.
7:15 PM Changeset in webkit [3721] by trey
  • 26 edits in trunk

WebBrowser:

Large wad of autocomplete-autofill implementation.

AutoFill makes its first appearance. Only triggered by debug menu item now,
with cmd-A equivalent.

A new class AutoFillController, maintains per-form state while the user is
working with the form, and holds a bunch of autofill behavior (and probably
more later when I do some code movement after these changes). State we save
includes what fields have been autofilled, and which fields have matches that
came from AB.

Uses of AB data are saved in the FormsCompletion DB for proper LRU wrt ad-hoc
data entries. To do this we save an "ABMarker" array of info instead of the
raw string used for an ad-hoc entry.

A ProxyABProperty is specified in the ABMappings file in the case where multiple
"real" props are specified so that are contatenated. I needed a single prop
name as a reliable key. (example of this: "Name" fields get FirstName+LastName)

FormCompletionController uses a new class AddressBookMatch for elements in the
_matches array that come from AB. The class is basically an open struct around
a handful of fields.

Reviewed by Chris.

  • BrowserWebController.m: (-[BrowserWebController _closeDataSources:]): Make call to free up autocomplete state when the controller is going away. (-[BrowserWebController close]): Call _closeDataSources.
  • BrowserWindowController.h:
  • BrowserWindowController.m: (-[BrowserWindowController updateKeyboardLoop]): Coding nit - removed internal return in favor of an else clause. (-[BrowserWindowController validateUserInterfaceItem:]): Validate autofill: selector. (-[BrowserWindowController autoFill:]): Just call FormCompletionController. (-[FormDelegate willSubmitForm:withValues:]): Pass along new form param.
  • CompletionController.h: We keep our own _selectedMatchIndex instead of always looking to the tableView's selected row, since the TableView might not exist.
  • CompletionController.m: (-[CompletionController initWithSourceField:]): Init _selectedMatchIndex. (-[CompletionController dealloc]): Make sure stuff is freed, since abortCompletion is no longer freeing these things. (-[CompletionController _selectMatchAtIndex:]): Newly factored code. (-[CompletionController _showMatchesWindow:]): Call factored code. (-[CompletionController abortCompletion]): No longer has distinct behavior from _hideMatchesWindow. I was getting screwed by this method freeing state that I would now later need (like the underlying matching object instead of just the string in the TextField), so we just free the stuff in dealloc. (-[CompletionController selectedMatch]): Factor some code here. Use our _selectedMatchIndex instead of the TableView's selected row. (-[CompletionController reflectSelectedRow]): Call factored code. Exposed for subclassing (removed leading _). (-[CompletionController reflectFinalSelectedRow]): Call factored code. Exposed for subclassing (removed leading _). (-[CompletionController completeString:]): Set _selectedMatchIndex after a query. (-[CompletionController leavingFieldReflectsFinalString]): New hook for diff behavior in forms case. (-[CompletionController controlTextDidEndEditing:]): Conditionally put the final string into the field when we leave the field. Off for URLs, on for forms. (-[CompletionController control:textView:doCommandBySelector:]): Get rid of wrap-around when arrow selecting in dropdown. Call factored code. On CR, only reflect the final string whenever are going to send the action. (-[CompletionController goToItemAtRow:]): Don't perform the TextField's action on double click if we don't perform it when you hit return when the dropdown is showing. (-[CompletionController tableViewSelectionDidChange:]): Name change of reflectSelectedRow.
  • Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): Add menu item.
  • FormCompletionController.h:
  • FormCompletionController.m: (-[FormCompletionController _cryptData:encode:]): Better error msg. (+[FormCompletionController frame:willSubmitForm:withValues:]): Accept new form arg, and use it to look up info about how we edited the form. For any values being submitted that came from AB, store a marker array in the CompletionDB instead of the raw string. Make sure timestamp is always updated, even if the LRU was in the right order. (+[FormCompletionController autoFillInController:]): Handoff to AutofillController. (+[FormCompletionController clearAutoFillStateForFrame:]): Handoff to AutofillController. (-[FormCompletionController initWithSourceField:frame:]): Use formIsLoginForm: instead of elementIsInLoginForm. Remember field's form. (-[FormCompletionController dealloc:): Free field's form. (-[FormCompletionController controlTextDidChange:]): Clear any record we might have had that we autofilled this field, since it has now been edited since. (-[FormCompletionController _indexOfMarkerInMatches:]): Utility method. Find an ABMarker we previously saved that matches the current match from AB we are about to submit. (+[FormCompletionController _abSingleValue:]): Now a class method for use during autofill. Some tighter ASSERT checking. (+[FormCompletionController _abValuesForProperty:key:label:]): Now a class method for use during autofill. Build an AddressBookMatch object for each match instead of just returning the literal string. (+[FormCompletionController _addABMatchesToArray:forString:fieldName:]): Now a class method for use during autofill, field name is param for same reason. For multi-prop ABMappings, make sure AddressBookMatch ends up with the proxy property. When combining ABMatches with previousData matches, replace any markers of a previous ABMatch with the current one, so as to preserve LRU ordering. Also replace any previous literal string matches that happen to match current AB match. (+[FormCompletionController _addPreviousDataMatchesToArray:forString:frame:fieldName:]): Now a class method for use during autofill, new params for same reason. Allow ABMarkers (which are stored as arrays) to pass from the stored data to our matches array that we build. (+[FormCompletionController _matchesForString:frame:fieldName:]): New a class method for use during autofill. Mostly code factored from queryResultsForString. At the very end of the query, filter out any remaining ABMarkers from the results, since those make no sense to show to a user. (stringFromMatch): Utility to make a string from one of out matches, which can now be a literal string or an AddressBookMatch. (matchComparator): New sort comparator that handles strings and AddressBookMatches. (-[FormCompletionController queryResultsForString:startingMatch:]): Much code factored out. Sort using new comparator. (-[FormCompletionController reflectFinalSelectedRow]): Override to possibly record that we filled a field with AB data. (-[FormCompletionController intermediateMatchingStringForResult]): Use stringFromMatch to interpret AddressBookMatches. (-[FormCompletionController finalMatchingStringForResult]): Use stringFromMatch to interpret AddressBookMatches. (-[FormCompletionController leavingFieldReflectsFinalString]): Return YES for different behavior than URL case. (+[AutoFillController _markAutoFilledColor]): Return shares color. (+[AutoFillController autoFillInController]): Do an autofill. Figure out the form to work on, make an autofiller, cut it loose. (+[AutoFillController autoFillerForFrame:form:create:]): Lookup autofiller. (+[AutoFillController abMatchInFrame:form:fieldName:]): Return any AB match we've stuck into for a particular field during the current editing session with that form. (+[AutoFillController recordABMatch:inFrame:form:fieldName:]): Record any AB match we've stuck into for a particular field during the current editing session with that form. (+[AutoFillController clearAutoFillStateForFrame:]): Release any autofillers used for the given frame. (+[AutoFillController clearAutoFilledView:inFrame:form:]): Clear state for a field when it is manually edited. (-[AutoFillController dealloc]): Free our state. (-[AutoFillController _autoFillWidget:rep:]): Do autofill of one widget. (-[AutoFillController autoFill]): Do autofill of our form. (-[AutoFillController recordABMatch:fieldName:]): Record a field that we've set with an ABMatch. (-[AutoFillController clearView:]): Remove a view from the list we've autofilled. (-[AddressBookMatch initWithValue:property:key:label:]): Trivial class' init. (-[AddressBookMatch dealloc:]): Trivial class' dealloc.
  • LocationChangeHandler.m: (-[LocationChangeHandler willCloseLocationForDataSource:]): Implement new callout to free the completion state for that frame.

WebKit:

Various support for autofill/autocomplete.

We receive a form along with the formValues from WC on submit, which we
just pass along to the FormDelegate. As part of this we store the values
and the form together in a new private WebFormState class. Lots of glue
for passing this around instead of just the values dict.

Send willCloseLocationForDataSource when we are finally through with a page.

Reviewed by Darin.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:reload:triggeringEvent:form:formValues:]): Pass along form along with values (-[WebBridge postWithURL:data:contentType:triggeringEvent:form:formValues:]): Pass along form along with values
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]): Call frame to send willCloseLocationForDataSource.
  • WebView.subproj/WebFormDelegate.h:
  • WebView.subproj/WebFormDelegate.m: (-[WebFormDelegate frame:willSubmitForm:withValues:]): Pass form along with values
  • WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Pass FormState instead of just values. (-[WebFrame reload]): Pass FormState instead of just values.
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: <<prepare-ChangeLog flailed on this file>> Lots of routines were we pass FormState instead of the form values dict -([WebFrame _closeOldDataSources]): New, sends willCloseLocation for whole frame tree. New, trivial, WebFormState class.
  • WebView.subproj/WebHTMLRepresentation.h:
  • WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation formIsLoginForm:]): Changed to take form instead of form field. (-[WebHTMLRepresentation formForElement:]): New, just pass through bridge. (-[WebHTMLRepresentation controlsInForm:]): New, just pass through bridge.
  • WebView.subproj/WebLocationChangeDelegate.h: Add willCloseLocationForDataSource.
  • WebView.subproj/WebLocationChangeDelegate.m: (-[WebLocationChangeDelegate willCloseLocationForDataSource:]): Default impl.
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]): Pass FormState instead of just values. (-[WebMainResourceClient resource:willSendRequest:]): Pass FormState instead of just values.

WebCore:

More support for autofill, autocomplete.

Pass the form element along with the values to WK when submitting.

isLoginForm looks for a single plain text field along with password fields, so as not to match registration forms.

Added means to find the "current" form on a page.

Added means to return the whole set of controls on a form.

Reviewed by Darin.

  • khtml/html/html_elementimpl.h: Added isGenericFormElement().
  • khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::isLoginForm): See above. (HTMLFormElementImpl::submit): Also register form when registering values, so it will be sent over bridge.
  • kwq/KWQKHTMLPart.h: New ivar to save form along with form values to be submitted.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Init _formAboutToBeSubmitted ivar. (KWQKHTMLPart::~KWQKHTMLPart): Free _formAboutToBeSubmitted ivar. (KWQKHTMLPart::openURL): Pass form to bridge along with values. (KWQKHTMLPart::openURLRequest): Pass form to bridge along with values. (scanForForm): Helper function to scan forward in the DOM for a form. (KWQKHTMLPart::currentForm): Returns current form. (KWQKHTMLPart::clearRecordedFormValues): Clear _formAboutToBeSubmitted. (KWQKHTMLPart::recordFormValue): Record _formAboutToBeSubmitted too. (KWQKHTMLPart::submitForm): Pass form to bridge along with values. (KWQKHTMLPart::urlSelected): Pass form to bridge along with values.
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::createNewWindow): Pass form to bridge along with values.
  • kwq/KWQTextField.mm: (-[KWQTextField setStringValue:]): Call textChanged so the changes actually make it to khtml.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (viewForElement): New helper. (formElementFromDOMElement): New helper. (-[WebCoreBridge formIsLoginForm:]): Changed API to operate on a form instead of a field. (-[WebCoreBridge currentForm]): New method, described above. (-[WebCoreBridge controlsInForm:]): New method, described above.
  • kwq/WebCoreDOMNode.mm: (-[WebCoreDOMNode isEqual:]): Implement this to == compare the element we contain. (-[WebCoreDOMNode hash]): Implement to hash element ptr we contain.
6:45 PM Changeset in webkit [3720] by mjs
  • 10 edits in trunk

WebCore:

Reviewed by Trey.

  • fixed 3180170 - filepile.com does not work correctly

I fixed this by making referrer work correctly for targetted
cross-frame and cross-window links. It is still not working right
for JavaScript window.open though.

  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Add some FIXMEs about not handling referrer right.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURL): Pass referrer. (KWQKHTMLPart::openURLRequest): Pass referrer. (KWQKHTMLPart::submitForm): Pass referrer. (KWQKHTMLPart::urlSelected): Pass referrer.
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::createNewWindow): Pass referrer.
  • kwq/WebCoreBridge.h: Ad referrer argument to loadURL:

WebKit:

Reviewed by Trey.

  • fixed 3180170 - filepile.com does not work correctly

I fixed this by making referrer work correctly for targetted
cross-frame and cross-window links. It is still not working right
for JavaScript window.open though.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): Set referrer. (-[WebBridge loadURL:referrer:reload:triggeringEvent:formValues:]): Pass referrer along to frame. (-[WebBridge postWithURL:referrer:data:contentType:triggeringEvent:formValues:]): Likewise.
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass referrer. (-[WebFrame _loadURL:referrer:loadType:triggeringEvent:formValues:]): Use passed-in referrer (link could have been clicked in another frame). (-[WebFrame _loadURL:intoChild:]): Pass referrer. (-[WebFrame _postWithURL:referrer:data:contentType:triggeringEvent:formValues:]): Use passed-in referrer.
3:19 PM Changeset in webkit [3719] by hyatt
  • 3 edits in trunk/WebCore

Exclude <BR>s from the text-dec check. Really fixes 3185121.

Reviewed by john

  • khtml/rendering/render_line.cpp: (shouldDrawDecoration):
3:10 PM Changeset in webkit [3718] by darin
  • 5 edits in trunk/WebCore

Reviewed by Dave.

  • fixed some storage leaks; this code is still leaking when we run cvs-base
  • khtml/css/parser.y: (import): Use the new maybe_media_list (ported from KDE), and delete the media list if the current item we are parsing is not a style sheet. (maybe_media_list): Added. (ported from KDE). (media_list): Added error case so we don't leak in that case (ported from KDE). (media): Use media_list instead of media_list2 (ported from KDE). (selector_list): Added error case so we don't leak in that case (ported from KDE). (selector): Added error case so we don't leak in that case (ported from KDE). (simple_selector): Added nil-checking (ported from KDE). (element_name): Use 0xFFFF instead of -1 (ported from KDE). (specifier_list): Added error case so we don't leak in that case (ported from KDE). (declaration): Delete the expr if we don't use it because property is 0. (expr): Added error case so we don't leak in that case (ported from KDE).
  • khtml/css/cssparser.cpp: (CSSParser::parseSheet): Delete the rule in case one was created. (CSSParser::parseRule): Zero out the rule after extracting it to return. (CSSParser::parseValue): Delete the rule in case one was created. (CSSParser::parseDeclaration): Delete the rule in case one was created.
  • khtml/css/parser.cpp: Regenerated.
2:07 PM Changeset in webkit [3717] by darin
  • 4 edits in trunk/WebKit

Reviewed by Trey.

The page had history.forward(1) which was causing us to reload.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge goBackOrForward:]): Handle edge cases by checking backListCount and forwardListCount at this level. Be sure to do nothing when we are already on the right page.
  • History.subproj/WebBackForwardList.h: Added forwardListCount, updated comment for entryAtIndex.
  • History.subproj/WebBackForwardList.m: (-[WebBackForwardList forwardListCount]): Added. (-[WebBackForwardList entryAtIndex:]): Return nil for out of range indices.
2:06 PM Changeset in webkit [3716] by hyatt
  • 3 edits in trunk/WebCore

Fix for text-dec regression, 3185121.

Reviewed by john

  • khtml/rendering/render_line.cpp: (shouldDrawDecoration):
3:15 AM Changeset in webkit [3715] by mjs
  • 5 edits in trunk/WebKit

WebKit:

Reviewed by Richard.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge window]): Avoid calling removed call.
  • WebView.subproj/WebView.m: Remove override of window method.
  • WebView.subproj/WebWindowOperationsDelegate.h: Adjust for new API.

WebBrowser:

Reviewed by Richard.

Minimal implementation of new window operations delegate API.

  • BrowserWebController.m: (-[BrowserWebController closeWindow]): (-[BrowserWebController focusWindow]): (-[BrowserWebController unfocusWindow]): (-[BrowserWebController firstResponderInWindow]): (-[BrowserWebController makeFirstResponderInWindow:]): (-[BrowserWebController isResizable]): (-[BrowserWebController setResizbale:]): (-[BrowserWebController setFrame:]): (-[BrowserWebController frame]):

Feb 27, 2003:

12:08 PM Changeset in webkit [3714]
  • 3 copies in tags/Safari-64

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

12:08 PM Changeset in webkit [3713] by sheridan
  • 8 edits in trunk

needed to bump build # to 64

11:10 AM Changeset in webkit [3712] by sheridan
  • 3 edits in trunk

starting 64 train

10:58 AM Changeset in webkit [3711]
  • 3 copies in tags/Safari-63

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

10:58 AM Changeset in webkit [3710] by sheridan
  • 8 edits in trunk

63 stamp

Feb 26, 2003:

5:15 PM Changeset in webkit [3709] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin.

  • fixed 3156705 - REGRESSION: javascript menus improperly placed at umich.edu store
  • kjs/nodes.cpp: (StatListNode::execute): If the first statement's completion is not normal, return immediately.
3:38 PM Changeset in webkit [3708] by hyatt
  • 4 edits in trunk/WebCore

Additional cleanup. Don't need the arg to be a reference param
any more.

Reviewed by mjs

  • khtml/rendering/render_object.cpp: (RenderObject::getTextDecorationColors):
  • khtml/rendering/render_object.h:
3:22 PM Changeset in webkit [3707] by mjs
  • 11 edits in trunk

WebCore:

Reviewed by Dave.

This was a set of mutually recursive frameset pages. This allows
the number of frames to grow huge, which kills both WebCore and
WebKit, so I added a hard limit of 200 total frames per page.

  • khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::isURLAllowed): (HTMLFrameElementImpl::attach): (HTMLFrameElementImpl::detach): (HTMLIFrameElementImpl::attach):
  • khtml/html/html_baseimpl.h:
  • khtml/khtml_part.cpp: (KHTMLPart::init): (KHTMLPart::incrementFrameCount): (KHTMLPart::decrementFrameCount): (KHTMLPart::topLevelFrameCount):
  • khtml/khtml_part.h:

WebKit:

Reviewed by Dave.

WebKit's processing time was O(N3) in the number of
frames. Improved it to O(N
2) by storing frame pointer directly in
WebDataSource instead of linear scan. Could still be improved more.

  • WebView.subproj/WebDataSource.m: (-[WebDataSource webFrame]):
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _stopLoadingWithError:]): (-[WebDataSource _setWebFrame:]):
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): (-[WebFrame _setDataSource:]): (-[WebFrame _transitionToCommitted:]): (-[WebFrame _isLoadComplete]): (-[WebFrame _clearProvisionalDataSource]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]): (-[WebFrame _loadDataSource:withLoadType:formValues:]): (-[WebFrame _setProvisionalDataSource:]):
3:10 PM Changeset in webkit [3706] by hyatt
  • 6 edits in trunk/WebCore

Fix numerous regressions with text-decoration in quirks mode and
also fixed a bug where text-decoration:none is not being honored
on links.

Reviewed by mjs

  • khtml/css/cssstyleselector.cpp:
  • khtml/rendering/render_object.cpp: (RenderObject::getTextDecorationColors):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_text.cpp: (TextRun::paintDecoration):
1:39 PM Changeset in webkit [3705] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3179109. containingBlock() had a big old bug in it.
For ABSOLUTE positioned elements, it would return inline relative
positioned parents (when it should only be returning blocks).

Reviewed by john

  • khtml/rendering/render_object.cpp: (RenderObject::containingBlock):
12:59 PM Changeset in webkit [3704] by rjw
  • 8 edits in trunk/WebKit

Fixed 3102760. Removed WebDocumentDragSettings from API.

Reviewed by Chris.

  • WebView.subproj/WebDocument.h:
  • WebView.subproj/WebHTMLView.h:
  • WebView.subproj/WebHTMLView.m:
  • WebView.subproj/WebImageView.h:
  • WebView.subproj/WebImageView.m: (-[WebImageView initWithFrame:]): (-[WebImageView mouseDragged:]):
  • WebView.subproj/WebTextView.h:
  • WebView.subproj/WebTextView.m: (-[WebTextView initWithFrame:]): (-[WebTextView layout]):
12:25 AM Changeset in webkit [3703] by hyatt
  • 5 edits in trunk/WebCore

Fix for findNextLayer problems. There was nothing wrong with
findNextLayer per se... it was just getting called *way* more
often than it needed to be.

Fixes two bugs, 3159866 and 3168815.

Reviewed by darin

  • khtml/rendering/render_container.cpp: (RenderContainer::appendChildNode): (RenderContainer::insertChildNode):
  • khtml/rendering/render_object.cpp: (addLayers): (RenderObject::addLayers):
  • khtml/rendering/render_object.h:

Feb 25, 2003:

10:18 PM Changeset in webkit [3702] by darin
  • 4 edits in trunk/WebCore

Reviewed by Trey.

  • fixed 3177139 -- REGRESSION: tiny buttons with no text on dbaron test page

This is actually a shortcoming in XML support. The reason it seemed like a regression
is that this page was parsed as HTML before we had the XML support.

  • khtml/xml/xml_tokenizer.cpp: (XMLHandler::startElement): As the HTML tokenizer/parser does, call init() on all DOM tree elements before calling attach(). The KHTML guys want to get rid of init(), but until they do, we need the same thing here as in the HTML version. (XMLHandler::startCDATA): Ditto. (XMLHandler::enterText): Ditto.
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): Fix an obvious editing error that would lead to a second attach.
7:52 PM Changeset in webkit [3701] by hyatt
  • 3 edits in trunk/WebCore

Revert one of my optimizations. It was bogus. You can't use
the parsed value of "inherit."

Fixes versiontracker. Bug #3178204

Reviewed by mjs

  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::createSharedCellDecls):
6:38 PM Changeset in webkit [3700] by hyatt
  • 3 edits in trunk/WebCore

reverseRuns was buggy and crashing. 3182658.

Reviewed by mjs

  • khtml/rendering/bidi.cpp:
5:46 PM Changeset in webkit [3699] by hyatt
  • 3 edits in trunk/WebCore

Regression caused by my inclusion of inline flows in the bidi
iteration. These flows are always empty and should be skipped
if found at the start of a line.

The bug # is 3175670.

Reviewed by NOBODY (OOPS!).

  • khtml/rendering/bidi.cpp:
4:56 PM Changeset in webkit [3698] by hyatt
  • 2 edits in trunk/WebKit

Fix for bug #3181249. Ensure the padding argument gets passed
through properly (instead of just passing 0).

Reviewed by darin

  • WebCoreSupport.subproj/WebTextRenderer.m:
4:34 PM Changeset in webkit [3697] by hyatt
  • 3 edits in trunk/WebCore

Fix for bug 3166276. <tt> uses wrong font size inside a table.
Make sure logical font values like "medium" don't set the "size
specified" bit on the font, so that the generic family change
code will get activated.

Reviewed by darin

  • khtml/css/cssstyleselector.cpp:
2:28 PM Changeset in webkit [3696] by darin
  • 7 edits in trunk/WebCore

Reviewed by me, changes by Dave.

  • fixed 3181790 -- REGRESSION: TextRun objects of length 0 or with just the character '\n' leak
  • khtml/rendering/render_text.cpp: (RenderText::position): Destroy the passed-in TextRun if it's the kind that's not needed, rather than just returning.
  • fixed 3181794 -- REGRESSION: objects created by RenderObject::createInlineBox leak
  • khtml/rendering/render_box.cpp: (RenderBox::position): Only do work for replaced elements, and for those elements, destroy the passed-in InlineBox. Dave says this is not the real solution, but it does plug the leak.
  • khtml/rendering/render_flow.cpp: (RenderFlow::createInlineBox): Call through to the inherited createInlineBox for all replaced elements. This code was making the wrong kind of InlineBox for replaced elements.
  • removed Id cvs magic string which causes big headaches in generated files
  • khtml/css/parser.cpp: Removed Id cvs magic string.
  • khtml/css/parser.y: Removed Id cvs magic string.
12:00 PM Changeset in webkit [3695] by hyatt
  • 43 edits
    9 adds in trunk/WebCore

The new CSS1 parser, implementation of attr(), improvement of
the content property, impl of the :target selector, and new
dotted/dashed line drawing code for borders.

Reviewed by darin/gramps

  • ForwardingHeaders/css/css_base.h: Added.
  • WebCore.pbproj/project.pbxproj:
  • khtml/css/Makefile.am:
  • khtml/css/css_base.cpp: Added. (StyleBaseImpl::checkLoaded): (StyleBaseImpl::stylesheet): (StyleBaseImpl::baseURL): (StyleBaseImpl::setParsedValue): (StyleListImpl::~StyleListImpl): (CSSSelector::print): (CSSSelector::specificity): (CSSSelector::extractPseudoType): (CSSSelector::operator == ): (CSSSelector::selectorText):
  • khtml/css/css_base.h: Added.
  • khtml/css/css_ruleimpl.cpp: (CSSRuleImpl::parentRule): (CSSImportRuleImpl::CSSImportRuleImpl): (CSSImportRuleImpl::~CSSImportRuleImpl): (CSSImportRuleImpl::setStyleSheet): (CSSImportRuleImpl::init): (CSSMediaRuleImpl::CSSMediaRuleImpl): (CSSMediaRuleImpl::append): (CSSMediaRuleImpl::insertRule): (CSSStyleRuleImpl::setDeclaration): (CSSStyleRuleImpl::setNonCSSHints):
  • khtml/css/css_ruleimpl.h:
  • khtml/css/css_stylesheetimpl.cpp: (CSSStyleSheetImpl::CSSStyleSheetImpl): (CSSStyleSheetImpl::insertRule): (CSSStyleSheetImpl::cssRules): (CSSStyleSheetImpl::parseString): (MediaListImpl::deleteMedium):
  • khtml/css/css_stylesheetimpl.h:
  • khtml/css/css_valueimpl.cpp: (CSSStyleDeclarationImpl::getPropertyValue): (CSSStyleDeclarationImpl::get4Values): (CSSStyleDeclarationImpl::getShortHandValue): (CSSStyleDeclarationImpl::getPropertyCSSValue): (CSSStyleDeclarationImpl::removeProperty): (CSSStyleDeclarationImpl::getPropertyPriority): (CSSStyleDeclarationImpl::setProperty): (CSSStyleDeclarationImpl::setLengthProperty): (CSSPrimitiveValueImpl::CSSPrimitiveValueImpl): (CSSPrimitiveValueImpl::cleanup): (CSSPrimitiveValueImpl::computeLength): (CSSPrimitiveValueImpl::computeLengthFloat): (CSSPrimitiveValueImpl::setFloatValue): (CSSPrimitiveValueImpl::cssText): (FontFamilyValueImpl::FontFamilyValueImpl): (FontValueImpl::FontValueImpl): (FontValueImpl::~FontValueImpl):
  • khtml/css/css_valueimpl.h:
  • khtml/css/cssparser.cpp: (qFatal): (ValueList::ValueList): (ValueList::~ValueList): (ValueList::addValue): (CSSParser::CSSParser): (CSSParser::~CSSParser): (CSSParser::parseSheet): (CSSParser::parseRule): (CSSParser::parseValue): (CSSParser::parseDeclaration): (CSSParser::addProperty): (CSSParser::createStyleDeclaration): (CSSParser::clearProperties): (CSSParser::document): (validUnit): (CSSParser::parseShortHand): (CSSParser::parse4Values): (CSSParser::parseContent): (CSSParser::parseShape): (CSSParser::parseFont): (CSSParser::parseFontFamily): (parseColor): (CSSParser::parseColor): (yyerror): (DOM::CSSParser::lex): (toHex): (DOM::CSSParser::text):
  • khtml/css/cssparser.h:
  • khtml/css/cssproperties.c: (findProp):
  • khtml/css/cssproperties.h:
  • khtml/css/cssproperties.in:
  • khtml/css/cssstyleselector.cpp:
  • khtml/css/cssstyleselector.h:
  • khtml/css/cssvalues.c: (hash_val): (findValue):
  • khtml/css/cssvalues.h:
  • khtml/css/cssvalues.in:
  • khtml/css/html4.css:
  • khtml/css/parser.cpp: Added. (DOM::getPropertyID): (getValueID): (cssyyerror): (cssyylex): (yy_memcpy):
  • khtml/css/parser.h: Added.
  • khtml/css/parser.y: Added.
  • khtml/css/quirks.css: Added.
  • khtml/css/tokenizer.cpp: Added.
  • khtml/css/tokenizer.flex: Added.
  • khtml/dom/css_value.h:
  • khtml/dom/html_element.cpp:
  • khtml/ecma/kjs_css.cpp:
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseAttribute):
  • khtml/html/html_blockimpl.cpp: (HTMLDivElementImpl::parseAttribute): (HTMLHRElementImpl::attach): (HTMLParagraphElementImpl::parseAttribute):
  • khtml/html/html_elementimpl.cpp: (isHexDigit): (toHex): (HTMLElementImpl::addHTMLColor):
  • khtml/html/html_elementimpl.h:
  • khtml/html/html_inlineimpl.cpp: (HTMLFontElementImpl::parseAttribute):
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::parseAttribute): (HTMLTableElementImpl::attach): (HTMLTablePartElementImpl::parseAttribute): (HTMLTableCellElementImpl::parseAttribute):
  • khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor):
  • khtml/misc/helper.h:
  • khtml/rendering/render_body.cpp: (RenderBody::setStyle):
  • khtml/rendering/render_list.cpp: (RenderListMarker::lineHeight): (RenderListMarker::baselinePosition):
  • khtml/rendering/render_style.cpp: (RenderStyle::setContent):
  • khtml/rendering/render_style.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::setFocusNode): (DocumentImpl::setCSSTarget): (DocumentImpl::getCSSTarget):
  • khtml/xml/dom_docimpl.h:
  • kwq/KWQChar.mm: (QChar::upper):
  • kwq/KWQColor.h:
  • kwq/KWQKStandardDirs.mm: (locate):
  • kwq/KWQPainter.mm: (QPainter::drawLine):
  • kwq/KWQString.h:
11:47 AM Changeset in webkit [3694] by sullivan
  • 4 edits in trunk/WebKit

WebKit:

WebKit part of fix for 3181290 -- need call to reload all bookmarks from disk,
for synching's sake.

I ended up not adding a new call, but making the existing loadBookmarkGroup
work better when called after the initial load. It wasn't doing anything wrong
before; it just wasn't passing along enough information to clients to enable
them to do the right thing.

Reviewed by Trey

  • Bookmarks.subproj/WebBookmarkGroup.h: new extern NSStrings WebBookmarksWillBeReloadedNotification and WebBookmarksWereReloadedNotification
  • Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup _sendNotification:forBookmark:children:]): soften assert so it doesn't fire on the new cases.

(-[WebBookmarkGroup _bookmarksWillBeReloaded]):
send WebBookmarksWillBeReloadedNotification
(-[WebBookmarkGroup _bookmarksWereReloaded]):
send WebBookmarksWereReloadedNotification

(-[WebBookmarkGroup _loadBookmarkGroupGuts]):
bracket the load with the new notification-sending calls

  • WebKit.exp: add the two new extern NSStrings

WebBrowser:

WebBrowser part of fix for 3181290 -- need call to reload all
bookmarks from disk, for synching's sake

Reviewed by Trey

  • BookmarksController.m: (-[BookmarksController _receivedBookmarksWereReloadedNotification:]): new method; parallel to _receivedBookmarksChangedNotification. Unlike that method, this one does not trigger a save-bookmars-to-disk. (Also this one updates the top-level data structures.) (-[BookmarksController awakeFromNib]): register for WebBookmarksWereReloadedNotifications from our group.
  • BookmarksViewController.m: (-[BookmarksViewController updateUIForChangeToBookmark:includingChildren:]): Changed title from ...andChildren:. Used to take array of children, now just takes a boolean. The array was being converted into a boolean immediately, and rather than add yet another caller that created an array for the sole purpose of passing it to this method, I changed the method to take the boolean and updated all callers. (-[BookmarksViewController bookmarksChanged:]): handle reload case by getting top changed bookmark from bookmark group that is the notification object (-[BookmarksViewController awakeFromNib]): register for WebBookmarksWereReloadedNotification from our bookmark group (-[BookmarksViewController newSourceFolder]): update for parameter change in updateUIForChangeToBookmark:includingChildren: (-[BookmarksViewController undoNewBookmark:]): ditto (-[BookmarksViewController redoNewBookmark:]): ditto (-[BookmarksViewController newContentItemWithTitle:URLString:type:positionIgnoresSelection:]): ditto (-[BookmarksViewController changeTitleForBookmark:to:]): ditto (-[BookmarksViewController changeAddressForBookmark:to:]): ditto
  • URLCompletionController.m: (+[URLCompletionController _loadDB]): removed false part of comment (+[URLCompletionController _registerForNotifications]): register for WebBookmarksWereReloadedNotification, call _reloadDB
10:18 AM Changeset in webkit [3693] by darin
  • 4 edits in trunk/WebKit

WebKit:

Reviewed by John.

  • fixed 3176962 -- add KHTML somewhere in the user agent string
  • English.lproj/StringsNotToBeLocalized.txt: Change "(like Gecko)" to "(KHTML, like Gecko)".
  • WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Ditto.

WebBrowser:

Reviewed by John.

  • fixed 3176962 -- add KHTML somewhere in the user agent string
  • Debug/DebugUtilities.m: (-[DebugUtilities userAgentSubmenuItem]): Change "(like Gecko)" to "(KHTML, like Gecko)".

Feb 24, 2003:

3:09 PM Changeset in webkit [3692] by mjs
  • 4 edits in trunk/WebCore

Reviewed by John.

  • fixed 3167642 - crash in renderArena.
  • khtml/html/html_documentimpl.h:
  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::HTMLDocumentImpl): Added new processingLoadEvent bool. (HTMLDocumentImpl::close): Guard against re-entering the load event handler.
10:33 AM Changeset in webkit [3691] by darin
  • 3 edits in trunk/WebCore

Reviewed by Ken.

  • fixed 3179059 -- CSS1: capitalized letters should remain capitalized when text-transform: capitalize is applied
  • khtml/xml/dom_stringimpl.cpp: (DOMStringImpl::capitalize): Capitalize the first letters of words, but don't make any letters lowercase.
Note: See TracTimeline for information about the timeline view.