Timeline



Mar 17, 2007:

10:23 PM Changeset in webkit [23105] by hyatt
  • 2 edits in branches/WindowsMerge/WebCore

The internal side of the patch that ensures Boomer paints twice on ibench. Don't let the timer beat out
that first paint.

Reviewed by aroben

  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::update):
10:18 PM Changeset in webkit [20268] by hyatt
  • 4 edits in trunk/WebCore

Make onload do an explicit paint when a top-level document is ready (to ensure that a first paint always
happens before any timers set by the onload can fire).

Reviewed by aroben

  • dom/Document.cpp: (WebCore::Document::implicitClose):
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::update):
10:01 PM Changeset in webkit [23104] by aroben
  • 3 edits in branches/WindowsMerge/WebKitTools

Reviewed by Hyatt.

Implemented console message dumping.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.cpp: (WaitUntilDoneDelegate::QueryInterface): Added cases for IWebUIDelegate[Private] (WaitUntilDoneDelegate::webViewAddMessageToConsole): Implemented.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.h: Now inherits from IWebUIDelegatePrivate
7:26 PM Changeset in webkit [23103] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Brady.

Fix fast/dom/isindex-002.html.

Add default strings to our two remaining unimplemented localizable
strings in WebCore.

  • platform/win/TemporaryLinkStubs.cpp: (WebCore::searchableIndexIntroduction): Added English string from Mac. (WebCore::inputElementAltText): Ditto.
5:54 PM Changeset in webkit [20267] by hyatt
  • 2 edits in trunk/WebCore

Tweaks to prevent timers from starving user input or painting.

5:11 PM Changeset in webkit [20266] by ggaren
  • 2 edits in trunk/WebCore

Reviewed by Beth Dakin.

Fixed <rdar://problem/5070967> REGRESSION (r20211): Repro crash when
closing View Source window


I award myself 0 points, and may God have mercy on my soul.

  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::~KJSProxy):
5:04 PM Changeset in webkit [20265] by kjk
  • 2 edits in trunk/WebCore

Not reviewed - gdk build fix.

  • platform/gdk/TemporaryLinkStubs.cpp: (Pasteboard::writeURL):
4:39 PM Changeset in webkit [20264] by hyatt
  • 2 edits in trunk/WebCore

Fix tiny PLT regression. Don't examine the border/background data for RenderImage when images change
unless we actually have a border/background.

Reviewed by Brady

  • rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged):
4:17 PM Changeset in webkit [23102] by aroben
  • 2 edits in branches/WindowsMerge/WebKitWin

Reviewed by Brady.

Fix repro ASSERT when logging in to facebook.com.

  • WebMutableURLRequest.cpp: (WebMutableURLRequest::valueForHTTPHeaderField): Implemented.
10:21 AM Changeset in webkit [20263] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Tim Hatcher


Discovered while working on <rdar://problem/5070334> that many WebView calls will crash if called
after -[WebView close] has executed because _private->page is deferenced after it's been set to 0.
It might be silly/wrong to call these methods after -close, but obviously it shouldn't crash. Made
each use of _private->page robust against nil-dereferencing.

  • WebView/WebView.mm: (-[WebView _loadBackForwardListFromOtherView:]): (-[WebView _updateWebCoreSettingsFromPreferences:]): (-[WebView _setDashboardBehavior:to:]): (-[WebView _dashboardBehavior:]): (-[WebView goBack]): (-[WebView goForward]): (-[WebView goToBackForwardItem:]): (-[WebView canGoBack]): (-[WebView canGoForward]): (-[WebView setTabKeyCyclesThroughElements:]): (-[WebView tabKeyCyclesThroughElements]): (-[WebView setEditable:]):
8:38 AM Changeset in webkit [20262] by zimmermann
  • 3 edits
    4 adds in trunk

Reviewed by Sam Weinig.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=13046 (CSS styles on hover and focus are broken for <use>)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12838 (SVG <use> CSS styles broken)
Added test: svg/custom/use-css-events.svg

In general this fixes the peepo.co.uk website.

Forgot to pass the actual StyleChange to the recalcStyle() function,
when calling it on the shadow tree root element.

7:49 AM Changeset in webkit [20261] by thatcher
  • 12 edits in trunk

JavaScriptCore:

Reviewed by Mark Rowe.

Made Version.xcconfig smarter when building for different configurations.
Now uses the 522+ OpenSource version for Debug and Release, while using the
full 522.4 version for Production builds. The system prefix is also computed
based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.

  • Configurations/JavaScriptCore.xcconfig:
  • Configurations/Version.xcconfig:

JavaScriptGlue:

Reviewed by Mark Rowe.

Made Version.xcconfig smarter when building for different configurations.
Now uses the 522+ OpenSource version for Debug and Release, while using the
full 522.4 version for Production builds. The system prefix is also computed
based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.

  • Configurations/JavaScriptGlue.xcconfig:
  • Configurations/Version.xcconfig:

WebCore:

Reviewed by Mark Rowe.

Made Version.xcconfig smarter when building for different configurations.
Now uses the 522+ OpenSource version for Debug and Release, while using the
full 522.4 version for Production builds. The system prefix is also computed
based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.

  • Configurations/Version.xcconfig:
  • Configurations/WebCore.xcconfig:

WebKit:

Reviewed by Mark Rowe.

Made Version.xcconfig smarter when building for different configurations.
Now uses the 522+ OpenSource version for Debug and Release, while using the
full 522.4 version for Production builds. The system prefix is also computed
based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.

  • Configurations/Version.xcconfig:
  • Configurations/WebKit.xcconfig:
4:53 AM Changeset in webkit [20260] by antti
  • 5 edits
    2 adds in trunk

LayoutTests:

Reviewed by Adele.


Test for http://bugs.webkit.org/show_bug.cgi?id=12595
REGRESSION: Can't add item to cart at lnt.com (JS type error)
<rdar://problem/4722863>


Expanded version of Darin's test case.

  • fast/forms/old-names-expected.txt: Added.
  • fast/forms/old-names.html: Added.

WebCore:

Reviewed by Adele.

Fix http://bugs.webkit.org/show_bug.cgi?id=12595
REGRESSION: Can't add item to cart at lnt.com (JS type error)
<rdar://problem/4722863>


Emulate Firefox behavior where form elements accessed by a name
can be accessed with that name later even if the name changes or
even if element is removed from the document.


This is loosely based on Darin's earlier patch for the same problem but
is much less expansive. It takes somewhat different approach to more closely
mimic Firefox behavior. Includes expanded test case.

  • bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::canGetItemsForName):

Use new the HTMLFormElement::getNamedElements() method

(WebCore::JSHTMLFormElement::nameGetter):

Use new the HTMLFormElement::getNamedElements() method

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): (WebCore::HTMLFormElement::~HTMLFormElement): (WebCore::HTMLFormElement::elementForAlias): (WebCore::HTMLFormElement::addElementAlias):

Maintain a map of known element aliases

(WebCore::HTMLFormElement::getNamedElements):

Get a list of elements matching the name, based both their
current names and known aliases (earlier names).
Keep the alias list in sync.

  • html/HTMLFormElement.h:
12:46 AM Changeset in webkit [23101] by adele
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Hyatt.

Fix for <rdar://problem/4960391> REGRESSION (r18922): onChange never fired after selecting an item from a menulist

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::PopupMenu): Initialize m_focusedIndex to 0. Instead of using the client to track the focused index, we'll keep track of it internally. Our old behavior was trying to match Firefox by updating the selected index as you focus items, but that doesn't seem necessary if the selection never gets committed. (WebCore::PopupMenu::show): Initialize the focused index to the client's selected index. (WebCore::PopupMenu::setFocusedIndex): Remove the fireOnChange argument. Remove the call to valueChanged. (WebCore::PopupMenu::focusedIndex): Return m_focusedIndex instead of getting this from the client. (WebCore::PopupMenu::down): Use the focusedIndex. (WebCore::PopupMenu::up): ditto. (WebCore::PopupMenu::paint): Paint a selected appearance for the item with the focused index.
12:40 AM Changeset in webkit [20259] by adele
  • 9 edits in trunk

LayoutTests:

Reviewed by Hyatt.

Updated test for <rdar://problem/4990050> REGRESSION: onchange gets fired when clicking on a programmatically selected element in a listbox
http://bugs.webkit.org/show_bug.cgi?id=12725

  • fast/forms/listbox-onchange-expected.txt:
  • fast/forms/listbox-onchange.html:

WebCore:

Reviewed by Hyatt.

Fix for <rdar://problem/4990050> REGRESSION: onchange gets fired when clicking on a programmatically selected element in a listbox
http://bugs.webkit.org/show_bug.cgi?id=12725

Test: updated fast/forms/listbox-onchange.html

Added HTMLSelectElement::saveLastSelection that is called before changing a selection that could result
in onChange being called. m_lastOnChangeIndex and m_lastOnChangeSelection no longer have to be up-to date all the time,
they just have to be up-to-date before we execute an action that may trigger onChange.

  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::setSelectedState): Added. The HTMLSelectElement will only set an option's selected state with this method. This ensures that notifyOptionSelected won't get called when the call originates from the select element.
  • html/HTMLOptionElement.h:
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::deselectItems): Calls setSelectedState. (WebCore::HTMLSelectElement::setSelectedIndex): ditto. Don't update the last selection variables here. Scroll to the new selection. The scrolling call used to only be in notifyOptionSelected. There's no reason we shouldn't scroll when the selection is set through the HTMLSelectElement. (WebCore::HTMLSelectElement::setValue): Call setSelectedIndex to update all options selected state. (WebCore::HTMLSelectElement::restoreState): Call setSelectedState. (WebCore::HTMLSelectElement::selectAll): Call saveLastSelection before making the selection, and calling onChange. (WebCore::HTMLSelectElement::recalcListItems): Call setSelectedState. Don't need to save selection here anymore, since it will get saved before we call onChange. (WebCore::HTMLSelectElement::reset): ditto. (WebCore::HTMLSelectElement::dispatchFocusEvent): Added. Call saveLastSelection for menu lists, since onChange can be fired on blur. (WebCore::HTMLSelectElement::dispatchBlurEvent): Call menuListOnChange. (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Call saveLastSelection before showing the popup window. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Call saveLastSelection during mousedown (to prepare for an onchange during mouseup, or after autoscroll). (WebCore::HTMLSelectElement::updateListBoxSelection): Call setSelectedState.

(WebCore::HTMLSelectElement::menuListOnChange): Added. Compares the m_lastOnChangeIndex to the selectedIndex().
(WebCore::HTMLSelectElement::listBoxOnChange): Move the m_lastOnChangeSelection creation to saveLastSelection.
(WebCore::HTMLSelectElement::saveLastSelection): Added. Sets m_lastOnChangeIndex or m_lastOnChangeSelection.

  • html/HTMLSelectElement.h:
  • platform/PopupMenu.h:

Mar 16, 2007:

9:59 PM Changeset in webkit [20258] by oliver
  • 14 edits in trunk

2007-03-16 Oliver Hunt <oliver@apple.com>

Reviewed by Hyatt.

WebCore:

The old canSaveAsWebArchive call was necessary as stand alone
images used to be rendered by ImageDocument.

Fixes rdar://problem/5061252

  • dom/Clipboard.cpp:
  • dom/Clipboard.h: (WebCore::Clipboard::setDragHasStarted):
  • page/DragClient.h: (WebCore::DragClient::declareAndWriteDragImage):
  • platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::declareAndWriteDragImage):

WebKit:

  • WebCoreSupport/WebDragClient.h:
  • WebCoreSupport/WebDragClient.mm: (WebDragClient::declareAndWriteDragImage):
  • WebKit.xcodeproj/project.pbxproj:

LayoutTests:

Updating layout test to allow stand alone image to be
dragged into a content editable div

  • fast/events/standalone-image-drag-to-editable-expected.checksum:
  • fast/events/standalone-image-drag-to-editable-expected.png:
  • fast/events/standalone-image-drag-to-editable-expected.txt:
  • fast/events/standalone-image-drag-to-editable.html:
6:23 PM Changeset in webkit [23100] by beidson
  • 2 edits in branches/WindowsMerge/WebKitWin

Reviewed by Oliver

Make the WebDownload fix a little more correct.


  • WebDownload.cpp: (WebDownload::init): Release the connection from the ResourceHandle after the CFURLDownload has been created
6:01 PM Changeset in webkit [20257] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/4869095>
default content type changed for XMLHttpRequest POSTs changed (breaks Flickrator 0.1 widget)


  • xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::send):
5:43 PM Changeset in webkit [20256] by thatcher
  • 4 edits in trunk

64-bit build fix.

5:36 PM Changeset in webkit [20255] by beidson
  • 2 edits in trunk/LayoutTests

Reviewed by Braveheart

Updated layouttest results because I added a window property

  • fast/dom/Window/window-properties-expected.txt:
4:57 PM Changeset in webkit [20254] by beidson
  • 2 edits in trunk/WebCore

Rubberstamped by Tim Hatcher

Update the hash table header for Window object properties

  • bindings/js/kjs_window.cpp:
4:49 PM Changeset in webkit [20253] by beidson
  • 5 edits
    2 adds in trunk

LayoutTests:

Reviewed by Anders

<rdar://problem/5061826> and
http://bugs.webkit.org/show_bug.cgi?id=12863
Implement window.stop()

  • http/tests/misc/window-dot-stop-expected.txt: Added.
  • http/tests/misc/window-dot-stop.html: Added.

WebCore:

Reviewed by Anders

<rdar://problem/5061826> and
http://bugs.webkit.org/show_bug.cgi?id=12863
Implement window.stop()

  • bindings/js/kjs_window.cpp: (KJS::WindowFunc::callAsFunction): Add case Window::Stop
  • bindings/js/kjs_window.h: (KJS::Window::): Add "Stop"
4:41 PM Changeset in webkit [23099] by adele
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Lou.

Fix for <rdar://problem/5065040> cannot mousedown + drag in a <select> menu

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show): Set the capture when the popup window comes up. (WebCore::PopupWndProc): Release the capture only when the mouse is not down, and the mouse moves outside the popup window, or if you mouse up inside the window, and you're about to hide the popup. The mouse will get recaptured if you mouse down again in the window.
4:19 PM Changeset in webkit [20252] by thatcher
  • 4 edits in trunk

Adding ChangeLog markers.

4:18 PM Changeset in webkit [20251] by thatcher
  • 1 edit in tags/Safari-5522.4/JavaScriptGlue/Info.plist

Versioning.

4:16 PM Changeset in webkit [20250] by thatcher
  • 1 edit in tags/Safari-5522.4/JavaScriptCore/Info.plist

Versioning.

4:14 PM Changeset in webkit [20249] by thatcher
  • 1 edit in tags/Safari-5522.4/WebKit/Info.plist

Versioning.

4:12 PM Changeset in webkit [20248] by thatcher
  • 1 edit in tags/Safari-5522.4/WebCore/Info.plist

Versioning.

4:11 PM Changeset in webkit [23098] by ggaren
  • 2 edits in branches/WindowsMerge/WebKitWin

Reviewed by Dave Hyatt.


Fixed "called Frame::paint with nil renderer" console messages.
You can now launch and exit the app without seeing any
error messages!

  • WebView.cpp: (WebView::paintIntoBackingStore): Only tell the FrameView to paint if it has a renderer. This isn't an issue on the Mac because we don't create a FrameView until you load a page.
4:11 PM Changeset in webkit [20247] by thatcher
  • 3 edits in tags/Safari-5522.4/WebCore

Merging fix for r20228.

4:09 PM Changeset in webkit [20246] by thatcher
  • 18 edits in tags/Safari-5522.4/WebCore

Merging fix for r20214.

4:03 PM Changeset in webkit [20245] by thatcher
  • 1 copy in tags/Safari-5522.4

New tag from r20197.

3:39 PM Changeset in webkit [20244] by ggaren
  • 1 edit in trunk/WebCore/ChangeLog

fixed changelog order -- do you need a changelog entry for a changelog fix???

3:37 PM Changeset in webkit [20243] by ggaren
  • 2 edits in trunk/WebCore

Fix for 13084, assertion failure in the Cache. Convert the client list
to a HashCountedSet so that multiple refs and derefs are allowed.

Fix RenderImage so that if it has the same image used as a background/border
and as the foreground that it will repaint properly (can be tested using
border-image and a foreground image).

Optimize list marker so that it doesn't waste time in the base class method,
since list markers don't support background or border images.

Reviewed by andersca

  • ChangeLog:
  • loader/CachedResource.cpp: (WebCore::CachedResource::ref):
  • loader/CachedResource.h:
  • loader/CachedResourceClientWalker.cpp: (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
  • loader/CachedResourceClientWalker.h:
  • rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::imageChanged):
3:29 PM Changeset in webkit [20242] by hyatt
  • 7 edits in trunk/WebCore

Fix for 13084, assertion failure in the Cache. Convert the client list
to a HashCountedSet so that multiple refs and derefs are allowed.

Fix RenderImage so that if it has the same image used as a background/border
and as the foreground that it will repaint properly (can be tested using
border-image and a foreground image).

Optimize list marker so that it doesn't waste time in the base class method,
since list markers don't support background or border images.

Reviewed by andersca

  • ChangeLog:
  • loader/CachedResource.cpp: (WebCore::CachedResource::ref):
  • loader/CachedResource.h:
  • loader/CachedResourceClientWalker.cpp: (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
  • loader/CachedResourceClientWalker.h:
  • rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::imageChanged):
3:26 PM Changeset in webkit [20241] by thatcher
  • 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj

Attempt to fix the 64-bit build.

3:04 PM Changeset in webkit [23097] by andersca
  • 5 edits in branches/WindowsMerge/WebKitWin

WebKitWin:

Reviewed by Adam.

Add setters and getters for cookie storage accept policy.


  • Interfaces/IWebPreferences.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp: (WebPreferences::initialize): (WebPreferences::cookieStorageAcceptPolicy): (WebPreferences::setCookieStorageAcceptPolicy):
  • WebPreferences.h:
1:22 PM Changeset in webkit [23096] by andersca
  • 1 edit in branches/WindowsMerge/WebKitWin/ChangeLog

Add Radar

1:16 PM Changeset in webkit [23095] by andersca
  • 2 edits in branches/WindowsMerge/WebKitWin

Reviewed by Adam and Dave Hyatt.

Fix acid2 test.


  • WebFrame.cpp: (WebFrame::shouldFallBack): Implement this function.
1:10 PM Changeset in webkit [20240] by ggaren
  • 5 edits in trunk/WebCore

Reviewed by Anders Carlsson.


Fixed <rdar://problem/5065399> REGRESSION: leaks in Frame::bindingRootObject
seen on buildbot

The problem was that we were initializing the same WebScriptObject twice.
This caused it to leak its original set of ivars.


I think some refactoring could prevent this situation from arising in the
first place, but I'm just adding a check at the call site for now, to do
the simplest thing.

  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject _setImp:originRootObject:rootObject:]): Added ASSERTs against multiple calls.
  • bindings/objc/WebScriptObjectPrivate.h: Renamed _initializeWithObjectImp to setImp because "init" vs "initialize" was a too subtle indication that one was a Cocoa initializer and one was not.
12:27 PM Changeset in webkit [23094] by adachan
  • 3 edits in branches/WindowsMerge/WebKitWin

2007-03-16 Ada Chan <adachan@apple.com>

WebKitWin:

Reviewed by Steve.


Implemented a couple of DOM methods so we can set the font-size of an element directly in the app.

  • DOMCSSClasses.cpp: (DOMCSSStyleDeclaration::setProperty):
  • DOMCoreClasses.cpp: (DOMElement::style):
10:47 AM Changeset in webkit [20239] by brmorris
  • 2 edits in S60/trunk/WebKit

spadma, reviewed by <yongjun>

DESC: Prevent unnecessary redraws.
http://bugs.webkit.org/show_bug.cgi?id=13093
TSW ID: RCHI-6Z2V49

10:45 AM Changeset in webkit [20238] by brmorris
  • 3 edits in S60/branches/3.1m/WebKit

yinxcai, reviewed by <Yongjun>

DESC: TMCN-6Y9Q7A --Browser ask permission for unsecure item load repeatedly
http://bugs.webkit.org/show_bug.cgi?id=12901

7:33 AM Changeset in webkit [20237] by brmorris
  • 2 edits in S60/branches/3.1m/WebCore

rathnasa <sornalatha.rathnasamy@nokia.com>

Reviewed by Zalan.
DESC: [S60] ESMS-6YDMWP: TRUE - GSM - broswer crashes on certain web pages
Quick fix to validate null pointers
http://bugs.webkit.org/show_bug.cgi?id=13074

5:40 AM Changeset in webkit [20236] by lars
  • 2 edits in trunk/WebCore

don't use #import in .cpp files.

5:36 AM Changeset in webkit [20235] by lars
  • 6 edits in trunk

Fix the Qt build once again.

2:52 AM Changeset in webkit [23093] by hyatt
  • 1 edit in branches/WindowsMerge/WebCore/platform/win/PasteboardWin.cpp

Fix boomer build bustage.

Mar 15, 2007:

11:52 PM Changeset in webkit [20234] by bdash
  • 3 edits in trunk/WebCore

2007-03-15 Shrikant Gangoda <shrikant.gangoda@celunite.com>

Gdk build fix.

  • loader/gdk/FrameLoaderClientGdk.cpp: (WebCore::FrameLoaderClientGdk::blockedError):
  • loader/gdk/FrameLoaderClientGdk.h:
11:50 PM Changeset in webkit [20233] by bdakin
  • 3 edits in trunk/WebCore

Reviewed by Geoff.

Fix for http://bugs.webkit.org/show_bug.cgi?id=13088 REGRESSION
(r19761-19779): Copy image no longer includes image address
(rdar://5067927)

writeURL() does not need an isImage parameter. Now that it accepts
the types as a parameter, we can just declare the appropriate image
types within writeImage and send them to writeURL(). Also,
declaring the types twice is what broke this.

  • platform/Pasteboard.h:
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeURL): (WebCore::Pasteboard::writeImage):
11:18 PM Changeset in webkit [20232] by adele
  • 2 edits in trunk/WebCore

Reviewed by Kevin Decker.

Fix for <rdar://problem/4926179> Text in menulist control should never update if menu is open

  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement): Only setTextFromOption if the menu isn't visible.
10:36 PM Changeset in webkit [23092] by aliceli1
  • 2 edits in branches/WindowsMerge/WebKitWin

WebKitWin:

Reviewed by Ada.

Fixing some leaks

  • WebFrame.cpp: (WebFrame::dispatchDidReceiveAuthenticationChallenge): (WebFrame::dispatchDidCancelAuthenticationChallenge):
10:31 PM Changeset in webkit [23091] by beidson
  • 4 edits in branches/WindowsMerge

WebKitWin:

Reviewed by Oliver

CFNetwork related cleanup that was a work around for previous deficiencies in CFURLDownload
This might fix some of the random crashers we see on stress testing if they end up
downloading links.

  • WebDownload.cpp: (WebDownload::init): Release the connection from the handle so it no longer refers to it

WebCoreWin:

Reviewed by Oliver

CFNetwork related cleanup that was a work around for previous deficiencies in CFURLDownload
This might fix some of the random crashers we see on stress testing if they end up
downloading links.

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandleInternal::~ResourceHandleInternal): Always call cancel if theres a connection - the ref-count-check hack is no longer neccesary (WebCore::ResourceHandle::releaseConnectionForDownload): Give up the CFURLConnection without derefing it


10:25 PM Changeset in webkit [20231] by beidson
  • 3 edits in trunk/WebCore

Reviewed by Oliver

A few platform specific tweaks

  • platform/cf/RetainPtr.h: (WebCore::RetainPtr::releaseRef): Fixed releaseRef to work with CF


  • platform/network/ResourceHandle.h: Added a "releaseRef" style call
10:25 PM Changeset in webkit [20230] by mjs
  • 2 edits in trunk/JavaScriptCore

Not reviewed.


  • build fix
  • wtf/TCSystemAlloc.cpp:
10:22 PM Changeset in webkit [23090] by mjs
  • 6 edits in branches/WindowsMerge

WebCoreWin:

Reviewed by Geoff and Steve.


  • fixed <rdar://problem/5029776> iBench JavaScript test slower than Opera
  • fixes to use FastMalloc on Windows
  • config.h: Don't force USE_SYSTEM_MALLOC

WebKitWin:

Reviewed by Geoff and Steve.


  • fixed <rdar://problem/5029776> iBench JavaScript test slower than Opera
  • fixes to use FastMalloc on Windows
  • WebKit.vcproj/WebKit.def: Add exports of WTF symbols.
  • WebKit.vcproj/WebKit_debug.def: ditto
  • WebKit.vcproj/WebKit.vcproj: Link pthreads, now needed by WTF.
10:12 PM Changeset in webkit [20229] by mjs
  • 8 edits in trunk

JavaScriptCore:

