Timeline



Aug 16, 2002:

8:30 PM Changeset in webkit [1858] by darin
  • 17 edits in trunk

WebCore:

  • kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::userAgent): Call bridge's userAgentForURL: method.
  • kwq/WebCoreBridge.h: Added userAgentForURL: to the protocol

WebKit:

Step 3 in adding user agent API to WebKit and WebFoundation.
Add the calls to WebKit to configure the user-agent string.
Change WebCore to get the user-agent from WebKit via the bridge.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge userAgentForURL:]): Added. Calls [WebController userAgentForURL:].
  • WebView.subproj/WebController.h: Add three new methods.
  • WebView.subproj/WebController.m: (-[WebController setApplicationNameForUserAgent:]): Store an application name that will be used to build up the user-agent string. (-[WebController setUserAgent:]): Set an override user agent; mainly useful for testing user-agent strings different from the one WebKit supplies. (-[WebController userAgentForURL:]): Public API for getting the user agent string that the WebController will use for a particular URL.
  • WebView.subproj/WebControllerPrivate.h: Add fields for the user-agent parameters.
  • WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate dealloc]): Release both strings when the controller goes away.
8:08 PM Changeset in webkit [1857] by darin
  • 3 edits in trunk/WebKit

Missed one call to [WebResourceHandle initWithURL:].

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCache:size:]): Change to call [WebResourceHandle initWithClient:URL:] with nil for the client.
8:04 PM Changeset in webkit [1856] by darin
  • 6 edits in trunk/WebKit

Oops. Forgot to save in Project Builder before committing.

  • Plugins.subproj/WebPluginStream.m:
  • WebView.subproj/WebDataSource.m:
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m:
8:02 PM Changeset in webkit [1855] by darin
  • 11 edits
    1 delete in trunk/WebCore

Step 2 in adding user agent API to WebKit and WebFoundation.
In this step, I change WebCore so that it the KWQKHTMLPartImpl
is responsible for fetching the user agent. Later it will
get the user agent from WebKit via the bridge.

  • khtml/ecma/kjs_navigator.cpp: (Navigator::getValueProperty): Get the user agent from the part, not KProtocolManager.
  • khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::initScript): Get the user agent from the part, not KProtocolManager.
  • kwq/KWQKHTMLPartImpl.h: Add userAgent member function.
  • kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::userAgent): Added.
  • WebCore.pbproj/project.pbxproj: Removed KWQKProtocolManager.mm.
  • kwq/KWQKProtocolManager.mm: Removed.
  • kwq/kio/kprotocolmanager.h: Made empty.
8:01 PM Changeset in webkit [1854] by darin
  • 9 edits in trunk/WebKit

top level:

  • Tests/WebFoundationC/ifurlhandlec-test.c: (run): Keep this test compiling. It won't run any more, though.

WebFoundation:

Step 1 in adding user agent API to WebKit and WebFoundation.
In this step, I change WebResourceHandle's API so that there's only
one client per handle, passed in at init time. I haven't changed the
internals of WebResourceHandle yet.

  • CacheLoader.subproj/IFHTTPURLHandleC.m: Remove IFHTTPURLHandleCreate.
  • CacheLoader.subproj/IFURLHandleC.m: Remove IFURLHandleCreate.
  • CacheLoader.subproj/WebHTTPResourceHandle.m: Remove unneeded init methods that just did the same thing the superclass would have.
  • CacheLoader.subproj/WebResourceHandle.h: Remove addClient and removeClient methods. Add client parameter to all the init methods.
  • CacheLoader.subproj/WebResourceHandle.m: (-[WebResourceSynchronousClient run:]): Don't addClient here. Caller is responsible for that. (-[WebResourceHandle loadInForeground:]): Add client to the clients list. (-[WebResourceHandle initWithClient:URL:]): Pass client parameter through. (-[WebResourceHandle initWithClient:URL:cached:]): Pass client parameter through. (-[WebResourceHandle initWithClient:URL:attributes:flags:]): Rearrange the function. The only substantive change is that the passed-in client is added to the clients list.
  • WebFoundation.exp: Don't export _IFHTTPURLHandleCreate and _IFURLHandleCreate any more.

WebKit:

Update for change to the WebResourceHandle API where the client is
passed in at init time.

  • Misc.subproj/WebIconLoader.m: (-[WebIconLoader iconFromCache]): Pass self as client when creating handle for foreground "only if cached" load. Also don't put the handle into the class's data structure in this case. (-[WebIconLoader startLoading]): Pass self as client when creating handle instead of making a separate addClient call. Also fix potential leak if this is called when we are already loading. (-[WebIconLoader stopLoading]): Release the handle and nil it out right here.
  • Plugins.subproj/WebPluginStream.m: (-[WebPluginStream startLoad]): Pass client when creating handle rather than doing an addClient afterward. (-[WebPluginStream stop]): Don't do a removeClient.
  • WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]):
  • WebView.subproj/WebDataSource.m: (-[WebDataSource initWithURL:attributes:flags:]): Pass client when creating handle.
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): Since client is not created in init, don't bother creating it here.
3:29 PM Changeset in webkit [1853] by sullivan
  • 5 edits
    2 adds in trunk/WebKit

WebKit:

Split searchability out from WebTextView so it could be used
elsewhere (specifically, in DOM window).

  • Misc.subproj/WebSearchableTextView.h: Added.
  • Misc.subproj/WebSearchableTextView.m: Added. (-[WebSearchableTextView searchFor:direction:caseSensitive:]): (-[NSString findString:selectedRange:options:wrap:]): New class, split out from WebTextView, which now inherits from it.
  • WebView.subproj/WebTextView.h:
  • WebView.subproj/WebTextView.m: Took out the searching stuff and put it in WebSearchableTextView; made WebTextView inherit from WebSearchableTextView.
  • WebKit.pbproj/project.pbxproj: Added new files, made WebSearchableTextView.h be Private.

WebBrowser:

