Timeline



Aug 12, 2002:

11:55 PM Changeset in webkit [1805] by hyatt
  • 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 hyatt
  • 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 hyatt
  • 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 darin
  • 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 darin
  • 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 hyatt
  • 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 darin
  • 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.

JavaScriptCore:

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 mjs
  • 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 darin
  • 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 kocienda
  • 8 edits in trunk

Rolled version number to Alex-17

11:28 AM Changeset in webkit [1794] by kocienda
  • 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 kocienda
  • 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 darin
  • 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 darin
  • 13 edits in trunk

JavaScriptCore:

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 mjs
  • 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 mjs
  • 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 darin
  • 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 darin
  • 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 sheridan
  • 8 edits in trunk

Alex-16 versioning

9:10 AM Changeset in webkit [1784] by darin
  • 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 cblu
  • 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

Aug 8, 2002:

10:32 PM Changeset in webkit [1782] by mjs
  • 3 edits in trunk/WebKit

Fix to get onLoad to fire, so the iBench test works.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Return the bridge for the new child frame.
10:32 PM Changeset in webkit [1781] by mjs
  • 8 edits in trunk/WebCore

Fix to get onLoad to fire, so the iBench test works.

  • khtml/khtml_part.cpp: (KHTMLPart::checkCompleted): Put back some needed code that was ifdef'd out (the part that emits completed()). (KHTMLPart::slotChildCompleted): Enabled; ifdef'd out part. (KHTMLPart::frame): Enabled.
  • khtml/khtml_part.h:
  • kwq/KWQKHTMLPartImpl.mm: (KHTMLPart::completed): Hack to get completed signal delivered to parent. (KWQKHTMLPartImpl::requestFrame): Initialize m_part
  • kwq/WebCoreBridge.h: createChildFrameNamed method now returns the bridge for the child frame.
9:21 PM Changeset in webkit [1780] by darin
  • 3 edits in trunk/WebKit
  • WebKit.pbproj/project.pbxproj: Change the group name back to Debug.
1:46 PM Changeset in webkit [1779] by rjw
  • 13 edits in trunk

Added flag to turn on/off buffered text drawing to help
determine if we get any speed boost. Run from console
with "-BufferTextDrawing YES" to enable buffered text
drawing.

Moved buffered text drawing out of web core.

  • WebCoreSupport.subproj/WebTextRenderer.h:
  • WebCoreSupport.subproj/WebTextRenderer.m: (+[WebTextRenderer shouldBufferTextDrawing]): (+[WebTextRenderer initialize]): (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
  • WebCoreSupport.subproj/WebTextRendererFactory.h:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):

Move stuff out of core into kit.

  • kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]):
  • kwq/WebCoreTextRendererFactory.h:
  • kwq/WebCoreTextRendererFactory.m:
12:37 PM Changeset in webkit [1778] by darin
  • 15 edits
    4 adds in trunk

top level:

  • Tests/WebFoundation-Misc/ifnsurlextensions-test.m: Added code to check the new URL extras methods against the old original versions, which are pasted in here for now.
  • Tests/WebFoundation-Misc/ifnsurlextensions-test.chk: Updated result to match the changes to _web_URLByRemovingLastPathComponent, and to reflect the new "compare with old original versions" testing.

WebFoundation:

  • Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_URLByRemovingLastPathComponent]): Changed behavior when the path is "/" to return the same URL with a path of "", to match the behavior of the old WebNSURLGetParent. I had hoped this would fix bug 3019790, but it did not.

WebCore:

  • fixed 3019353 -- Japanese (Autodetect) encoding not properly supported
  • kwq/make-charset-table.pl: Add a "japanese-autodetect" entry to the table explicitly, with a hardcoded encoding value. This should be good enough.
  • kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFixedFontSize):
  • kwq/WebCoreEncodings.h:
  • kwq/WebCoreSettings.h:
  • kwq/WebCoreSettings.m: Change "fixed font size" to "default fixed font size".

