Timeline
Aug 13, 2002:
- 11:38 PM Changeset in webkit [1811] by
-
- 14 edits in trunk
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
-
- 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
-
- 9 edits1 add1 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
-
- 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
-
- 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
-
- 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.
Aug 12, 2002:
- 11:55 PM Changeset in webkit [1805] by
-
- 4 edits in trunk/WebCore
Reverting a change that I unintentionally checked in last
week. I wasn't yet ready to land it. It may work, but I
want to test it more first.
- khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
- 5:55 PM Changeset in webkit [1804] by
-
- 7 edits in trunk/WebCore
Implement clipping. The one thing that still needs
to be done is that the intersect method in KWQRegion.mm
needs to be implemented. Even without that, this gets
the ticker on livepage.apple.com clipping properly.
- kwq/KWQPainter.mm: (QPainter::xForm): (QPainter::save): (QPainter::restore): (QPainter::setClipRegion):
- kwq/qt/qregion.h:
- 4:57 PM Changeset in webkit [1803] by
-
- 8 edits in trunk/WebCore
Make the news ticker on livepage.apple.com scroll properly.
It still doesn't clip though. Fixing this involved correctly
dirtying the render tree when dynamic DOM changes occurred
(this was a bug in KHTML's DOM), as well as providing an
implementation of the MSIE offsetWidth extension that took
inlines into account (KHTML's impl was always returning a width
of 0 for inlines).
- khtml/ecma/kjs_dom.cpp: (DOMNode::getValueProperty):
- khtml/rendering/render_flow.cpp: (RenderFlow::offsetWidth): (RenderFlow::offsetHeight):
- khtml/rendering/render_flow.h:
- khtml/rendering/render_object.h:
- khtml/xml/dom_nodeimpl.cpp: (NodeBaseImpl::insertBefore): (NodeBaseImpl::replaceChild): (NodeBaseImpl::appendChild):
- 3:27 PM Changeset in webkit [1802] by
-
- 4 edits in trunk/WebCore
- khtml/misc/loader.cpp: (Cache::insertInLRUList): Add missing piece of the last check-in.
- 3:15 PM Changeset in webkit [1801] by
-
- 12 edits in trunk
WebCore:
At Ken's urging, fixed the loader cache to be more efficient.
Gives 1% on the cvs-base test.
- force-clean-timestamp: This requires a full rebuild.
- khtml/misc/loader.h:
- khtml/misc/loader.cpp: (CachedObject::~CachedObject): No longer inline, which is fine since it was a virtual function anyway. Remove from the LRU list. (CachedObject::setRequest): Add to the LRU list if it qualifies now. (CachedObject::ref): Remove from the LRU list. (CachedObject::deref): Add to the LRU list if it qualifies now. (CachedCSSStyleSheet::ref): Call CachedObject::ref. (CachedCSSStyleSheet::deref): Call CachedObject::deref. (CachedScript::ref): Call CachedObject::ref. (CachedScript::deref): Call CachedObject::deref. (CachedImage::ref): Call CachedObject::ref. (CachedImage::deref): Call CachedObject::deref. (Cache::init): No "LRU list" to create. (Cache::clear): No "LRU list" to delete. (Cache::requestImage): Call moveToHeadOfLRUList. (Cache::requestStyleSheet): Call moveToHeadOfLRUList. (Cache::requestScript): Call moveToHeadOfLRUList. (Cache::flush): New algorithm. (Cache::removeCacheEntry): Call removeFromLRUList. (Cache::removeFromLRUList): Added. (Cache::moveToHeadOfLRUList): Added. (Cache::insertInLRUList): Added.
- kwq/KWQLoaderImpl.mm: (KWQCheckIfReloading):
- kwq/WebCoreBridge.h: Change dataSourceIsReloading to isReloading.
WebKit:
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge isReloading]): Change dataSourceIsReloading to isReloading.
- 1:15 PM Changeset in webkit [1800] by
-
- 6 edits in trunk/WebCore
Fix for the crash (assert) at mlb.com (3014322). recalcStyle was
re-entrant, causing the render tree to be reconstructed
while in the process of being destroyed.
Also patched object frame to only fire load/unload if
render objects exist (since the plugin cannot load without
the render object initializing it anyway).
- khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach): (HTMLObjectElementImpl::detach):
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::recalcStyle):
- khtml/xml/dom_docimpl.h:
- 1:14 PM Changeset in webkit [1799] by
-
- 33 edits in trunk
top level:
- Tests/WebFoundation-Misc/ifnsurlextensions-test.m: (TestURLCommon): Add tests for the new WebNSURLExtras methods.
- Tests/libiftest/IFCheckLeaks.c: (IFCheckLeaksAtExit): Remove workaround for CFPreferences race condition; it's now in WebFoundation.
Speed improvements. 19% faster on cvs-js-performance, 1% on cvs-static-urls.
Use global string objects for length and other common property names rather
than constantly making and destroying them. Use integer versions of get() and
other related calls rather than always making a string.
Also get rid of many unneeded constructors, destructors, copy constructors, and
assignment operators. And make some functions non-virtual.
- kjs/internal.h:
- kjs/internal.cpp: (NumberImp::toUInt32): Implement. (ReferenceImp::ReferenceImp): Special case for numeric property names. (ReferenceImp::getPropertyName): Moved guts here from ValueImp. Handle numeric case. (ReferenceImp::getValue): Moved guts here from ValueImp. Handle numeric case. (ReferenceImp::putValue): Moved guts here from ValueImp. Handle numeric case. (ReferenceImp::deleteValue): Added. Handle numeric case.
- kjs/array_object.h:
- kjs/array_object.cpp: All-new array implementation that stores the elements in a C++ array rather than in a property map. (ArrayInstanceImp::ArrayInstanceImp): Allocate the C++ array. (ArrayInstanceImp::~ArrayInstanceImp): Delete the C++ array. (ArrayInstanceImp::get): Implement both the old version and the new overload that takes an unsigned index for speed. (ArrayInstanceImp::put): Implement both the old version and the new overload that takes an unsigned index for speed. (ArrayInstanceImp::hasProperty): Implement both the old version and the new overload that takes an unsigned index for speed. (ArrayInstanceImp::deleteProperty): Implement both the old version and the new overload that takes an unsigned index for speed. (ArrayInstanceImp::setLength): Added. Used by the above to resize the array. (ArrayInstanceImp::mark): Mark the elements of the array too. (ArrayPrototypeImp::ArrayPrototypeImp): Pass the length to the array instance constructor.
- kjs/bool_object.cpp:
- kjs/date_object.cpp:
- kjs/error_object.cpp:
- kjs/function.cpp:
- kjs/function_object.cpp:
- kjs/math_object.cpp:
- kjs/nodes.cpp:
- kjs/nodes.h:
- kjs/number_object.cpp:
- kjs/object_object.cpp:
- kjs/regexp_object.cpp:
- kjs/string_object.cpp:
- kjs/nodes2string.cpp: (SourceStream::operator<<): Add a special case for char now that you can't create a UString from a char implicitly.
- kjs/object.h:
- kjs/object.cpp: (ObjectImp::get): Call through to the string version if the numeric version is not implemented. (ObjectImp::put): Call through to the string version if the numeric version is not implemented. (ObjectImp::hasProperty): Call through to the string version if the numeric version is not implemented. (ObjectImp::deleteProperty): Call through to the string version if the numeric version is not implemented.
- kjs/types.h:
- kjs/types.cpp: (Reference::Reference): Added constructors for the numeric property name case.
- kjs/ustring.h: Made the constructor that turns a character into a string be explicit so we don't get numbers that turn themselves into strings.
- kjs/ustring.cpp: (UString::UString): Detect the empty string case, and use a shared empty string. (UString::find): Add an overload for single character finds. (UString::rfind): Add an overload for single character finds. (KJS::operator==): Fix bug where it would call strlen(0) if the first string was not null. Also handle non-ASCII characters consistently with the rest of the code by casting to unsigned char just in case.
- kjs/value.h: Make ValueImp and all subclasses non-copyable and non-assignable.
- kjs/value.cpp: (ValueImp::toUInt32): New interface, mainly useful so we can detect array indices and not turn them into strings and back. (ValueImp::toInteger): Use the new toUInt32. Probably can use more improvement. (ValueImp::toInt32): Use the new toUInt32. Probably can use more improvement. (ValueImp::toUInt16): Use the new toUInt32. Probably can use more improvement. (ValueImp::getBase): Remove handling of the Reference case. That's in ReferenceImp now. (ValueImp::getPropertyName): Remove handling of the Reference case. That's in ReferenceImp now. (ValueImp::getValue): Remove handling of the Reference case. That's in ReferenceImp now. (ValueImp::putValue): Remove handling of the Reference case. That's in ReferenceImp now. (ValueImp::deleteValue): Added. Used so we can do delete the same way we do put.
WebFoundation:
- CacheLoader.subproj/WebHTTPResourceLoader.m: (-[WebHTTPProtocolHandler createWFLoadRequest]): Fix handling of paths with queries and some other subtle path and port number handling issues by using _web_hostWithPort and _web_pathWithQuery.
- Misc.subproj/WebNSURLExtras.h:
- Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_hostWithPort]): Added. (-[NSURL _web_pathWithQuery]): Added.
- CacheLoader.subproj/WebResourceLoad.m: (initLoader): Get some random preference before creating threads. This makes it impossible to run into the CFPreferences race condition.
WebCore:
- force-clean-timestamp: Need a full build because of KJS changes.
- khtml/ecma/kjs_window.h: Need to store an Object, not an ObjectImp, because there's no way to copy an ObjectImp. KJS changes caught this mistake.
- 9:12 AM Changeset in webkit [1798] by
-
- 5 edits in trunk/WebKit
- WebView.subproj/WebDataSourcePrivate.h:
- WebView.subproj/WebDataSourcePrivate.m: Remove private _flags and _attributes accessors, now that Ken added public versions.
- WebView.subproj/WebFrame.m: (-[WebFrame reload:]): Remove sole use thereof.
- 2:35 AM Changeset in webkit [1797] by
-
- 4 edits in trunk/WebCore
WebCore:
- re-fixed 2948387 -- stop button flashes to "go" two extra times while loading citibank.com
It turns out Maciej and I rebroke this when we made the "completed" code run.
There was a related APPLE_CHANGES that had to be removed so that we do each redirect only once.
Doing the redirect multiple times sent confusing signals to the web browser.
- khtml/khtml_part.cpp: (KHTMLPart::scheduleRedirection): Remove APPLE_CHANGES so we don't try to redirect until the page is complete.
WebBrowser:
Fixed a small thing related to bug 2948387.
- BrowserDocument.m: (-[BrowserDocument displayName]): Leave title saying "Loading" as long as _instantRedirectPending is YES.
Aug 10, 2002:
- 5:31 PM Changeset in webkit [1796]
-
- 3 copies in tags/Alexander-17
This commit was manufactured by cvs2svn to create tag 'Alexander-17'.
- 5:31 PM Changeset in webkit [1795] by
-
- 8 edits in trunk
Rolled version number to Alex-17
- 11:28 AM Changeset in webkit [1794] by
-
- 4 edits in trunk/WebCore
Check box in target setting panel to enable prebinding.
- WebCore.pbproj/project.pbxproj
- 11:24 AM Changeset in webkit [1793] by
-
- 18 edits in trunk
WebFoundation:
Added a new constant WebResourceHandleUseCachedObjectIfPresent.
This constant is used during reload so that a cached object
is returned regardless of its expiration.
- CacheLoader.subproj/WebCacheLoaderConstants.h: Added constant.
- CacheLoader.subproj/WebHTTPProtocolHandlerPrivate.m: (-[WebHTTPProtocolHandler testAndSetCacheObjectState:]): Added check for new WebResourceHandleUseCachedObjectIfPresent constant.
- CacheLoader.subproj/WebResourceLoad.m:
Also added a change to improve the percentage of cache hits:
(-[WebResourceLoad succeeded]): Use originalURL for caching. This will mean that
the cache is checked for what the user typed in, or has in their bookmarks. This
improves cache hits quite a bit.
WebCore:
Added an extra function which checks with WebKit to see if
the load is a reload. If it is, the WebCore cache is bypassed.
- khtml/misc/loader.cpp: (DocLoader::requestImage): Added acall to new KWQCheckIfReloading function. (DocLoader::requestStyleSheet): Ditto. (DocLoader::requestScript): Ditto.
- kwq/KWQLoaderImpl.h:
- kwq/KWQLoaderImpl.mm: (KWQCheckIfReloading): New function which checks with WebKit to see if the load is a reload.
- kwq/WebCoreBridge.h:
WebKit:
Added support for "stale mode" (loads triggered by use of back/forward), and
added support for reload.
Also added a bridge function so the WebCore cache can tell if a load is a reload.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dataSourceIsReloading]): New method.
- WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): Use same flags that were used for main resource load.
- WebView.subproj/WebDataSource.h:
- WebView.subproj/WebDataSource.m: (-[WebDataSource attributes]): New accessor. (-[WebDataSource flags]): New accessor.
- WebView.subproj/WebFrame.m: (-[WebFrame reload:]): Reload adds WebResourceHandleFlagLoadFromOrigin flag to load.
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _goToItem:withFrameLoadType:]): Adds flags so that WebFoundation can tell when back/forward has been used.
WebBrowser:
Fix for this bug:
Radar 2870727 ("Refresh" in Alexander doesn't bypass cache)
- BrowserDocument.m: (-[BrowserDocument _goToURL:withFrameLoadType:fallbackURLs:]): Removed code that prevented the call through to reload from being called, now that I have hooked up the code so that reload is handled properly.
Aug 9, 2002:
- 9:32 PM Changeset in webkit [1792] by
-
- 3 edits in trunk/JavaScriptCore
Some string speedups. Makes sony.com cached 11% faster on Development, but
the improvement for Deployment should be greater.
- 9:31 PM Changeset in webkit [1791] by
-
- 13 edits in trunk
Some string speedups. Makes sony.com cached 11% faster.
- kjs/ustring.h: Made it possible for UChar objects to be uninitialized, which gives a speed boost. Inlined CString's +=, UString's destructor, +=, and +.
- kjs/ustring.cpp: (UString::UString): Optimize const char * version, which showed up heavily in performance analysis. Added new two-UString version, which makes the + operator fast. (UString::ascii): Remove thread safety changes. Change static buffer to remember its size, and to always be at least 4096 bytes long; that way we never have to reallocate unless it's for a long string. Also make code to extract the characters significantly faster by getting rid of two pointer dereferences per character. (UString::is8Bit): Avoid one pointer dereference per character. (UString::toDouble): Use ascii() instead of cstring() to avoid copying the string.
- kjs/collector.cpp: Remove unneeded APPLE_CHANGES.
- kjs/regexp.cpp: Remove ifdefs around some APPLE_CHANGES that we want to keep, because they just fix warnings.
- kjs/value.h: Remove obsolete APPLE_CHANGES comment.
- JavaScriptCore.pbproj/project.pbxproj: Project Builder decided to move a line around in the file.
WebCore:
- force-clean-timestamp: JavaScriptCore headers changed that require a full build here.
- 5:04 PM Changeset in webkit [1790] by
-
- 4 edits in trunk/JavaScriptCore
Fix my last change to actually call the versions of the lock functions
that are recursive and initialize as needed.
- kjs/internal.cpp: (InterpreterImp::InterpreterImp): (InterpreterImp::clear): (InterpreterImp::evaluate):
- 4:24 PM Changeset in webkit [1789] by
-
- 7 edits in trunk/JavaScriptCore
- fixed 2948835 - JavaScriptCore locking is too fine grained, makes it too slow
- kjs/collector.cpp: (Collector::allocate): (Collector::collect): (Collector::finalCheck): (Collector::numInterpreters): (Collector::numGCNotAllowedObjects): (Collector::numReferencedObjects):
- kjs/collector.h:
- kjs/internal.cpp: (initializeInterpreterLock): (lockInterpreter): (unlockInterpreter): (Parser::parse): (InterpreterImp::InterpreterImp): (InterpreterImp::clear): (InterpreterImp::evaluate):
- kjs/value.cpp: (ValueImp::ValueImp): (ValueImp::setGcAllowed):
- 4:12 PM Changeset in webkit [1788] by
-
- 9 edits in trunk/WebCore
- fixed 3018063 -- frame problems at directory.apple.com
- fixed 3021484 -- Go to "xxxx" mouseover status message should not show ".."
Basically, we had no frame targeting for forms. I made the form code share
the same frame targeting code we use for clicking on URLs.
- khtml/khtml_part.cpp: (KHTMLPart::openURLInFrame): Don't compile this function at all any more.
- kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::openURLRequest): Call the impl's openURLRequest instead of calling the part's openURLInFrame. Clearer.
- kwq/KWQKHTMLPartImpl.h: Remove openURLInFrame, add openURLRequest. Change urlSelected args parameter to a const reference. Add private getBridgeForFrameName helper function.
- kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::getBridgeForFrameName): Moved rules for choosing a frame here from urlSelected so they can be shared. (KWQKHTMLPartImpl::openURLRequest): Use getBridgeForFrameName instead of having our own different code for finding the right frame. (KWQKHTMLPartImpl::urlSelected): Move frame choosing code into getBridgeForFrameName. (KWQKHTMLPartImpl::submitForm): Use getBridgeForFrameName instead of always ignoring the target and using our own frame. (KWQKHTMLPartImpl::overURL): Take base targeting into account when making the status bar messages, and use the completed URL, not the partial, for the message.
- 2:23 PM Changeset in webkit [1787] by
-
- 5 edits in trunk/WebCore
- fixed 2945441 -- base target is ignored
- kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected): Add code to respect the base target in the document. It would be way better to use more of the KHTML code instead of copying it a line at a time into KWQ -- that can come later when the fire drill is over.
- 11:01 AM Changeset in webkit [1786]
-
- 3 copies in tags/Alexander-16
This commit was manufactured by cvs2svn to create tag 'Alexander-16'.
- 11:01 AM Changeset in webkit [1785] by
-
- 8 edits in trunk
Alex-16 versioning
- 9:10 AM Changeset in webkit [1784] by
-
- 4 edits in trunk/WebCore
- fixed 3020594 -- crash in KWQKHTMLPartImpl::end() visiting particular page
- khtml/khtml_part.cpp: (KHTMLPart::end): Our hacked alternative to a signal requires a NULL check.
- 12:25 AM Changeset in webkit [1783] by
-
- 5 edits in trunk/WebKit
%5 gain on cvs-static related to loading page icons:
WebKit:
- Cache icon image for HTML files
- resize the icon only in WebIconLoader instead of in multiple places elsewhere
- Misc.subproj/WebIconLoader.h:
- Misc.subproj/WebIconLoader.m: (+[WebIconLoader _resizeImage:]): (+[WebIconLoader defaultIcon]): call _resizeImage (+[WebIconLoader iconForFileAtPath:]): added, caches html icon (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): call _resizeImage
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): call iconForFileAtPath
WebBrowser:
- resize the page icon in WebIconLoader instead of in multiple places elsewhere
- call resetNoDragRect less often
- LocationTextField.h:
- LocationTextField.m: (-[LocationTextField _setIcon:save:]): no need to resize
- TitleBarButton.m: (-[TitleBarButton setImage:]): no need to resize (-[TitleBarButton resetNoDragRect]): renamed (-[TitleBarButton updateFrame]): no need to call resetNoDragRect (-[TitleBarButton viewDidEndLiveResize]): added, call resetNoDragRect (-[TitleBarButton windowDidEndSheet:]): call resetNoDragRect (-[TitleBarButton windowDidDeminiaturize:]): call resetNoDragRect (-[TitleBarButton setTitle:]): call resetNoDragRect