Timeline



Feb 8, 2008:

10:47 PM Changeset in webkit [30107] by mrowe@apple.com
  • 3 edits in trunk/WebCore

2008-02-08 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Bug 17226: Fix Windows (Cairo) build of image-decoders
http://bugs.webkit.org/show_bug.cgi?id=17226

  • platform/image-decoders/gif/GIFImageDecoder.cpp:
  • platform/image-decoders/png/PNGImageDecoder.cpp:
9:44 PM Changeset in webkit [30106] by alp@webkit.org
  • 2 edits in trunk

2008-02-08 Alp Toker <alp@atoker.com>

Rubber-stamped by Maciej.

Bump autoconf CAIRO_REQUIRED_VERSION up to 1.4.

  • configure.ac:
9:17 PM Changeset in webkit [30105] by oliver@apple.com
  • 6 edits in trunk

<rdar://problem/5731773> REGRESSION (r28973): Extraneous parentheses in function.toString()
https://bugs.webkit.org/show_bug.cgi?id=17214

Reviewed by Maciej

Make a subclass of CommaNode to provide the correct precedence for each expression in
a variable declaration list.

8:15 PM Changeset in webkit [30104] by timothy@apple.com
  • 8 edits in trunk/WebCore

Reviewed by Brady Eidson.

<rdar://problem/5640896> Removing database then trying
to recreate it causes trouble

Added open Database support to DatabaseTracker. So any Database that
is deleted will be marked as deleted and will fail to open any transaction
or execute any new SQL queries.

  • storage/Database.cpp: (WebCore::Database::Database): Call DatabaseTracker::addOpenDatabase. (WebCore::Database::~Database): Call DatabaseTracker::removeOpenDatabase. (WebCore::Database::markAsDeleted): Set the m_deleted flag. (WebCore::Database::version): Return a null String if m_deleted is true.
  • storage/Database.h: (WebCore::Database::deleted): Return m_deleted.
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::addOpenDatabase): Add the Database to a map of origins and names. (WebCore::DatabaseTracker::removeOpenDatabase): Remove the Database from the map. (WebCore::DatabaseTracker::deleteDatabaseFile): Call markAsDeleted on all the open Databases matching the origin/name.
  • storage/DatabaseTracker.h:
  • storage/SQLStatement.cpp: (WebCore::SQLStatement::setDatabaseDeletedError): Set the error about the user deleting the database.
  • storage/SQLStatement.h:
  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::executeSQL): If the Database is deleted, call setDatabaseDeletedError. (WebCore::SQLTransaction::openTransactionAndPreflight): Set the error about the user deleting the database if the Database was marked as deleted.
5:13 PM Changeset in webkit [30103] by Darin Adler
  • 3 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Oliver.

Test: fast/js/continue-break-multiple-labels.html

  • kjs/nodes.h: (KJS::StatementNode::pushLabel): Made this virtual. (KJS::LabelNode::pushLabel): Forward pushLabel calls to the statement inside.

LayoutTests:

  • fast/js/continue-break-multiple-labels-expected.txt: Added.
  • fast/js/continue-break-multiple-labels.html: Added.
5:06 PM Changeset in webkit [30102] by Darin Adler
  • 7 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Eric.

Test: fast/js/constructor-attributes.html

  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::reset): Remove unwanted attributes from "constructor".
  • kjs/function_object.cpp: (KJS::FunctionObjectImp::construct): Ditto.
  • kjs/nodes.cpp: (KJS::FuncDeclNode::makeFunction): Ditto. (KJS::FuncExprNode::evaluate): Ditto.

WebCore:

Reviewed by Eric.

Test: fast/js/constructor-attributes.html

  • bindings/scripts/CodeGeneratorJS.pm: Remove unwanted attributes from "constructor".

LayoutTests:

Reviewed by Eric.

  • fast/js/constructor-attributes-expected.txt: Added.
  • fast/js/constructor-attributes.html: Added.
  • fast/js/resources/constructor-attributes.js: Added.
4:07 PM Changeset in webkit [30101] by andersca@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Mitz.

<rdar://problem/5650446>
http://bugs.webkit.org/show_bug.cgi?id=16102
Crash in FrameLoader::stopLoadingSubframes() on IMDB page

Store the child frame in a RefPtr to prevent it from being deleted when the
frame tree changes while calling stopAllLoaders().


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoadingSubframes):

LayoutTests:

Reviewed by Mitz.

<rdar://problem/5650446>
http://bugs.webkit.org/show_bug.cgi?id=16102
Crash in FrameLoader::stopLoadingSubframes() on IMDB page

  • http/tests/navigation/changing-frame-hierarchy-in-onload-expected.txt: Added.
  • http/tests/navigation/changing-frame-hierarchy-in-onload.html: Added.
3:35 PM Changeset in webkit [30100] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx port build fix.

3:06 PM Changeset in webkit [30099] by alp@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

ChangeLog entry tweak: crasher affects debug, not release builds

3:04 PM Changeset in webkit [30098] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-02-08 Alp Toker <alp@atoker.com>

Reviewed by Adam Roben.

Avoid null-dereference crasher noticed in the GTK+ port and also
affecting the Win release build.

Covered by existing tests.

  • dom/Document.cpp: (WebCore::Document::userStyleSheet):
2:44 PM Changeset in webkit [30097] by andersca@apple.com
  • 5 edits in trunk/WebCore

Reviewed by Adam.

<rdar://problem/5724188>
REGRESSION: PLT 0.7% slower due to 29926 (change Text::createWithLengthLimit to take a UChar pointer)


Revert r29926 which caused the regression.


  • dom/Text.cpp: (WebCore::Text::createWithLengthLimit):
  • dom/Text.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::parseToken):
  • loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
12:05 PM Changeset in webkit [30096] by weinig@apple.com
  • 4 edits
    1 copy
    4 adds in trunk

WebCore:

Reviewed by Hyatt.

Fix for <rdar://problem/5732491>
http://bugs.webkit.org/show_bug.cgi?id=17213
The querySelectorAll method on an element node does not search only the element's descendants

Test: fast/dom/SelectorAPI/elementRoot.html

  • dom/Node.cpp: (WebCore::Node::querySelector): Make sure to stay within the root node when traversing the tree.
  • dom/SelectorNodeList.cpp: (WebCore::SelectorNodeList::SelectorNodeList): ditto.

LayoutTests:

Reviewed by Hyatt.

Test for <rdar://problem/5732491>
http://bugs.webkit.org/show_bug.cgi?id=17213
The querySelectorAll method on an element node does not search only the element's descendants

  • fast/dom/SelectorAPI/elementRoot-expected.txt: Added.
  • fast/dom/SelectorAPI/elementRoot.html: Added.
  • fast/dom/SelectorAPI/resources: Added.
  • fast/dom/SelectorAPI/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
  • fast/dom/SelectorAPI/resources/elementRoot.js: Added.
11:23 AM Changeset in webkit [30095] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Fix for bug 16798, button should default to type=submit.

Reviewed by darin

  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::type): (WebCore::HTMLButtonElement::parseMappedAttribute):
8:51 AM Changeset in webkit [30094] by Adam Roben
  • 2 edits in trunk/WebKitSite
  • perf/slickspeed/config.ini: Fixed version number.
8:47 AM Changeset in webkit [30093] by Adam Roben
  • 2 edits
    1 move in trunk/WebKitSite

Update jQuery to v1.2.3

Rubberstamped by Mitz.

  • perf/slickspeed/config.ini:
  • perf/slickspeed/frameworks/jquery-1.2.3.js: Renamed from WebKitSite/perf/slickspeed/frameworks/jquery-1.2.1.js.
8:24 AM Changeset in webkit [30092] by Adam Roben
  • 6 edits in trunk/WebCore

2008-02-08 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Jon Honeycutt.

Redefine some platform-specific types as cross-platform types
Add pathGetFileName method to get the filename from a path string
Add unloadModule method to unload a loadable module from the process
Implement new methods for GTK+ and Windows
Implement missing homeDirectoryPath method for GTK+
Add stub methods for new and missing methods for Wx and Qt

  • platform/FileSystem.h:
  • platform/gtk/FileSystemGtk.cpp:
  • platform/qt/FileSystemQt.cpp:
  • platform/win/FileSystemWin.cpp:
  • platform/wx/FileSystemWx.cpp:
8:08 AM Changeset in webkit [30091] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix after r30088

  • bindings/scripts/CodeGeneratorCOM.pm: Touch this to force the COM bindings to rebuild.
2:41 AM Changeset in webkit [30090] by alp@webkit.org
  • 5 edits in trunk

2008-02-08 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=17009
[Gtk] Webkit strips accents from some dead-key combinations

KeyEvents have to go through the gtk input method.

2:35 AM Changeset in webkit [30089] by Darin Adler
  • 31 edits
    2 copies
    27 adds in trunk

WebCore:

Reviewed by Eric.

Test: traversal/exception-forwarding.html