Made Find on Page work in DOM window; useful for debugging.

  • Debug/DOMTree.h: Turned DOMTree into an NSWindowController, and implement protocol ProvidesSearchTarget
  • Debug/DOMTree.m: (-[DOMTree windowNibName]): standard NSWindowController stuff. (-[DOMTree targetForSearch]): return the textview (-[DOMTree awakeFromNib]): set properties of the textview; for some reason, Interface Builder won't let you make an NSTextView be a custom subview class in the nib, so you have to use a custom class, so you can't set the standard NSTextView settings in the nib. (-[DOMTree itemSelected:]): Fixed typo, removed unnecessary return value.
  • Debug/DebugUtilities.m: (-[BrowserDocument showDOMTree:]): removed nib-loading line since NSWindowControllers do this automatically.
  • Debug/DOMTree.nib: Made text view be a WebSearchableTextView; also tweaked layout just a little (so "#document" doesn't clip by default, e.g.)
12:21 PM Changeset in webkit [1852] by darin
  • 6 edits in trunk/JavaScriptCore

Fix the Development build.

  • kjs/object.cpp: Take out a use of ReferenceType.
  • kjs/ustring.h: Added a bit more inlining.
  • kjs/ustring.cpp: Moved the function out of here.
12:10 PM Changeset in webkit [1851] by mjs
  • 4 edits in trunk/WebCore
12:07 PM Changeset in webkit [1850] by mjs
  • 11 edits in trunk/JavaScriptCore

Final step of the Reference change. Completely separate Reference
from Value, and eliminate ReferenceImp.

18% speedup on cvs-js-performance test.

  • kjs/internal.cpp, kjs/internal.h: Remove ReferenceImp.
  • kjs/nodes.cpp: (Node::evaluateReference): Use Reference::makeValueReference(), not ConstReference.
  • kjs/reference.cpp: (Reference::Reference): New implementation, handles both regular and value references. (Reference::makeValueReference): Incorporate functionality of ConstReference into this class. (Reference::getBase): New implementation (incorporates error vase for value references). (Reference::getPropertyName): New implementation (incorporates error case for value references). (Reference::putValue): New implementation (incorporates error case for value references). (Reference::deleteValue): New implementation (incorporates error case for value references). (Reference::getValue): New implementation (incorporates special case for value references). (Reference::isMutable): New implementation.
  • kjs/reference.h: New implementation that merges ReferenceImp into the stack object.
  • kjs/value.h, kjs/value.cpp: Removed all reference-related method.
11:15 AM Changeset in webkit [1849] by sullivan
  • 4 edits in trunk/WebKit

WebKit:

  • fixed 3025394 -- Bookmarks & History items do not remember their icons across launches
  • fixed 3025421 -- Dragging from location field proxy icon to favorites bar loses page icon
  • part of fix for 3026279 -- Bookmarks should lose their favIcons when the URL is edited
  • Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): (-[WebBookmarkLeaf dictionaryRepresentation]): Removed the #ifdeffed-out code for storing iconURL in dictionary; this was unnecessary because it is also done by the lower-level WebHistoryItem.
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem _setIcon:]): New method, extracted from -icon for clarity. (-[WebHistoryItem icon]): Fixed problem where once an icon was set it would never be changed, even if the iconURL is changed. Also, use _setIcon for clarity and to fix retainCount bugs. (-[WebHistoryItem dictionaryRepresentation]): Removed the #ifdef around the line that stores the URL in the dictionary. Gramps decided that this architecture is OK after all.

WebBrowser:

  • part of fix for 3026279 -- Bookmarks should lose their favIcons when the URL is edited
  • BookmarksController.m: (-[BookmarksController _changeAddressForBookmark:to:withIconURL:]): Added iconURL parameter to this method; use new iconURL and remember old one in Undo info. (-[BookmarksController _undoAddressChange:]): Now resets the iconURL as well as the address. (-[BookmarksController outlineView:setObjectValue:forTableColumn:byItem:]): pass nil for new iconURL when address is changed. Also canonicalize URL if possible to minimize clobbering favIcons with insignificant address changes; this has the nice side benefit of instantly displaying the URL-ized form of the user-entered text in the Bookmarks window, a feature that Maciej has long thought would be useful.
  • OutlineViewPlus.m: (-[OutlineViewPlus textDidEndEditing:]): Revert change I made yesterday that broke the tabbing case; added comment.
11:04 AM Changeset in webkit [1848] by darin
  • 10 edits in trunk/WebCore
  • fixed 3023851 -- screen garbage created by scrolling text

Our implementation of clipRegion didn't reflect the clip that was
already set for the view, so we drew outside the view. To fix it,
I eliminated the clipRegion call and changed clients to use a new
addClip call instead that doesn't require getting the clip in the
form of a region (which is not really possible with CoreGraphics).

  • khtml/rendering/render_box.cpp: (RenderBox::calcClip): Call addClip instead of clipRegion(), intersect(), setClipRegion().
  • kwq/qt/qpainter.h: Added addClip(), removed clipRegion(), setClipRegion().
  • kwq/KWQPainter.mm: (QPainter::addClip): Calls [NSBezierPath clipRect:].
  • kwq/qt/qregion.h: Went back to a single-path implementation, since we don't need intersect() any more. Also removed isNull() and setClip().
  • kwq/KWQRegion.mm: (QRegion::QRegion): New simpler versions. (QRegion::~QRegion): Release the path. (QRegion::operator=): Copy the other path. (QRegion::contains): Call [containsPoint:]. (QRegion::translate): Call [transformUsingAffineTransform:]. (QRegion::boundingRect): Call [bounds].
10:29 AM Changeset in webkit [1847] by darin
  • 3 edits in trunk/WebKit

Fixed broken build.

  • Misc.subproj/WebTestController.m: Added empty placeholder methods.
9:51 AM Changeset in webkit [1846] by darin
  • 4 edits in trunk/JavaScriptCore
  • kjs/simple_number.h: (SimpleNumber::value): Fixed conversion to a negative number. The technique of using division was no good. Instead, or in the sign bits as needed.
8:47 AM Changeset in webkit [1845] by darin
  • 5 edits in trunk/WebCore
  • fixed 3026042 -- hide frames button at developer documentation doesn't work

This regression was introduced by the anchor changes we made just after
the Alexander-15 release.

  • kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected): Make decisions about special handling for links with anchors based on the target frame, not the current frame.
5:31 AM Changeset in webkit [1844] by mjs
  • 4 edits in trunk/JavaScriptCore
  • kjs/reference_list.h: Must include headers with "", not <>. D'oh!
5:04 AM Changeset in webkit [1843] by mjs
  • 4 edits in trunk/WebCore
5:01 AM Changeset in webkit [1842] by mjs
  • 4 edits in trunk/JavaScriptCore
  • JavaScriptCore.pbproj/project.pbxproj: Install reference.h and reference_list.h so WebCore compiles (duh).
3:25 AM Changeset in webkit [1841] by mjs
  • 8 edits
    3 adds in trunk/JavaScriptCore

Next step: reimplement ReferenceList from scratch, and store it as
an actual Reference object, so ReferenceList no longer depends on
Reference being a Value or having a ReferenceImp. A resizing
vector might be even better the way this is used.

Also moved Reference to its own header and implementation file in
preparation for reimplementing it.

  • JavaScriptCore.pbproj/project.pbxproj:
  • kjs/nodes.cpp: (ForInNode::execute):
  • kjs/reference.cpp: Added. (Reference::Reference): (Reference::dynamicCast): (ConstReference::ConstReference):
  • kjs/reference.h: Added.
  • kjs/reference_list.cpp: Added. (ReferenceList::ReferenceList): (ReferenceList::operator=): (ReferenceList::swap): (ReferenceList::append): (ReferenceList::~ReferenceList): (ReferenceList::begin): (ReferenceList::end): (ReferenceListIterator::ReferenceListIterator): (ReferenceListIterator::operator!=): (ReferenceListIterator::operator->): (ReferenceListIterator::operator++):
  • kjs/reference_list.h:
  • kjs/types.cpp:
  • kjs/types.h:
