Timeline


and

08/29/07:

18:32 Changeset [25313] by andersca

Reviewed by Oliver.

<rdar://problem/5404329>
Plugin content starves WM_TIMER events on UI thread (affects idle behavior of app) on http://www.vincent-vella.com/, http://www.sagmeister.com/


Add a tiny delay to invalidation timer to prevent it from starving other timers.


  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::invalidateRect):
17:45 Changeset [25312] by darin

Reviewed by Tim Hatcher.

  • Misc/WebNSPasteboardExtras.h: Got rid of the global data objects and replaced them with global functions.
  • Misc/WebNSPasteboardExtras.mm: (initializePasteboardTypes): Changed the initialize method to be this function. (WebURLPasteboardType): Added, calls the initialize function and then returns the value of the global. (WebURLNamePasteboardType): Ditto. (+[NSPasteboard _web_writableTypesForURL]): Changed to call the new function instead of getting at the global directly. (+[NSPasteboard _web_dragTypesForURL]): Ditto. (-[NSPasteboard _web_writeURL:andTitle:types:]): Ditto.
  • WebCoreSupport/WebPasteboardHelper.mm: (WebPasteboardHelper::urlFromPasteboard): Ditto.
  • WebView/WebHTMLView.mm: (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
  • WebView/WebView.mm: (+[WebView initialize]): Added a call to one of the functions to take advantage of the side effect that initializes the globals; this is to help out old versions of Safari. (+[WebView URLTitleFromPasteboard:]): Changed to call the new function instead of getting at the global directly.
  • WebKit.exp: Add exports of the new functions.
17:32 Changeset [25311] by darin

Reviewed by Adele.

  • editing/htmlediting.cpp: (WebCore::avoidIntersectionWithNode): Fix an assert that was firing for me all the time when doing editing operations.
17:23 Changeset [25310] by andersca

Reviewed by Adam.

<rdar://problem/5386098>
Repro hang with some Flash plugin content (http://dougmccune.com/blog/2007/07/25/coming-to-flexcamp-at-adobe/)


In some cases, Flash ends up starving the main loop by sending a lot of WM_USER + 1 messages. Throttle these
messages so they won't end up hanging the web browser.


  • plugins/win/PluginViewWin.cpp: (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): (WebCore::PluginMessageThrottlerWin::~PluginMessageThrottlerWin): (WebCore::PluginMessageThrottlerWin::appendMessage): (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): (WebCore::PluginMessageThrottlerWin::allocateMessage): (WebCore::PluginMessageThrottlerWin::isInlineMessage): (WebCore::PluginMessageThrottlerWin::freeMessage): (WebCore::PluginViewWndProc): (WebCore::PluginViewWin::wndProc): (WebCore::PluginViewWin::determineQuirks):
  • plugins/win/PluginViewWin.h: (WebCore::): (WebCore::PluginViewWin::pluginWndProc):
16:15 Changeset [25309] by bdakin

Reviewed by Hyatt.

Fix for <rdar://problem/5436800> REGRESSION: PLT is 1.5% slower due
to r24593 and r25098

In r25098, we only called setCreatedByParser for XML! This patch
calls it for HTML too, and takes care of the performance
regression.

  • html/HTMLElementFactory.cpp: (WebCore::styleConstructor):
15:46 Changeset [25308] by antti

WebCore:

Reviewed by Mitz.


Fix <rdar://problem/5425951>
REGRESSION: change to updateLayoutIgnorePendingStylesheets causes SAP Portal page to render wrong


If new nodes have been added or style recalc has been done with style sheets still pending, some nodes
may not have had their real style calculated yet. Normally this state gets cleaned when style sheets arrive
but in updateLayoutIgnorePendingStylesheets() we need to do full style recalc to get up-to-date style immediatly.


Added a document flag to track if there are any nodes that did not have their real style calculated due to
pending stylesheets.

Test: fast/dynamic/style-access-late-stylesheet-load.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::recalcStyle): (WebCore::Document::updateLayoutIgnorePendingStylesheets):
  • dom/Document.h: (WebCore::Document::setHasNodesWithPlaceholderStyle):

LayoutTests:

Reviewed by Mitz.


Test for <rdar://problem/5425951>
REGRESSION: change to updateLayoutIgnorePendingStylesheets causes SAP Portal page to render wrong

  • fast/dynamic/style-access-late-stylesheet-load-expected.txt: Added.
  • fast/dynamic/style-access-late-stylesheet-load.html: Added.
15:05 Changeset [25307] by adele

Reviewed by Darin.

Fix for http://bugs.webkit.org/show_bug.cgi?id=15098
<rdar://problem/5440319> REGRESSION (9A530-9A534): Double scroll bar on pdfs

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::makeDocumentView): Don't suppress scrollbars before the view creation if we're making the view for a non-html view
  • WebView/WebFrameViewInternal.h: Make _scrollView return a WebDynamicScrollBarsView since so many clients were relying on it being that type anyway.
  • WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): (-[WebFrameView _scrollView]): (-[WebFrameView setAllowsScrolling:]): (-[WebFrameView allowsScrolling]):
  • WebView/WebView.mm: (-[WebView setAlwaysShowVerticalScroller:]): (-[WebView alwaysShowVerticalScroller]): (-[WebView setAlwaysShowHorizontalScroller:]): (-[WebView alwaysShowHorizontalScroller]):
14:29 Changeset [25306] by aliceli1