This turned into a near-rewrite of NodeIterator and TreeWalker.

  • bindings/js/JSNodeFilterCondition.h:
  • bindings/js/JSNodeFilterCondition.cpp: (WebCore::takeException): Added. (WebCore::JSNodeFilterCondition::acceptNode): Added an out parameter to return a JavaScript exception.
  • bindings/js/JSNodeFilterCustom.cpp: (WebCore::JSNodeFilter::acceptNode): Wrote a custom binding for this that raises a JavaScript exception if the out parameter is set.
  • bindings/js/JSNodeIteratorCustom.cpp: (WebCore::JSNodeIterator::nextNode): Wrote a custom binding for this that raises a JavaScript exception if the out parameter is set. (WebCore::JSNodeIterator::previousNode): Ditto.
  • bindings/js/JSTreeWalkerCustom.cpp: (WebCore::JSTreeWalker::parentNode): Wrote a custom binding for this that raises a JavaScript exception if the out parameter is set. (WebCore::JSTreeWalker::firstChild): Ditto. (WebCore::JSTreeWalker::lastChild): Ditto. (WebCore::JSTreeWalker::nextSibling): Ditto. (WebCore::JSTreeWalker::previousSibling): Ditto. (WebCore::JSTreeWalker::previousNode): Ditto. (WebCore::JSTreeWalker::nextNode): Ditto.
  • bindings/objc/DOM.mm: (WebCore::ObjCNodeFilterCondition::acceptNode): Updated to include new exception out parameter. (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): Use RefPtr to make object lifetimes clearer. (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): Ditto.
  • bindings/scripts/CodeGeneratorJS.pm: Added include of NodeFilter.h for JSDocument.cpp.
  • dom/Document.h:
  • dom/Document.cpp: (WebCore::Document::createNodeIterator): Changed to use PassRefPtr. (WebCore::Document::createTreeWalker): Ditto.
  • dom/NodeFilter.h:
  • dom/NodeFilter.cpp: (WebCore::NodeFilter::NodeFilter): Changed to use PassRefPtr. (WebCore::NodeFilter::acceptNode): Added an out parameter to return a JavaScript exception.
  • dom/NodeFilter.idl: Custom binding for acceptNode.
  • dom/NodeFilterCondition.h:
  • dom/NodeFilterCondition.cpp: (WebCore::NodeFilterCondition::acceptNode): Added an out parameter to return a JavaScript exception.
  • dom/NodeIterator.cpp: (WebCore::NodeIterator::NodeIterator): Changed to use PassRefPtr more. Eliminated m_doc, using the root node instead, and unnecessary check for null -- rootNode must be non-null and all nodes have a non-null document. (WebCore::NodeIterator::~NodeIterator): Changed to get document from root. (WebCore::NodeIterator::nextNode): Rewrote to use a RefPtr since the acceptNode function could do anything, including removing the last reference to the current node. Also folded findNextNode into this function since it's the only one that needs to call it. (WebCore::NodeIterator::previousNode): Same thing, but the other direction. (WebCore::NodeIterator::detach): Changed to use the root node as the indication that we're detached rather than a separate boolean. (WebCore::NodeIterator::notifyBeforeNodeRemoval): Removed some unnneeded checks. Removed incorrect use of findNextNode/findPreviousNode -- those functions call acceptNode and the DOM standard is quite clear that these functions do not take that into account, allowing the current node to become one that's not accepted.
  • dom/NodeIterator.h: Changed constructor to use PassRefPtr more. Changed nextNode and previousNode to have an out parameter with a JavaScript exception. Removed helper functions setReferenceNode, setPointerBeforeReferenceNode, detached, setDetached, document, findNextNode, and findPreviousNode. All were unnecessary. Removed data member m_doc which was just rootNode()->document().
  • dom/NodeIterator.idl: Custom binding for nextNode and previousNode.
  • dom/Traversal.cpp: (WebCore::Traversal::Traversal): Use PassRefPtr more. (WebCore::Traversal::acceptNode): Added out parameter for JavaScript exception. Also rearranged the function a little bit for clarity.
  • dom/Traversal.h: Changed acceptNode to have an out parameter with a JavaScript exception and made it protected, since it's only for use by the derived classes.
  • dom/TreeWalker.cpp: (WebCore::TreeWalker::TreeWalker): Updated to use PassRefPtr. (WebCore::TreeWalker::setCurrentNode): Updated to use PassRefPtr and deleted the overloaded version since it's not needed. (WebCore::TreeWalker::parentNode): Rewrote to propagate the exception and also to implement rules about when to check things like whether we're in the tree. The previous fix where we called isDescendantOf was not entirely correct, because the specification allows you to walk outside the tree if you get there somehow. What it doesn't allow is walking outside the tree from inside. The new implementation handles this correctly. (WebCore::TreeWalker::firstChild): Ditto. (WebCore::TreeWalker::lastChild): Ditto. (WebCore::TreeWalker::previousSibling): Ditto. (WebCore::TreeWalker::nextSibling): Ditto. (WebCore::TreeWalker::previousNode): Ditto. Because of the need to check the acceptNode function on parents, this can't use traversePreviousNode (more's the pity, because it's a bit complicated). (WebCore::TreeWalker::nextNode): Ditto.
  • dom/TreeWalker.h: Changed constructor and setCurrentNode to use PassRefPtr more. Changed the navigation functions to have an out parameter with a JavaScript exception. Removed helper functions setCurrentNode and ancestorRejected.
  • dom/TreeWalker.idl: Custom binding for navigation functions.

LayoutTests:

Reviewed by Eric.

  • grabbed NodeIterator and TreeWalker tests from Hixie's site and KHTML
  • traversal/exception-forwarding-expected.txt: Added.
  • traversal/exception-forwarding.html: Added.
  • traversal/resources: Added.
  • traversal/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
  • traversal/resources/exception-forwarding.js: Added.
  • traversal/node-iterator-001-expected.txt: Updated to reflect correct results. The old results reflected a bug in our NodeIterator.
  • traversal/node-iterator-001.html: Ditto.
  • traversal/node-iterator-006.html: Changed test so there's no whitespace node after the <span> elements inside the test root element (a <div>). The old test results were incorrect; the new NodeIterator implementation correctly returned the whitespace node for this test.
  • traversal/node-iterator-006a.html: Copied from traversal/node-iterator-006.html. Preserve the original test, which now has a strange result. But the result is correct, so it's worth keeping around.
  • traversal/node-iterator-006a-expected.txt: Added.
  • fast/dom/TreeWalker/TreeWalker-currentNode-expected.txt: Regenerated.
  • fast/dom/TreeWalker/resources/TreeWalker-currentNode.js: Updated test to expect results that match the DOM specification.
  • traversal/hixie-node-iterator/001-expected.txt: Added.
  • traversal/hixie-node-iterator/001.xml: Added.
  • traversal/hixie-node-iterator/002-expected.txt: Added.
  • traversal/hixie-node-iterator/002.xml: Added.
  • traversal/hixie-node-iterator/003-expected.txt: Added.
  • traversal/hixie-node-iterator/003.xml: Added.
  • traversal/hixie-node-iterator/004-expected.txt: Added.
  • traversal/hixie-node-iterator/004.xml: Added.
  • traversal/hixie-node-iterator/005-expected.txt: Added.
  • traversal/hixie-node-iterator/005.xml: Added.
  • traversal/hixie-node-iterator/006-expected.txt: Added.
  • traversal/hixie-node-iterator/006.xml: Added.
  • traversal/hixie-node-iterator/007-expected.txt: Added.
  • traversal/hixie-node-iterator/007.xml: Added.
  • traversal/hixie-node-iterator/008-expected.txt: Added.
  • traversal/hixie-node-iterator/008.xml: Added.
  • traversal/hixie-node-iterator/009-expected.txt: Added.
  • traversal/hixie-node-iterator/009.xml: Added.
  • traversal/hixie-node-iterator/010-expected.txt: Added.
  • traversal/hixie-node-iterator/010.xml: Added.
  • traversal/hixie-node-iterator/origin.txt: Added.
  • traversal/tree-walker-filter-1-expected.txt: Added.
  • traversal/tree-walker-filter-1.html: Added.
1:04 AM Changeset in webkit [30088] by eric@webkit.org
  • 18 edits
    12 adds in trunk

Reviewed by darin.

Add support for Text.wholeText and Text.replaceWholeText
http://bugs.webkit.org/show_bug.cgi?id=17125

Test EntityReferences to make sure they're always treated as read-only
In doing so I discovered a bug in document.adoptNode(readonlyNode) (and fixed it)

  • dom/Document.cpp: (WebCore::Document::adoptNode): throw NO_MODIFICATION_ALLOWED_ERR when passed a readonly node
  • dom/Node.cpp:
  • dom/Node.cpp: (WebCore::Node::textContent):
  • dom/Text.cpp: (WebCore::earliestLogicallyAdjacentTextNode): (WebCore::latestLogicallyAdjacentTextNode): (WebCore::Text::wholeText): (WebCore::Text::replaceWholeText):
  • dom/Text.h:
  • dom/Text.idl:

Feb 7, 2008:

11:18 PM Changeset in webkit [30087] by oliver@apple.com
  • 5 edits in trunk

Kimmo Kinnunen <Kimmo Kinnunen>

Reviewed by Tim Hatcher.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=17191
HTML5: Client-side database queries should return values of type number
Test: storage/sql-data-types.html

Make the DB queries return a value as a number if it was inserted
as a number to the database.

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::getColumnValue): new member function to return SQLValues

  • platform/sql/SQLiteStatement.h:
  • storage/SQLStatement.cpp:

(WebCore::SQLStatement::execute): use getColumnValue instead of getColumnText

10:36 PM Changeset in webkit [30086] by adachan@apple.com
  • 7 edits
    1 add in trunk/WebKit/win

<rdar://problem/5292433> certificate authentication support broken in Safari 3.0
Added mechanism to communicate client certificate info back to CFNetwork.

Reviewed by Adam.

  • Interfaces/IWebError.idl: Added new WebURLErrorClientCertificateRequired error.
  • Interfaces/IWebMutableURLRequestPrivate.idl: Added. Added method to set client certificate info on the request.
  • WebKit.vcproj/Interfaces.vcproj: Added new idl.
  • WebKit.vcproj/WebKit.vcproj: Link crypt32.lib
  • WebKit.vcproj/WebKitGUID.vcproj:
  • WebMutableURLRequest.cpp: (WebMutableURLRequest::QueryInterface): Implements IWebMutableURLRequestPrivate. (deallocCertContext): Free certificate context. (copyCert): Duplicate the certificate context and returns it in a CFDataRef. (WebMutableURLRequest::setClientCertificate):
  • WebMutableURLRequest.h:
10:33 PM Changeset in webkit [30085] by adachan@apple.com
  • 3 edits in trunk/WebCore

<rdar://problem/5292433> certificate authentication support broken in Safari 3.0
Added mechanism to communicate client certificate info back to CFNetwork.

Reviewed by Adam.

  • platform/network/ResourceHandle.h:
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::clientCerts): Keep a mapping of hosts to client certificates. (WebCore::makeFinalRequest): If we have a client certificate for the host, pass it to CFNetwork by setting it in the SSL properties. (WebCore::ResourceHandle::setClientCertificate): Map client certificate to the host.
10:29 PM Changeset in webkit [30084] by adachan@apple.com
  • 4 edits in trunk/WebKitLibraries

Added 4 new methods:
wkSetClientCertificateInSSLProperties,
wkCanAccessCFURLRequestHTTPBodyParts,
wkCFURLRequestCopyHTTPRequestBodyParts,
wkCFURLRequestSetHTTPRequestBodyParts

Rubber-stamped by Steve.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h:
  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:
10:01 PM Changeset in webkit [30083] by dsmith@webkit.org
  • 2 edits in trunk/WebKitSite

Rubber stamped by weinig and bdash.
Update prototype.js to 1.6.0.2 to be a bit less unfair in comparative benchmarking.

  • perf/slickspeed/frameworks/prototype.js:
3:54 PM Changeset in webkit [30082] by Adam Roben
  • 2 edits in trunk/WebCore

Qt build fix

  • platform/SharedBuffer.cpp: Removed a stub implementation of createWithContentsOfFile, now that each platform has its own stub.
3:34 PM Changeset in webkit [30081] by Adam Roben
  • 2 edits in trunk/WebCore

Fix Bug 17138: REGRESSION: Node highlight not updated properly

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

Reviewed by Darin.

No test possible.

  • page/InspectorController.cpp: (WebCore::InspectorController::drawNodeHighlight): Update the overlayRect after scrolling to make sure that we translate the context by the correct amount.
3:29 PM Changeset in webkit [30080] by Adam Roben
  • 3 edits in trunk/WebCore

Qt and GTK+ build fixes

  • platform/gtk/FileSystemGtk.cpp: Added a missing #include.
  • platform/qt/FileSystemQt.cpp: Ditto.
3:19 PM Changeset in webkit [30079] by Adam Roben
  • 4 edits
    2 adds in trunk/WebCore

Some cleanup of Mac-only user stylesheet code

I moved UserStyleSheetLoader out of Frame.cpp into its own files, and
moved some Mac-only Frame methods to FrameMac.mm.