Reviewed by Geoff and Steve.


  • fix some portability issues with TCMalloc.
  • JavaScriptCore.vcproj/WTF/WTF.vcproj:
  • kjs/config.h:
  • wtf/FastMalloc.cpp: (WTF::SizeClass): (WTF::InitSizeClasses): (WTF::TCMalloc_PageHeap::Split): (WTF::TCMalloc_PageHeap::RegisterSizeClass): (WTF::TCMalloc_Central_FreeList::length): (WTF::TCMalloc_ThreadCache::InitTSD): (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
  • wtf/TCSpinLock.h:
  • wtf/TCSystemAlloc.cpp: (TryVirtualAlloc): (TCMalloc_SystemAlloc):

WebCore:

Reviewed by Geoff and Steve.

  • config.h: Remove unneeded hack.
9:45 PM Changeset in webkit [23089] by beidson
  • 2 edits in branches/WindowsMerge/WebKitWin

Reviewed by Alice


Due to OpenSource r20178, all of the sudden we were trying to handle page caching on Windows
even though it is not hooked up yet. The resulted in very particular cases ending up calling
clear() in FrameLoader::provisionalLoadStarted(). One such particular case was if a page *would*
be "cachable" (no frames, no passwords, etc etc), and you start a download from that page.


The fix for now is to manually set the pageCacheSize to 0 whenever we create new pages on Windows.
This prevents the "Should I cache this page?" checking from getting far enough to clear the document.
It so happens this involves exactly one line.


  • WebView.cpp: (WebView::initWithFrame): Set page cache size to zero on new pages, and add a fixme to remove later
9:22 PM Changeset in webkit [20228] by justing
  • 4 edits
    4 adds in trunk

LayoutTests:

Reviewed by john


<rdar://problem/5062376>
REGRESSION: In Mail and Gmail, can't change alignment to text after it has been applied

  • editing/execCommand/5062376-expected.checksum: Added.
  • editing/execCommand/5062376-expected.png: Added.
  • editing/execCommand/5062376-expected.txt: Added.
  • editing/execCommand/5062376.html: Added.

WebCore:

Reviewed by john


<rdar://problem/5062376>
REGRESSION: In Mail and Gmail, can't change alignment to text after it has been applied


Bring back the remove step in applyBlockStyle. It's
necessary because addBlockStyleIfNeeded assumes that
the properties it adds aren't already on the block that
it adds them to.

  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyBlockStyle): Bring back the remove step (added a testcase). Don't do the add step if m_removeOnly is true (no testcase because there aren't any clients using removeOnly functionality to remove styles yet, only styled elemets). Moved the code for creating new blocks up one level to this function so that we can pass blocks to removeCSSStyle. When converting VisiblePositions to indices and vice versa, use the highest node in the shadow tree if we're in one as the scope (working on a testcase). (WebCore::ApplyStyleCommand::addBlockStyle): Moved code to applyBlockStyle.
  • editing/ApplyStyleCommand.h:
8:16 PM Changeset in webkit [23088] by beidson
  • 4 edits in branches/WindowsMerge/WebKitWin

Reviewed by Maciej

<rdar://problem/4429701>
Implements a port blocking black list that matches Firefox's


  • Interfaces/IWebError.idl: Add the custom error code for blocked error
  • WebFrame.cpp: (WebFrame::blockedError): FrameLoaderClient fill-in + a Fixme (WebFrame::interruptForPolicyChangeError): Add a Fixme for localization
  • WebFrame.h:
8:12 PM Changeset in webkit [20227] by beidson
  • 17 edits
    3 adds in trunk

LayoutTests:

Reviewed by Adele

<rdar://problem/4429701>
Implements a port blocking black list that matches Firefox's

The layout test attempts to load an image at an invalid domain name on each
of the black listed ports. Using dumpResourceLoadCallbacks(), DRT is able
to see the error codes for each resource. A successful test shows the blocked
error for each image load except for the few that are standard or should
succeed due to exemptions.

  • security/block-test-expected.txt: Added.
  • security/block-test.html: Added.

WebCore:

Reviewed by Maciej

<rdar://problem/4429701>
Implements a port blocking black list that matches Firefox's

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::blockedError): Call through to the client for blockedError
  • loader/FrameLoader.h:
  • loader/FrameLoaderClient.h: Get the "port blocked" error for the current platform
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::wasBlocked): ResourceHandleClient method to pass on the didFail(error) (WebCore::ResourceLoader::blockedError): Following the pattern of "CancelledError()", get the error to fail with for the didFail() call
  • loader/ResourceLoader.h:
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::blockedError): Added stub
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): If the port is blocked, create the handle but schedule it for deferred failure on a timer (WebCore::ResourceHandle::scheduleBlockedFailure): Do the timer scheduling (WebCore::ResourceHandle::fireBlockedFailure): Fire the timer here (WebCore::ResourceHandle::portAllowed): Implements checking of Mozilla's
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h: (WebCore::ResourceHandleClient::wasBlocked): Virtual for clients to get the "blocked" message

WebKit:

Reviewed by Maciej

<rdar://problem/4429701>
Implements a port blocking black list that matches Firefox's

  • English.lproj/Localizable.strings: Added localizable string for port blocked error code
  • Misc/WebKitErrors.h:
  • Misc/WebKitErrors.m: (registerErrors): Add new port blocked error code to WebKitErrorDomain
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::cancelledError): Fixed coding style (WebFrameLoaderClient::blockedError): Return a ResourceError with the new custom error code
6:16 PM Changeset in webkit [20226] by thatcher
  • 1 edit in trunk/WebKit/WebKit.xcodeproj/project.pbxproj

Yet another build fix.

5:55 PM Changeset in webkit [20225] by thatcher
  • 8 edits in trunk

Finally a real build fix.

5:37 PM Changeset in webkit [20224] by thatcher
  • 1 edit in trunk/JavaScriptGlue/JavaScriptGlue.h

Yet another build fix. Sigh.

5:33 PM Changeset in webkit [23087] by aroben
  • 2 edits in branches/WindowsMerge/WebKitTools

Reviewed by Ada.

Second part of two-step dance to rename AHEM.TTF to AHEM.ttf.

This is to work around <rdar://problem/5063416>.

Also made all the ttf files in DumpRenderTree/Resources executable again to appease Windows.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (initialize):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/Resources/AHEM.ttf: Added.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/Resources/renameMe.ttf: Removed.
5:25 PM Changeset in webkit [20223] by thatcher
  • 1 edit in trunk/JavaScriptGlue/Configurations/JavaScriptGlue.xcconfig

Another build fix attempt.

5:15 PM Changeset in webkit [20222] by thatcher
  • 1 edit in trunk/JavaScriptCore/Configurations/JavaScriptCore.xcconfig

Attempt to fix the build.

5:07 PM Changeset in webkit [20221] by thatcher
  • 4 edits in trunk

Build fix.

5:04 PM Changeset in webkit [20220] by bdakin
  • 4 edits in trunk/WebCore

Reviewed by Hyatt.

Fix for <rdar://problem/5065396> REGRESSION: leaks in
RenderBlock::layoutInlineChildren seen on buildbot

This leak appeared after http://trac.webkit.org/projects/webkit/
changeset/20188. This change shifted line boxes around in
removeChild(). But since removeChild() calls
setNeedsLayoutAndMinMaxRecalc(), all of the line boxes will be
removed once we actually lay out anyway. So this patch fixes the
leak by deleting the line boxes instead of shifting them around.

  • editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::outdentParagraph): Call into updateLayout(). This fixes an assertion I got in editing/ execCommand/4976800.html This is very similar to the line box fix I made recently (http://trac.webkit.org/projects/webkit/changeset/ 20177). We need to update layout before relying on VisiblePositions after removing a node.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::deleteLinesForBlock): New helper function since this functionality is needed in three places now. (WebCore::RenderBlock::makeChildrenNonInline): Call into new deleteLinesForBlock(). (WebCore::RenderBlock::removeChild): Same.
  • rendering/RenderBlock.h:
4:50 PM Changeset in webkit [20219] by thatcher
  • 14 edits
    20 adds in trunk

JavaScriptCore:

Reviewed by John.

  • Factored out most of our common build settings into .xcconfig files. Anything that was common in each build configuration was factored out into the shared .xcconfig file.
  • Adds a Version.xcconfig file to define the current framework version, to be used in other places.
  • Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
  • Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
  • Configurations/Base.xcconfig: Added.
  • Configurations/DebugRelease.xcconfig: Added.
  • Configurations/JavaScriptCore.xcconfig: Added.
  • Configurations/Version.xcconfig: Added.
  • Info.plist:
  • JavaScriptCore.xcodeproj/project.pbxproj:

JavaScriptGlue:

Reviewed by John.

  • Factored out most of our common build settings into .xcconfig files. Anything that was common in each build configuration was factored out into the shared .xcconfig file.
  • Adds a Version.xcconfig file to define the current framework version, to be used in other places.
  • Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
  • Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
  • Configurations/Base.xcconfig: Added.
  • Configurations/DebugRelease.xcconfig: Added.
  • Configurations/JavaScriptGlue.xcconfig: Added.
  • Configurations/Version.xcconfig: Added.
  • Info.plist:
  • JavaScriptGlue.xcodeproj/project.pbxproj:

WebCore:

Reviewed by John.

  • Factored out most of our common build settings into .xcconfig files. Anything that was common in each build configuration was factored out into the shared .xcconfig file.
  • Adds a Version.xcconfig file to define the current framework version, to be used in other places.
  • Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
  • Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
  • Configurations/Base.xcconfig: Added.
  • Configurations/DebugRelease.xcconfig: Added.
  • Configurations/Version.xcconfig: Added.
  • Configurations/WebCore.xcconfig: Added.
  • Info.plist:
  • WebCore.xcodeproj/project.pbxproj:

WebKit:

Reviewed by John.

  • Fixes: <rdar://problem/4927747> WebKit's Current Library Version number should match the Info.plist Version
  • Factored out most of our common build settings into .xcconfig files. Anything that was common in each build configuration was factored out into the shared .xcconfig file.
  • Adds a Version.xcconfig file to define the current framework version, to be used in other places.
  • Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
  • Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
  • Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings.
  • Configurations/Base.xcconfig: Added.
  • Configurations/DebugRelease.xcconfig: Added.
  • Configurations/Version.xcconfig: Added.
  • Configurations/WebKit.xcconfig: Added.
  • Info.plist:
  • Misc/WebKitVersionChecks.h:
  • Plugins/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
  • WebKit.xcodeproj/project.pbxproj:
4:33 PM Changeset in webkit [23086] by sfalken
  • 1 edit in branches/WindowsMerge/WebKitWin/WebKit.vcproj/VERSION

Bump version for submit

4:30 PM Changeset in webkit [20218] by sfalken
  • 1 copy in tags/Safari-521.35.9b

New tag.

3:25 PM Changeset in webkit [23085] by aroben
  • 2 edits in branches/WindowsMerge/WebKitTools

Reviewed by Ada.

First part of a two-step dance to rename AHEM.TTF to AHEM.ttf.

First, rename AHEM.TTF to renameMe.ttf.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (initialize):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/Resources/AHEM.TTF: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/Resources/renameMe.ttf: Added.
3:20 PM Changeset in webkit [23084] by aroben
  • 3 edits in branches/WindowsMerge/WebCore

Rubberstamped by Hyatt.

  • platform/win/FontDataWin.cpp: (WebCore::FontData::platformInit): Move the code to get the font face to the top of the function for easier debugging.
  • platform/win/FontPlatformDataWin.cpp: (WebCore::FontPlatformData::FontPlatformData): ASSERT that we got a valid CGFontRef back from CG, as CG and GDI should agree on the fonts installed.
2:42 PM Changeset in webkit [23083] by aroben
  • 2 edits in branches/WindowsMerge/LayoutTests

Rubberstamped by Adele.

  • Skipped: Turn off AppleScript tests.
2:37 PM Changeset in webkit [23082] by aroben
  • 2 edits in branches/WindowsMerge/WebKitWin

Rubberstamped by Brady.

  • WebKitLogging.cpp: Turn of Download logging by default.
2:28 PM Changeset in webkit [20217] by kdecker
  • 5 edits in trunk/WebKit

Reviewed by Anders.

Fixed: <rdar://problem/5001428> stationery background images do not display


Change 19244 fixed the method -[WebResource _shouldIgnoreWhenUnarchiving], but also broke Mail stationery.


The problem was that with archivedResourceForURL now fixed, the engine will try to decode the images. These images wouldn't decode because
Mail re-encodes and directly manipulates the image data in such a way that prevented WebKit from decoding the image. Because Mail was giving
us bad data, the images wouldn't render. This was never an issue before because archivedResourceForURL (broken) always returned nil, thus the
engine would never attempt to decode the resource, therefore the responsibility was delegated to Mail's protocol handler, which would do the
right thing and load the image.


Since Mail is relying on the fact it can store arbitrary data in WebArchives, I've introduced SPI that acts as a hint for us to ignore certain
subresources while unarchiving. This SPI is -[WebResource _shouldIgnoreWhenUnarchiving].


  • WebView/WebResource.mm: Addd private ivar shouldIgnoreWhenUnarchiving. (-[WebResource _ignoreWhenUnarchiving]): Added. (-[WebResource _shouldIgnoreWhenUnarchiving]): Added.
  • WebView/WebResourcePrivate.h: Added two methods to private header.
  • WebView/WebUnarchivingState.m: (-[WebUnarchivingState archivedResourceForURL:]): Check if we should ignore the resource.
1:51 PM Changeset in webkit [23081] by aroben
  • 2 edits in branches/WindowsMerge/LayoutTests

Rubberstamped by Anders.

  • Skipped: Added editing, http, and webarchive directories since they all rely on unimplemented parts of DRT, boomer-run-webkit-tests, and WebKit, respectively. Also re-enabled tests that no longer crash.
1:20 PM Changeset in webkit [20216] by kjk
  • 4 edits in trunk/WebCore

Not reviewed - gdk build fixes.

  • platform/gdk/EditorClientGdk.cpp: (WebCore::EditorClientGdk::handleKeypress):
  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::setData):
  • platform/graphics/gdk/ImageGdk.cpp: (WebCore::Image::loadPlatformResource):