Reviewed by Maciej.

We disable the DeleteButton UI before applying any editing commands.
This patch simply moves those disable/enable calls to a more correct place, closer to the actual application of the editing command.

  • editing/EditCommand.cpp: (WebCore::EditCommand::apply): (WebCore::applyCommand):
14:27 Changeset [25305] by aliceli1

fixed <rdar://problem/5420682> Mail crashes at WebCore::InsertLineBreakCommand::doApply()

after dropping a selected image over container's close box

Reviewed by Darin and Maciej.

  • editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::show): (WebCore::DeleteButtonController::hide):
  • editing/DeleteButtonController.h: (WebCore::DeleteButtonController::enabled): General changes made to DeleteButtonController: when hiding, it's not necessary to clear out the m_containerElement and m_target, especially since to fix this bug we need to keep their values around. It's sufficient to just detach the container from target.
  • editing/EditCommand.cpp: (WebCore::EditCommand::EditCommand): Move the selection out of the deletion UI since we don't want to expose the deletion UI to any editing.
  • editing/Editor.cpp: (WebCore::Editor::rangeForPoint): Move the range out of the deletion UI since we don't want to expose the deletion UI to any editing.
  • editing/htmlediting.cpp:
  • editing/htmlediting.h: (WebCore::avoidIntersectionWithNode): Moved function that operates on Range from markup.cpp to here Added new implementation for function that operates on Selection
  • editing/markup.cpp: (WebCore::createMarkup): Moved function out of this file to htmlediting.cpp, and renamed to avoidIntersectionWithNode
14:27 Changeset [25304] by hyatt

Tiger build fix.

14:25 Changeset [25303] by hyatt

Tiger build fix.

14:25 Changeset [25302] by ddkilzer

WebKitTools:

Reviewed by Adam.

Added case-insensitivity to checks for adding regression tests.

  • Scripts/prepare-ChangeLog: (generateFileList):
14:17 Changeset [25301] by hyatt

The method that was swizzled to fix 5441281 does not exist on Tiger.
Tiger has to do a double swizzle instead (of resetCursorRects and NSCursor's
set method) in order to roughly achieve the same effect.

Reviewed by darin

  • WebView/WebHTMLView.mm: (resetCursorRects): (setCursor): (+[WebHTMLViewPrivate initialize]):
13:39 Changeset [25300] by andersca

Fix 64-bit build.


  • WebCoreSupport/WebFrameBridge.mm:
12:58 Changeset [25299] by adachan

<rdar://problem/5074612> Added SPI to retrieve certificate info from a WebError.

Reviewed by Steve.

  • Interfaces/IWebErrorPrivate.idl: Added IWebErrorPrivate
  • WebError.cpp: (WebError::QueryInterface): WebError now also implements IWebErrorPrivate (WebError::sslPeerCertificate): retrieves certificate info from CFError's user info.
  • WebError.h:
  • WebKit.vcproj/WebKitGUID.vcproj: Added IWebErrorPrivate_i.c
12:48 Changeset [25298] by hyatt

WebCore:

Fix for 5441281, remove our dependency on cursor rects and drag margins
in AppKit for a large performance boost on the PLT and iBench.

Reviewed by darin

  • platform/mac/WidgetMac.mm: (WebCore::safeRemoveFromSuperview): (WebCore::Widget::addToSuperview): Suppress the resetting of drag margins when views are added and removed.

(WebCore::Widget::setCursor):
Just use NSCursor's set method to immediately set the cursor. We no longer
rely on NSScrollView/NSClipView setDocumentCursor, since that is implemented
using cursor rects.

WebKit:

Fix for 5441281, remove our dependency on cursor rects and drag margins
in AppKit for a large performance boost on the PLT and iBench.

Reviewed by darin

  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView sendNullEvent]): (-[WebBaseNetscapePluginView mouseEntered:]): (-[WebBaseNetscapePluginView mouseExited:]): (-[WebBaseNetscapePluginView stop]): Clean up cursor setting from Netscape plugins. Don't unconditionally mutate the cursor when a plugin stops.
  • WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): Suppress the resetting of drag margins while the new document view is being added to the view hierarchy.
  • WebView/WebHTMLView.mm: (-[NSWindow _web_borderView]): Expose the border view of the NSWindow so that it can be hit tested.

(setCursorForMouseLocation):
Apply a method swizzle to override the private AppKit method, _setCursorForMouseLocation.
We have to do this to suppress the cursor rect invalidation handling from resetting
the cursor for no reason.

The swizzle will do a hit test and allow the cursor set to occur if the mouse ends up
being over a plugin or over a view other than a WebHTMLView.

(+[WebHTMLViewPrivate initialize]):
The swizzle for setCursorForMouseLocation is set up here.

(-[WebHTMLView _frameOrBoundsChanged]):
Add a 100ms delay to the fake mouse moved event that fires when the view moves
under the mouse (without the mouse moving). This happens on iBench when the
pages get scrolled. By adding a delay we ensure that even with the mouse inside
the window, we don't experience cursor thrashing when pages are updating and
scrolling rapidly.

10:39 Changeset [25297] by bdash

2007-08-29 Rick <rick@writhe.org.uk>

Reviewed by Tim Hatcher.

Fix http://bugs.webkit.org/show_bug.cgi?id=14853
Bug 14853: Incorrect implementation of ArrayImpl's equality operator

  • platform/ArrayImpl.cpp: (WebCore::ArrayImpl::operator==): Fixed typo so that correct variable is used in equality comparison.