3:17 AM Changeset in webkit [1840] by mjs
  • 5 edits in trunk/JavaScriptCore

Fix Development build - some NDEBUG code had to be changed for the
Value/Reference split.

  • kjs/internal.cpp: (KJS::printInfo):
  • kjs/nodes.cpp: (FunctionCallNode::evaluate):
1:20 AM Changeset in webkit [1839] by hyatt
  • 5 edits in trunk/WebCore

Fix for the intuit.com and eweek.com <form><tr> bgcolor problem.
Improve the error handling of the parser so that it doesn't
lose attributes when errors like this occur in a page.

  • khtml/html/htmlparser.cpp: (KHTMLParser::~KHTMLParser): (KHTMLParser::reset): (KHTMLParser::parseToken): (KHTMLParser::insertNode):
  • khtml/html/htmlparser.h:
12:48 AM Changeset in webkit [1838] by mjs
  • 3 edits
    1 add in trunk/JavaScriptCore
  • kjs/reference_list.h: Added file I forgot to check in last time.
12:43 AM Changeset in webkit [1837] by mjs
  • 11 edits in trunk/JavaScriptCore

Phase 1 of optimization to stop allocating references through the
collector. This step clearly splits evaluating to a reference and
evaluating to a value, and moves all of the reference-specific
operations from Value to Reference. A special ConstReference class
helps out for the one case where you need special reference
operations if the result is a reference, and not otherwise.

Also, Reference now inherits privately from Value, and there is a
new ReferenceList class that inherits privately from List, so the
uses of Reference and Value are now completely orthogonal. This
means that as the next step, their implementations can be
completely disentangled.

This step has no actual performance impact.

  • kjs/collector.cpp: (Collector::collect):
  • kjs/nodes.cpp: (Node::evaluateReference): (ResolveNode::evaluate): (ResolveNode::evaluateReference): (ElementNode::evaluate): (PropertyValueNode::evaluate): (AccessorNode1::evaluate): (AccessorNode1::evaluateReference): (AccessorNode2::evaluate): (AccessorNode2::evaluateReference): (ArgumentListNode::evaluateList): (NewExprNode::evaluate): (FunctionCallNode::evaluate): (PostfixNode::evaluate): (DeleteNode::evaluate): (VoidNode::evaluate): (TypeOfNode::evaluate): (PrefixNode::evaluate): (UnaryPlusNode::evaluate): (NegateNode::evaluate): (BitwiseNotNode::evaluate): (LogicalNotNode::evaluate): (MultNode::evaluate): (AddNode::evaluate): (ShiftNode::evaluate): (RelationalNode::evaluate): (EqualNode::evaluate): (BitOperNode::evaluate): (BinaryLogicalNode::evaluate): (ConditionalNode::evaluate): (AssignNode::evaluate): (CommaNode::evaluate): (VarDeclNode::evaluate): (ExprStatementNode::execute): (IfNode::execute): (DoWhileNode::execute): (WhileNode::execute): (ForNode::execute): (ForInNode::execute): (ReturnNode::execute): (WithNode::execute): (CaseClauseNode::evaluate): (SwitchNode::execute): (ThrowNode::execute):
  • kjs/nodes.h:
  • kjs/types.cpp: (ConstReference::ConstReference):
  • kjs/types.h:
  • kjs/value.h:

Aug 15, 2002:

11:11 PM Changeset in webkit [1836] by darin
  • 4 edits in trunk/WebCore
  • fixed 2983959 -- pages that try to use JavaScript to focus fail to do so
  • kwq/KWQWidget.mm: (QWidget::setFocus): Call makeFirstResponder.
10:35 PM Changeset in webkit [1835] by darin
  • 19 edits in trunk/WebCore

Give the same good loving to the check boxes and radio buttons.
I'm not saying our rules for where to position them are great, but
the rules are implemented cleanly and thus easier to tweak.

Got rid of the old Action system altogether, using signals now.

  • khtml/rendering/render_form.h: Remove now-unneeded APPLE_CHANGES.
  • khtml/rendering/render_form.cpp: (RenderButton::baselinePosition): All the buttons now share a single version of this call, since none need any special baseline hacking at the moment. (RenderSubmitButton::baselinePosition): Just call the RenderButton version.
  • kwq/KWQCheckBox.mm: (QCheckBox::sizeHint): Use 12x12, not 22x22. (QCheckBox::frameGeometry): Adjust for margins. (QCheckBox::setFrameGeometry): Adjust for margins.
  • kwq/KWQRadioButton.mm: (QRadioButton::sizeHint): Use 12x12, not 22x22. (QRadioButton::frameGeometry): Adjust for margins. (QRadioButton::setFrameGeometry): Adjust for margins.
  • kwq/qt/qcombobox.h:
  • kwq/KWQComboBox.mm: (QComboBox::QComboBox): Set up the activated signal.
  • kwq/KWQView.mm: (-[KWQNSComboBox action:]): Emit the activated signal.
  • kwq/KWQListBox.h:
  • kwq/KWQListBox.mm: (-[KWQBrowserDelegate browserSingleClick:]): Send a selectionChanged signal and a clicked signal instead of a ACTION_LISTBOX_CLICKED. (QListBox::QListBox): Set up the clicked and selectionChanged signals.
  • kwq/qt/qobject.h: Remove Actions, ACTION_TEXT_AREA_END_EDITING, ACTION_LISTBOX_CLICKED, ACTION_COMBOBOX_CLICKED, emitAction, performAction, and target.
  • kwq/KWQObject.mm: (QObject::connect): Remove the target hack, no longer needed. (QObject::QObject): Remove target initialization.
  • kwq/KWQSlot.mm: (KWQSlot::KWQSlot), (KWQSlot::call): Added selected and selectionChanged slots.
  • kwq/KWQTextArea.mm: (-[KWQTextArea textDidEndEditing:]): Removed code to emit the ACTION_TEXT_AREA_END_EDITING action, which was no longer used.
  • force-clean-timestamp: Yes, again.
5:09 PM Changeset in webkit [1834] by darin
  • 69 edits in trunk/WebCore
  • fixed 3017376 -- button height is too tall