12:12 PM Changeset in webkit [20215] by justing
  • 29 edits in trunk

LayoutTests:

Reviewed by john

Removed an unnecessary block (one that was fully
selected but whose markup wasn't needed to preserve
appearance):

  • editing/pasteboard/paste-text-011-expected.txt: Removed unnecessary style spans:
  • editing/pasteboard/merge-end-blockquote-expected.txt: Removed unnecessary empty anonymous blocks:
  • editing/execCommand/create-list-with-hr-expected.txt:
  • editing/pasteboard/display-block-on-spans-expected.txt:
  • editing/pasteboard/paste-text-006-expected.txt:
  • editing/pasteboard/paste-table-001-expected.txt:
  • editing/pasteboard/paste-text-013-expected.txt:
  • editing/pasteboard/paste-text-002-expected.txt:
  • editing/pasteboard/paste-list-001-expected.txt:
  • editing/pasteboard/paste-text-005-expected.txt:
  • editing/pasteboard/paste-text-003-expected.txt:
  • editing/pasteboard/paste-text-014-expected.txt:
  • editing/pasteboard/paste-pre-001-expected.txt: Now (correctly) includes fully selected root:
  • editing/pasteboard/paste-text-015-expected.checksum:
  • editing/pasteboard/paste-text-015-expected.png:
  • editing/pasteboard/paste-text-015-expected.txt:
  • editing/inserting/insert-3907422-fix-expected.txt:
  • editing/pasteboard/paste-text-004-expected.txt: Demonstrates a bug that already existed (we don't inline the font styles from the Preference Pane on copy):
  • editing/pasteboard/5027857-expected.checksum:
  • editing/pasteboard/5027857-expected.png:
  • editing/pasteboard/5027857-expected.txt:
  • editing/pasteboard/paste-pre-002-expected.checksum:
  • editing/pasteboard/paste-pre-002-expected.png:
  • editing/pasteboard/paste-pre-002-expected.txt:

WebCore:

Reviewed by john


~2x speed up of 5k rich text paste:
http://shakespeare.mit.edu/hamlet/full.html

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Remove the top level style span if its unnecessary before inserting into the document, its faster than doing it after.
  • editing/ReplaceSelectionCommand.h: Exposed ReplacementFragment::removeNodePreservingChildren so that the style span can be removed using non-undoable removes, like the rest of the removes done on the ReplacementFragment.
  • editing/markup.cpp: (WebCore::createMarkup): Make the style span the top level element, otherwise it's useless. This also facilitates the optimization mentioned above. When including markup for a fully selected root, include markup for all the nodes beneath that fully selected root, to preserve the structure and appearance of the copied markup. Did this by merging with the code for adding markup for descendants of special commonAncestorBlocks.
12:07 PM Changeset in webkit [20214] by bdakin
  • 19 edits
    2 deletes in trunk

Rubber-stamped by Adele.

Rolling out http://trac.webkit.org/projects/webkit/changeset/20148
(which is a fix for http://bugs.webkit.org/show_bug.cgi?id=12595
and rdar://4722863) because it causes a horrible memory-trasher.

6:26 AM Changeset in webkit [20213] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-03-16 Shrikant Gangoda <shrikant.gangoda@celunite.com>

Gdk build fix.

  • kjs/DateMath.cpp: gettimeofday comes from <sys/time.h> on Linux.
5:15 AM Changeset in webkit [20212] by bdash
  • 2 edits in trunk/WebKit

2007-03-15 Mark Rowe <mrowe@apple.com>

Reviewed by Antti.

Fix for <rdar://problem/5065060> ASSERTION FAILURE: newUsername && newPassword
when submitting an authentication form without password.

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchWillSubmitForm): Don't omit form fields with empty values from the dictionary passed to the delegate.
12:11 AM Changeset in webkit [20211] by ggaren
  • 2 edits in trunk/WebCore

Added an assert to help catch a bug. Hopefully someone will hit it!


  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::~KJSProxy):
12:07 AM Changeset in webkit [23080] by adachan
  • 4 edits in branches/WindowsMerge/WebKitWin

2007-03-14 Ada Chan <adachan@apple.com>

Reviewed by Lou.

<rdar://4966656> dragging scrollbar thumb in suggestion window does not work
<rdar://5056925> Should be able to select items from autocomplete list with the mouse
Added some tricks to get mouse clicking to work in auto-complete windows without
them going away.

WebKitWin:

Added a method in IWebViewPrivate to clear the current focus node. This is called in the app
when focus has been transferred to the address field or search field.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp: (WebView::clearFocusNode):
  • WebView.h:

Mar 14, 2007:

11:42 PM Changeset in webkit [20210] by andersca
  • 2 edits in trunk/WebKit

Reviewed by Dave Hyatt.

Don't add the data twice, it's also done by didReceiveData.


  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::deliverArchivedResources):
11:30 PM Changeset in webkit [20209] by oliver
  • 3 edits
    2 adds in trunk

2007-03-14 Oliver Hunt <oliver@apple.com>

Reviewed by Adele.

Fix for rdar://problem/5061737.


This was a regression from the original Objective-C -> C++ conversion
for the drag logic. We don't need to call Range::startNode as we just
need the document that contains the range.

  • page/DragController.cpp: (WebCore::documentFragmentFromDragData):

LayoutTests:

Layout tests for rdar://problem/5061737

  • editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt: Added.
  • editing/pasteboard/drag-image-to-contenteditable-in-iframe.html: Added.
10:07 PM Changeset in webkit [23079] by aroben
  • 2 edits in branches/WindowsMerge/WebKitTools

Rubberstamped by Anders.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (runTest): Initialize done to false just like Mac does.
9:59 PM Changeset in webkit [20208] by andersca
  • 2 edits in trunk/WebKit

Fix segmentation fault when running layout tests.

Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code.
(Turns out he's not that good!)


  • WebView/WebDocumentLoaderMac.mm: (WebDocumentLoaderMac::increaseLoadCount):
9:58 PM Changeset in webkit [23078] by aroben
  • 8 edits in branches/WindowsMerge/WebKitTools

Fixed line-endings and svn properties on DRT files.

9:55 PM Changeset in webkit [23077] by aroben
  • 6 edits in branches/WindowsMerge/WebKitTools

Reviewed by Anders.

Make DRT on Windows behave more like DRT on Mac with respect to
waitUntilDone()/waitUntilDone().

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: Added "done" and "topLoadingFrame" globals to match Mac, removed readyToDump. (dump): Set done to true. (runTest): Removed readyToDump, initialized topLoadingFrame.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.h: Added extern declarations for globals.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.cpp: (notifyDoneCallback): Changed condition to match Mac.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.cpp: (WaitUntilDoneDelegate::didStartProvisionalLoadForFrame): Set topLoadingFrame. (WaitUntilDoneDelegate::locationChangeDone): Ported from Mac. (WaitUntilDoneDelegate::didFinishLoadForFrame): Call locationChangeDone. (WaitUntilDoneDelegate::didFailLoadWithError): Ditto.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.h: Moved implementation of didFailLoadWithError to .cpp file.
9:09 PM Changeset in webkit [20207] by kmccullo
  • 2 edits in trunk/WebKitSite

Reviewed by .

Silly wrapping change for testing a post-commit hook change.

  • contact.html:
9:00 PM Changeset in webkit [20206] by andersca
  • 3 edits in trunk/WebKit

Reviewed by Geoff.

http://bugs.webkit.org/show_bug.cgi?id=13076
REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long)

Store the identifier set in the document loader since identifiers are per-webview and not global.


  • WebView/WebDocumentLoaderMac.h:
  • WebView/WebDocumentLoaderMac.mm: (WebDocumentLoaderMac::WebDocumentLoaderMac): (WebDocumentLoaderMac::attachToFrame): (WebDocumentLoaderMac::increaseLoadCount): (WebDocumentLoaderMac::decreaseLoadCount):
8:42 PM Changeset in webkit [20205] by kmccullo
  • 2 edits in trunk/JavaScriptCore

Reviewed by .

  • Fixed one more build breakage
  • kjs/date_object.cpp: (KJS::formatLocaleDate):
8:23 PM Changeset in webkit [20204] by kmccullo
  • 3 edits in trunk/JavaScriptCore

Reviewed by .

  • Fixed a build breakage.
  • kjs/DateMath.cpp:
  • kjs/date_object.cpp: (KJS::formatLocaleDate): (KJS::DateObjectImp::construct):
7:21 PM Changeset in webkit [20203] by kmccullo
  • 13 edits in trunk

JavaScriptCore:

Reviewed by Geoff.

  • rdar://problem/5045720
  • DST changes in US affect JavaScript date calculations (12975) This fix was to ensure we properly test for the new changes to DST in the US. Also this fixes when we apply DST, now we correctly map most past years to current DST rules. We still have a small issue with years before 1900 or after 2100. rdar://problem/5055038
  • kjs/DateMath.cpp: Fix DST to match spec better. (KJS::getCurrentUTCTime): (KJS::mimimumYearForDST): (KJS::maximumYearForDST): (KJS::equivalentYearForDST): (KJS::getDSTOffset):
  • kjs/DateMath.h: Consolodated common funtionality.
  • kjs/date_object.cpp: Consolodated common functionality. (KJS::formatLocaleDate): (KJS::DateObjectImp::construct):
  • tests/mozilla/ecma/jsref.js: Added functions for finding the correct days when DST starts and ends.
  • tests/mozilla/ecma/shell.js: Added back in the old DST functions for ease of merging with mozilla if needed.
  • tests/mozilla/ecma_2/jsref.js: Added functions for finding the correct days when DST starts and ends.
  • tests/mozilla/ecma_3/Date/shell.js: Added functions for finding the correct days when DST starts and ends.
  • tests/mozilla/expected.html: Updated to show all date tests passing.

LayoutTests:

Reviewed by Geoff.

  • rdar://problem/5045720
  • DST changes in US affect JavaScript date calculations (12975) Changed layout tests to properly check for the new changes to DST in the US. Also these now test that equivalent years return the same results for DST.
  • fast/js/date-DST-time-cusps-expected.txt:
  • fast/js/date-big-setdate-expected.txt:
  • fast/js/resources/date-DST-time-cusps.js:
  • fast/js/resources/date-big-setdate.js:
6:36 PM Changeset in webkit [20202] by weinig
  • 3 edits
    5 adds in trunk

LayoutTests:

Reviewed by Hyatt.

  • test for://bugs.webkit.org/show_bug.cgi?id=13071 REGRESSION: Plain text files no longer wrap lines longer than the width of the browser window
  • fast/loader/resources/text-document-wrapping.txt: Added.
  • fast/loader/text-document-wrapping-expected.checksum: Added.
  • fast/loader/text-document-wrapping-expected.png: Added.
  • fast/loader/text-document-wrapping-expected.txt: Added.
  • fast/loader/text-document-wrapping.html: Added.

WebCore:

Reviewed by Hyatt.

Test: fast/loader/text-document-wrapping.html

  • loader/TextDocument.cpp: (WebCore::TextTokenizer::write): Specified word-wrap:break-word for the <pre> element.
6:22 PM Changeset in webkit [20201] by harrison
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

<rdar://problem/5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word

  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
  • WebCoreSupport/WebFrameBridge.mm: Provide compatibility by not sending WebViewDidChangeSelectionNotification if the app is Aperture and is linked against WebKit 2.0.
6:22 PM Changeset in webkit [20200] by weinig
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Hyatt.

  • fast/text/whitespace/pre-wrap-last-char-expected.checksum: Added.
  • fast/text/whitespace/pre-wrap-last-char-expected.png: Added.
  • fast/text/whitespace/pre-wrap-last-char-expected.txt: Added.
  • fast/text/whitespace/pre-wrap-last-char.html: Added.

WebCore:

Reviewed by Hyatt.

Test: fast/text/whitespace/pre-wrap-last-char.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Undid the change from r15617.
5:31 PM Changeset in webkit [23076] by adele
  • 2 edits in branches/WindowsMerge/WebKitWin

WebKitWin:

Reviewed by Ada.

Allow empty commands to be sent by doTextFieldCommandFromEvent. Our autocomplete code relies on this.

  • WebEditorClient.cpp: (WebEditorClient::doTextFieldCommandFromEvent):
5:28 PM Changeset in webkit [20199] by hyatt
  • 2 edits in trunk/WebCore

Add asserts to help catch double refs and double derefs of CachedResources.

Reviewed by mjs

  • loader/CachedResource.cpp: (WebCore::CachedResource::ref): (WebCore::CachedResource::deref):
4:40 PM Changeset in webkit [20198] by aliceli1
  • 2 edits in trunk/WebCore

Rubber-stamped by Hyatt.

Adding null check to prevent the crash that happens on 2nd run of iBench HTML load test

  • loader/icon/IconDataCache.cpp: (WebCore::IconDataCache::writeToDatabase):