10:35 Changeset [25296] by bdash

2007-08-29 Ryan Leavengood <leavengood@gmail.com>

Reviewed by Maciej.

http://bugs.webkit.org/show_bug.cgi?id=15043

  • posix_memalign takes a void as its first parameter. My port makes use of this function call.
  • kjs/collector.cpp: (KJS::allocateBlock):
10:34 Changeset [25295] by bdash

2007-08-29 Peter Kasting <zerodpx@gmail.com>

Reviewed by Maciej.

  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::frameDurationAtIndex):
  • platform/graphics/qt/ImageSourceQt.cpp: (WebCore::ImageSource::frameDurationAtIndex):
  • platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read):
10:31 Changeset [25294] by bdash

2007-08-29 Peter Kasting <zerodpx@gmail.com>

Reviewed by Maciej.

  • platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::PNGImageDecoder): (WebCore::PNGImageDecoder::frameBufferAtIndex): (WebCore::PNGImageDecoder::decode): (WebCore::PNGImageDecoder::rowAvailable): (WebCore::PNGImageDecoder::pngComplete):
10:29 Changeset [25293] by bdash

2007-08-29 Peter Kasting <zerodpx@gmail.com>

Reviewed by Maciej.

  • fix http://bugs.webkit.org/show_bug.cgi?id=15104 Don't double-compensate for sizeof(unsigned) when making a buffer overflow check in the GIF decoder. Now interlaced GIFs don't sometimes get nothing/garbage in some of the bottom rows.
  • platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::haveDecodedRow):
08:53 Changeset [25292] by sfalken

New tag.

08:53 Changeset [25291] by sfalken

Bump version for submit

06:41 QtWebKitTodo edited by hausmann@webkit.org
(diff)
06:27 QtWebKitTodo edited by hausmann@webkit.org
(diff)
01:32 Changeset [25290] by sfalken

Fix build.

01:27 JavaScript performance improvement ideas created by mjs@apple.com
00:56 Changeset [25289] by hausmann

Fix compilation

00:46 Changeset [25288] by sfalken

<rdar://problem/5079253> Cannot set different margins for the page


Added support for setting margins via page setup for Windows printing.


Reviewed by Adam.

00:04 Changeset [25287] by bdash

2007-08-28 Mark Rowe <mrowe@apple.com>

Reviewed by Maciej Stachowiak.

Fix fallout from the fix for <rdar://problem/5437983> (Loading history containing 100,000 entries adds 20s to Safari's startup)
in r25275. The array of entries for each day was being maintained in the reverse of the order that was expected.

  • History/WebHistory.mm: (-[WebHistoryPrivate insertItem:forDateKey:]): Maintain the array of entries in descending order.

08/28/07:

19:51 Changeset [25286] by ddkilzer

Removed test files in /resources/ subdirectories.

19:49 Changeset [25285] by ddkilzer

WebKitTools:

Reviewed by Maciej.

Ignore files in /resources/ subdirectories when creating a list of added tests.

  • Scripts/prepare-ChangeLog: (generateFileList):
17:32 Changeset [25284] by weinig

WebCore:

Reviewed by Darin.

Update fix landed in r25249 to account for XMLHttpRequest, which can also be EventTargets.

Tests: http/tests/security/listener/resources/childWithXMLHttpRequest.html

http/tests/security/listener/resources/targetChild-XMLHttpRequest-addEventListener.html
http/tests/security/listener/resources/targetChild-XMLHttpRequest-shortcut.html
http/tests/security/listener/xss-XMLHttpRequest-addEventListener.html
http/tests/security/listener/xss-XMLHttpRequest-shortcut.html

  • bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::putValueProperty): Use the Window object associated with document's frame, not the active Window. (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): ditto
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::document): Expose Document member so bindings can access the correct frame.

LayoutTests:

Reviewed by Darin.

Additional tests for <rdar://problem/5426142>

  • http/tests/security/listener/resources/childWithXMLHttpRequest.html: Added.
  • http/tests/security/listener/resources/targetChild-XMLHttpRequest-addEventListener.html: Added.
  • http/tests/security/listener/resources/targetChild-XMLHttpRequest-shortcut.html: Added.
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt: Added.
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener.html: Added.
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt: Added.
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut.html: Added.
17:15 Changeset [25283] by andersca

WebCore:

Reviewed by Darin.

<rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent

Restore the previous behavior, creating plug-ins on attach, for WebKit plug-ins. Netscape plug-ins
are still created during the first layout.


  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::getInstance): Only call layout if the renderer doesn't have a widget.


  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::getInstance): Likewise.


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::shouldUsePlugin): Update for enum change.


  • loader/FrameLoaderTypes.h: Add ObjectContentNetscapePlugin and ObjectContentOtherPlugin.


  • page/mac/WebCoreFrameBridge.h: Get rid of the enum here, we can use the one in FrameLoaderTypes.h


  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Only create the plug-in if it's not a Netscape plug-in.


(WebCore::RenderPartObject::layout):
Fix indentation.

WebKit:

Reviewed by Darin.

<rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent


  • WebCoreSupport/WebFrameBridge.mm: Use the enum from FrameLoaderTypes.h.


  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::objectContentType): Return ObjectContentNetscapePlugin and ObjectContentOtherPlugin depending on the plug-in type.