Reworked how widget sizing and positioning is done for a few of the most important
widget types.

  • khtml/rendering/render_form.h: Remove more of the performAction hackery.
  • khtml/rendering/render_form.cpp: (RenderCheckBox::calcMinMaxWidth): Get size from widget. (RenderRadioButton::calcMinMaxWidth): Get size from widget. (RenderSubmitButton::RenderSubmitButton): Remove old unneeded APPLE_CHANGES. (RenderSubmitButton::baselinePosition): Put the bottom of the button on the baseline without any magic numbers. (RenderLineEdit::baselinePosition): Put the bottom of the text field two pixels below the baseline without any other magic numbers. (RenderLineEdit::calcMinMaxWidth): Get size from widget. (RenderSelect::baselinePosition): Put the bottom of the menu on the baseline without any magic numbers. List box case is untouched for now.
  • kwq/qt/qbutton.h:
  • kwq/KWQButton.mm: (QButton::QButton): Move most of the setup into KWQNSButton. (QButton::sizeHint): Use cellSize, account for margins. (QButton::frameGeometry): Adjust for margins. (QButton::setFrameGeometry): Adjust for margins.
  • kwq/qt/qcheckbox.h:
  • kwq/KWQCheckBox.mm: (QCheckBox::QCheckBox): QButton takes care of most of the setup now. (QCheckBox::sizeHint): Added. (QCheckBox::frameGeometry): Adjust for margins. (QCheckBox::setFrameGeometry): Adjust for margins.
  • kwq/qt/qcombobox.h:
  • kwq/KWQComboBox.mm: (QComboBox::init): KWQNSComboBox takes care of most of the setup now. (QComboBox::sizeHint): Adjust for margins. (QComboBox::frameGeometry): Adjust for margins. (QComboBox::setFrameGeometry): Adjust for margins.
  • kwq/qt/qlineedit.h:
  • kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Added. (QLineEdit::frameGeometry): Adjust for margins. (QLineEdit::setFrameGeometry): Adjust for margins.
  • kwq/qt/qradiobutton.h:
  • kwq/KWQRadioButton.mm: (QRadioButton::QRadioButton): QButton takes care of most of the setup now. (QRadioButton::sizeHint): Added. (QRadioButton::frameGeometry): Adjust for margins. (QRadioButton::setFrameGeometry): Adjust for margins.
  • kwq/qt/qwidget.h:
  • kwq/KWQWidget.mm: (QWidget::setFrameGeometry): New name for internalSetGeometry, now public.
  • fixed 3010695 -- Slashdot.org starts with password field focused, but shouldn't

Added KWQSecureTextField to work around the bug.

  • kwq/KWQNSTextField.h: Made formatter and other details private.
  • kwq/KWQNSTextField.mm: (+[KWQNSTextField initialize]): Set up custom cell class that works around focus border. (-[KWQNSTextField initWithFrame:]): Put the work in here, since this is NSView's designated initializer. (-[KWQNSTextField initWithWidget:]): Now just calls [init] which calls [initWithFrame], and then sets the widget. (-[KWQNSTextField action:]): Use the returnPressed signal instead of ACTION_TEXT_FIELD. (-[KWQNSTextField controlTextDidEndEditing:]): Use textChanged signal instead of ACTION_TEXT_FIELD_END_EDITING. (-[KWQNSTextField dealloc]): Release the secureField (was a leak). (-[KWQNSTextField updateSecureFieldFrame]): Added. Used to keep secure field in the right place. (-[KWQNSTextField setFrameSize:]): Added. Calls updateSecureFieldFrame. (-[KWQNSTextField setPasswordMode:]): Change all the details, but this does the same thing it used to. (-[KWQNSTextField selectText:]): Only call selectText on one of the two field, since it causes the field to grab focus and we don't want to do that twice. (-[KWQNSTextField setStringValue:]): Set the string value in both fields any time someone gives us a new value. (-[KWQNSTextField setFont:]): Set the font in both fields any time someone gives us a new font. (-[KWQTextFieldCell cellSizeForBounds:]): Add space for focus border. (-[KWQTextFieldCell drawWithFrame:inView:]): Inset by focus border. (-[KWQTextFieldCell editWithFrame:inView:editor:delegate:event:]): Inset by focus border. (-[KWQTextFieldCell selectWithFrame:inView:editor:delegate:start:length:]): Inset by focus border. (-[KWQSecureTextField selectText:]): Override to do nothing while in setFrameSize to work around bug in AppKit. (-[KWQSecureTextField setFrameSize:]): Set flag to trigger selectText check.
  • fixed 3025166 -- check boxes and radio buttons on google.com's preferences pages are not "linked"

We were not emitting onClicked for check boxes.

  • kwq/KWQView.h: No need to pass frames any more. Default is empty.
  • kwq/KWQView.mm: (-[KWQView initWithFrame:]): Do most of the work in here. (-[KWQView initWithWidget:]): Just call [init] and set up widget. (-[KWQNSButton initWithFrame:]): Do most of the work in here. Remove the special cell class, and always use a small control with the small system font. (-[KWQNSButton initWithWidget:]): Just call [init] and set up widget. (-[KWQNSButton action:]): Call the clicked() signal instead of ACTION_BUTTON_CLICKED. (-[KWQNSButton stateChanged:]): Call the stateChanged() signal instead of ACTION_CHECKBOX_CLICKED. (-[KWQNSComboBox initWithFrame:]): Do most of the work in here. (-[KWQNSComboBox initWithWidget:]): Just call [init] and set up widget. (-[KWQNSScrollView initWithWidget:]): Just call [init] and set up widget.
  • fixed 3025211 -- find person in Apple directory never displays person information

When I enabled the code to wait and not redirect until loads are complete, that
broke this case, because we didn't have enough hooked up to notice loads completing.
I hooked everything up and its working now.

  • khtml/khtml_part.h: Add started().
  • khtml/khtml_part.cpp: (KHTMLPart::restoreURL): Un-ifdef emission of started(). (KHTMLPart::openURL): Un-ifdef emission of started(). (KHTMLPart::end): Don't do an explicit call to slotFinishedParsing(). We actually hook up a signal for this now. (KHTMLPart::slotChildCompleted): Un-ifdef the rest of the code here.
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl):
  • khtml/xml/xml_tokenizer.h: Do the necessary setup so we can use KWQSignal for finishedParsing.
  • kwq/KWQKHTMLPartImpl.mm: (KHTMLPart::started): Added. Calls slotChildStarted on parent. (KHTMLPart::completed): Added slotParentCompleted calls.
  • kwq/qt/qobject.h: Add sender() and KWQObjectSenderScope.
  • kwq/KWQObject.mm: (KWQObjectSenderScope::KWQObjectSenderScope): Added. Sets sender() and saves the old value. (KWQObjectSenderScope::~KWQObjectSenderScope): Added. Resets sender().
  • kwq/KWQSignal.h:
  • kwq/KWQSlot.h:
  • kwq/KWQSignal.mm: (KWQSignal::call): Added overloads for calling signals with int and QString parameters. Also set up sender() using KWQObjectSenderScope.
  • kwq/KWQSlot.mm: (KWQSlot::KWQSlot), (KWQSlot::call): Add support for one signal (calls through to whatever is connected to that signal's slot) and six new slots.
  • kwq/KWQsignals.mm: (Tokenizer::Tokenizer): Construct the finishedParsing signal. (Tokenizer::finishedParsing): Emit the finishedParsing signal.
  • fixed 3025170 -- right sides of borders placed incorrectly around table cells

There was some silly code that I just removed.

  • khtml/rendering/render_table.cpp: (RenderTable::addColInfo): Turn off the half-assed collapse borders stuff here.
  • other changes
  • force-clean-timestamp: Big changes; full rebuild needed.
  • khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Make the code to kill the timers be unconditional, just in case.
  • kwq/KWQCharsets.mm: (buildDictionaries): Remove UTF-16 special case since it's now in the character sets table.
  • kwq/qt/qpoint.h:
  • kwq/KWQPoint.mm: (QPoint::QPoint): Converts from NSPoint. (QPoint::operator NSPoint): Converts to NSPoint.
  • kwq/qt/qrect.h:
  • kwq/KWQRect.mm: (QRect::QRect): Converts from NSRect. (QRect::isEmpty): Fix backwards logic. (QRect::operator NSRect): Converts to NSRect.
  • kwq/qt/qsize.h:
  • kwq/KWQSize.mm: (QSize::QSize): Converts from NSSize. (QSize::operator NSSize): Converts to NSSize.
  • kwq/qt/qpushbutton.h:
  • kwq/KWQPushButton.mm: Removed unused methods.
  • kwq/KWQRegion.mm: Use new QPoint/NSPoint/QRect/NSRect functions.
  • kwq/KWQScrollView.mm: (QScrollView::addChild): Update comment.
  • kwq/KWQTextArea.h:
  • kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]): Do most of the work in here. (-[KWQTextArea initWithWidget:]): Just call [init] and set up widget.
  • kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Don't pass an empty frame any more.
  • kwq/KWQWindowWidget.h:
  • kwq/KWQWindowWidget.mm: Update for name change.
  • kwq/WebCoreTestController.h: Placeholder for the feature I should be working on.
4:14 PM Changeset in webkit [1833] by sullivan
  • 3 edits in trunk/WebKit

WebKit:

  • fixed 3025770 -- "New Bookmark" button hits assertion and crashes
  • Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf setURLString:]): Instead of asserting that parameter is not nil, handle the nil case by converting to empty string. This was another regression from yesterday's favIcon changes.

WebBrowser:

  • fixed remaining case in 3015942 -- Using Bookmarks New Separator button causes loss of keyboard focus
  • fixed 3023789 -- Find dialog should hide on deactivate to match Mail/TextEdit
  • BookmarksController.m: (-[BookmarksController _focusOnNewlyCreatedBookmark:]): Make outline view first responder here.
  • OutlineViewPlus.m: (-[OutlineViewPlus textDidEndEditing:]): restructured a little.
  • English.pbproj/Find.nib: checked "Hide on deactivate" checkbox; actually I checked this in accidentally with my previous checkin, so this comment is late.
12:51 PM Changeset in webkit [1832] by darin
  • 6 edits in trunk/JavaScriptCore

Tweaks and small bug fixes to Maciej's excellent new fixnum optimization.
Also updated or removed comments that call it "fixnum" instead of "simple number".

  • kjs/simple_number.h: Change constant names so they don't SHOUT the way macro names do. Added constants for shift, min, and max. Fixed off-by-1 error that prevented us from using the extreme values on either end. Base the range of numbers on a fixed 32 bits constant rather than the size of a long, because code elsewhere depends on positive numbers fitting into both "unsigned" and "UInt32" while assuming it doesn't need to check; we can easily change this later. Used int types rather than long for essentially the same reason. Fixed the value-extraction function so it will work for negative numbers even if the shift is logical, not arithmetic, by using division instead. Renamed functions to be quite terse since they are inside a class.
  • kjs/value.h:
  • kjs/value.cpp: (ValueImp::dispatchToObject): Call NumberImp::toObject in a "non-virtual" way rather than repeating the code here. (ValueImp::dispatchToUInt32): Handle the negative number case correctly. (ValueImp::dispatchGetBase): Call ValueImp::getBase in a "non-virtual" way rather than repeating the code here. (ValueImp::dispatchGetPropertyName): Call ValueImp::getPropertyName in a "non-virtual" way rather than repeating the code here. (ValueImp::dispatchPutValue): Call ValueImp::putValue in a "non-virtual" way rather than repeating the code here. (ValueImp::dispatchDeleteValue): Call ValueImp::deleteValue in a "non-virtual" way rather than repeating the code here. (Number::Number): Fixed a bug where the double-based constructor was casting to long, so wouldn't do the "remainder" check.
11:17 AM Changeset in webkit [1831]
  • 3 copies in tags/Alexander-19

This commit was manufactured by cvs2svn to create tag 'Alexander-19'.

11:17 AM Changeset in webkit [1830] by sheridan
  • 8 edits in trunk

alex-19 versions

10:01 AM Changeset in webkit [1829] by sullivan
  • 4 edits in trunk/WebKit

WebKit:

Disabled support for storing favIcon URLs in bookmarks; Gramps realized
this is an architecture problem that needs a better solution, and he
didn't want to ship Alex-18 with this problem.

  • Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf dictionaryRepresentation]):
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem dictionaryRepresentation]): Commented out the code that added the iconURLString in the dictionary used for writing out file. This dictionary is also used on the pasteboard, so this change causes the favIcon not to be remembered when you drag from proxy icon to favorites bar.

WebBrowser:

Fixed some of the brokenness with favIcons caused by yesterday's
favIcon checkin. I'm going to change the API for the bookmark
sheet to make this cleaner, but this is the quick fix so that
Alex-18 won't be too broken.

  • BookmarksController.h:
  • BookmarksController.m: (-[BookmarksController displayNewBookmarksSheetForURLs:titles:iconURLStrings:inWindow:]): Change iconURLs parameter to iconURLStrings so there's an easy way to represent nil URLs (with empty strings).

(-[BookmarksController _newBookmarkSheetDidEnd:returnCode:contextInfo:]): Convert from URL
strings back to URLs for the purpose of creating bookmarks.

  • BrowserDocument.m: (-[BrowserDocument _mainDataSourceHasChanged]): Set the iconURL to nil here. Formerly it was only set when the incoming page specified one, which meant that future pages that don't specify an iconURL (favIcon) would use the leftover one for some purposes, like when creating a new bookmark.

(-[BrowserDocument addBookmark:]): Pass non-nil iconURLStrings even when iconURL is nil,
since the API demands three parallel arrays.

  • ContextMenuHandler.m: (-[ContextMenuHandler addLinkToBookmarks:]): Pass an array of strings instead of URLs for the titles (did this ever work?); pass non-nil iconURLStrings even when iconURL is nil, since the API demands three parallel arrays.
  • GlobalHistory.m: (-[GlobalHistory addSelectedItemsToBookmarks:]): pass always non-nil iconURLStrings instead of adding sometimes-nil iconURLs to array; this would have failed in any case where the favIcon was nil.
  • NewBookmarksController.h:
  • NewBookmarksController.m: (-[NewBookmarksController initWithURLs:titles:iconURLStrings:]): Change array from URLs to strings, assert that iconURLStrings is same length as other two arrays.
