Timeline
Oct 19, 2006:
- 10:21 PM Changeset in webkit [22391] by
-
- 1 edit in branches/WindowsMerge/WebKitWin/WebFrame.cpp
Put in a missing else.
- 10:14 PM Changeset in webkit [17153] by
-
- 3 edits in trunk/WebCore
Correct typos from changing "flush" to "prune" using automated search/replace.
Change the cache heuristic for flushing to allow a higher watermark before initiating an
aggressive prune. This ensures that small cache sizes are no worse in terms of performance
than the old buggy cache.
Make sizes unsigned instead of ints in the cache's APIs and member variables.
- loader/Cache.cpp: (WebCore::Cache::prune): (WebCore::Cache::setMaximumSize):
- loader/Cache.h: (WebCore::Cache::maximumSize):
- 9:24 PM Changeset in webkit [17152] by
-
- 9 edits in trunk/WebCore
2006-10-19 Anders Carlsson <acarlsson@apple.com>
Reviewed by Daddy Hyatt.
Use a real hash map for the headers.
- loader/LoaderFunctions.h:
- loader/mac/LoaderFunctionsMac.mm: (WebCore::ServeSynchronousRequest):
- platform/ResourceLoader.cpp: (WebCore::ResourceLoader::setRequestHeaders): (WebCore::ResourceLoader::requestHeaders):
- platform/ResourceLoader.h:
- platform/ResourceLoaderInternal.h:
- platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start):
- xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::open): (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::getRequestHeader):
- xml/xmlhttprequest.h:
- 8:23 PM Changeset in webkit [22390] by
-
- 1 edit in branches/WindowsMerge/WebCore/ChangeLog
Add a forgotten Radar reference <rdar://problem/4786763>
- 8:05 PM Changeset in webkit [22389] by
-
- 4 edits in branches/WindowsMerge/WebCore
Reviewed by Ada.
This is a partial reimplementation of PopupMenu for Windows. The old
implementation used the Win32 ListBox control, but as we needed to
customize the behavior more and more it began to make sense to roll our
own popup from scratch. That is what this patch accomplishes. And...
Fix: <rdar://problem/4709416>
Implement mouse hot-tracking for <select> menus
(It was easier to implement this than to leave it broken.)
- WebCore.vcproj/WebCore.vcproj: Removed PopupMenu.cpp from project.
- platform/win/PopupMenuWin.cpp: Carnage. PopupMenu has gained a slew of new private instance variables to maintain the window state. m_container has been removed as it is no longer needed. (WebCore::PopupMenu::PopupMenu): Initialize new variables. (WebCore::PopupMenu::~PopupMenu): Clean up new variables. (WebCore::PopupMenu::show): Now that we don't have m_container, m_popup gets the WS_BORDER and WS_POPUP styles. Also moved code to animate the window out of the old PopupMenu::setPositionAndSize() into this method since it fits the purpose of this method better. (WebCore::PopupMenu::hide): (WebCore::PopupMenu::calculatePositionAndSize): Renamed from setPositionAndSize(), as this method no longer actually sets the window position and size, just calculates it. It also now makes sure the window is sized to never show partial items, and takes into account the window's border when calculating the size. (WebCore::PopupMenu::setFocusedIndex): New method to handle setting the selected index of the <select> and highlighting the item in the popup menu. (WebCore::PopupMenu::down): Use setSelectedIndex() to do the dirty work. (WebCore::PopupMenu::up): Ditto. (WebCore::PopupMenu::invalidateItem): New method to invalidate the rectangle in the popup menu for this item. (WebCore::PopupMenu::clientRect): New method to calculate an IntRect for the client area of the window. (WebCore::PopupMenu::incrementWheelDelta): New method to add the wheel delta obtained from a WM_MOUSEWHEEL message to any pre-existing delta. (WebCore::PopupMenu::reduceWheelDelta): New method to reduce the pre-existing wheel delta by a given amount towards 0. (WebCore::PopupMenu::paint): Does the work that PopupMenu::drawItem did, but for every item contained within the damageRect. Can also paint into a passed-in HDC (needed for window animations and smooth-scrolling). (WebCore::registerPopup): Changed a void* to a PopupMenu*, since that's what it really is. (WebCore::PopupWndProc): Added code to handle all the messages any self-respecting window would handle, and removed messages only relevant to the ListBox control.
- platform/win/TemporaryLinkStubs.cpp: Removed unneeded #include.
- 8:02 PM Changeset in webkit [17151] by
-
- 7 edits1 delete in trunk/WebCore
Reviewed by Ada.
Pippity-poppity popup tweaks.
- WebCore.xcodeproj/project.pbxproj: Removed PopupMenu.cpp from project.
- html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setSelectedIndex): Only fire onChange if requested and the new index is actually different than the old one.
- platform/IntPoint.h: Added another casting operator.
- platform/PopupMenu.cpp: Removed. The code in here, while platform-independent, was only useful for the NSPopUpButtonCell implementation of popup menus, so I've moved it to PopupMenuMac.mm.
- platform/PopupMenu.h: Moved the definition of PopupMenu::create into the header since it's fairly simple. Made some more methods private now that we don't have subclasses and virtual methods anymore. (WebCore::PopupMenu::create): (WebCore::PopupMenu::menuList): (WebCore::PopupMenu::itemHeight): (WebCore::PopupMenu::windowRect): (WebCore::PopupMenu::listIndexAtPoint): (WebCore::PopupMenu::focusedIndex): (WebCore::PopupMenu::setWasClicked): (WebCore::PopupMenu::wasClicked): (WebCore::PopupMenu::setScrollOffset): (WebCore::PopupMenu::scrollOffset): (WebCore::PopupMenu::wheelDelta):
- platform/mac/PopupMenuMac.mm: Added the code from PopupMenu.cpp. (WebCore::PopupMenu::populate): Call our own clear() method to clear the menu.
- platform/win/IntPointWin.cpp: New casting operator. (WebCore::IntPoint::IntPoint): (WebCore::IntPoint::operator POINTS):
- 8:01 PM Changeset in webkit [22388] by
-
- 2 edits in branches/WindowsMerge/WebCore
WebCoreWin:
Rubberstamped by Maciej.
Build fix.
- bridge/win/FrameWin.cpp: (WebCore::FrameWin::submitForm):
- 8:00 PM Changeset in webkit [17150] by
-
- 4 edits in trunk/WebKit
Reviewed by Anders.
Bug 11366: Web Inspector should show user agent style rules
http://bugs.webkit.org/show_bug.cgi?id=11366
- WebInspector/WebInspector.m: (-init): (-showOptionsMenu): (-_toggleShowUserAgentStyles:):
- WebInspector/WebInspectorInternal.h:
- WebInspector/webInspector/inspector.js:
- 6:57 PM Changeset in webkit [17149] by
-
- 2 edits in trunk/WebKit
Build fix - 2gig is on that pesky signed/unsigned limit...
- WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge getObjectCacheSize]):
- 5:48 PM Changeset in webkit [22387] by
-
- 2 edits in branches/WindowsMerge/WebCore
Reviewed by Steve.
- speculative build fix for Windows for my recent changes.
- bridge/win/FrameWin.cpp: (WebCore::FrameWin::submitForm):
- 5:26 PM Changeset in webkit [17148] by
-
- 2 edits in trunk/WebKit
Reviewed by Hyatt.
Death to 16777216. Long live 33554432.
(Cache size changed needs to be reflected in localization file)
- English.lproj/StringsNotToBeLocalized.txt:
- 5:16 PM Changeset in webkit [17147] by
-
- 2 edits in trunk/WebKit
Reviewed by Hyatt
Added an larger in-memory level of cache for machines with 2+gb ram
- WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge getObjectCacheSize]):
- 5:16 PM Changeset in webkit [22386] by
-
- 1 edit in branches/WindowsMerge/WebKitWin/WebFrame.cpp
Add a new 8x multiplier on the memory cache for >2gb machines
- 5:08 PM Changeset in webkit [17146] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin.
Cleaning up Document::nextFocusNode and Document::previousFocusNode.
- dom/Document.cpp: (WebCore::Document::nextFocusNode): (WebCore::Document::previousFocusNode):
- 5:07 PM Changeset in webkit [22385] by
-
- 1 edit in branches/WindowsMerge/WebKitWin/WebPreferences.cpp
Double the WebCore cache size.
- 5:06 PM Changeset in webkit [17145] by
-
- 2 edits in trunk/WebKit
Reviewed by Hyatt
Double the default memory cache size
- WebView/WebPreferences.m: (+[WebPreferences initialize]):
- 5:00 PM Changeset in webkit [17144] by
-
- 17 edits in trunk/WebCore
Reviewed by Geoff.
- implement new ResourceRequest API and fix up code as appropriate
- bindings/js/kjs_window.cpp: (KJS::createNewWindow): (KJS::WindowFunc::callAsFunction):
- bridge/mac/BrowserExtensionMac.mm: (WebCore::BrowserExtensionMac::createNewWindow):
- bridge/mac/FrameMac.mm: (WebCore::FrameMac::submitForm): (WebCore::FrameMac::openURLRequest): (WebCore::FrameMac::urlSelected):
- bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
- dom/DOMImplementation.cpp: (WebCore::addString): (WebCore::isSVG10Feature): (WebCore::isSVG11Feature):
- dom/Document.h:
- editing/CommandByName.cpp:
- editing/JSEditor.cpp:
- page/Frame.cpp: (WebCore::Frame::changeLocation): (WebCore::Frame::urlSelected): (WebCore::Frame::requestFrame): (WebCore::Frame::submitForm):
- page/Frame.h:
- page/FramePrivate.h:
- page/ResourceRequest.h: (WebCore::): (WebCore::ResourceRequest::ResourceRequest): (WebCore::ResourceRequest::cachePolicy): (WebCore::ResourceRequest::setCachePolicy): (WebCore::ResourceRequest::timeoutInterval): (WebCore::ResourceRequest::setTimeoutInterval): (WebCore::ResourceRequest::mainDocumentURL): (WebCore::ResourceRequest::setMainDocumentURL): (WebCore::ResourceRequest::httpMethod): (WebCore::ResourceRequest::setHTTPMethod): (WebCore::ResourceRequest::httpHeaderField): (WebCore::ResourceRequest::setHTTPHeaderField): (WebCore::ResourceRequest::httpContentType): (WebCore::ResourceRequest::setHTTPContentType): (WebCore::ResourceRequest::httpReferrer): (WebCore::ResourceRequest::setHTTPReferrer): (WebCore::ResourceRequest::httpUserAgent): (WebCore::ResourceRequest::setHTTPUserAgent): (WebCore::ResourceRequest::httpBody): (WebCore::ResourceRequest::setHTTPBody): (WebCore::ResourceRequest::addHTTPHeaderField):
- platform/FontCache.cpp: (WebCore::computeHash):
- platform/StringHash.h: (WTF::):
- platform/StringImpl.cpp: (WebCore::equalIgnoringCase):
- rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget):
- 4:21 PM Changeset in webkit [17143] by
-
- 17 edits in trunk
LayoutTests:
Reviewed by levi
<rdar://problem/4447885>
API: WebView should have a method something like incrementLeftMarginBy: or indentBy:
Changed blockquotes in these tests to blockquote class="webkit-indent-blockquote".
- editing/execCommand/indent-empty-root-expected.txt:
- editing/execCommand/indent-selection-expected.checksum:
- editing/execCommand/indent-selection-expected.png:
- editing/execCommand/indent-selection-expected.txt:
- editing/execCommand/indent-selection.html:
- editing/execCommand/nsresponder-indent-expected.txt:
- editing/execCommand/nsresponder-outdent.html:
- editing/execCommand/outdent-selection-expected.checksum:
- editing/execCommand/outdent-selection-expected.png:
- editing/execCommand/outdent-selection-expected.txt:
Ditto. Added a FIXME:
- editing/execCommand/outdent-selection.html:
WebCore:
Reviewed by levi
<rdar://problem/4447885>
API: WebView should have a method something like incrementLeftMarginBy: or indentBy:
Fixed indent/outdent to only increment the left margin, to match other browsers.
Used blockquote class="webkit-indent-blockquote" to do this. Mail can now
implement indent/outdent by customizing the appearance of these blockquotes,
instead of using a new API.
- css/html4.css: Added margin: 0 0 0 40px for webkit-indent-blockquotes.
- editing/IndentOutdentCommand.cpp: (WebCore::indentBlockquoteString): Added. (WebCore::createIndentBlockquoteElement): Added. (WebCore::isIndentBlockquote): Added. (WebCore::isListOrBlockquote): Added. (WebCore::IndentOutdentCommand::IndentOutdentCommand): (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Fixed a bug in the code that added an extra br if the placeholder collapsed upon insertion. Used the new indentBlockquote checks and enclosing element getters. (WebCore::IndentOutdentCommand::indentRegion): Ditto. (WebCore::IndentOutdentCommand::outdentParagraph): Ditto. Cleaned up the logic to pull the selection out of a list a bit.
- editing/htmlediting.cpp: (WebCore::enclosingNodeOfType): Added this generic enclosing element getter.
- editing/htmlediting.h:
- 2:57 PM Changeset in webkit [17142] by
-
- 3 edits in trunk/WebKit
Reviewed by Kevin D and Geoff
- WebKit.xcodeproj/project.pbxproj: version wars
Cleaned up this file, as follows:
- renamed all file-internal methods to start with underscores
- moved all file-internal methods into a FileInternal category block, and alphabetized them
- grouped all other methods by where/how they were defined (delegate methods, protocol methods, overrides, etc.)
- removed unstylish braces around one-line clauses
- WebView/WebPDFView.m: (_applicationInfoForMIMEType): (_PDFSelectionsAreEqual): (+[WebPDFView supportedMIMETypes]): (-[WebPDFView setPDFDocument:]): (-[WebPDFView dealloc]): (-[WebPDFView centerSelectionInVisibleArea:]): (-[WebPDFView scrollPageDown:]): (-[WebPDFView scrollPageUp:]): (-[WebPDFView scrollLineDown:]): (-[WebPDFView scrollLineUp:]): (-[WebPDFView scrollToBeginningOfDocument:]): (-[WebPDFView scrollToEndOfDocument:]): (-[WebPDFView jumpToSelection:]): (-[WebPDFView acceptsFirstResponder]): (-[WebPDFView becomeFirstResponder]): (-[WebPDFView hitTest:]): (-[WebPDFView initWithFrame:]): (-[WebPDFView menuForEvent:]): (-[WebPDFView setNextKeyView:]): (-[WebPDFView viewDidMoveToWindow]): (-[WebPDFView viewWillMoveToWindow:]): (-[WebPDFView validateUserInterfaceItem:]): (-[WebPDFView copy:]): (-[WebPDFView takeFindStringFromSelection:]): (-[WebPDFView canPrintHeadersAndFooters]): (-[WebPDFView printOperationWithPrintInfo:]): (-[WebPDFView viewWillMoveToHostWindow:]): (-[WebPDFView viewDidMoveToHostWindow]): (-[WebPDFView elementAtPoint:]): (-[WebPDFView elementAtPoint:allowShadowContent:]): (-[WebPDFView searchFor:direction:caseSensitive:wrap:]): (-[WebPDFView viewState]): (-[WebPDFView setViewState:]): (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]): (-[WebPDFView PDFViewWillClickOnLink:withURL:]): (+[WebPDFView _PDFPreviewViewClass]): (+[WebPDFView _PDFViewClass]): (-[WebPDFView _anyPDFTagsFoundInMenu:]): (-[WebPDFView _applyPDFDefaults]): (-[WebPDFView _fakeKeyEventWithFunctionKey:]): (-[WebPDFView _menuItemsFromPDFKitForEvent:]): (-[WebPDFView _openWithFinder:]): (-[WebPDFView _path]): (-[WebPDFView _PDFSubview]): (-[WebPDFView _pointIsInSelection:]): (-[WebPDFView _receivedPDFKitLaunchNotification:]): (-[WebPDFView _scaledAttributedString:]): (-[WebPDFView _trackFirstResponder]): (-[PDFPrefUpdatingProxy forwardInvocation:]): (-[PDFPrefUpdatingProxy methodSignatureForSelector:]):
- 1:42 PM Changeset in webkit [17141] by
-
- 3 edits in trunk/LayoutTests
Reviewed by ap.
Added a delay before printing the last line of text to ensure that the two
lines consistently decode as separate chunks.
- http/tests/incremental/slow-utf8-css.pl:
- http/tests/incremental/slow-utf8-css-expected.txt:
- 1:13 PM Changeset in webkit [17140] by
-
- 2 edits in trunk/WebCore
Rolling out the this change since it caused a bad regression:
<rdar://problem/4788524> REGRESSION: Incomplete repaint of text area when deleting (11277)
2006-10-12 Adele Peterson <adele@apple.com>
Reviewed by Dave Harrison.
- Fixed <rdar://problem/4650813> REGRESSION: typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
- rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): Make subtree layouts work for textareas as well as text fields.
- 11:44 AM Changeset in webkit [22384] by
-
- 4 edits in branches/WindowsMerge
WebCoreWin:
2006-10-19 Anders Carlsson <acarlsson@apple.com>
- platform/win/TemporaryLinkStubs.cpp: (WebCore::ResourceLoader::retrieveResponseEncoding): Build fix.
WebKitWin:
2006-10-19 Anders Carlsson <acarlsson@apple.com>
- WebFrame.cpp: (WebFrame::initWithWebFrameView): Build fix.
- 11:43 AM Changeset in webkit [17139] by
-
- 9 edits in trunk/WebKit
Reviewed by Kevin Decker
- fixed <rdar://problem/4792761> Safari should use fancier embedded PDFKit stuff when it's available
- WebKit.xcodeproj/project.pbxproj: version wars
- WebView/WebFrameView.m: (-[WebFrameView _makeDocumentViewForDataSource:]): initialize document view with frame view's rect instead of empty rect. This avoids some problems when constructing view hierarchies from nibs
- WebView/WebPreferencesPrivate.h: declare new _usePDFPreviewView and _setUsePDFPreviewView:, used for debugging
- WebView/WebPreferenceKeysPrivate.h: declare new preference key string
- WebView/WebPreferences.m: (+[WebPreferences initialize]): initialize new preference to true (we will by default use the new view if it's available) (-[WebPreferences _usePDFPreviewView]): new accessor for new pref (-[WebPreferences _setUsePDFPreviewView:]): ditto
- WebView/WebPDFView.h: new previewView ivar
- WebView/WebPDFView.m: (+[WebPDFView PDFPreviewViewClass]): new method, returns class to use for fancier embedded PDFKit stuff, or nil if fancy stuff isn't available (-[WebPDFView initWithFrame:]): now tries to use fancier embedded PDFKit stuff if it's available and the pref is set to use it; falls back to old behavior otherwise (-[WebPDFView dealloc]): release new previewView ivar (retained in initWithFrame:) (-[WebPDFView viewWillMoveToWindow:]): stop observing PDFKit notification when we're removed from window (-[WebPDFView viewDidMoveToWindow]): start observing PDFKit notification when we're added to window (-[WebPDFView _receivedPDFKitLaunchNotification:]): respond to this new PDFKit notification by opening the document via NSWorkspace
- English.lproj/StringsNotToBeLocalized.txt: updated for lots of recent changes
- 11:07 AM Changeset in webkit [17138] by
-
- 8 edits in trunk/WebCore
2006-10-19 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed and landed by Anders.
Fix Qt/Linux build.
- CMakeLists.txt:
- loader/Cache.h:
- platform/qt/BrowserExtensionQt.cpp:
- platform/qt/BrowserExtensionQt.h:
- platform/qt/CursorQt.cpp: (WebCore::pointerCursor):
- platform/qt/LoaderFunctionsQt.cpp: (WebCore::NumberOfPendingOrLoadingRequests): (WebCore::CheckCacheObjectStatus):
- platform/qt/ResourceLoaderQt.cpp: (WebCore::ResourceLoader::retrieveResponseEncoding): (WebCore::ResourceLoader::receivedResponse):
- 10:09 AM Changeset in webkit [17137] by
-
- 6 edits in trunk
WebCore:
Reviewed by ap.
Win32 build fix.
- bridge/win/FrameWin.cpp:
- bridge/win/FrameWin.h:
- platform/win/TemporaryLinkStubs.cpp: (WebCore::ResourceLoader::retrieveResponseEncoding):
WebKit:
Reviewed by ap.
Win32 build fix.
- COM/WebFrame.cpp: (WebFrame::initWithName): (WebFrame::createNewWindow):
- 9:41 AM Changeset in webkit [17136] by
-
- 4 edits9 adds in trunk
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11141
REGRESSION(r16681-r16691): CSS '@import' doesn't respect HTML Base element
Undo one misguided change made in bug 11011 - stop setting inline stylesheet's href
to document URL. This matches WinIE and partially matches Firefox - although the latter
reports the href as if it were inherited, it still doesn't use it when resolving URIs in
@import rules.
Test: http/tests/uri/css-href.php
- html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::childrenChanged):
- ksvg2/svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::childrenChanged):
- 9:37 AM Changeset in webkit [17135] by
-
- 2 edits in trunk/WebKit
2006-10-19 Mitz Pettel <mitz@webkit.org>
Reviewed and landed by ap.
- fixed the inspector's tree popup
- WebInspector/webInspector/inspector.html:
- 9:15 AM Changeset in webkit [17134] by
-
- 2 edits in trunk/WebCore
2006-10-19 Anders Carlsson <acarlsson@apple.com>
- loader/Cache.cpp: Get rid of #include "loader.h", Cache.h already includes this and it breaks on operating systems with case-sensitive file systems.
- 9:09 AM Changeset in webkit [17133] by
-
- 16 edits in trunk/WebCore
2006-10-19 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej, Brady.
Remove "charset" from the ResourceLoader metadata map and use
a getter function instead. Also, rename charset to encoding in a couple of places.
- loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::setEncoding):
- loader/CachedCSSStyleSheet.h:
- loader/CachedResource.h: (WebCore::CachedResource::setEncoding):
- loader/CachedScript.cpp: (WebCore::CachedScript::setEncoding):
- loader/CachedScript.h:
- loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::setEncoding):
- loader/CachedXBLDocument.h:
- loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::setEncoding):
- loader/CachedXSLStyleSheet.h:
- loader/loader.cpp: (WebCore::Loader::receivedResponse):
- platform/ResourceLoader.cpp: (WebCore::ResourceLoader::responseEncoding): (WebCore::ResourceLoader::queryMetaData):
- platform/ResourceLoader.h:
- platform/ResourceLoaderInternal.h: (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
- platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::retrieveResponseEncoding): (WebCore::ResourceLoader::receivedResponse):
- xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::receivedData):
- 7:58 AM Changeset in webkit [17132] by
-
- 3 edits in trunk/LayoutTests
Updated this test to avoid machine-specific results.
- fast/js/window-properties2-expected.txt:
- fast/js/window-properties2.html:
- 2:21 AM Changeset in webkit [17131] by
-
- 29 edits in trunk/WebCore
Rewrite of the WebCore memory cache. The following changes have been made (along with many more):
(1) Referenced objects are now also cached.
(2) Pruning of the cache will occur once the cache is both full and in addition
more than half full with unreferenced objects.
(3) The prune is much more aggressive now, since referenced objects are counted when
pruning. The cache will therefore often prune out every unreferenced object if lots of
windows/tabs are open.
(4) Consolidated the request methods for various types of resources to go through a single
requestResource bottleneck function.
(5) deref on CachedResource is no longer virtual, since the implementation in every subclass was
identical.
(6) Changed "object" to "resource" everywhere.
(7) The Cache is now an actual object, obtained via cache().
(8) Fixed bugs with the autoload images preference so that it would really work properly when disabled
and enabled.
(9) Tweaked ImageDocuments to set up the status properly for the CachedResource that they use.
(10) Fixed the LRU-SP algorithm so that the LRU aspect really kicks in (by leaving the live objects
in the LRU lists). Also fixed a bug with the "-SP" part of the algorithm where the access count was
being incorrectly weighted too much due to a math error.
(11) Fixed a bug where the old cache could grow without bound because it didn't know anything about
the size of referenced resources.
Reviewed by Maciej, bradee-oh
- bridge/mac/WebCoreCache.mm: (+[WebCoreCache statistics]): (+[WebCoreCache empty]): (+[WebCoreCache setDisabled:]):
- bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge initMainFrameWithPage:]): (-[WebCoreFrameBridge getData:andResponse:forURL:]): (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
- css/CSSImageValue.cpp: (WebCore::CSSImageValue::image):
- dom/XMLTokenizer.cpp: (WebCore::openFunc):
- html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
- loader/Cache.cpp: (WebCore::cache): (WebCore::Cache::Cache): (WebCore::createResource): (WebCore::Cache::requestResource): (WebCore::Cache::resourceForURL): (WebCore::Cache::prune): (WebCore::Cache::setMaximumSize): (WebCore::Cache::remove): (WebCore::Cache::addDocLoader): (WebCore::Cache::removeDocLoader): (WebCore::fastLog2): (WebCore::Cache::lruListFor): (WebCore::Cache::removeFromLRUList): (WebCore::Cache::insertInLRUList): (WebCore::Cache::resourceAccessed): (WebCore::Cache::adjustSize): (WebCore::Cache::getStatistics): (WebCore::Cache::setDisabled):
- loader/Cache.h: (WebCore::LRUList::LRUList): (WebCore::Cache::loader): (WebCore::Cache::maximumSize): (WebCore::Cache::disabled): (WebCore::Cache::addToLiveObjectSize): (WebCore::Cache::removeFromLiveObjectSize): (WebCore::Cache::TypeStatistic::TypeStatistic):
- loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
- loader/CachedCSSStyleSheet.h:
- loader/CachedImage.cpp: (WebCore::CachedImage::CachedImage): (WebCore::CachedImage::~CachedImage): (WebCore::brokenImage): (WebCore::nullImage): (WebCore::CachedImage::image): (WebCore::CachedImage::data):
- loader/CachedImage.h: (WebCore::CachedImage::stillNeedsLoad):
- loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::~CachedResource): (WebCore::CachedResource::finish): (WebCore::CachedResource::setExpireDate): (WebCore::CachedResource::isExpired): (WebCore::CachedResource::setRequest): (WebCore::CachedResource::ref): (WebCore::CachedResource::deref): (WebCore::CachedResource::setSize):
- loader/CachedResource.h: (WebCore::CachedResource::): (WebCore::CachedResource::setCharset): (WebCore::CachedResource::url): (WebCore::CachedResource::type): (WebCore::CachedResource::referenced): (WebCore::CachedResource::count): (WebCore::CachedResource::status): (WebCore::CachedResource::size): (WebCore::CachedResource::isLoaded): (WebCore::CachedResource::setLoading): (WebCore::CachedResource::isImage): (WebCore::CachedResource::accessCount): (WebCore::CachedResource::increaseAccessCount): (WebCore::CachedResource::setInCache): (WebCore::CachedResource::inCache): (WebCore::CachedResource::cachePolicy): (WebCore::CachedResource::response): (WebCore::CachedResource::allData): (WebCore::CachedResource::canDelete): (WebCore::CachedResource::schedule): (WebCore::CachedResource::accept): (WebCore::CachedResource::setAccept):
- loader/CachedScript.cpp: (WebCore::CachedScript::CachedScript):
- loader/CachedScript.h:
- loader/CachedXBLDocument.cpp:
- loader/CachedXBLDocument.h:
- loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
- loader/CachedXSLStyleSheet.h:
- loader/DocLoader.cpp: (WebCore::DocLoader::DocLoader): (WebCore::DocLoader::~DocLoader): (WebCore::DocLoader::checkForReload): (WebCore::DocLoader::requestImage): (WebCore::DocLoader::requestCSSStyleSheet): (WebCore::DocLoader::requestScript): (WebCore::DocLoader::requestXSLStyleSheet): (WebCore::DocLoader::requestXBLDocument): (WebCore::DocLoader::requestResource): (WebCore::DocLoader::setAutoLoadImages): (WebCore::DocLoader::removeCachedResource):
- loader/DocLoader.h: (WebCore::DocLoader::cachedResource): (WebCore::DocLoader::allCachedResources): (WebCore::DocLoader::autoLoadImages): (WebCore::DocLoader::cachePolicy): (WebCore::DocLoader::expireDate): (WebCore::DocLoader::frame): (WebCore::DocLoader::doc): (WebCore::DocLoader::loadInProgress):
- loader/ImageDocument.cpp: (WebCore::ImageTokenizer::finish):
- loader/loader.cpp: (WebCore::Loader::receivedAllData): (WebCore::Loader::cancelRequests):
- loader/mac/LoaderFunctionsMac.mm: (WebCore::NumberOfPendingOrLoadingRequests): (WebCore::CheckCacheObjectStatus):
- page/Frame.cpp: (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): (WebCore::Frame::Frame): (WebCore::Frame::stopLoading): (WebCore::Frame::setAutoLoadImages): (WebCore::Frame::autoLoadImages): (WebCore::Frame::begin): (WebCore::Frame::checkCompleted): (WebCore::Frame::reparseConfiguration):
- page/Frame.h:
- xml/XSLTProcessor.cpp: (WebCore::docLoaderFunc):
- xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::send):
Oct 18, 2006:
- 11:17 PM Changeset in webkit [17130] by
-
- 3 edits2 adds in trunk/LayoutTests
Test for some window properties that WebCore previously didn't enumerate.
- fast/js/window-properties2-expected.txt: Added.
- fast/js/window-properties2.html: Added.
- 10:09 PM Changeset in webkit [17129] by
-
- 4 edits in trunk/WebKitTools
Reviewed by Tim H.
Improve the doubleclick behavior of breakpoints, and make breakpoints with no custom condition set appear blank instead of return [-1, 1] depending on enabled state.
- Drosera/DebuggerDocument.m: (-[WebScriptObject getDoubleClickMillis]): Add an ObjC wrapper for GetDblTime() so that JS can call it
- Drosera/Drosera.xcodeproj/project.pbxproj: link Carbon for GetDblTime()
- Drosera/debugger.js:
- 10:02 PM Changeset in webkit [17128] by
-
- 2 edits in trunk/WebKitTools
Reviewed by Anders.
Bug 10851: Crash with Drosera
http://bugs.webkit.org/show_bug.cgi?id=10851
This crash results in an assert in debug builds.
assert(implementsCall());
The drosera_introspection propery was not callable. Now we just assign
this.drosera_introspection in the evaluateWebScript call.
This change also removes one DO message.
- Drosera/DebuggerDocument.m: (-[WebScriptObject webScriptAttributeKeysForScriptObject:]):
- 7:42 PM Changeset in webkit [17127] by
-
- 26 edits in trunk
Reviewed by Geoff.
- remove vestiges of KXMLCore name (former name of WTF).
- wtf/Assertions.h:
- wtf/FastMalloc.h: (operator new): (operator delete): (operator new[]): (operator delete[]):
- wtf/FastMallocInternal.h:
- wtf/Forward.h:
- wtf/GetPtr.h:
- wtf/HashCountedSet.h:
- wtf/HashFunctions.h:
- wtf/HashMap.h:
- wtf/HashSet.h:
- wtf/HashTable.h:
- wtf/HashTraits.h:
- wtf/ListRefPtr.h:
- wtf/MathExtras.h:
- wtf/Noncopyable.h:
- wtf/OwnArrayPtr.h:
- wtf/OwnPtr.h:
- wtf/PassRefPtr.h:
- wtf/Platform.h:
- wtf/RefPtr.h:
- wtf/StringExtras.h: (snprintf):
- wtf/UnusedParam.h:
- wtf/Vector.h:
- wtf/VectorTraits.h:
WebCore:
Reviewed by Geoff.
- remove vestiges of KXMLCore name (former name of WTF).
- config.h:
- 6:45 PM Changeset in webkit [22383] by
-
- 3 edits in branches/WindowsMerge/WebCore
Reviewed by Geoff.
- remove remnants of KXMLCore name.
- WebCore.vcproj/WebCore.vcproj:
- config.h:
- 6:43 PM Changeset in webkit [17126] by
-
- 6 edits in trunk
LayoutTests:
Reviewed by Beth.
Updated some results now that some global JS objects repeatably report their
statically declared properties.
- fast/js/window-properties-expected.txt:
- fast/js/window-properties.html:
WebCore:
Reviewed by Beth.
Some global JS objects lacked references to their property hashtables,
so for-in enumeration didn't work. I added the references, and then removed
a few bogus properties from the tables. The bogus ones got in there through
bit rot.
We should come up with some solution to these hand-written bindings bugs.
Maybe we could use a script to autogenerate them or something.
- bindings/js/kjs_window.cpp: (KJS::): (KJS::History::getValueProperty):
- 6:05 PM Changeset in webkit [17125] by
-
- 2 edits in trunk/LayoutTests
Reviewed by Maciej.
Fix: http://bugs.webkit.org/show_bug.cgi?id=11342
fast/repaint/4774354 is failing
It seems that this test got checked in with incorrect results, as it
has been failing since its introduction in r17093.
- fast/repaint/4774354-expected.txt:
- 5:11 PM Changeset in webkit [17124] by
-
- 3 edits1 copy1 add in trunk
LayoutTests:
Reviewed by Brady.
New test to make sure we're generating the correct keycodes for Tab
and Shift-Tab keypresses.
- fast/events/js-keyboard-event-creation-expected.txt: Added.
- fast/events/js-keyboard-event-creation.html: Added.
WebCore:
Reviewed by Brady.
Change Shift-Tab to generate keyIdentifier U+000009 (Tab) instead of
U+000019 (Backtab). This matches our windowsKeyCode for this key
combination.
- platform/mac/KeyEventMac.mm: (WebCore::keyIdentifierForKeyEvent):
- 4:28 PM Changeset in webkit [17123] by
-
- 2 edits in trunk/WebCore
2006-10-18 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam, Brady.
Loader tweaks.
- platform/cf/ResourceLoaderCFNet.cpp: (WebCore::didFinishLoading): (WebCore::didFail): (WebCore::didReceiveChallenge): (WebCore::runLoaderThread): (WebCore::ResourceLoader::start): (WebCore::ResourceLoader::cancel):
- 4:15 PM Changeset in webkit [17122] by
-
- 4 edits in trunk/LayoutTests
Reviewed by Brady.
Fix: http://bugs.webkit.org/show_bug.cgi?id=11344
REGRESSION (r16741): webViewDidChangeSelection delegate not firing in
2 layout tests
The behavior for display-none-in-onchange-keyboard is still correct
(we don't crash when the element about to receive focus gets
display:none set), so I've just generated new results for it.
The behavior of tabbing-input-iframe has changed a little. iframe
elements are now in the tab order, so I've changed the test to take
that into account and generated new results.
- fast/forms/display-none-in-onchange-keyboard-expected.txt:
- fast/forms/tabbing-input-iframe-expected.txt:
- fast/forms/tabbing-input-iframe.html:
- 3:56 PM Changeset in webkit [17121] by
-
- 8 edits in trunk/WebCore
Reviewed by Darin.
<rdar://problem/4752138> Manipulating popup in HTML page crashed Xcode
- Store the Mac popup button cell as a RetainPtr to prevent GC collection.
- Convert more ObjC local statics and member variables to use RetainPtr.
- Convert more CFRetain/CFRelease to HardRetain/HardRelease.
- bindings/objc/DOM.mm: (ObjCNodeFilterCondition::ObjCNodeFilterCondition): use HardRetain and not CFRetain (ObjCNodeFilterCondition::~ObjCNodeFilterCondition): use HardRelease and not CFRelease
- bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::~AXObjectCache): use HardRelease and not CFRelease (WebCore::AXObjectCache::get): use HardRetain and not CFRetain (WebCore::AXObjectCache::remove): use HardRelease and not CFRelease
- bridge/mac/WebCoreFrameBridge.mm: (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): use RetainPtr (+[WebCoreFrameBridge supportedImageMIMETypes]): ditto
- bridge/mac/WebCoreIconDatabaseBridge.mm: (+[WebCoreIconDatabaseBridge sharedInstance]): use RetainPtr
- platform/PopupMenu.h: renamed popup to m_popup and switched to RetainPtr<NSPopUpButtonCell>
- platform/cf/RetainPtr.h: (WTF::::operator): implement a missing operator= template function
- platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::PopupMenu): remove nil initialization (WebCore::PopupMenu::~PopupMenu): use .get(), remove release message and rename to m_popup (WebCore::PopupMenu::clear): use .get() when sending a message and rename to m_popup (WebCore::PopupMenu::populate): ditto (WebCore::PopupMenu::show): ditto (WebCore::PopupMenu::hide): ditto (WebCore::PopupMenu::addSeparator): ditto (WebCore::PopupMenu::addGroupLabel): ditto (WebCore::PopupMenu::addOption): ditto
- 3:52 PM Changeset in webkit [22382] by
-
- 2 edits in branches/WindowsMerge/WebCore
2006-10-18 Steve Falkenburg <sfalken@apple.com>
Fix build
- platform/win/TemporaryLinkStubs.cpp: (BrowserExtensionWin::historyURL): (BrowserExtensionWin::BrowserExtensionWin):
- 3:45 PM Changeset in webkit [17120] by
-
- 4 edits in trunk/WebCore
Reviewed by Adele.
Fixed <rdar://problem/3673233> JavaScript timers do not fire if controls
are tracking or menus are down (run loop modes)
I spent a few hours trying to write an automated test, but DRT doesn't
seem to support it. Manual tests attached to related bugs.
- bridge/mac/FrameMac.mm: (WebCore::FrameMac::passMouseDownEventToWidget):
- platform/mac/SharedTimerMac.cpp: (WebCore::setSharedTimerFireTime):
- 2:58 PM Changeset in webkit [22381] by
-
- 6 edits in branches/WindowsMerge/WebKitWin
Reviewed by Steve.
Any file that #includes WebView.h also needed to include
IWebURLResponse.h since IWebView.h needed it. Adding this
to the IDL file.
- Interfaces/IWebDataSource.idl: re-arranged imports because not all were being generated due to weird IDL file compiler bug
- Interfaces/IWebView.idl: added reference to IWebURLResponse.h
- WebFrame.cpp:
- WebKitClassFactory.cpp:
- WebView.cpp: removed reference to IWebURLResponse.h
- 2:30 PM Changeset in webkit [17119] by
-
- 2 edits in trunk/WebKitTools
2006-10-18 Mark Rowe <bdash@webkit.org>
Reviewed by Tim H.
http://bugs.webkit.org/show_bug.cgi?id=11304
Bug 11304: Drosera fails to link as universal binary on PowerPC machine
- Drosera/Drosera.xcodeproj/project.pbxproj: Use -weak_framework to link against JavaScriptCore and WebCore directly when they are not part of the WebKit umbrella framework.
- 2:12 PM Changeset in webkit [17118] by
-
- 5 edits in trunk
WebCore:
Reviewed by Maciej.
More Win32 buildfix.
- bridge/win/FrameWin.h:
WebKit:
Reviewed by Maciej.
Win32 build fix.
- COM/WebFrame.cpp: (WebFrame::createNewWindow):
- COM/WebFrame.h:
- 1:51 PM Changeset in webkit [17117] by
-
- 2 edits in trunk/WebKit
2006-10-18 Anders Carlsson <acarlsson@apple.com>
Reviewed by Adam.
http://bugs.webkit.org/show_bug.cgi?id=11000
REGRESSION (r16101): css2.1/t0801-c412-hz-box-00-b-a is failing because the QuickTime plugin is taking over but not rendering the png
- WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge determineObjectFromMIMEType:URL:]): Return ObjectElementFrame if the MIME type is one of the image ones we support.
- 1:17 PM Changeset in webkit [17116] by
-
- 7 edits in trunk/WebCore
Reviewed by Mitz
Win32 build fix.
- bridge/win/BrowserExtensionWin.cpp: (WebCore::BrowserExtensionWin::BrowserExtensionWin): (WebCore::BrowserExtensionWin::createNewWindow):
- bridge/win/BrowserExtensionWin.h:
- bridge/win/FrameWin.cpp: (WebCore::FrameWin::createNewWindow):
- bridge/win/FrameWin.h:
- platform/win/CursorWin.cpp:
- platform/win/TemporaryLinkStubs.cpp: (Image::getHBITMAP):
- 12:35 PM Changeset in webkit [17115] by
-
- 2 edits in trunk/WebKitTools
fixo el buildo II: Release's Pride.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- 12:27 PM Changeset in webkit [17114] by
-
- 3 edits4 adds in trunk
LayoutTests:
Reviewed by harrison
<rdar://problem/4784823>
GMail Editor: Hang occurs when removing list styling on text in a rich text message
- editing/execCommand/remove-list-1-expected.checksum: Added.
- editing/execCommand/remove-list-1-expected.png: Added.
- editing/execCommand/remove-list-1-expected.txt: Added.
- editing/execCommand/remove-list-1.html: Added.
WebCore:
Reviewed by harrison
<rdar://problem/4784823>
GMail Editor: Hang occurs when removing list styling on text in a rich text message
List removal moves the contents of every list item out of the list it's
in. When the code tried to move the contents of an empty list item (an li
with no child nodes, not even a placeholder br), moveParagraph didn't prune
the li, like it would if the li had a placeholder inside it. So the list
removal code went into an infinite loop, continually attempting to de-list
an empty list item.
- editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphs): If the selection to move was empty and in an empty block that doesn't require a placeholder to prop itself open (like a bordered div or an li), remove it during the move.
- 12:22 PM Changeset in webkit [17113] by
-
- 3 edits8 adds in trunk
LayoutTests:
Reviewed by harrison
<rdar://problem/4765600>
REGRESSION: Mail.app: smart deletion of words does not work
- editing/deleting/smart-delete-003-expected.checksum: Added.
- editing/deleting/smart-delete-003-expected.png: Added.
- editing/deleting/smart-delete-003-expected.txt: Added.
- editing/deleting/smart-delete-003.html: Added.
- editing/deleting/smart-delete-004-expected.checksum: Added.
- editing/deleting/smart-delete-004-expected.png: Added.
- editing/deleting/smart-delete-004-expected.txt: Added.
- editing/deleting/smart-delete-004.html: Added.
WebKit:
Reviewed by harrison
<rdar://problem/4765600>
REGRESSION: Mail.app: smart deletion of words does not work
Regressed when we pushed selecion expansion down into WebCore. It's OK
to try a smart delete from _deleteWithDirection:, which is called by
deleteFoward: and deleteBackward: if the current selection is a
range.
- WebView/WebHTMLView.m: (-[NSArray _deleteWithDirection:granularity:killRing:isTypingAction:]):
- 11:59 AM Changeset in webkit [17112] by
-
- 2 edits in trunk/WebKitTools
fixo el buildo.
Work around #import of <PDFKit/PDFView.h>.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- 11:47 AM Changeset in webkit [17111] by
-
- 2 edits in trunk/WebCore
Reviewed by Beth.
- Fixed http://bugs.webkit.org/show_bug.cgi?id=11343 REGRESSION (r16975): fast/events/objc-event-api is failing
When I moved the autoscroll code from FrameMac to Frame, I mistakingly changed the order of
a call to invalidateClick. This change moves it back to the sequence that existed before. This allows
the click count to get properly reset during a selection.
- page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent):
- 11:16 AM Changeset in webkit [22380] by
-
- 29 edits1 delete in branches/WindowsMerge/WebKitWin
2006-10-18 Steve Falkenburg <sfalken@apple.com>
Reviewed by Lou.
<rdar://4781998> Need API for setting the rendering modes
Added font smoothing preference
Fixed some COM interface typos
Removed use of IWebImage (we use HBITMAP instead)
- 10:54 AM Changeset in webkit [17110] by
-
- 2 edits in S60/branches/3.1m/WebKit
2006-10-18 zhalu <zhaosong.lu@nokia.com>
Reviewed by Sachin Padma.
DESC: Don't need to set the focus. The listbox itself will set the focus when receiving key event.
Otherwise, it will cause problem in input. Here is a little explaination: When the form data saving is
enabled, the CControlSelectWidget::FilterContentL is called whenever a 'letter' is committed. The function
calls the the listbox's setFocus(). This setFocus triggers a CommitInlineEditL action in CAknFepManager.
If users press the key in a normal speed, there is no problem because there is nothing for committing.
But if users press two keys(not two letters on the same key) very quickly, the second key will be commited
by the SetFocus() of the first key and the cursor in the editbox will move to the third key position.
The result is that it seems not letting you insert some key in the second position.
http://bugzilla.opendarwin.org/show_bug.cgi?id=11192
- BrowserCore/Formcontrols/src/FControlSelectWidget.cpp: (CControlSelectWidget::FilterContentL):
- 10:42 AM Changeset in webkit [17109] by
-
- 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj
Removing SVGZoomEvent.idl from Copy Resources.
- 10:37 AM Changeset in webkit [17108] by
-
- 3 edits in trunk/JavaScriptCore
Reviewed by Maciej.
Adjust include paths
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- 9:29 AM Changeset in webkit [17107] by
-
- 4 edits1 add3 deletes in trunk/WebKitTools
Reviewed by Tim H.
Add Xcode 3 style inline breakpoint editor. Credit to xenon for the CSS wizardry to get the appearance working properly.
- Drosera/Drosera.xcodeproj/project.pbxproj:
- Drosera/Images/breakpointeditor.png: Added.
- Drosera/breakpointEditor.css: Removed.
- Drosera/breakpointEditor.html: Removed.
- Drosera/breakpointEditor.js: Removed.
- Drosera/debugger.js:
- Drosera/viewer.css:
- 8:25 AM Changeset in webkit [17106] by
-
- 2 edits in trunk/WebKitTools
Reviewed by Tim H.
Bug 11341: REGRESSION (r16760): editing/selection/editable-links is failing
http://bugs.webkit.org/show_bug.cgi?id=11341
Link editing behavior became a preference. DumpRenderTree needs to specify the
non-default behavior it wants (WebKitEditableLinkOnlyLiveWithShiftKey).
- DumpRenderTree/DumpRenderTree.m: (main):
- 12:45 AM Changeset in webkit [17105] by
-
- 2 edits in trunk/LayoutTests
Reviewed by Maciej.
Fix: http://bugs.webkit.org/show_bug.cgi?id=11340
editing/pasteboard/4641033 needs new results
Update results after r17071.
- editing/pasteboard/4641033-expected.txt: