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

Timeline



Jul 26, 2007:

10:27 PM Changeset in webkit [24669] by ddkilzer
  • 1 edit in trunk/WebKit/ChangeLog

Added radar.

9:54 PM Changeset in webkit [24668] by ap
  • 4 edits in trunk/WebKit

Reviewed by Oliver.

http://bugs.webkit.org/show_bug.cgi?id=14733
Add a logging channel for text input

  • Misc/WebKitLogging.h:
  • Misc/WebKitLogging.m: (WebKitInitializeLoggingChannelsIfNecessary):
  • WebView/WebHTMLView.mm: (-[WebHTMLView validAttributesForMarkedText]): (-[WebHTMLView textStorage]): (-[WebHTMLView characterIndexForPoint:]): (-[WebHTMLView firstRectForCharacterRange:]): (-[WebHTMLView selectedRange]): (-[WebHTMLView markedRange]): (-[WebHTMLView attributedSubstringFromRange:]): (-[WebHTMLView hasMarkedText]): (-[WebHTMLView unmarkText]): (-[WebHTMLView setMarkedText:selectedRange:]): (-[WebHTMLView doCommandBySelector:]): (-[WebHTMLView insertText:]):
9:18 PM Changeset in webkit [24667] by darin
  • 2 edits in trunk/LayoutTests
  • http/tests/security/cross-frame-access-put-expected.txt: Checked in corrected results that match the checked-in test.
6:58 PM Changeset in webkit [24666] by darin
  • 14 edits in trunk/WebKit
  • fix Tiger build
  • Misc/WebTypesInternal.h: For use inside the library, use NSInteger and NSUInteger, just like on Leopard. WebNSInteger and WebNSUInteger are still present, but they are used in public and private headers only.
  • Carbon/CarbonWindowAdapter.m:
  • Carbon/CarbonWindowFrame.m:
  • DefaultDelegates/WebScriptDebugServer.m:
  • History/WebBackForwardList.mm:
  • Misc/WebDownload.m:
  • Misc/WebSearchableTextView.m:
  • Plugins/WebBaseNetscapePluginView.mm:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebView/WebHTMLView.mm:
  • WebView/WebPDFView.mm:
  • WebView/WebView.mm:
  • WebView/WebViewInternal.h: Update all implementation files and internal headers to use NSInteger and NSUInteger rather than WebNSInteger and WebNSUInteger.
6:12 PM Changeset in webkit [24665] by sullivan
  • 3 edits in trunk/WebKit

Reviewed by Kevin Decker


  • fixed <rdar://problem/5362989> Searching a pdf in some modes shows hilights for all instances of the word, even those not on the current page


It turns out that there were three different issues here, all contributing to incorrect display
of multiple matches for PDF pages in certain display modes. (1) in non-continuous display modes,
we weren't updating the match rects when the displayed page is changed with page up/down (e.g.);
(2) the mechanism to update the match rects on scrolling was busted except for the first scroll
away from 0,0; (3) the PDFKit API returns selection bounds for non-displayed pages in non-continuous
modes just as if they were the displayed pages. This patch fixes all three issues.

  • WebView/WebPDFView.h: made ivar name even longer


  • WebView/WebPDFView.mm: (-[WebPDFView setPDFDocument:]): updated for ivar name change (-[WebPDFView viewDidMoveToWindow]): observe page-change notifications as well as the others; this is necessary because in the non-continuous modes the view can be completely updated without any scrolling involved (problem 1) (-[WebPDFView viewWillMoveToWindow:]): stop observing page-change notifications (-[WebPDFView rectsForTextMatches]): skip any pages that aren't visible; this avoids treating matches on non-displayed non-continous modes as if they were on the displayed page (problem 3) (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]): after checking whether scroll position has changed since we last checked it, remember the new one (d'oh!) (problem 2)

(-[WebPDFView _scaleOrDisplayModeOrPageChanged:]):
renamed to include page changes


(-[WebPDFView _visiblePDFPages]):
new method, returns the set of pages that are at least partly visible

5:51 PM Changeset in webkit [24664] by tristan
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Anders Carlsson.


<rdar://problem/5350019> REGRESSION: Pages on milliyet.com are added to Back list when visited, causing Back button to just reload

  • http/tests/navigation/lockedhistory-iframe-expected.txt: Added.
  • http/tests/navigation/lockedhistory-iframe.html: Added.
5:46 PM Changeset in webkit [24663] by tristan
  • 2 edits in trunk/WebCore

Reviewed by Anders Carlsson.

<rdar://problem/5350019> REGRESSION: Pages on milliyet.com are added to Back list when visited, causing Back button to just reload

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): If the policy action is FrameLoadTypeRedirectLockHistory, don't add the frame load url to the history.
5:26 PM Changeset in webkit [24662] by hyatt
  • 1 edit in trunk/WebCore/rendering/RenderInline.cpp
5:14 PM Changeset in webkit [24661] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Geoff.

Add a FIXME about caching pages with plug-ins that have outstanding NPObjects.


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::canCachePage):
5:12 PM Changeset in webkit [24660] by kmccullo
  • 3 edits in trunk/LayoutTests

Reviewed by Sam.

  • Updated results as they are affecte by my previous checkin.
  • http/tests/security/cross-frame-access-put-expected.txt:
  • http/tests/security/resources/cross-frame-iframe-for-put-test.html:
5:02 PM Changeset in webkit [24659] by hyatt
  • 2 edits in trunk/WebCore

FIx for <rdar://problem/5289721> CrashTracer: [REGRESSION] 2658 crashes in Safari at com.apple.WebCore: WebCore::RenderInline::height const + 16

Adding a null check for now and an assert. We don't know how/why this
bug happens, but hopefully the assert will help people to reproduce.

Reviewed by kevin

  • rendering/RenderInline.cpp: (WebCore::RenderInline::height):
4:52 PM Changeset in webkit [24658] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

<rdar://problem/5362783>
In Mail, a crash occurs at WTF::fastMalloc() when attempting to create a new HTML message from http://nytimes.com/


If the cache is disabled and there is already a resource with the given URL, return it instead of creating a new one.


  • loader/DocLoader.cpp: (WebCore::DocLoader::requestResource):
4:15 PM Changeset in webkit [24657] by adele
  • 2 edits in trunk/WebCore

Reviewed by Geoff.

Build fix.

  • platform/network/cf/ResourceRequest.h:
3:47 PM Changeset in webkit [24656] by kmccullo
  • 2 edits in trunk/LayoutTests

Reviewed by.

  • Fixed bot breakage.
  • fast/dom/Window/window-resize.html:
3:40 PM Changeset in webkit [24655] by andersca
  • 2 edits in trunk/WebCore

Reviewed by John Sullivan.

<rdar://problem/5349389>
Some frame load delegate methods not called when loading a page from the BF cache


These calls were moved to FrameLoader::begin, which is never called for pages loaded
from the BF cache. This happened in revision 24490.


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::transitionToCommitted): Call delegate methods if the load is from the BF cache.
2:59 PM Changeset in webkit [24654] by kmccullo
  • 7 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin, Geoff and Sam.

  • <rdar://problem/5150461> Resizing the window larger than the screen causes no resize.
  • Tests to ensure we resize/move the window out of bounds correctly.
  • fast/dom/Window/window-resize-expected.txt: Added.
  • fast/dom/Window/window-resize.html: Added.
  • mac/leopard/Skipped:

WebCore:

Reviewed by Darin, Geoff and Sam.

  • <rdar://problem/5150461> Resizing the window larger than the screen causes no resize.
  • We now better match the behavior of other browsers.
  • bindings/js/kjs_window.cpp: (KJS::constrainToVisible): (KJS::WindowFunc::callAsFunction):

WebKitTools:

Reviewed by Darin, Geoff, Sam.

  • <rdar://problem/5150461> Resizing the window larger than the screen causes no resize.
  • Added delegate methods to intercept and fake the frame location so methods like resizeTo and moveTo can change the window location without actually making the window appear on-screen.
  • DumpRenderTree/UIDelegate.h:
  • DumpRenderTree/UIDelegate.m: (-[UIDelegate webView:setFrame:]): (-[UIDelegate webViewFrame:]):