8:41 AM Changeset in webkit [1828]
  • 3 copies in tags/Alexander-18

This commit was manufactured by cvs2svn to create tag 'Alexander-18'.

8:41 AM Changeset in webkit [1827] by sheridan
  • 8 edits in trunk

Alex-18 versions

5:05 AM Changeset in webkit [1826] by mjs
  • 4 edits in trunk/WebCore
5:02 AM Changeset in webkit [1825] by mjs
  • 8 edits
    1 add in trunk/JavaScriptCore

Phase 2 of fixnum optimization. Store any integral number that
will fit in two bits less than a long inside the ValueImp *
itself, thus avoiding the need to deal with the garbage collector
at all for these types. Such numbers comprised .5 million of the
1.7 million ValueImps created during the cvs-js-performance test,
so traffic through the garbage collector should be

20% improvement on cvs-js-performance. This may also show up on
cvs-base, but I did not compare and I am too lazy to make clean in
WebCore yet again.

This also significantly reduces memory footprint on
JavaScript-heavy pages. Size after going through
cvs-js-performance suite is now down from 22 MB to 17.5 MB.

  • JavaScriptCore.pbproj/project.pbxproj:
  • kjs/simple_number.h: Added. Some inline static methods for handling simple numbers that are stored in the pointer.
  • kjs/ustring.h:
  • kjs/ustring.cpp: (UString::from): Added new overload for long.
  • kjs/value.cpp: (ValueImp::marked): Add special case for simple numbers. (ValueImp::setGcAllowed): Likewise. (ValueImp::toInteger): Call dispatch version of toUInt32(unsigned&), not the real method. (ValueImp::toInt32): Likewise. (ValueImp::toUInt32): Likewise. (ValueImp::toUInt16): Likewise. (ValueImp::dispatchType): Add special case for simple numbers. (ValueImp::dispatchToPrimitive): Likewise. (ValueImp::dispatchToBoolean): Likewise. (ValueImp::dispatchToNumber): Likewise. (ValueImp::dispatchToString): Likewise. (ValueImp::dispatchToObject): Likewise. (ValueImp::dispatchToUInt32): Likewise. (ValueImp::dispatchGetBase): Likewise. (ValueImp::dispatchGetPropertyName): Likewise. (ValueImp::dispatchPutValue): Likewise. (ValueImp::dispatchDeleteValue): Likewise. (Number::Number): Create a simple number instead of a full-blown ValueImp when possible. (Number::value): Likewise.
  • kjs/value.h:
3:08 AM Changeset in webkit [1824] by mjs
  • 11 edits in trunk/JavaScriptCore

Phase one of the "fixnum" optimization (storing small enough
integers in the pointer). This just paves the way for the change
by making all the virtual functions of ValueImp private and adding
non-virtual dispatchers which can call the virtual function or
handle fixnums specially.

Also, I marked every place that should need a special case with a
FIXNUM comment.

  • kjs/bool_object.cpp: (BooleanObjectImp::construct): Call dispatch method not the real method.
  • kjs/internal.h: Make toUInt32 private to make sure no one calls it directly on a NumberImp*.
  • kjs/nodes.cpp: (ForInNode::execute): Call dispatch method not the real method.
  • kjs/object.cpp: (ObjectImp::propList): Call dispatch method not the real method.
  • kjs/object.h:
  • kjs/string_object.cpp: (StringProtoFuncImp::call): Call dispatch method not the real method. (StringObjectImp::construct): Call dispatch method not the real method.
  • kjs/value.h:
  • kjs/value.cpp: (ValueImp::marked): Put a comment about required FIXNUM change. (ValueImp::setGcAllowed): Likewise. (ValueImp::dispatchType): Just call the virtual method for now. (ValueImp::dispatchToPrimitive): Likewise. (ValueImp::dispatchToBoolean): Likewise. (ValueImp::dispatchToNumber): Likewise. (ValueImp::dispatchToString): Likewise. (ValueImp::dispatchToObject): Likewise. (ValueImp::dispatchToUInt32): Likewise. (ValueImp::dispatchGetBase): Likewise. (ValueImp::dispatchGetPropertyName): Likewise. (ValueImp::dispatchGetValue): Likewise. (ValueImp::dispatchPutValue): Likewise. (ValueImp::dispatchDeleteValue): Likewise.

Aug 14, 2002:

9:32 PM Changeset in webkit [1823] by darin
  • 4 edits in trunk/JavaScriptCore

Another pass of tweaks, including one bug fix.

  • kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp): Use malloc, not new. (ArrayInstanceImp::get): Use a local variable so we don't rely on the optimizer to avoid indexing twice. (ArrayInstanceImp::hasProperty): Use a local variable, and also check against UndefinedImp::staticUndefined rather than doing type() != UndefinedType.
8:19 PM Changeset in webkit [1822] by mjs
  • 4 edits in trunk/JavaScriptCore

Simplified array handling by using NULL to represent empty cells
instead of the Undefined object, so we can use calloc, realloc and
memset instead of loops. Inspired by a suggestion of Darin's.

  • kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp): (ArrayInstanceImp::~ArrayInstanceImp): (ArrayInstanceImp::get): (ArrayInstanceImp::hasProperty): (ArrayInstanceImp::deleteProperty): (ArrayInstanceImp::setLength): (ArrayInstanceImp::mark):
5:59 PM Changeset in webkit [1821] by mjs
  • 5 edits in trunk/JavaScriptCore

Fix major JavaScript memory leak. run-plt says cvs-base improved
by 2% and cvs-js-performance improved by 7%. However, this was
within the possible noise level in each case.

The fix was to store ValueImp *'s in the array instead of Value
objects, since the Value wrapper will keep a ref and make the
object immortal.

  • kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp): (ArrayInstanceImp::get): (ArrayInstanceImp::put): (ArrayInstanceImp::hasProperty): (ArrayInstanceImp::deleteProperty): (ArrayInstanceImp::setLength): (ArrayInstanceImp::mark):
  • kjs/array_object.h:
5:48 PM Changeset in webkit [1820] by cblu
  • 27 edits in trunk/WebKit

WebKit:

Support for showing favicons in bookmarks and history.

Renamed "image" to "icon" in all places.