Placeholders for the "drawing observer" method that I'll be using
to implement the "dump page as diffable text" feature.

  • kwq/WebCoreTestController.h: Added.
  • kwq/WebCoreTestController.m: Added.
  • WebCore.exp: Mention new class.
  • WebCore.pbproj/project.pbxproj: Mention new files.

WebKit:

Placeholders for the "drawing observer" method that I'll be using
to implement the "dump page as diffable text" feature.

  • Misc.subproj/WebTestController.h: Added.
  • Misc.subproj/WebTestController.m: Added.
  • WebKit.pbproj/project.pbxproj: Mention new files.
  • WebKit.exp: Mention new class.
  • WebView.subproj/WebPreferences.h:
  • WebView.subproj/WebPreferences.m: Changed "fixed font size" to "default fixed font size".

WebBrowser:

Some fixes to the text encoding menus.

  • Preferences.subproj/TextPreferences.m: (-[TextPreferences takeDefaultCharacterSetFrom:]): Update the text encoding menu when the character set is changed, because the section that includes that character set shows up at the top. (-[TextPreferences awakeFromNib]): Pass the TextPreferences object as the target for the menu items, because it's not going to be in the responder chain.
  • AppController.h: Added updateTextEncodingMenu.
  • AppController.m: (-[AppController applicationDidFinishLaunching:]): Call updateTextEncodingMenu. (-[AppController updateTextEncodingMenu]): Put the code to set up the text encoding menu in here, so it can be called when the default encoding changes.
  • TextEncodingMenu.h: Added target and preferred encoding parameters.
  • TextEncodingMenu.m: (-[NSMenu addItemToMenuForEncoding:withTarget:action:]): Add target setting. (-[NSMenu addStandardTextEncodingMenuItemsWithTarget:action:preferredEncoding:]): Remove old items before adding new so this can be reused on a menu. Fixed a bug in the original Mail code that causes an extra separator to be left at the bottom when the chosen group is the last one in the list.
  • LocationChangeHandler.m: Add an import that is needed now that I removed some unneeded imports from AppController.h.
11:51 AM Changeset in webkit [1777] by cblu
  • 3 edits in trunk/WebKit

WebFoundation:

  • Misc.subproj/WebNSFileManagerExtras.h:
  • Misc.subproj/WebNSFileManagerExtras.m: (-[NSFileManager _web_carbonPathForPath:]): added (-[NSFileManager _web_startupVolumeName]): added
  • WebFoundation.pbproj/project.pbxproj: made WebNSFileManagerExtras.h a private header

WebKit:

  • Plugins.subproj/WebPluginStream.m: (-[WebPluginStream finishedLoadingWithData:]): call [NSFileManager _web_carbonPathForPath:]

WebBrowser:

Fixed:

3015546 - title bar button should be draggable
3015545 - title bar button should have command-click pop-up menu

  • BrowserNSViewExtras.h:
  • BrowserNSViewExtras.m: (-[NSView draggingImage]): added, not used yet (-[NSView startDragFromEvent:withPasteBoard:andImage:]): dragOffset correction
  • BrowserWindow.h:
  • BrowserWindowController.m: (-[BrowserWindowController windowURL]): added, called by TitleBarButton (-[BrowserWindowController windowShouldGoToURL:]): added, called by TitleBarButton
  • ListView.h:
  • ListView.m:
  • TitleBarButton.m: (-[TitleBarButton initWithFrame:]): add observers (-[TitleBarButton dealloc]): remove observers (-[TitleBarButton drawRect:]): coord fix (-[TitleBarButton userChoseMenuItem:]): added (-[TitleBarButton _drawPathRepresentingPopUpMenuForEvent:andURL:]): added (-[TitleBarButton _startDragIfNecessaryForEvent:andURL:]): added (-[TitleBarButton mouseDown:]): call new methods above (-[TitleBarButton _resetWindowButtons:]): added (-[TitleBarButton resetFrame]): calls _resetWindowButtons (-[TitleBarButton windowDidEndSheet:]): added (-[TitleBarButton windowDidDeminiaturize:]): added