2:43 PM Changeset in webkit [24653] by kmccullo
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Brady.

  • Added leopard-specific results for <rdar://problem/5228256> REGRESSION(Leopard): layout test failures: security/block-test
  • mac/leopard/security: Added.
  • mac/leopard/security/block-test-expected.txt: Added.
2:35 PM Changeset in webkit [24652] by tristan
  • 5 edits in trunk/WebCore

Reviewed by Adele Peterson.


<rdar://problem/5359921> WebCore should maintain a dirty flag for confirmation on unsaved changes

  • bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _isUserEdited]): (-[DOMHTMLTextAreaElement _isUserEdited]): Renamed _isEdited to _isUserEdited since the functionality is now different


  • bindings/objc/DOMPrivate.h: Renamed _isEdited to _isUserEdited.


  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): Defaulted m_userEdited to false


(WebCore::RenderTextControl::updateFromElement):
Set m_userEdited to false, since the change wasn't triggered first by an edit


(WebCore::RenderTextControl::subtreeHasChanged):
Set m_userEdited to true, since it has been touched by the user


  • rendering/RenderTextControl.h: (WebCore::RenderTextControl::isUserEdited): (WebCore::RenderTextControl::setUserEdited): Added two new methods to set/return the userEdited boolean value.
2:21 PM Changeset in webkit [24651] by ggaren
  • 4 edits in trunk/WebCore

Reviewed by Beth Dakin.

Fixed NULL-dereference crash seen on buildbot.


No bug filed because this is a part of <rdar://problem/5241167>.

  • history/PageCache.h: (WebCore::PageCache::get): NULL-check HistoryItems passed to get() and remove(), to match the old semantics of HashMap. For clarity, ASSERT that add() is not called with NULL arguments.
2:18 PM Changeset in webkit [24650] by kmccullo
  • 2 edits in trunk/WebKitTools

Reviewed by Adam.

  • Lars wanted this check for Qt but it breaks platform specific layout tests.
  • Scripts/run-webkit-tests:
12:51 PM Changeset in webkit [24649] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Oliver Hunt.

<rdar://problem/5361106> Crash in user style sheet when loading webpage

Null check m_frame.


  • dom/Document.cpp: (WebCore::Document::stylesheetLoaded):
12:48 PM Changeset in webkit [24648] by spadma
  • 15 edits in S60/trunk/WebKit

condon, reviewed by ligman

DESC: Fix codescanner warnings
http://bugs.webkit.org/show_bug.cgi?id=14748

  • BrowserCore/Formcontrols/src/FControlInputSkin.cpp: (CFormInputSkin::ActivateL):
  • BrowserCore/Renderers/src/ImageRenderer.cpp: (CImageRenderer::~CImageRenderer):
  • BrowserCore/Renderers/src/TextRenderer.cpp: (CTextRenderer::~CTextRenderer):
  • BrowserView/src/FormDataLoginStore.cpp: (CFormDataLoginStore::ClearData):
  • BrowserView/src/LoadListeners.cpp: (CWmlResourceLoadListener::SetUrlL):
  • BrowserView/src/PageView.cpp: (CPageView::~CPageView):
  • ChangeLog:
  • Plugin/src/PluginSkin.cpp: (CPluginSkin::~CPluginSkin):
  • Plugin/src/PluginWin.cpp: (CPluginWin::CreateStreamL):
  • ResourceLoader/CacheSrc/HttpCacheEntry.cpp: (CHttpCacheEntry::~CHttpCacheEntry):
  • ResourceLoader/inc/FileTransaction.h:
  • ResourceLoader/src/BufferTransaction.cpp: (CBufferTransaction::HandleResolveComplete):
  • ResourceLoader/src/FileTransaction.cpp: (CFileTransaction::DoSubmitL): (CFileTransaction::ParseFileNameL): (CFileTransaction::ContentTypeLC):
  • ResourceLoader/src/HttpTransaction.cpp: (CHttpTransaction::MHFRunL):
  • ResourceLoader/src/UrlResponseHeaderInfo.cpp: (CUrlResponseHeaderInfo::SetResponseHeadersL):