16:36 Changeset [25282] by honeycutt

2007-08-28 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

<rdar://problem/5444457>: Content is cut when page orientation changed
in print preview
Fix: Don't return WebFrame::m_pageRects if it exists; let
computePageRectsForFrame clear and rewrite it.

  • WebFrame.cpp: (WebFrame::computePageRects): Removed an early-return case. Added a space.
15:08 Changeset [25281] by harrison

Reviewed by Darin.

<rdar://problem/5415006> Command Left in a To Do causes caret to disappear

  • editing/selection/mixed-editability-8.html: Added.
  • editing/selection/mixed-editability-9.html: Added.
  • platform/mac/editing/selection: Added.
  • platform/mac/editing/selection/mixed-editability-8-expected.checksum: Added.
  • platform/mac/editing/selection/mixed-editability-8-expected.png: Added.
  • platform/mac/editing/selection/mixed-editability-8-expected.txt: Added.
  • platform/mac/editing/selection/mixed-editability-9-expected.checksum: Added.
  • platform/mac/editing/selection/mixed-editability-9-expected.png: Added.
  • platform/mac/editing/selection/mixed-editability-9-expected.txt: Added.
15:06 Changeset [25280] by harrison

Reviewed by Darin.

<rdar://problem/5415006> Command Left in a To Do causes caret to disappear

The selection was ending up inside non-editable content at the To Do Options
arrow image, rather then at the editable position just to the left of that image.
The problem was that startPositionForLine looked only at line boxes, and there
is no linebox for the editable position at the far left of a To Do, which is
a table. Addressed by having startPositionForLine use table offset 0 instead
of the first VisiblePosition inside the table.


Found and fixed the similar case with option-left (move by word position).


Test cases:

  • editing/selection/mixed-editability-8.html: Added.
  • editing/selection/mixed-editability-9.html: Added.

Source changes:

  • editing/SelectionController.cpp: (WebCore::SelectionController::modifyMovingLeftBackward):


  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::next): (WebCore::VisiblePosition::previous): (WebCore::VisiblePosition::stayInEditableContentLeft): (WebCore::VisiblePosition::stayInEditableContentRight): Factored stayInEditableContentLeft() and stayInEditableContentRight() out of previous() and next().


  • editing/VisiblePosition.h: Declare stayInEditableContentLeft() and stayInEditableContentRight().
  • editing/visible_units.cpp: (WebCore::previousWordPosition): (WebCore::nextWordPosition): (WebCore::startOfLine): (WebCore::endOfLine): (WebCore::previousSentencePosition): (WebCore::nextSentencePosition): Call stayInEditableContentLeft() or stayInEditableContentRight(), as appropriate, so prevent crossing from editable content into uneditable content.


(WebCore::startPositionForLine):
Use table offset 0 instead of the first VisiblePosition in the table.

13:24 Changeset [25279] by bdash

2007-08-28 Mark Rowe <mrowe@apple.com>

Fix the buildbot build.

  • History/WebHistory.mm: (timeIntervalForBeginningOfDay): Explicitly cast to silence compiler warning.
13:12 Changeset [25278] by bdash

2007-08-28 Mark Rowe <mrowe@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5443453> Decreasing history expiration time from 1 year to 1 week can lead to long hang while icon database syncs

Perform the sync inside a SQLite transaction. This drops the time taken for the sync from over 90s to under half a second in the
extreme case of over 90,000 URLs being pruned.

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::syncDatabase):
13:06 Changeset [25277] by andersca

Use the correct test paths.


  • platform/mac-leopard/Skipped:
  • platform/mac-tiger/Skipped:
12:55 Changeset [25276] by bdash

Put ChangeLog back to UTF-8 after FileMerge went and mangled it for my last commit.

12:48 Changeset [25275] by bdash

2007-08-28 Mark Rowe <mrowe@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5437983> Loading history containing 100,000 entries adds 20s to Safari's startup

Move WebHistoryItemPrivate from using a sorted array of NSCalendarDate's that map to a sorted array of arrays
of WebHistoryItem's over to using a HashMap of NSTimeIntervals and arrays of WebHistoryItems. NSTimeInterval
uses less memory and is substantially cheaper during comparisons than NSCalendarDate. The use of the HashMap
avoids the needs to repeatedly search within an array to locate the array that corresponds to the given days
history items.

The result of these changes is that loading 100,000 history items drops from around 25s to 1.6s. Loading
100 items drops from 0.003s to 0.002s.

  • History/WebHistory.mm: (-[WebHistoryPrivate init]): (-[WebHistoryPrivate dealloc]): (timeIntervalForBeginningOfDay): Return the NSTimeInterval representing the beginning of the specified day. (-[WebHistoryPrivate findKey:forDay:]): (-[WebHistoryPrivate insertItem:forDateKey:]): Perform a binary search within the day's history items rather than a linear search. (-[WebHistoryPrivate _removeItemFromDateCaches:]): (-[WebHistoryPrivate _addItemToDateCaches:]): (-[WebHistoryPrivate removeAllItems]): (-[WebHistoryPrivate orderedLastVisitedDays]): Generate and cache the sorted NSArray of NSCalendarDate's exposed in the API. This cache is invalidated by _removeItemFromDateCaches: and _addItemToDateCaches: when needed. (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]): (-[WebHistoryPrivate arrayRepresentation]): (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): Use an autorelease pool to keep the number of live autoreleased objects generated to a reasonable level.
  • History/WebHistoryItem.mm: (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]): (-[WebHistoryItem initFromDictionaryRepresentation:]): Use the new HistoryItem constructor that accepts the alternate title rather than setting it after construction. This prevents a modification notification from being sent for each WebHistoryItem that is loaded.
  • History/WebHistoryItemInternal.h:
  • History/WebHistoryPrivate.h:
  • Misc/WebNSCalendarDateExtras.h: Removed as _webkit_compareDay: is no longer used.
  • Misc/WebNSCalendarDateExtras.m: Removed.
  • WebKit.xcodeproj/project.pbxproj:

2007-08-28 Mark Rowe <mrowe@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5437983> Loading history containing 100,000 entries adds 20s to Safari's startup

Add a new constructor for HistoryItem that initializes the alternate title. This prevents WebHistoryItem
in WebKit from having explicitly set the display title, which triggers a history item changed notification
to be posted, for each history item loaded.

  • WebCore.exp:
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem):
  • history/HistoryItem.h:
12:05 Changeset [25274] by andersca

WebCore:

Reviewed by Darin.

<rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues


Add a shouldContentSniff flag to ResourceLoader and ResourceHandle and have XMLHttpRequest
pass in false when creating its subresource loader.


  • WebCore.exp:
  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::MainResourceLoader): (WebCore::MainResourceLoader::loadNow):
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::ResourceLoader): (WebCore::ResourceLoader::load):
  • loader/ResourceLoader.h:
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::SubresourceLoader): (WebCore::SubresourceLoader::create):
  • loader/SubresourceLoader.h:
  • loader/mac/NetscapePlugInStreamLoaderMac.mm: (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::ResourceHandle): (WebCore::ResourceHandle::create):
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send):

WebKit:

Reviewed by Darin.

<rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues


Expose WKSetNSURLRequestShouldContentSniff to WebCore.


  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):

LayoutTests:

Reviewed by Darin.

<rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues


  • http/tests/xmlhttprequest/resources/small-chunks.cgi: Added.
  • http/tests/xmlhttprequest/small-chunks-response-text-expected.txt: Added.
  • http/tests/xmlhttprequest/small-chunks-response-text.html: Added.
  • platform/mac-leopard/Skipped:
  • platform/mac-tiger/Skipped:
12:03 Changeset [25273] by andersca

Add WKSetNSURLRequestShouldContentSniff.


  • WebKitSystemInterface.h:
  • libWebKitSystemInterface.a:
10:23 Changeset [25272] by adachan

<rdar://problem/4876242> Added SPI to fetch SSL certificate information.

Reviewed by Adam and Steve.

  • Interfaces/IWebURLResponsePrivate.idl: Added.
  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/WebKitGUID.vcproj:
  • WebURLResponse.cpp: (WebURLResponse::QueryInterface): (WebURLResponse::sslPeerCertificate): gets peer certificate context from CFNetwork (WebURLResponse::certificateDictionary): gets the dictionary that contains SSL certificate info from CFNetwork. We retain the dictionary to ensure the certificate context is valid throughout the lifetime of the WebURLResponse.
  • WebURLResponse.h:


10:20 Changeset [25271] by adachan

<rdar://problem/4876242> Added SPI to fetch SSL certificate information.
Updated libraries.


Reviewed by Adam.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h:
  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:


09:29 Changeset [25270] by sfalken

<rdar://problem/5424801> REGRESSION (r25151): Web page area of window doesn't redraw if page isn't loaded


Don't bypass WebView WM_PAINT if the WebView has never committed a page.
Added getter for committedFirstRealDocumentLoad.


Reviewed by Maciej.

  • WebView.cpp: (WebViewWndProc): Don't skip painting if we haven't committed any pages in this view.
  • loader/FrameLoader.h: Added committedFirstRealDocumentLoad. (WebCore::FrameLoader::committedFirstRealDocumentLoad): Added.

08/27/07:

23:35 Changeset [25269] by oliver

Reviewed by NOBODY (layout test result fix).

Output of layoutTestController.dumpChildFramesAsText changes in non-relevant way
when running this test on its own vs. running as part of the full suite.


Correcting test result for the output produced while running the full suite.

  • fast/encoding/frame-default-enc-expected.txt:
22:59 Changeset [25268] by oliver

rs=brady


Convert all the encoding tests to plain text dumps.

  • fast/encoding/char-decoding-expected.txt:
  • fast/encoding/char-decoding-mac-expected.txt: Added.
  • fast/encoding/char-decoding-mac.html: Added. char-decoding-mac tests the ability to decode the mac specific legacy x-nextstep charset.
  • fast/encoding/char-decoding.html:
  • fast/encoding/frame-default-enc-expected.checksum: Removed.
  • fast/encoding/frame-default-enc-expected.png: Removed.
  • fast/encoding/frame-default-enc-expected.txt:
  • fast/encoding/frame-default-enc.html:
  • fast/encoding/mispositioned-meta-expected.checksum: Removed.
  • fast/encoding/mispositioned-meta-expected.png: Removed.
  • fast/encoding/mispositioned-meta-expected.txt:
  • fast/encoding/mispositioned-meta.html:
  • fast/encoding/tag-in-title-expected.checksum: Removed.
  • fast/encoding/tag-in-title-expected.png: Removed.
  • fast/encoding/tag-in-title-expected.txt:
  • fast/encoding/tag-in-title.html:
  • platform/win/Skipped: Skip char-decoding-mac