Reviewed by Darin.

  • WebCore.xcodeproj/project.pbxproj: Added new files to project.
  • loader/mac/UserStyleSheetLoader.cpp: Added. (UserStyleSheetLoader::UserStyleSheetLoader): (UserStyleSheetLoader::~UserStyleSheetLoader):
  • loader/mac/UserStyleSheetLoader.h: Added.
  • page/Frame.cpp: Removed setUserStyleSheet[Location]
  • page/mac/FrameMac.mm: (WebCore::Frame::setUserStyleSheetLocation): Moved here from Frame.cpp. (WebCore::Frame::setUserStyleSheet): Ditto.
3:19 PM Changeset in webkit [30078] by Adam Roben
  • 23 edits in trunk/WebCore

Fix <rdar://5555260> GMail never loads when a user stylesheet is specified

The fix in r29841 did not guarantee that the user stylesheet would not
still be loading by the time GMail called document.write, and so was
not a complete fix.

This change reworks the user stylesheet loading mechanism on non-Mac
platforms to load the stylesheet synchronously from disk, and then
keeps it in memory. This obsoletes the issue of what our behavior
should be before the user stylesheet has loaded and what should happen
when it finishes loading, as the user stylesheet will always be
available when the Document first asks for it. Note, however, that
this removes the ability to specify a non-file: URL for the user
stylesheet. This change was not made for the Mac platform because it's
possible that WebKit clients are relying on non-file: URLs for user
stylesheets. It would also be nice to move back to an asynchronous
loading model someday, but that is not currently possible since we
don't have an asynchronous loading mechanism that is not tied to a
particular Frame.

The responsibility of loading and storing the user stylesheet has
moved from Frame to Page, since the user stylesheet URL is set on the
Page-level Settings object.

Reviewed by Darin.

  • dom/Document.cpp: (WebCore::Document::Document): Changed to call userStyleSheet(). (WebCore::Document::setUserStyleSheet): Made Mac-only. (WebCore::Document::userStyleSheet): Changed to call up to Page on non-Mac platforms. (WebCore::Document::recalcStyleSelector): Changed to call userStyleSheet().
  • dom/Document.h:
    • Made setUserStyleSheet and the m_usersheet member Mac-only
    • Changed userStyleSheet to return a String instance instead of a String reference, since we now might return a new null String.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Made the call to Frame::setUserStyleSheetLocation Mac-only.
  • page/Frame.cpp: Made UserStyleSheetLoader and related code Mac-only. (WebCore::Frame::~Frame): Ditto. (WebCore::Frame::reapplyStyles): Made the call to setUserStyleSheet[Location] Mac-only. On non-Mac platforms the Document will pick up the new stylesheet in Document::reapplyStyles. (WebCore::FramePrivate::FramePrivate): Made m_userStyleSheetLoader Mac-only.
  • page/Frame.h: Made setUserStyleSheet[Location] Mac-only.
  • page/FramePrivate.h: Made m_userStyleSheetLoader Mac-only.
  • page/Page.cpp: (WebCore::Page::Page): Initialize new members. (WebCore::Page::userStyleSheetLocationChanged): Added. Does nothing on Mac. On non-Mac, resets all members relating to the user stylesheet so we'll know to load it again the next time it's asked for. (WebCore::Page::userStyleSheet): Added. Loads the user stylesheet if the user stylesheet location has changed since the last time we loaded it, or if the file has been modified since we last loaded it, then returns the contents of the user stylesheet as a String.
  • page/Page.h: Added new methods/members.
  • page/Settings.cpp: (WebCore::Settings::setUserStyleSheetLocation): Changed to call Page::userStyleSheetLocationChanged.
  • page/Settings.h: Changed userStyleSheetLocation to return the KURL by reference instead of making a copy.
  • platform/FileSystem.h: Added declaration for getFileModificationTime.
  • platform/KURL.h: Added declaration for fileSystemPath method.
  • platform/cf/KURLCFNet.cpp: (WebCore::KURL::fileSystemPath): Added.
  • platform/posix/FileSystemPOSIX.cpp: (WebCore::getFileModificationTime): Added.
  • platform/qt/KURLQt.cpp: (WebCore::KURL::fileSystemPath): Stubbed out.
  • platform/win/FileSystemWin.cpp: (WebCore::getFileModificationTime): Added.
  • platform/qt/FileSystemQt.cpp: Stubbed out getFileModificationTime.
  • platform/gtk/FileSystemGtk.cpp: Ditto.
  • platform/wx/FileSystemWx.cpp: Ditto.
  • platform/qt/TemporaryLinkStubs.cpp: Stubbed out SharedBuffer::createWithContentsOfFile.
  • platform/gtk/TemporaryLinkStubs.cpp: Ditto, along with KURL::fileSystemPath.
  • platform/wx/TemporaryLinkStubs.cpp: Ditto.
3:18 PM Changeset in webkit [30077] by Adam Roben
  • 2 edits in trunk/WebCore

Clean up FileSystemWin.cpp

This cleanup also makes us call _wstat64 instead of _wstat32i64. The
only difference between these two functions is that _wstat64 gives
64-bit time values, while _wstat32i64 only gives 32-bit time values.

Reviewed by Darin.

All tests pass.

  • platform/win/FileSystemWin.cpp: (WebCore::statFile): New static helper that wraps _wstat64. (WebCore::fileSize): Changed to call statFile. (WebCore::fileExists): Ditto.
3:18 PM Changeset in webkit [30076] by Adam Roben
  • 12 edits in trunk/WebCore

Rename fileSize to getFileSize

Rubberstamped by Darin.

  • platform/FileSystem.h:
  • platform/gtk/FileSystemGtk.cpp:
  • platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::setHTTPBody):
  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::setupPOST):
  • platform/posix/FileSystemPOSIX.cpp:
  • platform/qt/FileSystemQt.cpp:
  • platform/win/FileSystemWin.cpp:
  • platform/wx/FileSystemWx.cpp:
  • storage/Database.cpp: (WebCore::Database::databaseSize):
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::usageForDatabase):
  • storage/OriginUsageRecord.cpp: (WebCore::OriginUsageRecord::diskUsage):
3:17 PM Changeset in webkit [30075] by Adam Roben
  • 2 edits in trunk/WebCore

Make KURL::isLocalFile treat the URL's protocol case-insensitively

Reviewed by Darin.

  • platform/KURL.cpp: (WebCore::KURL::isLocalFile): Use equalIgnoringCase instead of ==.
2:35 PM Changeset in webkit [30074] by mrowe@apple.com
  • 1 copy in branches/Safari-3-1-branch

New branch.

2:10 PM Changeset in webkit [30073] by eric@webkit.org
  • 2 edits in trunk/SunSpider

Reviewed by Sam.

  • sunspider: add an error message when ./tests/LIST is not found
1:32 PM Changeset in webkit [30072] by dsmith@webkit.org
  • 2 edits in trunk/WebKitSite

Rubber stamped by Mark Rowe
Fix a duplicate selector in the test.

  • perf/slickspeed/selectors.list:
1:19 PM Changeset in webkit [30071] by dsmith@webkit.org
  • 2 edits in trunk/WebKitSite

Reviewed by Adam Roben.
Added :nth-child and :last-child to the list of selectors to test.

  • perf/slickspeed/selectors.list:
12:26 PM wxWebKit edited by kevino@theolliviers.com
(diff)
12:22 PM wxWebKit created by kevino@theolliviers.com
12:20 PM WikiStart edited by kevino@theolliviers.com
add wx port to wiki (diff)
12:14 PM Changeset in webkit [30070] by hyatt@apple.com
  • 2 adds in trunk/LayoutTests
12:13 PM Changeset in webkit [30069] by hyatt@apple.com
  • 9 edits in trunk/WebCore

Fix for bug 6248, implement the nth-* CSS3 selectors. Patch based on original KHTML work from Allan Jensen
and improved upon by Nick Shanks.

Reviewed by Eric

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::lex):
  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::parseNth): (WebCore::matchNth): (WebCore::CSSStyleSelector::checkOneSelector):
  • css/tokenizer.flex:
  • rendering/RenderStyle.cpp: (WebCore::RenderStyle::RenderStyle):
  • rendering/RenderStyle.h: (WebCore::RenderStyle::childIndex): (WebCore::RenderStyle::setChildIndex):
11:08 AM Changeset in webkit [30068] by Adam Roben
  • 2 edits in trunk/WebKitTools

Fix error in bisect-builds when responding "broken" for the first build

Reviewed by Dave Kilzer.

  • Scripts/bisect-builds: Only try to test the build if the nightly info for the current index has not been deleted.
9:01 AM Changeset in webkit [30067] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice

Test: fast/block/float/relative-painted-twice.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::addOverhangingFloats): Added another case where the child should not take over painting the float: when they do not have the same enclosing layer. In that case, the float is already being painted by one of its closer ancestors.

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice
  • fast/block/float/relative-painted-twice.html: Added.
  • platform/mac-leopard/fast/block/float/relative-painted-twice-expected.checksum: Added.
  • platform/mac-leopard/fast/block/float/relative-painted-twice-expected.png: Added.
  • platform/mac/fast/block/float/relative-painted-twice-expected.txt: Added.
8:59 AM Changeset in webkit [30066] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: platform/mac/fast/text/family-for-font-matched-by-name.html

  • platform/mac/WebFontCache.mm: (+[WebFontCache internalFontWithFamily:traits:size:]): Changed to use the family of the font whose name matches the desired family if there is no exact family match.

LayoutTests:

Reviewed by Darin Adler.

  • platform/mac/fast/text/family-for-font-matched-by-name-expected.checksum: Added.
  • platform/mac/fast/text/family-for-font-matched-by-name-expected.png: Added.
  • platform/mac/fast/text/family-for-font-matched-by-name-expected.txt: Added.
  • platform/mac/fast/text/family-for-font-matched-by-name.html: Added.
7:06 AM Changeset in webkit [30065] by Beth Dakin
  • 4 edits
    2 adds in trunk

WebCore:

Reviewed by Geoff.

Fix for <rdar://problem/5697882> Traffic or Street View button on
Google Maps is sometimes not positioned correctly (17000)

On the Mac, timers fire in the order that they are registered.
Geoff and I discovered that this is not necessarily true on
Windows, and that turned out to be the cause of this intermittent
layout problem at Google Maps. This patch adds a new member
variable to Timer to remember the timer's insertion point into the
heap. Now when comparing timers, if two timers were registered at
the same time, their insertion orders are compared to determine
which should fire first. This code actually never runs on Debug
builds on the Mac; the system clock on the Mac is accurate enough
that it knows that the two timers were not registered at *exactly*
the same time. This is not the case on Windows. In theory, if we
sped up Javascript enough on the Mac, this code would run and would
prevent misrenderings such as the one found on Google Maps.

  • platform/Timer.cpp: (WebCore::operator<): (WebCore::TimerBase::setNextFireTime):
  • platform/Timer.h:

LayoutTests:

Test written by Geoff, reviewed by me.

Test for <rdar://problem/5697882> Traffic or Street View button on
Google Maps is sometimes not positioned correctly (17000)

  • fast/dom/simultaneouslyRegsiteredTimerFireOrder-expected.txt: Added.
  • fast/dom/simultaneouslyRegsiteredTimerFireOrder.html: Added.
5:59 AM Changeset in webkit [30064] by ggaren@apple.com
  • 2 edits in trunk/WebKitTools

Reviewed by Alexey Proskuryakov.

Fixed two minor typos in the --root option, to get it working.

  • Scripts/run-sunspider:
    1. Actually assign the function argument to our local variable.
    2. Actually set the $root variable, so we don't try to build later.
2:08 AM Changeset in webkit [30063] by Nikolas Zimmermann
  • 2 edits
    2109 moves
    2086 adds in trunk/LayoutTests

Rubber stamped by Eric.

Move existing SVG baseline from platform/mac/ to platform/mac-tiger/ (I generated all of them using Tiger).
Regenerated new SVG baseline in platform/mac-leopard. platform/mac/svg is doesn't contain any test results anymore.

In a later step it should be investigated, which layout test results can be shared between Leopard & Tiger.
Those results should be moved to platform/mac/svg then.

Feb 6, 2008:

11:17 PM Changeset in webkit [30062] by justin.garcia@apple.com
  • 11 edits in trunk

WebCore:

Reviewed by Darin Adler.

<rdar://problem/5195056> Huge plain text pastes are slow


This was fixed in r27369 and then r29367 and r29667 caused performance to
regress.

  • editing/EditCommand.cpp: (WebCore::EditCommand::apply): Only updateLayout() for high level commands. (WebCore::EditCommand::unapply): Ditto. (WebCore::EditCommand::reapply): Ditto.
  • editing/Editor.cpp: (WebCore::Editor::appliedEditing): Added a note about shouldChangeSelection calls that shouldn't be made, a bug I filed as <rdar://problem/5729315>. (WebCore::Editor::unappliedEditing): Ditto. (WebCore::Editor::reappliedEditing): Ditto.
  • editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved): Don't try to test the selection base and extent with the expensive isCandidate operation if the node that will be removed is in a fragment, since such a removal is guaranteed to have no effect on a selection. This is to speed up the paste operation, which does many removes from a fragment.

LayoutTests:

Reviewed by Darin Adler.


<rdar://problem/5195056> Huge plain text pastes are slow


The changes made for this fix exposed several more cases of:
<rdar://problem/5729315> Some shouldChangeSelectedDOMRange contain Ranges for selections that are no longer valid

  • platform/mac/editing/deleting/collapse-whitespace-3587601-fix-expected.txt:
  • platform/mac/editing/deleting/delete-3608462-fix-expected.txt:
  • platform/mac/editing/deleting/delete-4083333-fix-expected.txt:
  • platform/mac/editing/execCommand/find-after-replace-expected.txt:
  • platform/mac/editing/selection/move-between-blocks-no-001-expected.txt:
  • platform/mac/editing/selection/replace-selection-1-expected.txt:
10:16 PM Changeset in webkit [30061] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

Landing updated (improved) results for this test. The results changed in r30013,
but this wasn't immediately noticed because of the test being on Leopard skipped list.

Interestingly, js-test-pre.js has a workaround for the issue fixed in this revision in
its debug() function, but not in description(). Keeping the workaround for now to let tests
keep running in shipping Safari/WebKit.

  • svg/css/glyph-orientation-rounding-test-expected.txt:
8:12 PM Changeset in webkit [30060] by kevino@webkit.org
  • 4 edits in trunk/WebCore

Switch from directly handling wx scroll wheel events to handling the PlatformWheelEvent instead to give JS, etc. a chance to handle it.
http://bugs.webkit.org/show_bug.cgi?id=17179

8:00 PM Changeset in webkit [30059] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-02-06 Mark Rowe <mrowe@apple.com>

Fix Windows builds.

  • WebCore.vcproj/WebCore.vcproj: Unbreak the XML of the project file.
6:40 PM Changeset in webkit [30058] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Mac build fix. Track rename that happened in r30056.

6:00 PM Changeset in webkit [30057] by oliver@apple.com
  • 4 edits in trunk/LayoutTests

Fix expected output for layout tests to match tiger expected (and so work on the build bots)

RS=Stephanie

5:52 PM Changeset in webkit [30056] by mrowe@apple.com
  • 11 edits
    7 copies
    1 move
    6 adds in trunk/WebCore

2008-02-06 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

http://bugs.webkit.org/show_bug.cgi?id=16979
Conditionalize CoreGraphics vs Cairo support in Windows port.

5:36 PM Changeset in webkit [30055] by andersca@apple.com
  • 4 edits in trunk/WebCore

Reviewed by Darin.

Change httpBodyFromStream to take the request instead of the stream.


  • platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::httpBodyFromRequest):
  • platform/network/cf/FormDataStreamCFNet.h:
  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdateResourceRequest):
5:24 PM Changeset in webkit [30054] by kmccullough@apple.com
  • 1 edit
    2 adds in trunk/WebCore

Reviewed by Darin.

  • Added manual tests for <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
  • manual-tests/Default-port-frame.html: Added.
  • manual-tests/resources/Default-port-frame-contents.html: Added.
2:23 PM Changeset in webkit [30053] by oliver@apple.com
  • 2 edits in trunk/WebCore

Update build flags to fix windows build

2:03 PM Changeset in webkit [30052] by kmccullough@apple.com
  • 5 edits
    7 deletes in trunk

WebCore:

Rubberstamped by Darin.

<rdar://problem/5727708> REGRESSION (r29952): Can't send message from Yahoo Mail beta

  • Reverted the change that caused the regression.
  • dom/Document.cpp: (WebCore::Document::createElement): (WebCore::Document::createElementNS): (WebCore::Document::getElementById): (WebCore::Document::parseQualifiedName): (WebCore::Document::createAttributeNS):
  • dom/Document.idl:

LayoutTests:

Rubberstamped by Darin.

<rdar://problem/5727708> REGRESSION (r29952): Can't send message from Yahoo Mail beta

  • Reverted the change that caused the regression.
  • dom/xhtml/level3/core/documentsetstricterrorchecking02-expected.txt:
  • fast/dom/Document/createAttributeNS-namespace-err-expected.txt: Removed.
  • fast/dom/Document/createAttributeNS-namespace-err.html: Removed.
  • fast/dom/Document/createElementNS-namespace-err-expected.txt: Removed.
  • fast/dom/Document/createElementNS-namespace-err.html: Removed.
  • fast/dom/Document/resources/TEMPLATE.html: Removed.
  • fast/dom/Document/resources/createAttributeNS-namespace-err.js: Removed.
  • fast/dom/Document/resources/createElementNS-namespace-err.js: Removed.
1:46 PM Changeset in webkit [30051] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

Reviewed by Oliver Hunt.


Added an ASSERT to catch refCount underflow, since it caused a leak in
my last check-in.

  • wtf/RefCounted.h: (WTF::RefCounted::deref):
1:24 PM Changeset in webkit [30050] by ggaren@apple.com
  • 4 edits in trunk/WebCore

Reviewed by Oliver Hunt.


Fixed <rdar://problem/5728081> REGRESSION: Many leaks on buildbot

The problem was refCount underflow in NamedAttrMap.


Neither our regression tests nor the stress test have yet discovered
another instance of this problem.

  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::addAttribute): Changed to use PassRefPtr, for fast and correct refCount management. Also, change a rediculously slow malloc to a slightly less rediculously slow realloc.
  • dom/NamedAttrMap.h: (WebCore::NamedAttrMap::insertAttribute): Changed to use PassRefPtr, for fast and correct refCount management.
  • html/HTMLTokenizer.cpp: (WebCore::Token::addAttribute): Use a RefPtr, to guarantee that the object starts with a refCount of 1.
1:21 PM Changeset in webkit [30049] by mrowe@apple.com
  • 1 edit in trunk/WebCore/page/InspectorController.cpp

Fix typo in comment added in r30047.

12:19 PM Changeset in webkit [30048] by timothy@apple.com
  • 1 edit
    1180 adds in trunk

Dump of bugs.webkit.org's Bugzilla instance.

11:29 AM Changeset in webkit [30047] by Darin Adler
  • 2 edits in trunk/WebCore

Reviewed by Tim Hatcher.

  • fix <rdar://problem/5723293> NULL-deref crash in PropertyMap::put opening web inspector with View Source window as target
  • page/InspectorController.cpp: (WebCore::canPassNodeToJavaScript): Added. Returns false if the node is in a document with JavaScript disabled. (WebCore::InspectorController::inspect): Check canPassNodeToJavaScript and do nothing if it returns false.
11:27 AM Changeset in webkit [30046] by hyatt@apple.com
  • 1 delete in trunk/LayoutTests/dom/xhtml/level2/html/object06.xhtml

Remove bad layout test.:

11:26 AM Changeset in webkit [30045] by hyatt@apple.com
  • 1 delete in trunk/LayoutTests/dom/html/level2/html/object06.html

Remove bad layout test.:

11:26 AM Changeset in webkit [30044] by hyatt@apple.com
  • 4 edits in trunk/WebCore

Fix for bug 16799, object elements should return absolute URLs from .data.

Reviewed by Mark Rowe

  • dom/Document.cpp: (WebCore::Document::completeURL):
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::href):
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::data):
10:17 AM Changeset in webkit [30043] by Antti Koivisto
  • 3 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/5726340>
<video autoplay controls> left in unplayable state if navigated away, then back to, before video finished loading


When moving document in and out from the page cache:

  • Cancel incomplete load by deleting the media player. This guarantees everything is in consistent state.
  • Restart the load if it was aborted in the middle.
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::~HTMLMediaElement): (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::willSaveToCache): (WebCore::HTMLMediaElement::didRestoreFromCache):
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::player):
9:53 AM Changeset in webkit [30042] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

PLT speedup related to <rdar://problem/5659272> REGRESSION: PLT .4%
slower due to r28884 (global variable symbol table optimization)


Tweaked RefCounted::deref() to be a little more efficient.

1% - 1.5% speedup on my machine. .7% speedup on Stephanie's machine.


  • wtf/RefCounted.h: (WTF::RefCounted::deref): Don't modify m_refCount if we're just going to delete the object anyway. Also, use a simple == test, which might be faster than <= on some hardware.
9:40 AM Changeset in webkit [30041] by Darin Adler
  • 4 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Sam.

Test results match Gecko with very few obscure exceptions that seem to be
bugs in Gecko.

Test: fast/js/array-functions-non-arrays.html

  • kjs/array_object.cpp: (KJS::arrayProtoFuncConcat): Removed DontEnum and DontDelete from the call to set length. (KJS::arrayProtoFuncPop): Ditto. Also added missing call to deleteProperty, which is not needed for real arrays, but is needed for non-arrays. (KJS::arrayProtoFuncPush): Ditto. (KJS::arrayProtoFuncShift): Ditto. (KJS::arrayProtoFuncSlice): Ditto. (KJS::arrayProtoFuncSort): Removed incorrect call to set length when the array has no elements. (KJS::arrayProtoFuncSplice): Removed DontEnum and DontDelete from the call to set length. (KJS::arrayProtoFuncUnShift): Ditto. Also added a check for 0 arguments to make behavior match the specification in that case.
  • kjs/nodes.cpp: (KJS::ArrayNode::evaluate): Removed DontEnum and DontDelete from the call to set length.