3:22 AM Changeset in webkit [1776] by mjs
  • 10 edits
    2 adds in trunk

WebCore:

Added an SPI that can be used to get at the WebCore
charset-name/encoding table; this is useful for a couple of things
in WebKit.

  • kwq/WebCoreEncodings.h: Added.
  • kwq/WebCoreEncodings.mm: Added. (+[WebCoreEncodings charsetNameForEncoding:]): (+[WebCoreEncodings encodingForCharsetName:]):
  • WebCore.exp: Export the new class.
  • WebCore.pbproj/project.pbxproj: Add new files.

WebKit:

  • fixed 2957197 - Need API for getting/setting default text encoding
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate init]): Set default encoding if no other is set.
  • WebView.subproj/WebPreferences.h:
  • WebView.subproj/WebPreferences.m: (+[WebPreferences load]): Added support for default text encoding pref. (-[WebPreferences defaultTextEncoding]): Likewise. (-[WebPreferences setDefaultTextEncoding:]): Likewise.

WebBrowser:

  • fixed 2896313 - Default text encoding preference is not yet implemented
  • English.lproj/MainMenu.nib: Added separator after Default item
  • Preferences.subproj/English.lproj/TextPreferences.nib: Made the pop-up wider so it would fit the widest encoding
  • Preferences.subproj/TextPreferences.h:
  • Preferences.subproj/TextPreferences.m: (-[TextPreferences updateDefaultCharacterSetPopup]): Implemented. (-[TextPreferences takeDefaultCharacterSetFrom:]): Implemented. (-[TextPreferences awakeFromNib]): Add encoding items to pop-up button, remove empty dummy item. (-[TextPreferences initializeFromDefaults]): Initialize pop-up too.
  • TextEncodingMenu.h:
  • TextEncodingMenu.m: (-[NSMenu addStandardTextEncodingMenuItemsWithAction:]): Add a selector parameter so we can use a different one for the real menu and the default pop-up. (_addItemToMenuForEncoding): Likewise.
  • AppController.m: (-[AppController applicationDidFinishLaunching:]): Pass selector when adding encoding menu items.
1:18 AM Changeset in webkit [1775] by rjw
  • 13 edits
    2 adds in trunk

Changes to coalesce all drawing calls of the same text
style and color into one call to CG. Significantly
improves drawing time. My tests should about 7-8% on
ALL pages. Disabled the code for now until I can verify
on speed improvements on Ken's test rig.

  • WebCoreSupport.subproj/WebGlyphBuffer.h: Added.
  • WebCoreSupport.subproj/WebGlyphBuffer.m: Added. (-[WebGlyphBuffer initWithFont:color:]): (-[WebGlyphBuffer font]): (-[WebGlyphBuffer color]): (-[WebGlyphBuffer reset]): (-[WebGlyphBuffer dealloc]): (-[WebGlyphBuffer drawInView:]): (-[WebGlyphBuffer addGlyphs:advances:count:at::]):
  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
  • WebCoreSupport.subproj/WebTextRendererFactory.h:
  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory coalesceTextDrawing]): (-[WebTextRendererFactory startCoalesceTextDrawing]): (-[WebTextRendererFactory endCoalesceTextDrawing]): (-[WebTextRendererFactory glyphBufferForFont:andColor:]): (-[WebTextRendererFactory dealloc]):
  • WebKit.pbproj/project.pbxproj:

Changes to coalesce all drawing calls of the same text
style and color into one call to CG. Significantly
improves drawing time. My tests should about 7-8% on
ALL pages. Disabled the code for now until I can verify
on speed improvements on Ken's test rig.

  • kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]):
  • kwq/WebCoreTextRendererFactory.h:
  • kwq/WebCoreTextRendererFactory.m: (-[WebCoreTextRendererFactory endCoalesceTextDrawing]): (-[WebCoreTextRendererFactory startCoalesceTextDrawing]):

Made WebQueue a private class.

  • WebFoundation.exp:
  • WebFoundation.pbproj/project.pbxproj:
Note: See TracTimeline for information about the timeline view.