3:45 PM Changeset in webkit [23075] by andersca
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Adam.

Use CFURLResponseCopySuggestedFilename.


  • platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::suggestedFilenameForResponse):
2:49 PM Changeset in webkit [23074] by aroben
  • 6 edits in branches/WindowsMerge/WebKitTools

Reviewed by Anders.

Use Mac fonts when running regression tests to match Mac's metrics.

This makes many layout tests pass when run against results generated on the Mac.

2:47 PM Changeset in webkit [20197] by adele
  • 2 edits in trunk/WebCore

Reviewed by Adam.

Fix for <rdar://problem/5062898> REGRESSION: autocomplete window in text fields doesn't come up

When we moved the initialization of a bunch of variables in the HTMLFormElement constructor, m_autocomplete accidently got initialized to false.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement):
2:45 PM Changeset in webkit [20196] by sfalken
  • 2 edits in trunk/WebCore

2007-03-14 Steve Falkenburg <sfalken@apple.com>

Reviewed by Adam.

Added missing null check in case this is called on a subframe
that hasn't started loading.

  • page/Frame.cpp: (WebCore::Frame::setMarkedTextMatchesAreHighlighted): Check for a null document.
2:43 PM Changeset in webkit [20195] by andersca
  • 4 edits in trunk/WebKit

Reviewed by Geoff.

<rdar://problem/5058714>
http://bugs.webkit.org/show_bug.cgi?id=13050


World leaks seen on Leopard after opening then closing tab (13050)

Add a hash set to prevent the load count to be increased twice for the same resource.


  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchWillSendRequest): (WebFrameLoaderClient::dispatchDidFinishLoading): (WebFrameLoaderClient::dispatchDidFailLoading):
  • WebView/WebDocumentLoaderMac.h:
  • WebView/WebDocumentLoaderMac.mm: (loadingResources): (WebDocumentLoaderMac::increaseLoadCount): (WebDocumentLoaderMac::decreaseLoadCount):
2:43 PM Changeset in webkit [23073] by sfalken
  • 2 edits in branches/WindowsMerge/WebKitWin

2007-03-14 Steve Falkenburg <sfalken@apple.com>

Reviewed by Lou, Adam.

<rdar://problem/5050470> Reproducible crash doing find on page at cnn.com


Add frame->document() null checks in cases where frame could be a
sub-frame that hasn't started loading yet.

  • WebView.cpp: (WebView::rectsForTextMatches): Add null check
1:53 PM Changeset in webkit [23072] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Hyatt.

Use CG to get xHeight.

  • platform/win/FontDataWin.cpp: (WebCore::scaleEmToUnits): Made robust against divide-by-zero errors. (WebCore::FontData::platformInit): Ported Mac code to get xHeight using CG.
1:38 PM Changeset in webkit [20194] by antti
  • 2 edits in trunk/WebCore

Reviewed by Geoff.

Fix http://bugs.webkit.org/show_bug.cgi?id=13060
REGRESSION: Repro ASSERT failure in Cache::adjustSize running layout tests
<rdar://5060208>


Script evaluation may have dereffed the CachedScript object already, causing double deref and
eventually m_liveResourcesSize underflow.

  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::notifyFinished):
1:32 PM Changeset in webkit [20193] by adele
  • 7 edits in trunk

WebCore:

Reviewed by Darin.

Added InsertTab, InsertBacktab, InsertLineBreak, and InsertNewline to the editing command table.
Added Event parameter to execCommand, and to all of the enabled and exec functions. Right now,
the event is only used by the newly added commands. But in the future, many (and possibly all) of
these editing commands will need to consider the event so they are applied to the correct selection.

  • WebCore.exp:
  • editing/Editor.cpp: (WebCore::execCopy): (WebCore::execCut): (WebCore::execDelete): (WebCore::execBackwardDelete): (WebCore::execForwardDelete): (WebCore::execMoveBackward): (WebCore::execMoveBackwardAndModifySelection): (WebCore::execMoveUpByPageAndModifyCaret): (WebCore::execMoveDown): (WebCore::execMoveDownAndModifySelection): (WebCore::execMoveForward): (WebCore::execMoveForwardAndModifySelection): (WebCore::execMoveDownByPageAndModifyCaret): (WebCore::execMoveLeft): (WebCore::execMoveLeftAndModifySelection): (WebCore::execMoveRight): (WebCore::execMoveRightAndModifySelection): (WebCore::execMoveToBeginningOfDocument): (WebCore::execMoveToBeginningOfDocumentAndModifySelection): (WebCore::execMoveToBeginningOfSentence): (WebCore::execMoveToBeginningOfSentenceAndModifySelection): (WebCore::execMoveToBeginningOfLine): (WebCore::execMoveToBeginningOfLineAndModifySelection): (WebCore::execMoveToBeginningOfParagraph): (WebCore::execMoveToBeginningOfParagraphAndModifySelection): (WebCore::execMoveToEndOfDocument): (WebCore::execMoveToEndOfDocumentAndModifySelection): (WebCore::execMoveToEndOfSentence): (WebCore::execMoveToEndOfSentenceAndModifySelection): (WebCore::execMoveToEndOfLine): (WebCore::execMoveToEndOfLineAndModifySelection): (WebCore::execMoveToEndOfParagraph): (WebCore::execMoveToEndOfParagraphAndModifySelection): (WebCore::execMoveParagraphBackwardAndModifySelection): (WebCore::execMoveParagraphForwardAndModifySelection): (WebCore::execMoveUp): (WebCore::execMoveUpAndModifySelection): (WebCore::execMoveWordBackward): (WebCore::execMoveWordBackwardAndModifySelection): (WebCore::execMoveWordForward): (WebCore::execMoveWordForwardAndModifySelection): (WebCore::execMoveWordLeft): (WebCore::execMoveWordLeftAndModifySelection): (WebCore::execMoveWordRight): (WebCore::execMoveWordRightAndModifySelection): (WebCore::execPaste): (WebCore::execSelectAll): (WebCore::execToggleBold): (WebCore::execToggleItalic): (WebCore::execRedo): (WebCore::execUndo): (WebCore::execInsertTab): (WebCore::execInsertBacktab): (WebCore::execInsertNewline): (WebCore::execInsertLineBreak): (WebCore::enabled): (WebCore::canPaste): (WebCore::hasEditableSelection): (WebCore::hasEditableRangeSelection): (WebCore::hasRangeSelection): (WebCore::hasRichlyEditableSelection): (WebCore::canRedo): (WebCore::canUndo): (WebCore::CommandEntry::): (WebCore::Editor::toggleBold):

(WebCore::Editor::execCommand): Added optional event parameter.
(WebCore::Editor::insertText): Added. Calls handleTextInputEvent.
(WebCore::Editor::insertTextWithoutSendingTextEvent): Renamed from insertText.

Performs the actual insertion without dispatching any event.

  • editing/Editor.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::defaultTextInputEventHandler): Call insertTextWithoutSendingTextEvent.

WebKit:

Reviewed by Darin.

Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent.
Instead, use execCommand and insertText methods on the Editor.

  • WebView/WebHTMLView.mm: (-[WebHTMLView insertTab:]): (-[WebHTMLView insertBacktab:]): (-[WebHTMLView insertNewline:]): (-[WebHTMLView insertLineBreak:]): (-[WebHTMLView insertParagraphSeparator:]): (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): (-[WebHTMLView insertTabIgnoringFieldEditor:]): (-[WebHTMLView yank:]): (-[WebHTMLView yankAndSelect:]): (-[WebHTMLView doCommandBySelector:]): (-[WebHTMLView insertText:]):
1:32 PM Changeset in webkit [23071] by adele
  • 6 edits in branches/WindowsMerge/WebKitWin

WebKitWin:

Reviewed by Darin.

WebKit part of fix for <rdar://problem/5057371> REGRESSION: Shift-selection stopped working in text fields

This fixes doCommandBySelector to take a command string instead of a key code.

  • Interfaces/IWebEditingDelegate.idl: Changed parameter to BSTR.
  • Interfaces/IWebFormDelegate.idl: ditto.
  • WebEditorClient.cpp: (WebEditorClient::doTextFieldCommandFromEvent): Calls doCommandBySelector with a BString that it gets from interpretKeyEvent instead of a key code. (WebEditorClient::textWillBeDeletedInTextField): Calls doCommandBySelector with a BString to represent the BackwardDelete command. (WebEditorClient::handleKeypress): Calls handleEditingKeyboardEvent with just the KeyboardEvent.
  • WebView.cpp: Added commands that will be used by doCommandBySelector to the table (Cancel, InsertTab, InsertBacktab, InsertNewline). (WebView::interpretKeyEvent): Added. Returns a command string for a KeyboardEvent. Removed static editCommandForKey. (WebView::handleEditingKeyboardEvent): Call Editor methods instead of calling handleTextInputEvent directly.
  • WebView.h:
1:06 PM Changeset in webkit [20192] by justing
  • 1 edit in trunk/LayoutTests/fast/lists/drag-into-marker-expected.txt

I forgot to update this expected result in my previous checkin.

12:32 PM Changeset in webkit [20191] by justing
  • 26 edits in trunk

LayoutTests:

Reviewed by darin

Removed unnecessary style spans:

  • editing/deleting/delete-3857753-fix-expected.txt:
  • editing/execCommand/4916541-expected.txt:
  • editing/execCommand/create-list-from-range-selection-expected.txt:
  • editing/execCommand/format-block-expected.txt:
  • editing/execCommand/format-block-from-range-selection-expected.txt:
  • editing/execCommand/format-block-with-braces-expected.txt:
  • editing/execCommand/indent-selection-expected.txt:
  • editing/execCommand/remove-list-from-range-selection-expected.txt:
  • editing/execCommand/remove-list-items-expected.txt:
  • editing/execCommand/switch-list-type-expected.txt:
  • editing/pasteboard/4861080-expected.txt:
  • editing/pasteboard/display-block-on-spans-expected.txt:
  • editing/pasteboard/drag-drop-modifies-page-expected.txt:
  • editing/pasteboard/paste-table-002-expected.txt:
  • editing/pasteboard/paste-text-001-expected.txt:
  • editing/pasteboard/paste-text-at-tabspan-001-expected.txt:
  • editing/pasteboard/paste-text-at-tabspan-002-expected.txt:
  • editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
  • editing/style/smoosh-styles-001-expected.txt:
  • editing/style/smoosh-styles-002-expected.txt:

WebCore:

Reviewed by darin


~3x speedup pasting 5k lines of rich text:
http://shakespeare.mit.edu/hamlet/full.html
~2x speedup pasting 10k lines of plain text


  • css/CSSComputedStyleDeclaration.cpp: (WebCore::computedStyle): Added for convenience.
  • css/CSSComputedStyleDeclaration.h:
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::removeRedundantStyles): The code that pushed down the top level style span had a bug in it that made it do unnecessary work. Instead of fixing the bug I removed the code because it was used to help see more redundancies in second level style spans, but createMarkup now *only* creates a top level style span. Only remove redundant styles from style spans and only remove unstyled elements if they are style spans. FF doesn't remove redundant styles from elements, or remove redundant font tags on copy/paste. We could offer this functionality through a separate "cleanup" command.
  • editing/markup.cpp: (WebCore::createMarkup): Only add markup for ancestors of lastClosed if we're including markup for acommonAncestorBlock (we do this for commonAncestorBlocks like tables and lists), otherwise it's unnecessary/redundant.
11:50 AM Changeset in webkit [20190] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Ada.

Make sure to call ResourceLoader::didReceiveData to ensure that there's a shared buffer with the resource
data, since SubresourceLoaderClients now make use of that buffer.


  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didReceiveData):
10:56 AM Changeset in webkit [23070] by andersca
  • 5 edits in branches/WindowsMerge

WebCoreWin:

Build fixes.


  • platform/graphics/win/ImageWin.cpp: (WebCore::Image::loadPlatformResource):
  • platform/win/EditorWin.cpp:

WebKitWin:

Build fixes.


  • WebDataSource.cpp: (WebDataSource::subresourceForURL):
  • WebKitDLL.cpp: (loadResourceIntoBuffer):
10:38 AM Changeset in webkit [20189] by andersca
  • 3 edits in trunk/WebCore

Get the size from the shared buffer.


  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::setData):
  • platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::dataChanged):
10:25 AM Changeset in webkit [20188] by weinig
  • 4 edits
    4 adds in trunk

LayoutTests:

Reviewed by Hyatt, thumbs up by Darin.

  • fast/dynamic/anonymous-block-orphaned-lines-expected.checksum: Added.
  • fast/dynamic/anonymous-block-orphaned-lines-expected.png: Added.
  • fast/dynamic/anonymous-block-orphaned-lines-expected.txt: Added.
  • fast/dynamic/anonymous-block-orphaned-lines.html: Added.

WebCore:

Reviewed by Hyatt, thumbs up by Darin.

Test: fast/dynamic/anonymous-block-orphaned-lines.html

  • rendering/InlineBox.cpp: (WebCore::InlineBox::root): Added an assertion that we return a root inline box.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeChild): Added code to adopt the line boxes of anonymous blocks being destroyed instead of leaving them orphaned, which is what caused this crash. The boxes will be deleted on the next layout, but this ensures consistency in the mean time.
6:38 AM Changeset in webkit [20187] by lars
  • 4 edits in trunk/WebCore

Reviewed by Antti.

Fix the Qt build.
Add a getter to SharedBuffer that returns a reference to the internal
Vector to avoid an extra copy of the data.

4:37 AM Changeset in webkit [20186] by antti
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Mitz.


Test case for <rdar://problem/5058774>
REGRESSION: In Mail, caret appears oversized when typing in a To Do note

  • editing/style/highlight-expected.checksum: Added.
  • editing/style/highlight-expected.png: Added.
  • editing/style/highlight-expected.txt: Added.
  • editing/style/highlight.html: Added.

WebCore:

Reviewed by Mitz.


Fix <rdar://problem/5058774>
REGRESSION: In Mail, caret appears oversized when typing in a To Do note


Horizontal and vertical were switched. Was regression from
http://trac.webkit.org/projects/webkit/changeset/20103

  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::addHighlightOverflow):
4:02 AM Changeset in webkit [20185] by hyatt
  • 4 edits in trunk/WebCore

Tweak the data() functions of stylesheets and scripts to be internally consistent.

  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::data):
  • loader/CachedScript.cpp: (WebCore::CachedScript::data):
  • loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::data):
2:20 AM Changeset in webkit [20184] by hyatt
  • 3 edits in trunk/WebCore

Fix Radar 5050688.

For large animated GIFs, destroy and recreate the source for every animation frame. This keeps
the memory consumption down while giant images are animating.

Reviewed by andersca

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::dataChanged): (WebCore::BitmapImage::advanceAnimation):
  • platform/graphics/BitmapImage.h:
1:49 AM Changeset in webkit [20183] by hyatt
  • 3 edits in trunk/WebCore

Make sure to use CFDataCreateWithBytesNoCopy where we can.

Reviewed by andersca

  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::setData):
  • platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::dataChanged):
1:07 AM Changeset in webkit [20182] by hyatt
  • 40 edits in trunk

WebCore:

Fix for bugzilla bug 13050 and also radar p1 5050645.

This patch reworks resource loading to avoid having redundant buffers in the icon database and in cached
images in the WebCore cache. It also avoids overcopying in top-level image documents and in the icon
database.

There is now only one SharedBuffer for a resource and everybody observes that buffer now instead of ever
making their own. Even ImageIO uses the SharedBuffer while decoding.

The page in 13050 dropped from 145mb down to 45mb of memory use with this change for a stunning savings
of 100mb.

Reviewed by olliej, mjs

  • WebCore.exp:
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::data):
  • loader/CachedCSSStyleSheet.h:
  • loader/CachedImage.cpp: (WebCore::CachedImage::data):
  • loader/CachedImage.h:
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::~CachedResource):
  • loader/CachedResource.h: (WebCore::CachedResource::data):
  • loader/CachedScript.cpp: (WebCore::CachedScript::data):
  • loader/CachedScript.h:
  • loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::data):
  • loader/CachedXSLStyleSheet.h:
  • loader/DocLoader.cpp: (WebCore::DocLoader::checkCacheObjectStatus):
  • loader/ImageDocument.cpp: (WebCore::ImageTokenizer::writeRawData): (WebCore::ImageTokenizer::finish):
  • loader/icon/IconDataCache.cpp: (WebCore::IconDataCache::setImageData): (WebCore::IconDataCache::writeToDatabase):
  • loader/icon/IconDataCache.h:
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::imageDataForIconURL): (WebCore::IconDatabase::iconForPageURL): (WebCore::IconDatabase::setIconDataForIconURL): (WebCore::IconDatabase::setHaveNoIconForIconURL): (WebCore::IconDatabase::imageDataForIconURLQuery):
  • loader/icon/IconDatabase.h:
  • loader/icon/IconLoader.cpp: (WebCore::IconLoader::startLoading): (WebCore::IconLoader::didReceiveResponse): (WebCore::IconLoader::didReceiveData): (WebCore::IconLoader::didFail): (WebCore::IconLoader::finishLoading): (WebCore::IconLoader::clearLoadingState):
  • loader/icon/IconLoader.h:
  • loader/icon/SQLStatement.cpp: (WebCore::SQLStatement::getColumnBlobAsVector): (WebCore::SQLStatement::isExpired):
  • loader/icon/SQLStatement.h:
  • loader/loader.cpp: (WebCore::Loader::didFinishLoading): (WebCore::Loader::didReceiveData):
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge getData:andResponse:forURL:]): (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
  • platform/SharedBuffer.h: (WebCore::SharedBuffer::isEmpty):
  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::dataChanged):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.cpp: (WebCore::Image::setData):
  • platform/graphics/Image.h: (WebCore::Image::dataChanged): (WebCore::Image::data):
  • platform/graphics/ImageSource.h:
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::setData):
  • platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::dataChanged):
  • platform/graphics/cg/PDFDocumentImage.h:
  • platform/graphics/mac/ImageMac.mm: (WebCore::Image::loadPlatformResource):
  • platform/graphics/svg/SVGImage.cpp: (WebCore::SVGImage::setData):
  • platform/mac/PasteboardMac.mm: (WebCore::fileWrapperForImage):

WebKit:

Fixes to ensure that the resource loader's shared buffer can always be used.

Reviewed by olliej, mjs

  • Misc/WebIconDatabase.mm: (-[WebIconDatabase _convertToWebCoreFormat]):
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::deliverArchivedResources):

Mar 13, 2007:

10:37 PM Changeset in webkit [20181] by justing
  • 14 edits
    8 adds in trunk

LayoutTests:

Reviewed by darin


<rdar://problem/5046875>
Gmail Editor: Applying alignment to selected text in message also applies alignment to signature

Added:

  • editing/style/5046875-1-expected.checksum: Added.
  • editing/style/5046875-1-expected.png: Added.
  • editing/style/5046875-1-expected.txt: Added.
  • editing/style/5046875-1.html: Added.
  • editing/style/5046875-2-expected.checksum: Added.
  • editing/style/5046875-2-expected.png: Added.
  • editing/style/5046875-2-expected.txt: Added.
  • editing/style/5046875-2.html: Added. moveParagraphs doesn't move unnecessary brs:
  • editing/style/create-block-for-style-002-expected.txt:
  • editing/style/create-block-for-style-004-expected.txt:
  • editing/style/create-block-for-style-001-expected.txt:
  • editing/style/create-block-for-style-009-expected.txt:
  • editing/style/create-block-for-style-010-expected.txt: moveParagraphs clears out unrendered text during the move:
  • editing/style/create-block-for-style-011-expected.txt:
  • editing/style/create-block-for-style-007-expected.txt:
  • editing/style/create-block-for-style-012-expected.txt:

WebCore:

Reviewed by darin


<rdar://problem/5046875>
Gmail Editor: Applying alignment to selected text in message also applies alignment to signature

  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::doApply): Don't call applyBlockStyle unless there is a block style to apply. (WebCore::ApplyStyleCommand::applyBlockStyle): Don't do the remove step. It was unnecessary and removed properties from blocks that could contain content outside the range being operated on (added a testcase). (WebCore::ApplyStyleCommand::addBlockStyleIfNeeded): Used an early return instead of if-nesting.
  • editing/ApplyStyleCommand.h:
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Return the new block, if one was created. Use moveParagraphs to move paragraphs into the new block, instead of moving nodes. The old code moved too much (added a testcase).
  • editing/CompositeEditCommand.h:
10:00 PM Changeset in webkit [20180] by oliver
  • 6 edits
    2 adds in trunk

2007-03-13 Oliver Hunt <oliver@apple.com>

Reviewed by Brady.

WebCore:

To fix <rdar://problem/5044366> we now pass a NSString
representation of the URL extracted with _web_originalDataAsString
instead of relying on [NSURL absoluteString] in the bridge

  • page/mac/WebCoreFrameBridge.h:
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge getData:andResponse:forURL:]):

WebKit:

Modify subresourceForURL to take NSString argument
so we can avoid [NSURL absoluteString]

  • WebView/WebDataSource.mm: (-[WebDataSource subresourceForURL:]):

LayoutTests:

Test for <rdar://problem/5044366> make sure we can create
a WebArchive from a page with a partially decoded url.

  • webarchive/archive-with-unencoded-url-expected.txt: Added.
  • webarchive/archive-with-unencoded-url.html: Added.
9:44 PM Changeset in webkit [20179] by beidson
  • 3 edits in trunk/WebKit

Rubberstamped by Alice

Meant to be part of my previous checkin... pruning unused code from WebKit

  • WebView/WebFrame.mm: Removed _canCachePage
  • WebView/WebFrameInternal.h: Ditto
8:59 PM Changeset in webkit [20178] by beidson
  • 3 edits in trunk/WebCore

Reviewed by Anders

<rdar://problem/5048818> - REGRESSION: Incompletely loaded resources being saved to the object cache

Due to a subtle change in loader behavior back in 10904, we would stop all loaders before calling
didFail() on them in the Cache loader. As a result, we basically cleared all of the Subresource Loaders
out of the Cache loader before more properly failing them as errored out. The result? Partially loaded
resources being cached.


Since Loader::didFail() both calls error() on the object *and* removes the loader, the solution is to call
didFail() for all cancelled loaders instead of *only* removing them from the set of active loaders.


In addition, pages that didn't completely load were being saved to the back/forward cache. To fix that,
I added a null check on the DocumentLoader's error to see if the page ended in an error, or did indeed
completely load.

Note that the layout test for this - if possible - will require other enhancements including possibly adding
support for window.stop(). That task is documented in <rdar://problem/5061826>

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::provisionalLoadStarted): Fixed a few bugs relating to my original BFCache rewrite to more perfectly restore the original behavior - including only caching HTML documents via the m_client->canCachePage() call (WebCore::FrameLoader::canCachePage): Don't make the call to m_client->canCachePage() as that serves a different purpose
    • Check the mainDocumentError to see if the load ended in error as a further criteria in determining the cachability of a page
  • loader/loader.cpp: (WebCore::Loader::cancelRequests): Call didFail(cancelledError()) instead of just removing the loaders from the loaders-in-progress set. This adds the effect of properly cleaning up the cached object.
8:56 PM Changeset in webkit [20177] by bdakin
  • 6 edits
    4 adds in trunk

WebCore:

Rendering part reviewed by Hyatt. Editing part consulted with and
rubber stamped by Justin and Harrison.

Fix for <rdar://problem/5025925> A hang occurs in Safari when
attempting to print page at http://www.pcadvisor.co.uk

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::makeChildrenNonInline): RenderBlock::makeChildrenNonInline() takes a block's inline children and turns them into block children. If the children had line boxes, those boxes were being leaked. In the layout test I added with the change (and at pcadvisor.co.uk during printing) children were being made non-inline, and then they were being made inline again. This meant that some of the children ended up pointing to totally stale line boxes that are normally just leaked. This caused an infinite loop in RenderFlow::destroy(). This patch simply deletes everyone's line boxes in RenderBlock::makeChildrenNonInline()
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): The other part of this fix is that I added a call to updateLayout in InsertParagraphSeparatorCommand::doApply(). One layout test (editing/spelling/spelling.html) was changed by my patch to RenderBlock. doApply() inserts a node into the render tree. In at least one case in spelling.html, that caused some line boxes to be deleted. Back in doApply() this meant that the RenderTree was out- of-date, and we mistakenly thought we were at the end of the paragraph. This caused us to insert a RenderBR() at the end of the tree instead of an empty RenderText(). No one seems to know exactly why we insert either, or if the change is necessarily a problem. It is clear, though, that the RenderTree in doApply() is out-of-date after inserting the node and deleting some line boxes, so it seems prudent to call into updateLayout().

LayoutTests:

Reviewed by Hyatt.

Test for <rdar://problem/5025925> A hang occurs in Safari when
attempting to print page at http://www.pcadvisor.co.uk

  • fast/block/float/nestedAnonymousBlocks-expected.checksum: Added.
  • fast/block/float/nestedAnonymousBlocks-expected.png: Added.
  • fast/block/float/nestedAnonymousBlocks-expected.txt: Added.
  • fast/block/float/nestedAnonymousBlocks.html: Added.
7:42 PM Changeset in webkit [23069] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

WebCoreWin:

Reviewed by Anders.

  • platform/win/FontDataWin.cpp: (WebCore::scaleEmToUnits): Ported from FontDataMac. (WebCore::FontData::platformInit): Use CG for metrics, and apply Mac's line-height hack for Times, Helvetica, and Courier. (WebCore::FontData::platformWidthForGlyph): Call wkGetGlyphAdvances to use some CG SPI to match Mac.
7:37 PM Changeset in webkit [20176] by aroben
  • 2 edits in trunk/WebCore

Reviewed by Anders.

  • platform/FontData.h: Added m_isSystemFont parameter to match NSFont.