LayoutTests:

Reviewed by Sam.

  • fast/js/array-functions-non-arrays-expected.txt: Added.
  • fast/js/array-functions-non-arrays.html: Added.
  • fast/js/resources/array-functions-non-arrays.js: Added.
9:33 AM Changeset in webkit [30040] by Darin Adler
  • 17 edits in trunk

JavaScriptCore:

Reviewed by Sam.

  • replace calls to put to set up properties with calls to putDirect, to prepare for a future change where put won't take attributes any more, and for a slight performance boost
  • API/JSObjectRef.cpp: (JSObjectMakeConstructor): Use putDirect instead of put.
  • kjs/CommonIdentifiers.h: Removed lastIndex.
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::reset): Use putDirect instead of put.
  • kjs/array_object.cpp: (KJS::arrayProtoFuncConcat): Took out extra call to get length (unused). (KJS::ArrayObjectImp::ArrayObjectImp): Use putDirect instead of put.
  • kjs/error_object.cpp: (KJS::ErrorPrototype::ErrorPrototype): Use putDirect instead of put.
  • kjs/function.cpp: (KJS::Arguments::Arguments): Use putDirect instead of put. (KJS::PrototypeFunction::PrototypeFunction): Use putDirect instead of put.
  • kjs/function_object.cpp: (KJS::FunctionObjectImp::construct): Use putDirect instead of put.
  • kjs/nodes.cpp: (KJS::FuncDeclNode::makeFunction): Use putDirect instead of put. (KJS::FuncExprNode::evaluate): Use putDirect instead of put.
  • kjs/regexp_object.cpp: (KJS::regExpProtoFuncCompile): Use setLastIndex instead of put(lastIndex). (KJS::RegExpImp::match): Get and set lastIndex by using m_lastIndex instead of calling get and put.
  • kjs/regexp_object.h: (KJS::RegExpImp::setLastIndex): Added.
  • kjs/string_object.cpp: (KJS::stringProtoFuncMatch): Use setLastIndex instead of put(lastIndex).

WebCore:

Reviewed by Sam.

  • replace calls to put to set up properties with calls to putDirect, to prepare for a future change where put won't take attributes any more, and for a slight performance boost
  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor): Use putDirect instead of put.
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetPrototype::self): Ditto.
  • bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
  • bindings/js/JSSQLResultSetRowListCustom.cpp: (WebCore::JSSQLResultSetRowList::item): Ditto.
8:01 AM Changeset in webkit [30039] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: fast/css/transition-color-unspecified.html

  • page/AnimationController.cpp: (WebCore::ImplicitAnimation::animate): Changed to use the value of the 'color' property in the source or destination style as the source or destination value of properties whose inital value is defined to be the computed value of 'color'.

LayoutTests:

Reviewed by Darin Adler.

  • fast/css/transition-color-unspecified.html: Added.
  • platform/mac/fast/css/transition-color-unspecified-expected.checksum: Added.
  • platform/mac/fast/css/transition-color-unspecified-expected.png: Added.
  • platform/mac/fast/css/transition-color-unspecified-expected.txt: Added.
7:46 AM Changeset in webkit [30038] by mitz@apple.com
  • 2 edits in trunk/WebCore

Build fix.

  • svg/svgtags.in:

Feb 5, 2008:

11:08 PM Changeset in webkit [30037] by oliver@apple.com
  • 2 edits in trunk/WebCore

Build fix -- touch generate-bindings to trigger regeneration of bindings

10:18 PM Changeset in webkit [30036] by mitz@apple.com
  • 224 edits in trunk/LayoutTests/platform/mac/svg/custom

Added the svn:mime-type property to PNGs that did not have it.

10:01 PM Changeset in webkit [30035] by oliver@apple.com
  • 66 edits in trunk

RS=Eric.

Re-enable foreignObject by default as it is needed for a number of
non-fO related SVG tests and none of the old known crashes occur
anymore.

8:36 PM Changeset in webkit [30034] by weinig@apple.com
  • 7 edits
    4 adds in trunk

JavaScriptCore:

Reviewed by Anders Carlsson.

Fix for http://bugs.webkit.org/show_bug.cgi?id=8080
NodeList (and other DOM lists) items are not enumeratable using for..in

WebCore:

Reviewed by Anders Carlsson.

Fix for http://bugs.webkit.org/show_bug.cgi?id=8080
NodeList (and other DOM lists) items are not enumeratable using for..in

  • Match Firefox when enumerating DOM interfaces with indexGetters (support for the array bracket, nodeList[0], notation) by including all the items in the list before the attributes and methods of the interface.

Test: fast/dom/domListEnumeration.html

  • ForwardingHeaders/kjs/PropertyNameArray.h: Added.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::customGetPropertyNames): Use the new custom method model.
  • bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::customGetPropertyNames): ditto.
  • bindings/scripts/CodeGeneratorJS.pm: Instead of just adding a declaration of getProperyNames and implementing the method in the Custom.cpp, move to a the model used by generated getOwnPropertySlot() and put() where the custom code is written in a separate customGetPropertyNames which returns a bool indicating whether to call up to the base class. This enables adding the list indexes to the PropertyNameArray for interfaces with indexGetters automatically.

LayoutTests:

Reviewed by Anders Carlsson.

Test for http://bugs.webkit.org/show_bug.cgi?id=8080
NodeList (and other DOM lists) items are not enumeratable using for..in

  • fast/dom/domListEnumeration-expected.txt: Added.
  • fast/dom/domListEnumeration.html: Added.
  • fast/dom/resources/domListEnumeration.js: Added.
6:13 PM Changeset in webkit [30033] by Nikolas Zimmermann
  • 1 edit
    10 adds in trunk/LayoutTests

Reviewed by Oliver.
Add new dynamic update tests, for SVGClipPathElement.

5:29 PM Changeset in webkit [30032] by weinig@apple.com
  • 9 edits
    3 adds in trunk

WebCore:

Reviewed by Darin Adler.

Fix for <rdar://problem/5726604>
dom-checker: deleting properties of the window object cross-domain should not be allowed

Fix flaw found while testing with dom-checker testing tool (http://code.google.com/p/dom-checker/).

Test: http/tests/security/cross-frame-access-delete.html

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::deleteProperty): Override deleteProperty to not delete cross-domain.
  • bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::deleteProperty): ditto.
  • bindings/js/JSLocation.cpp: (WebCore::JSLocation::deleteProperty): ditto.
  • bindings/js/JSLocation.h:
  • bindings/scripts/CodeGeneratorJS.pm: Add deleteProperty declaration when CustomDeleteProperty is used.
  • page/DOMWindow.idl: Add CustomDeleteProperty extended attribute.
  • page/History.idl: ditto.

LayoutTests:

Reviewed by Darin Adler.

Test for <rdar://problem/5726604>
dom-checker: deleting properties of the window object cross-domain should not be allowed

  • http/tests/security/cross-frame-access-delete-expected.txt: Added.
  • http/tests/security/cross-frame-access-delete.html: Added.
  • http/tests/security/resources/cross-frame-iframe-for-delete-test.html: Added.
5:24 PM Changeset in webkit [30031] by mrowe@apple.com
  • 4 edits in trunk/WebKit/gtk

2008-02-05 Mark Rowe <mrowe@apple.com>

Reviewed by Alp Toker.

Fix warnings seen on the Gtk port by declaring variables and using constants of the correct types.

  • webkit/webkitwebbackforwardlist.cpp: (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_contains_item):
  • webkit/webkitwebhistoryitem.cpp:
  • webkit/webkitwebview.cpp:
5:16 PM Changeset in webkit [30030] by sfalken@apple.com
  • 2 edits in trunk/WebKitTools

Build fix. Don't override intermediate directory.

  • Drosera/win/Drosera.vcproj/Drosera.vcproj:
4:57 PM Changeset in webkit [30029] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-02-05 Alp Toker <alp@atoker.com>

Rubber-stamped by Mark Rowe.

Fix a "missing sentinel in function call" warning by using NULL
instead of 0.

  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::caretBlinkFrequency):
3:09 PM Changeset in webkit [30028] by Nikolas Zimmermann
  • 5 edits
    30 adds in trunk

Reviewed by Oliver.
Fix dynamic updates of <circle> element's properties.

Added tests: svg/dynamic-updates/SVGCircleElement*

2:31 PM Changeset in webkit [30027] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Wx build fix. Add WebCore/plugins to the include path.

2:28 PM Changeset in webkit [30026] by zecke@webkit.org
  • 3 edits in trunk/WebKitTools

Build fix for Windows. willCloseFrame is a pure virtual and we are
forced to have an implementation.

This partially reverts r30014.

2:24 PM Changeset in webkit [30025] by mrowe@apple.com
  • 4 edits in tags/Safari-5525.7.2

Versioning.

2:23 PM Changeset in webkit [30024] by mrowe@apple.com
  • 4 edits in trunk/WebCore

2008-02-05 Mark Rowe <mrowe@apple.com>

Mac build fix. Update the Xcode project to follow a moved file,
and track a rename in two files that were missed earlier.

  • WebCore.xcodeproj/project.pbxproj:
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge canProvideDocumentSource]):
  • platform/mac/PlugInInfoStoreMac.mm: (WebCore::PluginInfoStore::pluginNameForMIMEType):
2:22 PM Changeset in webkit [30023] by mrowe@apple.com
  • 2 edits in tags/Safari-5525.7.2/WebKit/mac

Merge r30020.

1:57 PM Changeset in webkit [30022] by Nikolas Zimmermann
  • 1 edit in trunk/WebCore/ChangeLog

Forgot to mention bug

1:56 PM Changeset in webkit [30021] by Nikolas Zimmermann
  • 6 edits
    25 adds in trunk

Reviewed by Holger.

Fix dynamic SVG DOM updates of <a> element's href property.

This commit also introduces a new SVG Tests framework: LayoutTests/svg/dynamic-updates
Its purpose is to provide dynamic updating tests for each SVG class & property, aka.
one test per property per class. As a first pass it's sufficient to add testcases for all
SVG*Element classes, and their properties - and only common-used base-class properties.

For SVGAElement - for example - it makes most sense to test scripting its parent
SVGURIReference object ('href' property) and its own property 'target'.

Adding tests to see - for example - if SVGAElement reacts on changes on ie. its parent
SVGExternalResourcesRequired interface, should really be done in a second pass.

All tests within the new framework are supposed to be created using make-js-tests-wrappers.

1:54 PM Changeset in webkit [30020] by mrowe@apple.com
  • 2 edits in trunk/WebKit/mac

Unreviewed build fix. Add missing #import.

1:53 PM Changeset in webkit [30019] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.7.2

New tag.

1:53 PM Changeset in webkit [30018] by mrowe@apple.com
  • 1 delete in tags/Safari-5525.72

Remove bogus tag.

1:52 PM Changeset in webkit [30017] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.72

New tag.

1:51 PM Changeset in webkit [30016] by justin.garcia@apple.com
  • 4 edits
    6 adds in trunk

WebCore:

Reviewed by Alexey Proskuryakov.

<rdar://problem/5685601> webkit-block-placeholder class on placeholders seems unnecessary (12317)

  • editing/CompositeEditCommand.cpp: (WebCore::createBlockPlaceholderElement): The khtml-block-placeholder class was needed when the editing code actively looked for <br>s of that type in order to handle them specially. That is no longer the case.
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): Fixed a bug where an extra block would be inserted when hitting return inside an editable root held open by a placeholder <br> or '\n'. Added test cases for the bug and for the special case code that was incorrectly triggered to cause the bug.

LayoutTests:

Reviewed by Alexey Proskuryakov.


<rdar://problem/5685601> webkit-block-placeholder class on placeholders seems unnecessary (12317)

  • editing/inserting/5685601-1-expected.txt: Added.
  • editing/inserting/5685601-1.html: Added.
  • editing/inserting/5685601-2-expected.txt: Added.
  • editing/inserting/5685601-2.html: Added.
  • editing/inserting/5685601-3-expected.txt: Added.
  • editing/inserting/5685601-3.html: Added.
1:46 PM Changeset in webkit [30015] by mrowe@apple.com
  • 20 edits
    6 moves in trunk

2008-02-05 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Anders Carlsson.

Part one of http://bugs.webkit.org/show_bug.cgi?id=16924.
Shared PluginDatabase, PluginInfoStore and PluginPackage implementations.

Remove the Win suffix on several plugin-related classes that will
soon be refactored to be more portable.

12:47 PM Changeset in webkit [30014] by zecke@webkit.org
  • 14 edits in trunk

WebKitTools/
2008-02-05 Holger Freyther <zecke@selfish.org>

Reviewed by Darin.

In http://bugs.webkit.org/show_bug.cgi?id=16853 it was identified that the
the output of the willCloseFrame and didClearWindowObject FrameLoadDelegate
depends on the order the tests are executed.

Propose to remove willCloseFrame and didlCearWindowObject output from the
FrameLoadDelegate and update the test results. The output of didClearWindowObject
is not interesting for any of the current tests and we have other ways to find
out if a frame was closed or not.

  • DumpRenderTree/mac/FrameLoadDelegate.mm:
  • DumpRenderTree/win/FrameLoadDelegate.cpp: (FrameLoadDelegate::didClearWindowObject):
  • DumpRenderTree/win/FrameLoadDelegate.h:

LayoutTest:
2008-02-05 Holger Freyther <zecke@selfish.org>

Reviewed by Darin.

In http://bugs.webkit.org/show_bug.cgi?id=16853 it was identified that the
the output of the willCloseFrame and didClearWindowObject FrameLoadDelegate
depends on the order the tests are executed.

Propose to remove willCloseFrame and didlCearWindowObject output from the
FrameLoadDelegate and update the test results. The output of didClearWindowObject
is not interesting for any of the current tests and we have other ways to find
out if a frame was closed or not.

  • http/tests/loading/bad-scheme-subframe-expected.txt:
  • http/tests/loading/bad-server-subframe-expected.txt:
  • http/tests/loading/basic-expected.txt:
  • http/tests/loading/empty-subframe-expected.txt:
  • http/tests/loading/gmail-assert-on-load-expected.txt:
  • http/tests/loading/onload-vs-immediate-refresh-expected.txt:
  • http/tests/loading/slow-parsing-subframe-expected.txt:
  • platform/mac/http/tests/loading/simple-subframe-expected.txt:
  • webarchive/loading/test-loading-archive-expected.txt:
11:52 AM Changeset in webkit [30013] by ap@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=17158
Setting innerHTML in a detached XHTML element doesn't use the right namespace

Test: fast/dom/innerHTML-detached-element.xhtml

  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::XMLTokenizer): Take parent element namespace into account.
11:45 AM Changeset in webkit [30012] by mrowe@apple.com
  • 4 edits in tags/Safari-5525.7.1

Versioning.

11:44 AM Changeset in webkit [30011] by mrowe@apple.com
  • 8 edits in tags/Safari-5525.7.1

Merge r30003.

11:41 AM Changeset in webkit [30010] by mrowe@apple.com
  • 2 edits in tags/Safari-5525.7.1/WebKit/mac

Merge r29869.

11:32 AM Changeset in webkit [30009] by Antti Koivisto
  • 7 edits
    6 adds in trunk

WebCore:

Reviewed by Geoff.


Fix <rdar://problem/5698200>
eBay photo uploading hangs and causes slow script warning to pop up


In a case like this


var f = window.parent.parentFunction;
document.domain = document.domain; this makes window.parent inaccessible
f();


Firefox allows parentFunction to access parents properties. Match this behavior.


In a domain security check against the dynamic global object fails for the specific reason that one of
the frames has written to the document.domain property and another has not (but they match otherwise),
then recheck against the lexical global object.

Test: http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html

http/tests/security/cross-frame-access-callback-explicit-domain-DENY.html

  • bindings/js/kjs_window.cpp: (KJS::Window::allowsAccessFrom): (KJS::Window::printErrorMessage):
  • bindings/js/kjs_window.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::shouldAllowNavigation):
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::canAccess):
  • platform/SecurityOrigin.h: (WebCore::SecurityOrigin::):

LayoutTests:

Reviewed by Geoff.


Test for <rdar://problem/5698200>
eBay photo uploading hangs and causes slow script warning to pop up

  • http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW-expected.txt: Added.
  • http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html: Added.
  • http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt: Added.
  • http/tests/security/cross-frame-access-callback-explicit-domain-DENY.html: Added.
  • http/tests/security/resources/cross-frame-iframe-callback-explicit-domain-ALLOW.html: Added.
  • http/tests/security/resources/cross-frame-iframe-callback-explicit-domain-DENY.html: Added.
11:24 AM Changeset in webkit [30008] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.7.1

New tag.

11:18 AM Changeset in webkit [30007] by Adam Roben
  • 3 edits in trunk/WebCore

Remove an unused member from Document

Reviewed by Mitz.

  • dom/Document.cpp: (WebCore::Document::recalcStyleSelector): There's no need to take m_printSheet into account anymore as it's never anything but the null string.
  • dom/Document.h: Removed m_printSheet and methods relating to it.
10:36 AM Changeset in webkit [30006] by Darin Adler
  • 2 edits in trunk/WebKit/win

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15248
<rdar://problem/5497032> Can not enter accented characters using alt-numeric keypad (take two)

  • WebView.cpp: (WebViewWndProc): KeyUp messages need to be translated, too.
9:31 AM Changeset in webkit [30005] by mitz@apple.com
  • 7 edits in trunk

WebCore:

Reviewed by Darin Adler.

  • WebCore part of <rdar://problem/5724303> Should implement writing direction shortcuts
  • WebCore.base.exp: Added Editor::setBaseWritingDirection() and Frame::baseWritingDirectionForSelectionStart().
  • page/mac/WebCoreFrameBridge.h: Removed -baseWritingDirectionForSelectionStart.
  • page/mac/WebCoreFrameBridge.mm: Ditto.

WebKit/mac:

Reviewed by Darin Adler.

  • WebKit part of <rdar://problem/5724303> Should implement writing direction shortcuts