16:09 Changeset [25267] by antti

WebCore:

Reviewed by Maciej.


Fix <rdar://problem/5433144>
REGRESSION: Unable to click "Select" link at Expedia for car rentals


javascript: URLs need special handling when serializing. Escaping them like
normal attribute values can do bad things. Try hard to not escape anything,
escape quote characters only if really necessary. Try to match Firefox.

Test: fast/innerHTML/javascript-url.html

  • editing/markup.cpp: (WebCore::urlAttributeToQuotedString): (WebCore::startMarkup):

LayoutTests:

Reviewed by Maciej.


Test for <rdar://problem/5433144>
REGRESSION: Unable to click "Select" link at Expedia for car rentals

  • fast/innerHTML/javascript-url-expected.txt: Added.
  • fast/innerHTML/javascript-url.html: Added.
15:46 Changeset [25266] by oliver

rs=adam

Remove tests effected by <rdar://problem/5317287> from the windows skiplist

  • platform/win/Skipped:
14:57 Changeset [25265] by hyatt
14:57 Changeset [25264] by hyatt

Fix for 5441224, micro-optimizations to improve the PLT by 1%.

Reviewed by Darin

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement):
  • platform/mac/FontMac.mm: (WebCore::Font::drawGlyphs):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::requiresLayer):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::isBody):
  • rendering/RenderObject.h: (WebCore::RenderObject::renderArena): (WebCore::RenderObject::isRoot):
13:43 Changeset [25263] by kmccullo

Reviewed by John.

  • Removed Leopard leaks list since all of those radars were fixed.
  • Scripts/run-webkit-tests:
10:57 Changeset [25262] by bdash

2007-08-27 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

Test: fast/replaced/applet-disabled-positioned.html

  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createRenderer): Changed to call RenderObject::createObject(), which accounts for style.

2007-08-27 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

  • fast/replaced/applet-disabled-positioned.html: Added.
  • platform/mac/fast/replaced: Added.
  • platform/mac/fast/replaced/applet-disabled-positioned-expected.checksum: Added.
  • platform/mac/fast/replaced/applet-disabled-positioned-expected.png: Added.
  • platform/mac/fast/replaced/applet-disabled-positioned-expected.txt: Added.
06:36 Changeset [25261] by zimmermann

Reviewed by Mitz.

Expose unitsPerEm() in Font classes.
This is needed to implement SVG's advanced text decorations. We won't draw lines for text-decorations
but fillable & strokable rectangles with a certain height, computed through unitsPerEm & font size.

01:13 Changeset [25260] by oliver

Reviewed by NOBODY (Build fix).

Initialise iterators to appease gcc

  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::closestCharacterToPosition):
01:13 Changeset [25259] by aroben

Rubberstamped by Mark.

  • Scripts/pdevenv: Pass arguments along to devenv.com.

08/26/07:

23:40 Changeset [25258] by darin
  • quick follow on to that last check-in
  • API/JSCallbackObject.cpp: (KJS::JSCallbackObject::JSCallbackObject): Need to initialize m_class to 0.
23:17 Changeset [25257] by bdash

2007-08-26 Mark Rowe <mrowe@apple.com>

Reviewed by Darin Adler.

<rdar://problem/4949002> JSGlobalContextCreate can cause crashes because it passes a NULL JSContextRef to the globalObjectClass's initialize callback

JSCallbackObject now tracks whether it was constructed with a null ExecState. This will happen when the object is being used as the global object,
as the Interpreter needs to be created after the global object. In this situation the initialization is deferred until after the Interpreter's
ExecState is available to be passed down to the initialize callbacks.

  • API/JSCallbackObject.cpp: (KJS::JSCallbackObject::init): Track whether we successfully initialized. (KJS::JSCallbackObject::initializeIfNeeded): Attempt to initialize with the new ExecState.
  • API/JSCallbackObject.h:
  • API/JSContextRef.cpp: (JSGlobalContextCreate): Initialize the JSCallbackObject with the Interpreter's ExecState.
  • API/testapi.c: (testInitializeOfGlobalObjectClassHasNonNullContext): (main): Verify that the context passed to the initialize callback is non-null.
23:02 Changeset [25256] by bdash

2007-08-26 Mark Rowe <mrowe@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5438496> JSGlobalContextCreate crashes when passed a custom class

  • API/JSContextRef.cpp: (JSGlobalContextCreate): Specify jsNull() as the prototype and let Interpreter's constructor fix it up to point at builtinObjectPrototype().
  • API/testapi.c: (main): Use an instance of a custom class as the global object to ensure the code path is exercised in the test.
17:11 Changeset [25255] by antti

WebCore:

Reviewed by Darin.