10:36 AM Changeset in webkit [24647] by ggaren
  • 2 edits in trunk/WebCore

Used `svn merge -r24646:24645' to revert project changes I accidentally
checked in.

  • WebCore.xcodeproj/project.pbxproj:
10:26 AM Changeset in webkit [24646] by ggaren
  • 5 edits in trunk/WebCore

Reviewed by Darin Adler.

Fixed <rdar://problem/5241167> REGRESSION: PLT 1% slower due to r21793
(global page cache cap)


I just measured a .1%-.2% regression in PLT average, but a .4% win in
PLT fastest run, so I think this regression is licked.

Surprisingly, the combination of wtf data structures I originally used
for PageCache turned out to be too slow, so I reworked PageCache to use
a hand-crafted linked list for LRU tracking (instead of ListHashSet),
to store its CachedPages in the HistoryItems to which they corresponded
(instead of using a HashMap), and to ref/deref HistoryItems manually
(instead of using RefPtr, which would ref once for every reference in
the linked list).

  • history/HistoryItem.h: Added data members for PageCache data. Made PageCache a friend so it could access them. Ideally (from an encapsulation perspective), we would store this data an independent structure, but that's just too slow.
  • history/PageCache.cpp: Added a hand-crafted linked list for LRU tracking. (WebCore::PageCache::PageCache): (WebCore::PageCache::add): Adopt the HistoryItem's ref when it's added. (WebCore::PageCache::remove): deref() the Historyitem when it's removed. (WebCore::PageCache::prune): (WebCore::PageCache::addToLRUList): (WebCore::PageCache::removeFromLRUList):
  • history/PageCache.h: (WebCore::PageCache::get): Inlined just in case.
10:19 AM Changeset in webkit [24645] by andersca
  • 1 edit
    3 moves in trunk/LayoutTests

Reviewed by John Sullivan.

Stop the test from dumping load callbacks as they differ on Tiger and Leopard.
This is done by removing the call to dumpResourceLoadCallbacks and moving the test away
from the "loading" directory.


  • http/tests/loading/cached-scripts-expected.txt: Removed.
  • http/tests/loading/cached-scripts.html: Removed.
  • http/tests/loading/resources/cached-scripts-subframe.html: Removed.
  • http/tests/misc/cached-scripts-expected.txt: Copied from http/tests/loading/cached-scripts-expected.txt.
  • http/tests/misc/cached-scripts.html: Copied from http/tests/loading/cached-scripts.html.
  • http/tests/misc/resources/cached-scripts-subframe.html: Copied from http/tests/loading/resources/cached-scripts-subframe.html.
9:21 AM Changeset in webkit [24644] by treat
  • 2 edits in trunk/WebCore

Launch the context menu in the right place.

8:00 AM Changeset in webkit [24643] by treat
  • 3 edits in trunk/WebKitQt

Patch from Qing Zhao that adds a signal for history notification.

7:47 AM Changeset in webkit [24642] by hausmann
  • 2 edits in trunk

Use QMAKE_LIBDIR instead of QMAKE_LFLAGS to specify the library search path for QtWebKit, as the former is portable and correctly transformed to /LIBPATH: with msvc for example.

6:26 AM BuildingQtOnWindows edited by Simon Hausmann
(diff)
6:24 AM BuildingQtOnWindows edited by Simon Hausmann
(diff)
6:06 AM BuildingQtOnWindows edited by Simon Hausmann
(diff)
5:59 AM BuildingQtOnWindows edited by Simon Hausmann
(diff)
5:55 AM BuildingQtOnWindows created by Simon Hausmann
5:51 AM QtWebKit edited by Simon Hausmann
(diff)
2:41 AM Applications using WebKit edited by jcverdie@sand-labs.org
(diff)
2:36 AM Changeset in webkit [24641] by hausmann
  • 3 edits in trunk

Ensure QtLauncher and DumpRenderTree are linked against the uninstalled QtWebKit library by making sure $$OUTPUT_DIR/lib appears before $QTDIR/lib in the library search path and rpath.

12:39 AM Changeset in webkit [24640] by rwlbuis
  • 4 edits
    4 adds in branches/feature-branch

Reviewed by Nikolas.

http://bugs.webkit.org/show_bug.cgi?id=14312
Removing an attribute has no effect on SVG

Update the transform matrix also when transform attribute is empty.

12:11 AM Changeset in webkit [24639] by mjs
  • 2 edits in trunk/WebKitSite
  • grammar fix pointed out by Mitz.
  • projects/goals.html:

Jul 25, 2007:

11:44 PM Changeset in webkit [24638] by mjs
  • 2 edits
    1 add in trunk/WebKitSite

Rubber stamped by Adam.


Added WebKit Project Goals.

  • nav.inc: added a nav link.
  • projects/goals.html: Added.
9:32 PM WikiStart edited by mjs@apple.com
(diff)
6:50 PM Changeset in webkit [24637] by mjs
  • 5 edits in trunk

JavaScriptCore:

Reviewed by Mark.

  • follow-up to previous change


  • kjs/ustring.cpp: (KJS::UString::operator=): Make sure to reset the length when replacing the buffer contents for a single-owned string.

WebCore:

Reviewed by Mark.

  • follow-up to previous change to avoid assertion failures in debug


  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::getResponseText): hold JSLock when needed (WebCore::XMLHttpRequest::open): ditto (WebCore::XMLHttpRequest::didFinishLoading): ditto (WebCore::XMLHttpRequest::didReceiveData): ditto
  • xml/XMLHttpRequest.h:
5:08 PM Changeset in webkit [24636] by andersca
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

<rdar://problem/5327912>
iDisk: Web iDisk & main iDisk appear blank

  • http/tests/loading/cached-scripts-expected.txt: Added.
  • http/tests/loading/cached-scripts.html: Added.
  • http/tests/loading/resources: Added.
  • http/tests/loading/resources/cached-scripts-subframe.html: Added.

WebCore:

Reviewed by Darin.

<rdar://problem/5327912>
iDisk: Web iDisk & main iDisk appear blank


Prepend any remaining text that scripts might have written.


  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptExecution):
3:45 PM Changeset in webkit [24635] by zimmermann
  • 3 edits in branches/feature-branch/WebCore

Reviewed by Oliver.

Unify absoluteRects() of RenderSVGTSpan & RenderSVGTextPath.
The RenderSVGTextPath one was still using the old, wrong concept.

3:15 PM Changeset in webkit [24634] by kmccullo
  • 8 edits
    6 adds in trunk

LayoutTests:

Reviewed by .

  • mac/leopard/Skipped: Removing some tests that were removed earlier, but checked back in accidentally. Not sure how they got back into my file though.

WebCore:

Reviewed by Tim, Darin, Oliver.

  • <rdar://problem/5329440> REGRESSION: Clicking links with the feed:// protocol in Safari 3 does nothing
  • Check for file:// urls when clicking links, not block all schemes that are treated as local.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::load):

WebKitTools:

Reviewed by Tim, Darin, Oliver.

  • <rdar://problem/5329440> REGRESSION: Clicking links with the feed:// protocol in Safari 3 does nothing
  • Change DRT to be able to intercept the requst to load so it can check if a scheme was allowed or not.
  • ChangeLog:
  • DumpRenderTree/DumpRenderTree.m: (createWebView): (dumpRenderTree): (+[LayoutTestController isSelectorExcludedFromWebScript:]): (+[LayoutTestController webScriptNameForSelector:]): (-[LayoutTestController setCustomPolicyDelegate:]):
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/FrameLoadDelegate.h:
  • DumpRenderTree/PolicyDelegate.h: Added.
  • DumpRenderTree/PolicyDelegate.m: Added. (-[PolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
  • DumpRenderTree/ResourceLoadDelegate.h:
2:50 PM Changeset in webkit [24633] by mjs
  • 21 edits
    7 adds in trunk

JavaScriptCore:

Reviewed by Darin.


  • JavaScriptCore part of fix for <rdar://problem/5300291> Optimize GC to reclaim big, temporary objects (like XMLHttpRequest.responseXML) quickly


Also, as a side effect of optimizations included in this patch:

  • 7% speedup on JavaScript iBench
  • 4% speedup on "Celtic Kane" JS benchmark


The basic idea is explained in a big comment in collector.cpp. When unusually
large objecs are allocated, we push the next GC closer on the assumption that
most objects are short-lived.


I also did the following two optimizations in the course of tuning
this not to be a performance regression:

1) Change UString::Rep to hold a self-pointer as the baseString in
the unshared case, instead of a null pointer; this removes a
number of null checks in hot code because many places already
wanted to use the rep itself or the baseString as appropriate.


2) Avoid creating duplicate StringImpls when creating a
StringInstance (the object wrapper for a JS string) or calling
their methods. Since a temporary wrapper object is made every time
a string method is called, this resulted in two useless extra
StringImpls being allocated for no reason whenever a String method
was invoked on a string value. Now we bypass those.


  • kjs/collector.cpp: (KJS::): (KJS::Collector::recordExtraCost): Basics of the extra cost mechanism. (KJS::Collector::allocate): ditto (KJS::Collector::collect): ditto
  • kjs/collector.h: (KJS::Collector::reportExtraMemoryCost): ditto
  • kjs/array_object.cpp: (ArrayInstance::ArrayInstance): record extra cost
  • kjs/internal.cpp: (KJS::StringImp::toObject): don't create a whole new StringImpl just to be the internal value of a StringInstance! StringImpls are immutable so there's no point tot his.
  • kjs/internal.h: (KJS::StringImp::StringImp): report extra cost
  • kjs/string_object.cpp: (KJS::StringInstance::StringInstance): new version that takes a StringImp (KJS::StringProtoFunc::callAsFunction): don't create a whole new StringImpl just to convert self to string! we already have one in the internal value
  • kjs/string_object.h: report extra cost
  • kjs/ustring.cpp: All changes to handle baseString being self instead of null in the unshared case. (KJS::): (KJS::UString::Rep::create): (KJS::UString::Rep::destroy): (KJS::UString::usedCapacity): (KJS::UString::usedPreCapacity): (KJS::UString::expandCapacity): (KJS::UString::expandPreCapacity): (KJS::UString::UString): (KJS::UString::append): (KJS::UString::operator=): (KJS::UString::copyForWriting):
  • kjs/ustring.h: (KJS::UString::Rep::baseIsSelf): new method, now that baseString is self instead of null in the unshared case we can't just null check. (KJS::UString::Rep::data): adjusted as mentioned above (KJS::UString::cost): new method to compute the cost for a UString, for use by StringImpl.
  • kjs/value.cpp: (KJS::jsString): style fixups. (KJS::jsOwnedString): new method, use this for strings allocated from UStrings held by the parse tree. Tracking their cost as part of string cost is pointless, because garbage collecting them will not actually free the relevant string buffer.
  • kjs/value.h: prototyped jsOwnedString.
  • kjs/nodes.cpp: (StringNode::evaluate): use jsOwnedString as appropriate (RegExpNode::evaluate): ditto (PropertyNameNode::evaluate): ditto (ForInNode::execute): ditto


WebCore:

Reviewed by Darin.

  • fixed <rdar://problem/5300291> Optimize GC to reclaim big, temporary objects (like XMLHttpRequest.responseXML) quickly


With this plus related JavaScriptCore changes, a number of XMLHttpRequest situations that
result in huge data sets are addressed, including a single huge responseXML on an XMR done
repeatedly, or accessing responseText repeatedly during loading of a single large XHR.


In addition to the GC changes in JavaScriptCore, I changed responseText to be stored as a
KJS::UString instead of a WebCore::String so that the JavaScript responseText value can
share the buffer (indeed multiple intermediate responseTexts can share its buffer).


First of all, here's some manual test cases that will each blow out the process VM without this fix,
but will settle into decent steady state with.


  • manual-tests/memory: Added.
  • manual-tests/memory/MessageUidsAlreadyDownloaded2: Added.
  • manual-tests/memory/string-growth.html: Added.
  • manual-tests/memory/xhr-multiple-requests-responseText.html: Added.
  • manual-tests/memory/xhr-multiple-requests-responseXML.html: Added.
  • manual-tests/memory/xhr-multiple-requests.html: Added.
  • manual-tests/memory/xhr-repeated-string-access.xml: Added.

And here's the actual code changes:


  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDocumentCustom.cpp: (WebCore::toJS): Record extra cost if the document is frameless (counting the nodes doesn't make a measurable performance difference here in any case I could find)
  • bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty): Adjust for the fact that ressponseText is now stored as a UString.
  • bindings/js/kjs_binding.cpp: (KJS::jsOwnedStringOrNull): New helper.
  • bindings/js/kjs_binding.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::getResponseText): It's a UString! (WebCore::XMLHttpRequest::getResponseXML): handle the fact that m_responseText is a UString. (WebCore::XMLHttpRequest::XMLHttpRequest): ditto. (WebCore::XMLHttpRequest::abort): call dropProtection (WebCore::XMLHttpRequest::didFinishLoading): call dropProtection (WebCore::XMLHttpRequest::dropProtection): after removing our GC protection, report extra cost of this XHR's responseText buffer.
  • xml/XMLHttpRequest.h:
2:41 PM Changeset in webkit [24632] by thatcher
  • 5 edits in trunk/WebCore

Reviewed by Brady.

<rdar://problem/4796657> table deletion outline does not always follow the table size as editing occurs inside

Change the outline element to position itself automaticlly using the top, left, bottom and right CSS properties.
This made the container element redundant, so it has been removed. Now the outline element and the delete button
both get appended to the target element and positioned based on that container element. This removes the need
to update the width and height when the target contents changed.

  • editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::show): Change the style properties and remove the container element. (WebCore::DeleteButtonController::hide): Remove the button and outline from the target element.
  • editing/DeleteButtonController.h: Removed updateOutlineStyle, respondToChangedContents and m_containerElement.
  • editing/Editor.cpp: (WebCore::Editor::respondToChangedContents): Remove the call to DeleteButtonController respondToChangedContents.
2:35 PM Changeset in webkit [24631] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/5344471>
CrashTracer: [USER] 1 crash in Mail at WebCore::PluginTokenizer::writeRawData(char const*, int)


Make sure to layout so we'll have a renderer. Also null-check the renderer for extra safety.


  • loader/PluginDocument.cpp: (WebCore::PluginTokenizer::writeRawData):
1:54 PM Changeset in webkit [24630] by adachan
  • 4 edits in trunk/WebKit/win

2007-07-25 Ada Chan <adachan@apple.com>

Reviewed by Adam and Steve.


Implemented some DOM methods and other fixes for <rdar://problem/5311601>.


  • DOMCoreClasses.cpp: (DOMNode::ownerDocument): implemented (DOMDocument::getComputedStyle): get the DOMElement via QueryInterface (DOMElement::QueryInterface):
  • DOMHTMLClasses.cpp: (DOMHTMLDocument::body): fixed leak (DOMHTMLFormElement::action): implemented (DOMHTMLFormElement::method): ditto (DOMHTMLInputElement::form): ditto (DOMHTMLTextAreaElement::form): ditto
  • Interfaces/DOMHTML.idl: IDOMHTMLInputElement should inherit from IDOMHTMLElement
1:12 PM Changeset in webkit [24629] by treat
  • 2 edits in trunk/WebKitTools

Fix build for some reported systems.

1:02 PM BuildingGdk edited by alp@atoker.com
(diff)
12:14 PM Changeset in webkit [24628] by zimmermann
  • 4 edits in branches/feature-branch/WebCore

Reviewed by Sam.

Let <textPath> be recognized within the ObjC bindings.
Forgot to add that months ago.

12:07 PM Changeset in webkit [24627] by aliceli1
  • 2 edits in trunk/LayoutTests

Reviewed by .

  • mac/leopard/Skipped: Removing some tests that were removed earlier, but checked back in accidentally. Not sure how they got back into my file though.
12:01 PM Changeset in webkit [24626] by aliceli1
  • 1 edit in trunk/LayoutTests/mac/leopard/Skipped
11:48 AM Changeset in webkit [24625] by aliceli1
  • 2 edits in trunk/LayoutTests

Reviewed by .

  • mac/leopard/Skipped: Adding to skip list to avoid false failure
9:54 AM Changeset in webkit [24624] by darin
  • 6 edits in trunk/WebCore

Reviewed by Maciej, Darin.

Add ResourceHandle::setClient to resolve some messiness with handle
releasing. Clear the client when ResourceLoader is going to release
the handle to prevent crashes in the case where somebody still holds a
reference (this doesn't seem to currently happen in practice). Add
NULL-checking for ResourceHandle implementations using the client.

  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::releaseResources):
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::fireBlockedFailure): (WebCore::ResourceHandle::setClient):
  • platform/network/ResourceHandle.h:
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willSendRequest): (WebCore::didReceiveResponse): (WebCore::didReceiveData): (WebCore::didFinishLoading): (WebCore::didFail): (WebCore::willCacheResponse): (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCancellation):
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::didCancelAuthenticationChallenge): (WebCore::ResourceHandle::receivedCancellation): (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]): (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
8:52 AM Changeset in webkit [24623] by darin
  • 2 edits in trunk/WebCore

Reviewed by Darin.

Fix a typo error to really compare the present domain to the domain of the parent of the targeted frame.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::canTarget):
8:50 AM Changeset in webkit [24622] by kmccullo
  • 2 edits in trunk/LayoutTests

Reviewed by .

  • Reverted
  • win/Skipped:
8:49 AM Changeset in webkit [24621] by darin
  • 4 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

  • fast/text/reset-emptyRun-expected.checksum: Added.
  • fast/text/reset-emptyRun-expected.png: Added.
  • fast/text/reset-emptyRun-expected.txt: Added.
  • fast/text/reset-emptyRun.html: Added.

WebCore:

Reviewed by Darin.

Test: fast/text/reset-emptyRun.html

  • platform/BidiResolver.h: (WebCore::::deleteRuns): Re-add a line that was removed for no reason at all during refactoring in r24485.
  • rendering/bidi.cpp: (WebCore::BidiState::deleteRuns): Ditto.
8:44 AM Changeset in webkit [24620] by kmccullo
  • 2 edits in trunk/LayoutTests

Reviewed by .

  • Forgot to checking the changes to the skipped list so the win bot doesn't fail.
  • win/Skipped:
2:57 AM Changeset in webkit [24619] by bdash
  • 8 edits
    6 deletes in trunk

Roll out r24618 as it broke 600+ layout tests.

2:08 AM Changeset in webkit [24618] by kmccullo
  • 8 edits
    6 adds in trunk

LayoutTests:

Reviewed by Oliver.

  • <rdar://problem/5329440> REGRESSION: Clicking links with the feed:// protocol in Safari 3 does nothing
  • Tests that feed:// urls can still be followed when clicked.
  • http/tests/security/feed-urls-from-remote-expected.txt: Added.
  • http/tests/security/feed-urls-from-remote.html: Added.
  • http/tests/security/resources/feed.html: Added.
  • http/tests/security/resources/feed.xml: Added.
  • win/Skipped:

WebCore:

Reviewed by Oliver.

  • <rdar://problem/5329440> REGRESSION: Clicking links with the feed:// protocol in Safari 3 does nothing
  • Check for file:// urls when clicking links, not block all schemes that are treated as local.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::load):

WebKitTools:

Reviewed by Oliver.

  • <rdar://problem/5329440> REGRESSION: Clicking links with the feed:// protocol in Safari 3 does nothing
  • Change DRT to be able to intercept the requst to load so it can check if a scheme was allowed or not.
  • ChangeLog:
  • DumpRenderTree/DumpRenderTree.m: (createWebView): (dumpRenderTree): (+[LayoutTestController isSelectorExcludedFromWebScript:]): (+[LayoutTestController webScriptNameForSelector:]): (-[LayoutTestController setCustomPolicyDelegate:]):
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/FrameLoadDelegate.h:
  • DumpRenderTree/PolicyDelegate.h: Added.
  • DumpRenderTree/PolicyDelegate.m: Added. (-[PolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
  • DumpRenderTree/ResourceLoadDelegate.h:
Note: See TracTimeline for information about the timeline view.