The key bindings are Command-Control-left arrow and
Command-Control-right arrow. To match AppKit, the bindings are enabled
only when certain user defaults are set.

  • WebView/WebHTMLView.mm: (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call Frame::baseWritingDirectionForSelectionStart() and Editor::setBaseWritingDirection() directly. (-[WebHTMLView changeBaseWritingDirection:]): Ditto. (writingDirectionKeyBindingsEnabled): Added. (-[WebHTMLView _changeBaseWritingDirectionTo:]): Added this helper method. (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Added. (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Added.
  • WebView/WebView.mm:
9:01 AM Changeset in webkit [30004] by mrowe@apple.com
  • 6 edits in trunk/WebKitSite

Update WordPress to 2.3.3 which includes security fixes.

7:52 AM Changeset in webkit [30003] by mrowe@apple.com
  • 8 edits in trunk

Update versioning to support the mysterious future.

Reviewed by Oliver Hunt.

  • Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
2:42 AM Changeset in webkit [30002] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix the wxWidget Mac build by avoiding using ICU functions that were added after ICU 3.2.

  • editing/SmartReplaceICU.cpp:

(WebCore::addAllCodePoints): Implement a replacement for uset_addAllCodePoints.
(WebCore::getSmartSet): Use addAllCodePoints instead of uset_addAllCodePoints.

1:56 AM Applications using WebKit edited by ap@webkit.org
Added Microsoft products. (diff)
1:34 AM Changeset in webkit [30001] by ap@webkit.org
  • 9 edits
    10 deletes in trunk

Pretend that r29998 never happened.

12:20 AM Changeset in webkit [30000] by mrowe@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

30,000!

12:19 AM Changeset in webkit [29999] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Workaround for http://bugs.webkit.org/show_bug.cgi?id=16842
Bug 16842: Hang in DRT in leaks mode due to signal handler doing unsafe things

Reviewed by Oliver Hunt.

Don't install the signal handler unless we are running the pixel tests.
It is currently only used to restore the color profile, but by catching
signals we can trigger a deadlock in DRT while running leak tests.
The deadlock is tracked by http://bugs.webkit.org/show_bug.cgi?id=16842,
and a more complete fix will need to be developed to address this for
pixel tests as well.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(dumpRenderTree):

12:16 AM Changeset in webkit [29998] by mrowe@apple.com
  • 9 edits
    10 adds in trunk

2008-02-04 Matt Perry <mpComplete@gmail.com>

Reviewed by Darin Adler.

Fix for http://bugs.webkit.org/show_bug.cgi?id=14959
No back forward entry added for pages created in javascript

A new HistoryItem is created for calls to Document::open. Calls to
Document::write save the written data to a SharedBuffer that is also
stored on the HistoryItem. When the user navigates back to a
HistoryItem that has a valid buffer, that data is used for the page
content.

Tests: http/tests/navigation/document-open-adds-history-item.html

http/tests/navigation/document-open-delayed-adds-history-item.html
http/tests/navigation/document-open-new-window-adds-history-item.html
http/tests/navigation/document-open-replace-no-history-item.html

  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
  • dom/Document.cpp: (WebCore::Document::open): (WebCore::Document::write): (WebCore::Document::clear):
  • dom/Document.h:
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): (WebCore::HistoryItem::substituteData): (WebCore::HistoryItem::setSubstituteData):
  • history/HistoryItem.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::didExplicitOpen): (WebCore::FrameLoader::load): (WebCore::FrameLoader::reloadAllowingStaleData): (WebCore::FrameLoader::reload): (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): (WebCore::FrameLoader::loadItem):
  • loader/FrameLoader.h:

2008-02-04 Matt Perry <mpComplete@gmail.com>

Reviewed by Darin Adler.

Test cases for fix to http://bugs.webkit.org/show_bug.cgi?id=14959
No back forward entry added for pages created in javascript.

  • http/tests/navigation/document-open-adds-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-adds-history-item.html: Added.
  • http/tests/navigation/document-open-delayed-adds-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-delayed-adds-history-item.html: Added.
  • http/tests/navigation/document-open-new-window-adds-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-new-window-adds-history-item.html: Added.
  • http/tests/navigation/document-open-replace-no-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-replace-no-history-item.html: Added.

Feb 4, 2008:

11:58 PM Changeset in webkit [29997] by oliver@apple.com
  • 3 edits
    3 adds in trunk

Fix for Bug 16889: REGRESSION (r29425): Canvas-based graphing calculator fails to run

Bug 17015: REGRESSION (r29414-29428): www.fox.com "shows" menu fails to render
Bug 17164: REGRESSION: JavaScript pop-up menu appears at wrong location when hovering image at http://news.chinatimes.com/

Reviewed by Oliver Hunt

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

<http://bugs.webkit.org/show_bug.cgi?id=17015>

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

The ActivationImp tear-off (r29425) introduced a problem with ReadModify
nodes that first resolve a slot, call valueForReadModifyNode(), and then
store a value in the previously resolved slot. Since valueForReadModifyNode()
may cause a tear-off, the slot needs to be resolved again, but this was
not happening with the existing code.

11:28 PM Changeset in webkit [29996] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Gtk qmake build fix. Fix perl's complaint about an odd number of elements in anonymous hash.

10:55 PM Changeset in webkit [29995] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Gtk build fix. wchar_t is only convertible to UChar on Windows.

10:54 PM Changeset in webkit [29994] by alp@webkit.org
  • 4 edits in trunk

Fix for r29993. Should have been icon-database, not icondatabase:

2008-02-04 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Alp Toker and Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=16618
[GTK] build-webkit and run-webkit-tests autootools support

Add support for the autotools build to the WebKit build and test
scripts.

10:27 PM Changeset in webkit [29993] by mrowe@apple.com
  • 7 edits in trunk

2008-02-04 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=16618
[GTK] build-webkit and run-webkit-tests autootools support

  • configure.ac: make the option name of icon database consistent with the rest of webkit (from -icon-database to icondatabase)

2008-02-04 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=16618
[GTK] build-webkit and run-webkit-tests autootools support

  • Scripts/build-webkit: added --database and --icondatabase options
  • Scripts/run-launcher:
  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
10:18 PM Changeset in webkit [29992] by oliver@apple.com
  • 6 edits in trunk

Partial fix for <rdar://5621244> Drag & Drop doesn't work correctly in DRT

Reviewed by Steve F.

iImplement required DRT functionality to allow majority of Drag and Drop testcases to work.
Issues include:

  • Uses Sleep() to implement leapForward reliably.
  • 3 DND tests still fail for reasons that i have not yet determined
  • Has to explicitly ignore an extraneous WM_MOUSELEAVE that i am at a loss to explain
9:51 PM Changeset in webkit [29991] by mrowe@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-02-04 Cameron McCormack <cam@mcc.id.au>

Reviewed by Geoff Garen.

Remove some unneccesary UNUSED_PARAMs. Clarify ownership rule of return value of JSObjectCopyPropertyNames.

  • API/JSNode.c: (JSNode_appendChild): (JSNode_removeChild): (JSNode_replaceChild): (JSNode_getNodeType): (JSNode_getFirstChild):
  • API/JSNodeList.c: (JSNodeList_length):
  • API/JSObjectRef.h:
9:47 PM Changeset in webkit [29990] by mrowe@apple.com
  • 5 edits
    1 add in trunk/WebCore

2008-02-04 Tony Chang <idealisms@gmail.com>

Reviewed by Darin Adler.

Port the CoreFoundation version of WebCore::isCharacterSmartReplaceExempt
for other platforms by using ICU directly.

  • GNUmakefile.am: Add SmartReplaceICU.cpp.
  • WebCore.pro: Ditto.
  • WebCoreSources.bkl: Ditto.
  • editing/SmartReplace.cpp: Don't use this empty implementation when ICU is available.
  • editing/SmartReplaceICU.cpp: (getSmartSet): (WebCore::isCharacterSmartReplaceExempt):
9:32 PM Changeset in webkit [29989] by mrowe@apple.com
  • 3 edits
    2 adds in trunk

2008-02-04 Robert Sesek <rsesek@bluestatic.org>

Reviewed by Darin Adler.

Fix http://bugs.webkit.org/show_bug.cgi?id=17042
forms without action attributes submit to the <base> href instead of the originating page

Test: fast/forms/missing-action.html

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Submit to origin if there is no action

2008-02-04 Robert Sesek <rsesek@bluestatic.org>

Reviewed by Darin Adler.

Test for Fix http://bugs.webkit.org/show_bug.cgi?id=17042
forms without action attributes submit to the <base> href instead of the originating page

  • fast/forms/missing-action-expected.txt: Added.
  • fast/forms/missing-action.html: Added.
9:18 PM Changeset in webkit [29988] by mrowe@apple.com
  • 3 edits in trunk/WebCore

Gtk build fix. Use std::numeric_limits in place of ULLONG_MAX as some Linux machines do not have ULLONG_MAX.

OriginUsageRecord::unknownDiskUsage becomes a static function to avoid the global initialiser which would otherwise be generated.

Reviewed by Tim Hatcher.

7:34 PM Changeset in webkit [29987] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Speculative Gtk build fix.

7:25 PM Changeset in webkit [29986] by mrowe@apple.com
  • 6 edits in trunk

Fix http://bugs.webkit.org/show_bug.cgi?id=17175 (Bug 17175: Use of C++ compiler flags in CFLAGS).

Reviewed by Alp Toker and Mark Rowe.

Add global_cxxflags definition for inclusion in CXXFLAGS variables.
Only use -fno-rtti and $(SYMBOL_VISIBILITY_INLINES) with global_cxxflags as gcc complains they aren't valid for C.

5:41 PM Changeset in webkit [29985] by alp@webkit.org
  • 16 edits in trunk/WebKit/gtk

2008-02-04 Christian Dywan <christian@imendio.com>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=17065
[GTK] Use a consistent coding style

5:33 PM Changeset in webkit [29984] by beidson@apple.com
  • 5 edits in trunk/WebCore

Attempt to fix build of all non-Mac platforms

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl:
4:55 PM Changeset in webkit [29983] by beidson@apple.com
  • 8 edits
    4 adds in trunk/WebCore

Reviewed by Darin

Fix for <rdar://problem/5628468> - Quotas need to be implemented per-origin, and not per-database

To accomplish this, we need to track the sizes of all databases in an origin to constantly keep an up to date
count of the origin's total disk usage. I've introduced the OriginQuotaManager and OriginUsageRecord classes
to accomplish this.

Whenever a transaction is known to mutate the size of a database (tracked by the DatabaseAuthorizer), it marks
that database as unknown in the OriginQuotaManager. When a transaction later comes along to ask the
OriginQuotaManager the usage for that origin, it stat's all of the unknown databases in the origin and returns
the result.

Since the OriginQuotaManager is interesting from both the main thread and a DatabaseThread, all accessors it
provides require it to be locked first. ASSERTs help guarantee this is always the case.

Layout test will involve adding functionality to DRT on multiple platforms and will be coming up shortly

  • WebCore.xcodeproj/project.pbxproj:
  • platform/SecurityOrigin.h: Changed to be ThreadSafeShared instead of RefCounted
  • storage/Database.cpp: (WebCore::Database::databaseSize): Return the current filesize of this database on disk (WebCore::Database::maximumSize): Added - calculates maximum size of this database based on quota and usage
  • storage/Database.h: Add databaseSize() accessor, and get rid of unused declared methods that *were* going to be the solution for this bug.
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::originQuotaManager): Accessor to the OriginQuotaManager which is lazily created (WebCore::DatabaseTracker::canEstablishDatabase): Fetch the usage for this database slightly earlier, which will ensure that the OriginQuotaManager is primed to track this origin (WebCore::DatabaseTracker::fullPathForDatabase): Ditto (WebCore::DatabaseTracker::populateOrigins): Create the OriginQuotaManager here. (WebCore::DatabaseTracker::usageForOrigin): Use the OriginQuotaManager instead of looping through each database in the origin (WebCore::DatabaseTracker::deleteOrigin): Remove this origin from the OriginQuotaManager as it is no longer interesting (WebCore::DatabaseTracker::deleteDatabase): Remove this database from the OriginQuotaManager as it is no longer interesting
  • storage/DatabaseTracker.h:
  • storage/OriginQuotaManager.cpp: Added. (WebCore::OriginQuotaManager::OriginQuotaManager): (WebCore::OriginQuotaManager::lock): (WebCore::OriginQuotaManager::unlock): (WebCore::OriginQuotaManager::trackOrigin): Add an origin to be tracked. Useful for when the very first database in a new origin is still in the process of being created (WebCore::OriginQuotaManager::tracksOrigin): (WebCore::OriginQuotaManager::addDatabase): (WebCore::OriginQuotaManager::removeDatabase): (WebCore::OriginQuotaManager::removeOrigin): Removes all records in a certain origin from being tracked (WebCore::OriginQuotaManager::markDatabase): Mark a specific database as having an unknown size - called when the DatabaseAuthorizer in a SQLTransaction knows the file size might change. (WebCore::OriginQuotaManager::diskUsage): Returns the disk usage for the given origin
  • storage/OriginQuotaManager.h: Added.
  • storage/OriginUsageRecord.cpp: Added. (WebCore::OriginUsageRecord::OriginUsageRecord): (WebCore::OriginUsageRecord::addDatabase): Adds an entry for the database in this origin's record (WebCore::OriginUsageRecord::removeDatabase): Removes that entry (WebCore::OriginUsageRecord::markDatabase): Marks the database as of unknown size (WebCore::OriginUsageRecord::diskUsage): Returns the cached disk usage value, or recalculates it if any databases are marked
  • storage/OriginUsageRecord.h: Added.
  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::openTransactionAndPreflight): Use Database::maximumSize() instead of attributing the entire quota to each database. (WebCore::SQLTransaction::runStatements): Use Database::maximumSize() instead of attributing the entire quota to each database. (WebCore::SQLTransaction::runCurrentStatement): Mark this databases's size as unknown in the OriginQuotaManager if this statement will change the size of the database
  • storage/SQLTransaction.h:
4:36 PM Changeset in webkit [29982] by harrison@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

<rdar://problem/5607381> CrashTracer: [REGRESSION] 1748 crashes in Safari at com.apple.WebCore: WebCore::Image::width const + 24

Use an empty image when the local image file could not be loaded.

No test case because it would require forcing tiff load failure.


  • editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::createDeletionUI): Do not present the deletion UI in the (odd) event that the delete button could not be loaded.


  • platform/graphics/mac/ImageMac.mm: (WebCore::Image::loadPlatformResource): Return an empty image instead of 0 if the load fails.