Fix for <rdar://problem/5433726>
Mail crash at WebCore::Frame::styleForSelectionStart() when deleting a selection in a HTML message (http://www.yahoo.com/)

Test: editing/style/temporary-span-crash.html

  • page/Frame.cpp: (WebCore::Frame::styleForSelectionStart): Temporary span created here might not have renderer if document has style sheet that makes it display:none. Set display:inline explicitly in spans style attribute. This temporary span does not need to get its display value from actual document style sheets. Null check the renderer too to be sure.

LayoutTests:

Reviewed by Darin.


Test for <rdar://problem/5433726>
Mail crash at WebCore::Frame::styleForSelectionStart() when deleting a selection in a HTML message (http://www.yahoo.com/)

  • editing/style/temporary-span-crash-expected.txt: Added.
  • editing/style/temporary-span-crash.html: Added.
06:39 Changeset [25254] by ddkilzer

WebKitTools:

Reviewed by Mark Rowe.

Update prepare-ChangeLog to generate the datestamp in the correct timezone.

  • Scripts/prepare-ChangeLog: (changeLogDate): Added.
06:20 Changeset [25253] by ddkilzer

JavaScriptCore:

Reviewed by Mark Rowe and David Kilzer.

Fix build failure on arm.

  • wtf/Platform.h: Also test if arm is defined.
05:46 Changeset [25252] by zimmermann

Rubberstamped by Mark.
Add missing SVG filter testcase (forgot to include in last commit).

08/25/07:

19:16 Changeset [25251] by oliver

Reviewed by Adam and Sam


<rdar://problem/5269732> Safari 3.0 for Windows cuts off text in textarea boxes during sending forms (14562)
<http://bugs.webkit.org/show_bug.cgi?id=14562> [Win] Textarea contents partially eaten on submit/copy


WebView::handleEditingKeyboardEvent assumed all keycodes that did not trigger a named command were
to be inserted. This could cause unexpected behaviour when control characters (eg. escape) are sent,
or could cause data loss when sent a null character (as happens when dead keys are used for international
input).


This patch corrects WebView::handleEditingKeyboardEvent to prevent such characters from being sent
to Editor::insertText. This behaviour matches Firefox.

  • WebView.cpp: (WebView::handleEditingKeyboardEvent):
13:42 Changeset [25250] by ddkilzer

LayoutTests:

Reviewed by NOBODY (fixes layout tests).

Don't pass any options to window.open() in target-frame-from-window.html, specifically
those that cause the window to be resized. This caused a downstream failure in
cross-frame-access-put.html because the window.outerHeight and window.outerWidth
properties were sometimes affected by the new window size used in the popup window.

  • http/tests/navigation/target-frame-from-window.html:
12:08 Changeset [25249] by weinig

WebCore:

Reviewed by Adele.

Fix for <rdar://problem/5426142>

Use the EventTarget's frame when creating the EventListener.

Tests: http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener.html

http/tests/security/listener/xss-JSTargetNode-onclick-shortcut.html
http/tests/security/listener/xss-window-onclick-addEventListener.html
http/tests/security/listener/xss-window-onclick-shortcut.html

  • bindings/js/JSEventTargetNode.cpp: (WebCore::JSEventTargetNode::setListener): (WebCore::JSEventTargetNodePrototypeFunction::callAsFunction):
  • bindings/js/kjs_window.cpp: (KJS::WindowFunc::callAsFunction):

LayoutTests:

Reviewed by Adele.

Tests for <rdar://problem/5426142>

  • http/tests/security/listener: Added.
  • http/tests/security/listener/resources: Added.
  • http/tests/security/listener/resources/childWindow.html: Added.
  • http/tests/security/listener/resources/childWithButton.html: Added.
  • http/tests/security/listener/resources/targetChild-JSTargetNode-onclick-addEventListener.html: Added.
  • http/tests/security/listener/resources/targetChild-JSTargetNode-onclick-shortcut.html: Added.
  • http/tests/security/listener/resources/targetChild-window-onclick-addEventListener.html: Added.
  • http/tests/security/listener/resources/targetChild-window-onclick-shortcut.html: Added.
  • http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt: Added.
  • http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener.html: Added.
  • http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt: Added.
  • http/tests/security/listener/xss-JSTargetNode-onclick-shortcut.html: Added.
  • http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt: Added.
  • http/tests/security/listener/xss-window-onclick-addEventListener.html: Added.
  • http/tests/security/listener/xss-window-onclick-shortcut-expected.txt: Added.
  • http/tests/security/listener/xss-window-onclick-shortcut.html: Added.
12:02 Changeset [25248] by bdash

2007-08-25 Mitz Pettel <mitz@webkit.org>

Reviewed by Sam Weinig.

  • manual-tests/drag-out-of-background-window.html: Added.
  • page/EventHandler.cpp: (WebCore::EventHandler::eventMayStartDrag): Added missing coordinate conversion.
11:12 Changeset [25247] by bdash

New tag.

09:57 Changeset [25246] by rwlbuis

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=14848
DOM table rules are not updated when changed

On a dynamic rules attr change, mark the table cells and
their ancestors (up to and including the table tag) as
changed.

09:35 Changeset [25245] by adele

WebCore:

Reviewed by Mitz.

Fix for http://bugs.webkit.org/show_bug.cgi?id=15073
<rdar://problem/5426557> REGRESSION: Can no longer drag text from textareas


Test: fast/forms/drag-out-of-textarea.html

  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControlInnerBlock::nodeAtPoint): Only restricts hit testing if the placeholder text is visible.
  • rendering/RenderTextControl.h: (WebCore::RenderTextControl::placeholderIsVisible): Added.

LayoutTests:

Reviewed by Mitz.

Test for http://bugs.webkit.org/show_bug.cgi?id=15073
<rdar://problem/5426557> REGRESSION: Can no longer drag text from textareas

  • fast/forms/drag-out-of-textarea-expected.txt: Added.
  • fast/forms/drag-out-of-textarea.html: Added.
09:08 Changeset [25244] by bdash

Roll out r25128 to prevent <rdar://5424866>.

08:49 Changeset [25243] by bdash

Versioning.

08:48 Changeset [25242] by bdash

New tag.

07:03 Changeset [25241] by bdash

2007-08-25 Peter Kasting <zerodpx@gmail.org>

Reviewed by Maciej Stachowiak.

Part 3 of http://bugs.webkit.org/show_bug.cgi?id=14967
Bug 14967: Reduce wtf::Vector::operator[]() overloads

  • wtf/Vector.h: (WTF::Vector::operator[]): Only provide versions of operator[] that takes a size_t argument.
07:00 Changeset [25240] by bdash

2007-08-25 Peter Kasting <zerodpx@gmail.org>

Reviewed by Sam Weinig.

Part 2 of http://bugs.webkit.org/show_bug.cgi?id=14967.
Eliminate all remaining implicit conversions of wtf::Vector<T> to T*. Where code was
previously checking that the Vector's data pointer was non-NULL, check !Vector::isEmpty()
instead.

  • wtf/Vector.h: (WTF::Vector::data):

2007-08-25 Peter Kasting <zerodpx@gmail.org>

Reviewed by Sam Weinig.

Part 2 of http://bugs.webkit.org/show_bug.cgi?id=14967.
Eliminate all remaining implicit conversions of wtf::Vector<T> to T*. Where code was
previously checking that the Vector's data pointer was non-NULL, check !Vector::isEmpty()
instead.

  • bindings/js/kjs_navigator.cpp: (KJS::PluginBase::cachePluginDataIfNecessary):
  • loader/mac/LoaderNSURLExtras.m: (suggestedFilenameWithMIMEType):
  • page/FrameView.cpp: (WebCore::FrameView::~FrameView): (WebCore::FrameView::pauseScheduledEvents): (WebCore::FrameView::resumeScheduledEvents): (WebCore::FrameView::dispatchScheduledEvents):
  • platform/mac/PlugInInfoStoreMac.mm: (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
05:58 Changeset [25239] by bdash

2007-08-25 Mark Rowe <mrowe@apple.com>

Rubber-stamped by Mitz.

Disable fast/js/string-concatenate-outofmemory.html until <http://bugs.webkit.org/show_bug.cgi?id=15046> is resolved.

  • fast/js/string-concatenate-outofmemory.html: Removed.
  • fast/js/string-concatenate-outofmemory.html-disabled: Copied from LayoutTests/fast/js/string-concatenate-outofmemory.html.
05:37 Changeset [25238] by bdash

2007-08-25 Mitz Pettel <mitz@webkit.org>

Rubber-stamped by Adam Roben

  • remove unused file
  • platform/win/MouseEventWin.cpp: Removed.
05:35 Changeset [25237] by bdash

2007-08-25 Jasper Bryant-Greene <m@ni.ac.nz>

Reviewed by Oliver Hunt.

Set paintingDisabled to true in Cairo's GraphicsContext constructor
when passed a null PlatformGraphicsContext.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::GraphicsContext):
05:30 Changeset [25236] by bdash

2007-08-25 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Covered by fast/parser/residual-style-close-across-n-blocks.html

  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): If the residual style was closed before anything else in the block (so it does not apply to anything inside the block) avoid creating an empty element for it inside the block.