5:39 PM Changeset in webkit [20175] by harrison
  • 3 edits in trunk/LayoutTests

<rdar://problem/5031181> cntl-k at end of paragraph adds nothing to the kill ring
<rdar://problem/5031189> REGRESSION: cntl-y yanks only the most recently killed content

Updated results.

  • editing/deleting/delete-to-end-of-paragraph-expected.checksum:
  • editing/deleting/delete-to-end-of-paragraph-expected.txt:
4:55 PM Changeset in webkit [20174] by bdakin
  • 1 edit in trunk/WebCore/ChangeLog

typo fix. thanks aroben!

4:51 PM Changeset in webkit [20173] by bdakin
  • 4 edits in trunk

WebCore:

Reviewed by Maciej.

Export DocumentLoader::setFrame(). Part for fix for <rdar://
problem/4277074> 8F32: Help Viewer crashed on clicking link -
KHTMLView::viewportMouseReleaseEvent (12647)

  • WebCore.exp:

WebKit:

Reviewed by Maciej.

Fix for <rdar://problem/4277074> 8F32: Help Viewer crashed on
clicking link - KHTMLView::viewportMouseReleaseEvent (12647)

Re-set the DocumentLoader's frame when loading it from the page
cache before setting the document view.

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::setDocumentViewFromPageCache):
4:32 PM Changeset in webkit [23068] by sfalken
  • 1 edit in branches/WindowsMerge/WebKitWin/WebKit.vcproj/VERSION

Bump version for submit

4:29 PM Changeset in webkit [20172] by sfalken
  • 1 copy in tags/Safari-521.35.8b

New tag.

4:25 PM Changeset in webkit [20171] by darin
  • 1 edit in trunk/WebCore/ChangeLog

of -> be

4:18 PM Changeset in webkit [20170] by darin
  • 6 edits
    12 adds in trunk

LayoutTests:

Reviewed by Maciej.

  • fast/canvas/canvas-hides-fallback-expected.txt: Added.
  • fast/canvas/canvas-hides-fallback.html: Added.
  • fast/canvas/script-inside-canvas-fallback-expected.txt: Added.
  • fast/canvas/script-inside-canvas-fallback.html: Added.
  • fast/canvas/unclosed-canvas-1-expected.txt: Added.
  • fast/canvas/unclosed-canvas-1.html: Added.
  • fast/canvas/unclosed-canvas-2-expected.txt: Added.
  • fast/canvas/unclosed-canvas-2.html: Added.
  • fast/canvas/unclosed-canvas-3-expected.txt: Added.
  • fast/canvas/unclosed-canvas-3.html: Added.
  • fast/canvas/unclosed-canvas-4-expected.txt: Added.
  • fast/canvas/unclosed-canvas-4.html: Added.

WebCore:

Reviewed by Maciej.

Change <canvas> elements so that their contents are parsed normally,
but not rendered. This change fixes the bug, because normal parsing
rules close the <canvas> element in that case. The special parser
stuff was just getting in the way.

Also do some basic cleanup to the HTML parser. This was motivated by
an earlier version of this patch that made even more changes to the
parser, but the cleanup is still worth landing.

Test: fast/canvas/canvas-hides-fallback.html
Test: fast/canvas/script-inside-canvas-fallback.html
Test: fast/canvas/unclosed-canvas-1.html
Test: fast/canvas/unclosed-canvas-2.html
Test: fast/canvas/unclosed-canvas-3.html
Test: fast/canvas/unclosed-canvas-4.html

  • html/HTMLCanvasElement.h: Added a data member to keep track of whether the renderer is a RenderHTMLCanvas or not.
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createRenderer): If JavaScript is enabled, create a RenderHTMLCanvas. If it's not, let the default code create the default type of renderer, which will result in fallback content being visible. The RenderHTMLCanvas class already hides all of its children. Set the m_rendererIsCanvas boolean accordingly. Since the actual storage for the canvas is allocated lazily when you actually get a drawing context, we don't need to do anything special to prevent it when JavaScript is disabled; the relevant functions won't be called. (WebCore::HTMLCanvasElement::reset): Protect the code that manipulates the RenderHTMLCanvas with a check of m_rendererIsCanvas. This is the only code inside the DOM element that relies on the renderer type.
  • html/HTMLParser.h: Removed unneeded includes. Marked HTMLParser as Noncopyable. Changed the Document parameter to the constructor to instead of HTMLDocument. Renamed discard_until to m_skipModeTag for clarity. Removed unused noSpaces function and unneeded public doc() function. Moved data members all down to the end so you can see them together in order. Renamed map to m_currentMapElement and isindex to m_isindexElement. Removed unused end and headLoaded data members. Renamed m_fragment to m_isParsingFragment to make it clearer that it's a boolean, not a fragment.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::HTMLParser): Changed to use member construction syntax instead of calling reset(). This is especially helpful in the fragment case, where calling reset() later on is illegal, so not using it in the constructor lets us assert. (WebCore::HTMLParser::~HTMLParser): Did an explicit deref instead of calling setCurrent for its side effect. (WebCore::HTMLParser::reset): Updated for member name changes and removal and to use document instead of doc(). (WebCore::HTMLParser::setCurrent): Use document instead of doc(). (WebCore::HTMLParser::setSkipMode): Added. No longer inline. Now sets the m_inCanvasBeforeFirstOpenTag data member to false. (WebCore::HTMLParser::parseToken): Tightened up the skip mode logic at the top of the function, and added a FIXME about the strange case there where we don't skip yet stay in skip mode. Updated for renaming and doc(). (WebCore::HTMLParser::insertNode): Updated for renaming and doc(). (WebCore::HTMLParser::handleError): Ditto. (WebCore::HTMLParser::framesetCreateErrorCheck): Ditto. (WebCore::HTMLParser::isindexCreateErrorCheck): Changed to use RefPtr. (WebCore::HTMLParser::noscriptCreateErrorCheck): Updated for renaming and doc(). (WebCore::HTMLParser::mapCreateErrorCheck): Ditto. (WebCore::HTMLParser::getNode): Removed the special case for canvas here. Canvas fallback is now handled in the DOM, not the parser. Updated for renaming and doc(). (WebCore::HTMLParser::allowNestedRedundantTag): Changed a #define into a C++ constant. (WebCore::HTMLParser::processCloseTag): Updated for renaming and doc(). (WebCore::HTMLParser::isInline): Ditto. (WebCore::HTMLParser::tagIsOnStack): Added. Used by new canvas logic. (WebCore::HTMLParser::popBlock): Updated for renaming and doc(). Also renamed the local variable Elem to elem. (WebCore::HTMLParser::createHead): Ditto. (WebCore::HTMLParser::handleIsindex): Changed to use RefPtr. (WebCore::HTMLParser::startBody): Updated for renaming and doc(). (WebCore::HTMLParser::finished): Ditto.
4:07 PM Changeset in webkit [20169] by hyatt
  • 3 edits in trunk/WebCore

Two more cleanup fixes to the cache. Don't call destroyDecodedData in the BitmapImage destructor, since
clearing the image source and calling setData on it again causes it to do an extra copy of the encoded
data. Since we're about to be destroyed this is just wasteful.

When the cache prunes, don't allow it to destroy the decoded data of an image that is still actively loading,
since we've established that ImageIO can actually crash if you yank the rug out from under it like that.

Reviewed by ggaren

  • loader/Cache.cpp: (WebCore::Cache::prune):
  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::~BitmapImage):
3:46 PM Changeset in webkit [20168] by andersca
  • 2 edits in trunk/WebCore

Try fixing the Qt build.


  • editing/Editor.h: (WebCore::Editor::setStartNewKillRingSequence):
3:40 PM Changeset in webkit [20167] by thatcher
  • 8 edits in trunk

Reviewed by Geoff.