3:24 PM Changeset in webkit [29981] by Darin Adler
  • 2 edits in trunk/WebCore
  • dom/Document.cpp: (WebCore::Document::completeURL): Fixed misleading comment.
2:53 PM Changeset in webkit [29980] by timothy@apple.com
  • 1 edit
    1 add in trunk/WebKitLibraries

<rdar://problem/5722735> Merge fix for SQLITE_FULL error
is given even if the max_page_count is increased (2920)

  • libWebCoreSQLite3.a:
2:15 PM Changeset in webkit [29979] by jhoneycutt@apple.com
  • 2 edits in trunk/WebCore

2008-02-04 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Darin.

Blacklist Silverlight versions older than min required, not newer.

  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackageWin::isPluginBlacklisted):
2:14 PM Changeset in webkit [29978] by hyatt@apple.com
  • 3 adds in trunk/LayoutTests/platform/mac/fast/css

Add layout test for selector parsing changes.

2:14 PM Changeset in webkit [29977] by hyatt@apple.com
  • 1 add in trunk/LayoutTests/fast/css/simple-selector-chain-parsing.html

Add layout test for selector parsing changes.

2:12 PM Changeset in webkit [29976] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Fix for bug 16751, misparsing of html*.test in CSS.

Reviewed by darin

Added fast/css/simple-selector-chain-parsing.html

  • css/CSSGrammar.y:
1:38 PM Changeset in webkit [29975] by Darin Adler
  • 2 edits in trunk/WebCore

Suggested by Geoff and Maciej.

  • bindings/js/JSCustomSQLTransactionCallback.cpp: Reworded a misleading comment to be correct.
1:32 PM Changeset in webkit [29974] by jhoneycutt@apple.com
  • 3 edits in trunk/WebCore

2008-02-04 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Steve, Anders.

<rdar://problem/5211187> QuickTime and Flash plug-ins draw outside of
content area when inside an iframe or div with overflow when playing a
movie and scrolling the iframe/div area

Clip the update region to the zero rect when scrolling. Don't do this
for Java, because it results in repaint problems.

  • plugins/PluginQuirkSet.h: Added the DontClipToZeroRectWhenScrolling quirk (WebCore::):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::updateWindow): Readded the old behavior of clipping to the zero rect when updating the window during a scroll. Added plug-in quirk to ignore this behavior for Java. Swapped order of the SetWindowRgn() and MoveWindow() calls to prevent Java from painting outside of its container during a scroll. (WebCore::PluginViewWin::determineQuirks): If this is Java, add the DontClipToZeroRectWhenScrolling quirk.
12:57 PM Changeset in webkit [29973] by timothy@apple.com
  • 4 edits in trunk/WebCore

Reviewed by Mark Rowe.

<rdar://problem/5722972> Leopard needs to statically link SQLite

  • Configurations/Base.xcconfig: Always have a header search path for WebCoreSQLite3.
  • Configurations/DebugRelease.xcconfig: Ditto.
  • Configurations/WebCore.xcconfig: Always link against WebCoreSQLite3.
12:29 PM Changeset in webkit [29972] by Adam Roben
  • 2 edits in trunk/LayoutTests
  • platform/win/Skipped: Added one more failure.
12:24 PM Changeset in webkit [29971] by Adam Roben
  • 1 edit in trunk/LayoutTests/platform/win/Skipped

Fixed a typo

12:23 PM Changeset in webkit [29970] by Adam Roben
  • 2 edits in trunk/LayoutTests
  • platform/win/Skipped: Added some new failures.
12:17 PM Changeset in webkit [29969] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix

  • bindings/scripts/CodeGeneratorCOM.pm: Touched to force a rebuild of the COM bindings.
11:04 AM Changeset in webkit [29968] by harrison@apple.com
  • 3 edits
    3 adds in trunk

WebCore:

Reviewed by Tim Hatcher.

  • fix <rdar://problem/5715481> REGRESSION (r26499): JavaScript document.lastModified is not supported

Re-add attribute inadvertantly lost by r26499.

Test: fast/js/lastModified.html: Added.

  • dom/Document.idl: Add lastModified.

LayoutTests:

Reviewed by Tim Hatcher.

Test for <rdar://problem/5715481> REGRESSION (r26499): JavaScript document.lastModified is not supported

  • fast/js/lastModified-expected.txt: Added.
  • fast/js/lastModified.html: Added.
  • fast/js/resources/lastModified.js: Added.
10:41 AM Changeset in webkit [29967] by Darin Adler
  • 1 edit in trunk/WebCore/ChangeLog

Fix wrongly auto-merged change log.

10:40 AM Changeset in webkit [29966] by Darin Adler
  • 3 edits in trunk/WebCore

Fix the search field if the inpsected Document has overridden
Document.evaluate or Document.querySelectorAll

Reviewed by Darin.

  • manual-tests/inspector-document-methods-override.html: Added.
  • page/InspectorController.cpp: (WebCore::InspectorController::didCommitLoad): Reworded a comment to force WebCore.vcproj to build.
  • page/inspector/inspector.js: Call Document.prototype.{evaluate,querySelectorAll}.call instead of calling the functions directly on the inspected Document. This ensures we are calling the version of these functions we intended to.
10:37 AM Changeset in webkit [29965] by Adam Roben
  • 3 edits
    1 add in trunk/WebCore

Fix the search field if the inpsected Document has overridden Document.evaluate or Document.querySelectorAll

Reviewed by Darin.

  • manual-tests/inspector-document-methods-override.html: Added.
  • page/InspectorController.cpp: (WebCore::InspectorController::didCommitLoad): Reworded a comment to force WebCore.vcproj to build.
  • page/inspector/inspector.js: Call Document.prototype.{evaluate,querySelectorAll}.call instead of calling the functions directly on the inspected Document. This ensures we are calling the version of these functions we intended to.
10:26 AM ApplicationsGtk edited by alp@atoker.com
Add another app: Clutter (diff)
9:31 AM ApplicationsGtk edited by alp@atoker.com
List a few more apps (diff)
9:25 AM Changeset in webkit [29964] by Darin Adler
  • 4 edits in trunk/WebCore

Reviewed by Tim Hatcher.

  • possible fix for <rdar://problem/5714030> Crash in Database::deliverAllPendingCallbacks() reloading a page quickly

I don't fully understand the cause of the crash, but I think this might
be a helpful change.

  • platform/sql/SQLiteTransaction.cpp: (WebCore::SQLiteTransaction::commit): If the commit fails, don't leave this transaction and database both marked as "still in progress". As far as I can tell this does no good, and also seems to do harm. (WebCore::SQLiteTransaction::rollback): Ditto.
  • storage/Database.cpp: (WebCore::Database::performTransactionStep): Add some assertions to detect databases stuck in the "transaction in progress" state.
  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::openTransactionAndPreflight): Ditto. (WebCore::SQLTransaction::postflightAndCommit): Ditto. (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto.
9:23 AM Changeset in webkit [29963] by Darin Adler
  • 19 edits
    1 copy
    5 adds in trunk

WebCore:

Reviewed by Geoff.

  • fix <rdar://problem/5715692> REGRESSION (r28570): JavaScript window.scrollTo() calls no longer accept 'undefined' values

By default, we should accept non-numeric parameters and non-integral numbers for
parameters that expect integers, without throwing exceptions.

While creating the test for this, I ran into a couple minor bugs with the
functions involved, and this patch fixes those too.

Test: fast/dom/non-numeric-values-numeric-parameters.html

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::add): Added. This function has unusual behavior when passed non-integral values for its second parameter, so it needs to be written by hand. I think that [Custom] is better here than inventing a new keyword.
  • bindings/scripts/CodeGeneratorJS.pm: Changed default for "long" and "unsigned long" to ignore errors rather than failing due to type differences. Also changed a couple functions to use hashes.
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::removeRule): Remove overload of removeRule without a second parameters. While we do allow this from JavaScript, it's not a true optional parameter, but rather just a case of "you can omit parameters and they are treated as undefined" combined with "undefined turns into 0 when passed to a function that takes an integer".
  • css/CSSStyleSheet.idl: Removed [Optional] on the index parameter for removeRule. This is not truly an optional parameter.
  • dom/ProgressEvent.cpp: (WebCore::ProgressEvent::initProgressEvent): Updated this function to match other DOM event init functions -- important to do nothing if this is called on the an already-dispatched event and we need to respect the bubble and cancelable arguments. Also removed initProgressEventNS. We don't support namespaced events, and if we add support, it should be across all event classes, not just ProgressEvent.
  • dom/ProgressEvent.h: Removed initProgressEventNS.
  • dom/ProgressEvent.idl: Ditto.
  • dom/Range.cpp: (WebCore::Range::createContextualFragment): Added a check for 0. This can happen if the passed-in start container is a node that's not an HTML element and also does not have a parent.
  • html/HTMLOptionsCollection.idl: Added the [Custom] attribute to add, since the rules for processing its parameters are unusual.
  • page/DOMSelection.cpp: Removed the version of setPosition that has only one parameter. The offset is not really optional.
  • page/DOMSelection.h: Ditto.
  • page/DOMSelection.idl: Removed the [Optional] keyword for the second parameter of setPosition. It's not a true optional parameter (see discussion of removeRule above).
  • page/DOMWindow.cpp: (WebCore::DOMWindow::adjustWindowRect): Simplified logic for constraining the X and Y coordinates, in a way that makes them work even when the window coordinates are infinite. Also strengthened the assertion.

WebKitTools:

Reviewed by Geoff.

  • Scripts/make-js-test-wrappers: Look at the whole LayoutTests tree, not just the fast and svg subdirectories. Added some more exceptions for the benefit of the fast/dom subdirectory.

LayoutTests:

Reviewed by Geoff.

  • test for <rdar://problem/5715692> REGRESSION (r28570): JavaScript window.scrollTo() calls no longer accept 'undefined' values
  • fast/dom/non-numeric-values-numeric-parameters-expected.txt: Added.
  • fast/dom/non-numeric-values-numeric-parameters.html: Added.
  • fast/dom/resources/TEMPLATE.html: Copied from fast/dom/Element/resources/TEMPLATE.html.
  • fast/dom/resources/non-numeric-values-numeric-parameters.js: Added.
  • editing/selection/extend-expected.txt: Updated.
  • editing/selection/extend.html: Removed test that extend throws if passed only one parameter. There's no reason for us to be strict about this -- we generally treat missing parameters the same as if "undefined" had been passed with few exceptions.
8:13 AM Changeset in webkit [29962] by Adam Roben
  • 2 edits in trunk/WebKitTools

Windows Apple-only build fix

  • DumpRenderTree/win/DumpRenderTree.vcproj: Added a new include directory.
5:34 AM QtWebKitTodo edited by Simon Hausmann
(diff)
3:00 AM Changeset in webkit [29961] by alp@webkit.org
  • 71 edits in trunk

2008-02-04 Alp Toker <alp@atoker.com>

Rubber-stamped by Mark Rowe.

Remove all trailing whitespace in the GTK+ port and related
components.

Note: See TracTimeline for information about the timeline view.