Made history and bookmarks take and save an icon URL

  • Bookmarks.subproj/WebBookmark.h:
  • Bookmarks.subproj/WebBookmark.m: (-[WebBookmark icon]): (-[WebBookmark iconURL]): (-[WebBookmark setIconURL:]):
  • Bookmarks.subproj/WebBookmarkGroup.h:
  • Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup _setTopBookmark:]): (-[WebBookmarkGroup addNewBookmarkToBookmark:withTitle:iconURL:URLString:type:]): (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:iconURL:URLString:type:]):
  • Bookmarks.subproj/WebBookmarkLeaf.h:
  • Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): (-[WebBookmarkLeaf dictionaryRepresentation]): (-[WebBookmarkLeaf copyWithZone:]): (-[WebBookmarkLeaf icon]): (-[WebBookmarkLeaf iconURL]): (-[WebBookmarkLeaf setIconURL:]): (-[WebBookmarkLeaf setURLString:]):
  • Bookmarks.subproj/WebBookmarkList.h:
  • Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList initWithTitle:group:]): (-[WebBookmarkList dealloc]): (-[WebBookmarkList copyWithZone:]): (-[WebBookmarkList icon]):
  • Bookmarks.subproj/WebBookmarkSeparator.m: (-[WebBookmarkSeparator icon]):
  • History.subproj/WebHistory.h:
  • History.subproj/WebHistory.m: (-[WebHistory updateURL:title:displayTitle:iconURL:forURL:]):
  • History.subproj/WebHistoryItem.h:
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]): (-[WebHistoryItem initWithURL:title:]): (-[WebHistoryItem initWithURL:target:parent:title:]): (-[WebHistoryItem dealloc]): (-[WebHistoryItem iconURL]): (-[WebHistoryItem icon]): (-[WebHistoryItem setIconURL:]): (-[WebHistoryItem dictionaryRepresentation]): (-[WebHistoryItem initFromDictionaryRepresentation:]):
  • History.subproj/WebHistoryPrivate.h:
  • History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate updateURL:title:displayTitle:iconURL:forURL:]):
  • Misc.subproj/WebIconLoader.h:
  • Misc.subproj/WebIconLoader.m: (+[WebIconLoader iconLoaderWithURL:]): (-[WebIconLoader initWithURL:]): (-[WebIconLoader URL]): (-[WebIconLoader _icons]): (-[WebIconLoader delegate]): (-[WebIconLoader iconFromCache]): (-[WebIconLoader startLoading]): (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
  • WebCoreSupport.subproj/WebBridge.m:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]):
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]):
  • WebView.subproj/WebLocationChangeHandler.h:
  • WebView.subproj/WebLocationChangeHandler.m: (-[WebLocationChangeHandler receivedPageIcon:fromURL:forDataSource:]):

WebBrowser:

Support for showing favicons in bookmarks and history.

Renamed "image" to "icon" in all places.

Made history and bookmarks take and save an icon URL

  • BookmarksController.h:
  • BookmarksController.m: (-[BookmarksController imageForBookmark:]): (-[BookmarksController _newItemWithTitle:iconURL:URLString:type:positionIgnoresSelection:]): (-[BookmarksController _newFolder:]): (-[BookmarksController _newSeparator:]): (-[BookmarksController _newBookmark:]): (-[BookmarksController _blessOrCreateFavoritesRoot]): (-[BookmarksController _newBookmarkSheetDidEnd:returnCode:contextInfo:]): (-[BookmarksController displayNewBookmarksSheetForURLs:titles:iconURLs:inWindow:]):
  • BrowserDocument.h:
  • BrowserDocument.m: (-[BrowserDocument dealloc]): (-[BrowserDocument addBookmark:]): (-[BrowserDocument _setInstantRedirectPending:]): (-[BrowserDocument setIcon:]): (-[BrowserDocument iconURL]): (-[BrowserDocument setIconURL:]):
  • BrowserWindow.h:
  • BrowserWindowController.m: (-[BrowserWindowController windowIconURL]): (-[BrowserWindowController bookmarkIconURLForLocationField:]):
  • ContextMenuHandler.m: (-[ContextMenuHandler addLinkToBookmarks:]):
  • FavoriteButton.m: (-[FavoriteButton initWithBookmark:andFrame:]):
  • GlobalHistory.m: (-[GlobalHistory outlineView:willDisplayCell:forTableColumn:item:]): (-[GlobalHistory _addHistoryEntry:toMenu:]): (-[GlobalHistory addSelectedItemsToBookmarks:]):
  • LocationChangeHandler.m: (-[LocationChangeHandler receivedPageTitle:forDataSource:]): (-[LocationChangeHandler receivedPageIcon:fromURL:forDataSource:]):
  • LocationTextField.h:
  • LocationTextField.m: (-[LocationTextField mouseDown:]):
  • NewBookmarksController.h:
  • NewBookmarksController.m: (-[NewBookmarksController initWithURLs:titles:iconURLs:]):
  • TitleBarButton.m: (-[TitleBarButton startDragIfNecessaryForEvent:URL:]):
3:30 PM Changeset in webkit [1819] by hyatt
  • 4 edits in trunk/WebCore

ROFL. The KHTML table code had a hardcoded "20" being
subtracted out of table heights instead of using the
actual margins on the <body> element. This patch
removes the hardcoded "20" and replaces it with the
actual <body> margins.

  • khtml/rendering/render_table.cpp: (RenderTable::layoutRows):
2:59 PM Changeset in webkit [1818] by hyatt
  • 4 edits in trunk/WebCore

Fix marginwidth and marginheight on the <body> element.
These attributes were not applying the correct margins,
which would cause many many pages to mis-render!

  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseAttribute):
2:45 PM Changeset in webkit [1817] by hyatt
  • 5 edits in trunk/WebCore

Ensure that a rendering object gets built for <fieldset>
elements. Content inside a <fieldset> was being discarded
and not rendered.

This fixes the top frame on blogger comment posting so that
it shows up properly.

  • khtml/html/html_formimpl.cpp: (HTMLFieldSetElementImpl::attach):
  • khtml/html/html_formimpl.h:
8:07 AM Changeset in webkit [1816] by darin
  • 19 edits in trunk/WebKit

Remove some unused things. Fix minor problems.

  • Plugins.subproj/WebPluginNullEventSender.m:
  • Plugins.subproj/WebPluginView.m:
  • WebCoreSupport.subproj/WebTextRenderer.m: Fixed places that were using the C++ bool instead of the Objective C BOOL.
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedData:]): Remove old code related to the dummy data source.
  • WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Remove _changeBridge, since we don't any more. Hoist the creation of the bridge up here.
  • WebView.subproj/WebFramePrivate.h: Remove _changeBridge.
  • WebView.subproj/WebFramePrivate.m: Remove _changeBridge.
  • WebView.subproj/WebHTMLRepresentation.h:
  • WebView.subproj/WebHTMLView.h:
  • WebView.subproj/WebImageRepresentation.h:
  • WebView.subproj/WebTextRepresentation.h:
  • WebView.subproj/WebTextView.h: Don't re-declare methods that are part of protocols we implement.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]): Don't add the mouse moved observer until the view gets put into a window. (-[WebHTMLView addMouseMovedObserver]): Added. (-[WebHTMLView removeMouseMovedObserver]): Added. (-[WebHTMLView viewWillMoveToWindow:]): Remove observer if we were in the main window. (-[WebHTMLView viewDidMoveToWindow]): Add observer if we are now in the main window.
  • WebView.subproj/WebHTMLViewPrivate.h: Add _frame method. Remove unused controller and cursor instance variables.
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frame]): Added. (-[WebHTMLView _bridge]): Call _frame.
  • WebView.subproj/WebTextRepresentation.m: Add now-needed import.
  • WebView.subproj/WebHTMLRepresentation.m: Tweak.