<rdar://problem/5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx

  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method.
  • WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:.
  • WebView/WebView.mm: (-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent. (-[WebView userAgentForURL:]): Call _userAgentForURL:. (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA. (-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion: (-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version.
  • WebView/WebViewInternal.h: Declare _userAgentForURL:.
3:31 PM Changeset in webkit [20166] by harrison
  • 6 edits
    4 adds in trunk

LayoutTests:

Reviewed by Justin.

<rdar://problem/5031181> cntl-k at end of paragraph adds nothing to the kill ring
<rdar://problem/5031189> REGRESSION: cntl-y yanks only the most recently killed content

  • editing/pasteboard/emacs-ctrl-k-y-001-expected.checksum: Added.
  • editing/pasteboard/emacs-ctrl-k-y-001-expected.png: Added.
  • editing/pasteboard/emacs-ctrl-k-y-001-expected.txt: Added.
  • editing/pasteboard/emacs-ctrl-k-y-001.html: Added.

WebCore:

Reviewed by Justin.

<rdar://problem/5031181> cntl-k at end of paragraph adds nothing to the kill ring
<rdar://problem/5031189> REGRESSION: cntl-y yanks only the most recently killed content

For rdar://5031181, properly extend the selection before the killring handling, and
make sure plainText of that selection returns a linefeed.


For rdar://5031189, restore Editor::deleteRange() code that continued current killring,
even though the range deletion implicitly stopped it via changing the selection.


A byproduct of this change is the elimination of RUNDFINDER vs CONTENT TextIterator. The
only difference between the two was whether to emit a newline when the range started
with a blockflow element. No callers actually need that any more.

Tests added:

  • editing/pasteboard/emacs-ctrl-k-y-001-expected.checksum: Added.
  • editing/pasteboard/emacs-ctrl-k-y-001-expected.png: Added.
  • editing/pasteboard/emacs-ctrl-k-y-001-expected.txt: Added.
  • editing/pasteboard/emacs-ctrl-k-y-001.html: Added.
  • editing/Editor.cpp: (WebCore::Editor::deleteRange): Clear the "start new kill ring sequence" setting, because it was set to true when the selection was updated by deleting the range.


(WebCore::Editor::deleteWithDirection):
If extending the selection to the end of paragraph resulted in a caret selection,
extend by character, to handle the case when the selection started as a caret at
the end of paragraph.


  • editing/TextIterator.cpp: (WebCore::TextIterator::TextIterator): Initialize new member variables for tracking handling of the beginning of the range.


(WebCore::TextIterator::advance):
Call representNodeOffsetZero on the m_endContainer.
Move visibility checks into handleTextNode and handleReplacedElement.


(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
Call emitText.


(WebCore::TextIterator::handleReplacedElement):
Moved visibility check into here.


(WebCore::shouldEmitNewlinesBeforeAndAfterNode):


(WebCore::TextIterator::shouldRepresentNodeOffsetZero):
(WebCore::TextIterator::representNodeOffsetZero):
New. Emits proper sequence when encountering offset 0 of a node, including the
m_endContainer. Started with code from handleNonTextNode.


(WebCore::TextIterator::handleNonTextNode):
Call representNodeOffsetZero.


(WebCore::TextIterator::exitNode):
Similar to shouldRepresentNodeOffsetZero, do not emit the newline if the node
was collapsed, and before any other emitted content.


(WebCore::TextIterator::emitCharacter):


(WebCore::TextIterator::emitText):
New. Consolidates code used by handleText and handleTextBox.


(WebCore::CharacterIterator::CharacterIterator):
Removed RUNFINDER.

(WebCore::WordAwareIterator::WordAwareIterator):
Removed RUNFINDER.


(WebCore::WordAwareIterator::advance):
Formatting.

(WebCore::TextIterator::rangeLength):
Formatting.


  • editing/TextIterator.h: Added member variables for tracking handling of the beginning of the range. Eliminated concept of RUNDFINDER vs CONTENT TextIterator.


  • editing/visible_units.cpp: (WebCore::nextBoundary): Eliminated concept of RUNDFINDER vs CONTENT TextIterator.
3:11 PM Changeset in webkit [20165] by hyatt
  • 2 edits in trunk/WebCore

Clean up the null image case in CachedImage::data to make sure the size totals will stay accurate.
I'm not convinced this case can even be hit, but I'm cleaning it up just in case.

  • loader/CachedImage.cpp: (WebCore::CachedImage::data):
3:10 PM Changeset in webkit [20164] by lars
  • 2 edits in trunk/LayoutTestResults

Add a test that currently crashes the Qt build.

3:03 PM Changeset in webkit [20163] by hyatt
  • 2 edits in trunk/WebCore

Reorder the call to allReferencesRemoved, since otherwise the live object size will become
incorrect.

  • loader/CachedResource.cpp: (WebCore::CachedResource::deref):
3:00 PM Changeset in webkit [20162] by lars
  • 2 edits in trunk/WebKitQt

Reviewed by George.

Don't try to load <object> tags with an invalid url.
Fixes LayoutTests/fast/dom/object-plugin-hides-properties.html
which hit an assertion in the frameloader.

2:57 PM Changeset in webkit [20161] by brmorris
  • 2 edits in S60/branches/3.1m/WebKit

brmorris, rs'd by sachin

DESC: merge of r20160 to s60's 3.1m branch. MLIO-6Y2BV3

2:54 PM Changeset in webkit [20160] by brmorris
  • 2 edits in S60/trunk/WebKit

brmorris, rubberstamped by sachin

DESC: Content change for SCM sync MLIO-6Y2BV3

  • BrowserView/src/LoadListeners.cpp: copyright update
2:41 PM Changeset in webkit [20159] by antti
  • 3 edits
    6 adds in trunk

LayoutTests:

Reviewed by Darin.


http://bugs.webkit.org/show_bug.cgi?id=11083
REGRESSION: Typing tab key fails to insert a tab character in Google Docs editable area
<rdar://problem/4757650>

  • editing/inserting/typing-tab-designmode-expected.txt: Added.
  • editing/inserting/typing-tab-designmode-forms-expected.checksum: Added.
  • editing/inserting/typing-tab-designmode-forms-expected.png: Added.
  • editing/inserting/typing-tab-designmode-forms-expected.txt: Added.
  • editing/inserting/typing-tab-designmode-forms.html: Added.
  • editing/inserting/typing-tab-designmode.html: Added.

WebCore:

Reviewed by Darin.


Fix http://bugs.webkit.org/show_bug.cgi?id=11083
REGRESSION: Typing tab key fails to insert a tab character in Google Docs editable area
<rdar://problem/4757650>


Allow inserting tabs in designMode. Backtab behaves like before (matches FF).

  • page/EventHandler.cpp: (WebCore::EventHandler::defaultTabEventHandler):
2:31 PM Changeset in webkit [20158] by thatcher
  • 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj

Fixes builds using buildit.

1:25 PM Changeset in webkit [20157] by kmccullo
  • 2 edits in trunk/JavaScriptCore

Reviewed by .

  • Adding expected failures until the are truly fixed.
  • rdar://problem/5060302
  • tests/mozilla/expected.html:
1:18 PM Changeset in webkit [20156] by hyatt
  • 2 edits in trunk/WebCore

Fix two counting errors in the decoded size of objects in the WebCore cache. We need to explicitly
destroy decoded data when clearing out a partially loaded image that had an error, since the destructor
(although it does destroy the data) disconnects the observer so that the notification doesn't happen.

Some CachedImages aren't in the cache (like image documents). When the decoded size of such an image
changes we should not notify the cache, since - newsflash - we aren't actually in it.

Reviewed by ggaren

  • loader/CachedImage.cpp: (WebCore::CachedImage::clear): (WebCore::CachedImage::decodedSizeChanged):
1:06 PM Changeset in webkit [20155] by brmorris
  • 2 edits in S60/trunk/WebKit

spaltis, reviewed by padmae

DESC: 3.2 IDO: Got Error message for Non-Drm downloads: TSW HLUU-6YUVE6
Fix: Removal of old code to prevent setting HTTP Request Accept Header in case of WML page.
http://bugs.webkit.org/show_bug.cgi?id=13058

12:33 PM Changeset in webkit [20154] by thatcher
  • 1 edit in trunk/WebKitSite/contact.html

Silly wrapping change for testing a post-commit hook change.

12:20 PM Changeset in webkit [20153] by lars
  • 3 edits in trunk/WebKitQt

Fix 99% of the crashes in the loader I've been seeing lately.

11:22 AM Changeset in webkit [20152] by darin
  • 2 edits in trunk/WebCore

Reviewed by Tim Hatcher and John Sullivan.

  • fix <rdar://problem/4915303> CrashTracer: 36 crashes in Safari at com.apple.AppKit: -[NSView getRectsBeingDrawn:count:] + 502
  • page/mac/FrameMac.mm: (WebCore::Frame::imageFromRect): This was calling drawRect: directly, but NSView's getRectsBeingDrawn:count: method was never really safe to call unless it was AppKit that called your drawRect: method. Changed it to call drawSingleRect: instead. A little ugly, but seems to work and will almost certainly fix the bug.
9:53 AM Changeset in webkit [20151] by weinig
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

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

Call forgetGenericContext in JSSVGPathSeg destructor, otherwhise
we'll hit an ASSERT in a debug build, when running svg/custom/js-update-path-changes.svg
a few dozen times in a single WebKit instance. The ASSERT is good and just warns that
there was already a generic context pointer registered, and the new "to be registered"
object already exists, but pointing to a different object. That's because garbage collection
calls the JSSVGPathSeg destructor, but that didn't cleanup the generic context map.

Only JSSVGPathSeg is hit by this problem, as it's the only non SVGAnimated* type
using the generic context system while using a custom JSSVGPathSegList implementation.

Also cleanup JSSVGPathSegListCustom code to call the static forgetGenericContext
method instead of doing the same using custom code.

  • bindings/js/JSSVGPathSegListCustom.cpp: (WebCore::removeFromPathSegContextMap): (WebCore::JSSVGPathSegList::clear): (WebCore::JSSVGPathSegList::removeItem):
  • bindings/scripts/CodeGeneratorJS.pm:
8:12 AM Changeset in webkit [20150] by brmorris
  • 2 edits in S60/branches/3.1m/MemoryManager

spadma, Reviewed by Yongjun.

DESC: Browsers OOM Plug-in functionality is disabled HMAA-6Z3HMM
http://bugs.webkit.org/show_bug.cgi?id=13047

7:47 AM Changeset in webkit [20149] by darin
  • 2 edits in trunk/LayoutTests
  • fast/js/kde/RegExp-expected.txt: Fix the one other test affected by the js-test-pre.js change.
7:19 AM Changeset in webkit [20148] by darin
  • 21 edits
    2 adds in trunk

LayoutTests:

Reviewed by Adele.

  • fast/forms/old-names-expected.txt: Added.
  • fast/forms/old-names.html: Added.
  • check in files that were somehow left out in the last check-in
  • fast/js/resources/js-test-pre.js: Improve the format of the failure message when both the real results and expected results are strings.
  • fast/dom/wrapper-classes-expected.txt: Changed back to use the new format.

WebCore:

Reviewed by Adele.

Test: fast/forms/old-names.html

  • bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::canGetItemsForName): If the form collection has nothing for a given name, try the form's oldNamedElement function. (WebCore::JSHTMLFormElement::nameGetter): Ditto.
  • bindings/js/kjs_dom.h: Removed the DOMNamedNodesCollection. Instead we will use a class derived from NodeList.
  • bindings/js/kjs_dom.cpp: Ditto.
  • bindings/js/kjs_html.cpp: (KJS::VectorNodeList::VectorNodeList): Added. Constructor for a new class derived from NodeList to be used for the named items result from a collection -- uses a vector of node pointers. (KJS::VectorNodeList::length): Added. (KJS::VectorNodeList::item): Added. (KJS::JSHTMLCollection::getNamedItems): Use VectorNodeList and the existing wrapper for NodeList rather than a custom JavaScript class, DOMNamedNodesCollection.
  • dom/ChildNodeList.h:
  • dom/ChildNodeList.cpp: (WebCore::ChildNodeList::ChildNodeList): Updated to derive from TreeNodeList, since NodeList is now a simpler class. (WebCore::ChildNodeList::elementMatches): Updated for name and parameter change.
  • dom/NameNodeList.h:
  • dom/NameNodeList.cpp: (WebCore::NameNodeList::NameNodeList): Updated to derive from TreeNodeList, since NodeList is now a simpler class. (WebCore::NameNodeList::rootNodeAttributeChanged): Updated for name and parameter change.
  • dom/Node.h: Change register/unregister functions to take TreeNodeList.
  • dom/Node.cpp: (WebCore::TagNodeList::TagNodeList): Updated to derive from TreeNodeList, since NodeList is now a simpler abstract class. (WebCore::TagNodeList::elementMatches): Updated for name and parameter change. (WebCore::Node::registerNodeList): Changed type from NodeList to TreeNodeList. (WebCore::Node::unregisterNodeList): Ditto.
  • dom/NodeList.h: Broke NodeList into a simpler base class and a derived class with the machinery for iterating a tree, called TreeNodeList.
  • dom/NodeList.cpp: (WebCore::NodeList::~NodeList): Added. (WebCore::NodeList::itemWithName): Factored out of the old itemWithName. (WebCore::TreeNodeList::TreeNodeList): Renamed from NodeList. (WebCore::TreeNodeList::~TreeNodeList): Ditto. (WebCore::TreeNodeList::recursiveLength): Ditto. (WebCore::TreeNodeList::itemForwardsFromCurrent): Ditto. (WebCore::TreeNodeList::itemBackwardsFromCurrent): Ditto. (WebCore::TreeNodeList::recursiveItem): Ditto. (WebCore::TreeNodeList::itemWithName): Factored half of this into this function, the other half in NodeList::itemWithName. (WebCore::TreeNodeList::rootNodeAttributeChanged): Added. No longer inline. (WebCore::TreeNodeList::rootNodeChildrenChanged): Renamed from NodeList.
  • html/HTMLFormElement.h: Added formElementNameChanged and oldNamedElement fucntions, and a map called m_oldNames. Also removed m_boundary, which I thought I had already done.
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): Initialize m_oldNames to 0. Switched the rest of the members to initialization syntax. (WebCore::HTMLFormElement::~HTMLFormElement): Delete m_oldNames. (WebCore::HTMLFormElement::formElementNameChanged): Added. Stores a reference to one element under each of its old names. (WebCore::HTMLFormElement::oldNamedElement): Added. Returns the old element that once had a given name.
  • html/HTMLGenericFormElement.h:
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::parseMappedAttribute): When the name attribute changes, tell the form about the old name. (WebCore::HTMLGenericFormElement::insertedIntoTree): When telling a form about an element, also store away the old name so that we can use it when the name changes later.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Added a call to the base class in the nameAttr case, so the code in HTMLGenericFormElement above will get called in the input element case.
7:17 AM Changeset in webkit [20147] by weinig
  • 5 edits in trunk/LayoutTests

Reviewed by Lars.

Update text in tests to match expected output.

  • fast/dom/gc-6-expected.txt:
  • fast/dom/gc-6.html:
  • fast/dom/gc-7-expected.txt:
  • fast/dom/gc-7.html:
6:36 AM Changeset in webkit [20146] by antti
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Alexey.


Test for DOS using composed character.

  • fast/text/large-text-composed-char-dos-expected.txt: Added.
  • fast/text/large-text-composed-char-dos.html: Added.

WebCore:

Reviewed by Alexey.

Alexey spotted a DOS by using string of 64k unbreakable character in
fix for http://bugs.webkit.org/show_bug.cgi?id=12833

  • dom/Text.cpp: (WebCore::Text::createWithLengthLimit):
5:54 AM Changeset in webkit [20145] by thatcher
  • 10 edits in trunk/LayoutTests

Reviewed by Tim H.

  • fast/dom/gc-6-expected.txt: Renamed DOMHTMLElement to HTMLElement.
  • fast/dom/gc-7-expected.txt: Ditto.
  • fast/dom/prototype-chain-expected.txt: Renamed DOMHTMLElementPrototype to HTMLElementPrototype.
  • fast/dom/undetectable-document-all-expected.txt: Renamed Collection to HTMLCollection.
  • fast/dom/wrapper-classes-expected.txt: Updated for change to output for string comparison failure in fast/js/resources/js-test-pre.js.
  • fast/events/mouseclick-target-and-positioning-expected.txt: Renamed DOMHTMLElement to HTMLElement.
  • fast/tokenizer/external-script-document-write-expected.checksum: Ditto.
  • fast/tokenizer/external-script-document-write-expected.png: Ditto.
  • fast/tokenizer/external-script-document-write-expected.txt: Ditto.
3:13 AM Changeset in webkit [20144] by ddkilzer
  • 1 edit in trunk/WebCore/ChangeLog

Tweaked again.

3:11 AM Changeset in webkit [20143] by ddkilzer
  • 1 edit in trunk/WebCore/ChangeLog

Added bug references and a period.

3:03 AM Changeset in webkit [20142] by lars
  • 2 edits in trunk/WebCore

Fix the Qt build.

2:21 AM Changeset in webkit [20141] by bdash
  • 2 edits in trunk/WebKitTools

2007-03-13 Mark Rowe <mrowe@apple.com>

Reviewed by Maciej.

Have the nightly launcher prefer Safari found in /Applications or ~/Applications
if present, otherwise fall back on using LaunchServices to locate it elsewhere
on the system. The motivation for this is to make the behaviour of the nightly
builds more predictable on machines with multiple copies of Safari present.

  • WebKitLauncher/main.m: (locateSafariBundle): (main):
1:00 AM Changeset in webkit [20140] by rwlbuis
  • 2 edits in trunk/WebCore

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=12576
WebKit does not support xlink:show attributes

Make an exception for non-empty targets, these should be opened
in a new window, unless the value is _self.

12:32 AM Changeset in webkit [20139] by hyatt
  • 2 edits in trunk/WebCore

Double the encoded size of images for now. We do this to account for a bug in ImageIO where they hold
a separate copy of image data.

Reviewed by aroben

  • loader/CachedImage.cpp: (WebCore::CachedImage::data):
Note: See TracTimeline for information about the timeline view.