2007-08-25 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/parser/residual-style-close-across-n-blocks-expected.txt:
  • fast/parser/residual-style-close-across-n-blocks.html:
  • tables/mozilla/other/wa_table_tr_align-expected.txt:
05:26 Changeset [25235] by bdash

2007-08-25 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: editing/selection/move-by-line-003.html

  • rendering/RenderText.cpp: (WebCore::RenderText::positionForCoordinates): Changed hit testing so that each line is tested for hits between its overflow top and the next line's overflow top. This matches RenderBlock::positionForCoordinates.

2007-08-25 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • editing/selection/move-by-line-003-expected.txt: Added.
  • editing/selection/move-by-line-003.html: Added.
05:21 Changeset [25234] by bdash

2007-08-25 Mitz Pettel <mitz@webkit.org>

Reviewed by Justin.

Test: editing/pasteboard/newlines-around-floating-or-positioned.html

  • editing/TextIterator.cpp: (WebCore::shouldEmitNewlinesBeforeAndAfterNode): Do not emit newlines around floating or positioned blocks. This behavior seems to match WinIE's.

2007-08-25 Mitz Pettel <mitz@webkit.org>

Reviewed by Justin.

  • editing/pasteboard/newlines-around-floating-or-positioned-expected.txt: Added.
  • editing/pasteboard/newlines-around-floating-or-positioned.html: Added.
  • fast/events/capture-on-target-expected.txt:
  • fast/events/mouseclick-target-and-positioning-expected.txt:
  • fast/events/mouseover-mouseout-expected.txt:
  • fast/events/mouseover-mouseout2-expected.txt:
  • fast/events/window-events-bubble-expected.txt:
  • fast/events/window-events-bubble2-expected.txt:
  • fast/events/window-events-capture-expected.txt:
  • fast/forms/input-appearance-elementFromPoint-expected.txt:
  • fast/forms/onselect-textarea-expected.txt:
  • fast/forms/onselect-textfield-expected.txt:
Note: See TracTimeline for information about the timeline view.