7:39 AM Changeset in webkit [1815] by darin
  • 2 edits in trunk/WebKit

Fix a log entry.

7:19 AM Changeset in webkit [1814] by darin
  • 6 edits in trunk/WebCore

Fix the build.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Add braces and fix a syntax error.
  • kwq/mac-encodings.txt: Add comments. Make utf-16 be a synonym for utf-8 rather than having it actually try to treat things as 16-bit. We will have to revisit this, but for now it makes zingermans.com work again.
  • kwq/make-charset-table.pl: Allow comments.
2:02 AM Changeset in webkit [1813] by mjs
  • 4 edits in trunk/WebCore

Fixed a JavaScript object leak that was plaguing ign.com and
livepage.apple.com, among other things.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Create a Value wrapper for a newly allocated DOMNode object that's not used past this function so it gets GC'd properly. (KJS::HTMLElement::putValue): Likewise.
1:23 AM Changeset in webkit [1812] by mjs
  • 4 edits in trunk/WebCore
  • khtml/ecma/kjs_window.cpp: Fix to build clean after JavaScriptCore live class changes (this way of handling it is kind of a hack, but kjs is unhappy to have Boolean defined so it can't unconditionally include CoreFoundation.h in collector.h; will fix better later).

Aug 13, 2002:

11:38 PM Changeset in webkit [1811] by mjs
  • 14 edits in trunk

JavaScriptCore:

Add the ability to determine the classes of live JavaScript
objects, to help with leak fixing.

  • kjs/collector.h, kjs/collector.cpp: (Collector::liveObjectClasses):

WebCore:

Add the ability to determine the classes of live JavaScript
objects, to help with leak fixing.

  • kwq/WebCoreJavaScript.h:
  • kwq/WebCoreJavaScript.mm: (+[WebCoreJavaScript liveObjectClasses]):

WebKit:

Add the ability to determine the classes of live JavaScript
objects, to help with leak fixing.

  • Misc.subproj/WebCoreStatistics.h:
  • Misc.subproj/WebCoreStatistics.m: (+[WebCoreStatistics javaScriptLiveObjectClasses]):

WebBrowser:

Add display of classes of live JavaScript objects to Caches
window, to help with leak fixing.

  • Debug/CacheController.h:
  • Debug/CacheController.m: (-[CacheController refreshJavaScriptStatisticsMatrix]):
  • Debug/CacheController.nib:
10:01 PM Changeset in webkit [1810] by hyatt
  • 6 edits in trunk/WebCore

An initial implementation of percentage height table cells.
This implementation will properly distribute space among
rows with percentage table cells, although there could be
issues with percentage height cells that span rows.

I have also fixed replaced elements so that they understand when they
are a percentage height and contained within a percentage height
cell that they can grow. This fixes the textarea on bloggers'
comment posting page so that it sizes properly.

There are many issues remaining with this implementation;
blocks need to be taught how to flex when they specify a percent
height. There is also some sort of rounding error with tables
that specify a height of 100% that I haven't yet figured out.
(This error was present before my changes, and it's still present
after my changes.)

Also, percentage height tables seem to "lock" to the largest size
they've ever been and don't properly relayout when they become
smaller. Again, this bug existed before my changes.

  • khtml/rendering/render_box.cpp: (RenderBox::calcReplacedHeight):
  • khtml/rendering/render_table.cpp: (RenderTable::RenderTable): (RenderTable::calcRowHeight): (RenderTable::layout): (RenderTable::layoutRows): (RenderTable::print): (RenderTableCell::RenderTableCell):
  • khtml/rendering/render_table.h:
4:49 PM Changeset in webkit [1809] by darin
  • 9 edits
    1 add
    1 delete in trunk/WebCore

Character set handling improvements. In total, this adds 92 new character encoding
names to the list we know how to handle (299, up from 207), so it probably makes
some pages work that didn't work before. It probably also adds character encoding
names that are never used in practice.

  • kwq/character-sets.txt: Took out all but one of our changes. We now handle aliases that are not in this file by adding them to mac-encodings.txt.
  • kwq/mac-encodings.txt: Added. Lists CFStringEncoding values and IANA names for them. We keep this file small by using the aliasing in character-sets.txt, and we also continue to get MIB numbers from character-sets.txt.
  • kwq/make-charset-table.pl: Rewrote to read from new format mac-encodings.txt file, and check for new kinds of errors.
  • kwq/.cvsignore: Don't ignore the make-mac-encodings files any more, since we don't compile that any more.
  • kwq/Makefile.am: Remove rules for compiling and running make-mac-encodings.
  • kwq/make-mac-encodings.c: Removed.
10:06 AM Changeset in webkit [1808] by darin
  • 5 edits in trunk/WebCore
  • fixed 3023439 -- support for windows-874 charset for thai
  • kwq/character-sets.txt: Added cp874 and windows-874.
  • kwq/make-charset-table.pl: Fix bug where it would right out a bad MIB enum for the many Macintosh character sets without associated MIB numbers.
9:45 AM Changeset in webkit [1807] by darin
  • 7 edits in trunk/WebCore

Some QRegion fixes inspired by Dave's clipping work.

  • kwq/qt/qregion.h: Add setClip, remove getNSBezierPath.
  • kwq/KWQRegion.mm: (NSMakePoint): Added. Helper function; could go in a header some day. (NSMakeRect): Added. Helper function; could go in a header some day. (MakeQRect): Added. Helper function; could go in a header some day. (QRegion::QRegion): Make a paths array instead of a single path. Also, change things so we actually copy the paths. The old code might translate a path that was shared by two QRegion objects. (QRegion::intersect): Merge the paths arrays of the two passed-in paths. (QRegion::contains): Return true only if all paths in the array contain the point. (QRegion::isNull): Return true if any of the paths in the array are empty. (QRegion::translate): Translate all the paths in the array. (QRegion::boundingRect): Return the intersection of the bounding rects of all the paths in the array. (QRegion::setClip): Call setClip on the first path, and addClip on the others.
  • kwq/KWQPainter.mm: (QPainter::setClipRegion): Use QRegion::setClip().
12:39 AM Changeset in webkit [1806] by mjs
  • 4 edits in trunk/JavaScriptCore

Small speed improvement. 3% faster on cvs-js-performance, no
measurable change on cvs-static-urls.

  • kjs/collector.cpp: (Collector::collect): Combine 3 loops over all objects into one, to reduce flat time and improve locality of reference.
Note: See TracTimeline for information about the timeline view.