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

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:
Note: See TracTimeline for information about the timeline view.