Timeline


and

10/24/07:

23:38 Changeset [27022] by eseidel
  • 31 edits
    1 copy
    1 add in trunk

2007-10-24 Eric Seidel <eric@webkit.org>

Reviewed by Maciej.


Add a JSGlobalObject class and remove the InterpreterMap
http://bugs.webkit.org/show_bug.cgi?id=15681


This required making JSCallbackObject a template class to allow for
JSGlobalObjects with JSCallbackObject functionality.


SunSpider claims this was a 0.5% speedup.

  • API/JSCallbackObject.cpp: (KJS::):
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h: Copied from API/JSCallbackObject.cpp. (KJS::::JSCallbackObject): (KJS::::init): (KJS::::~JSCallbackObject): (KJS::::initializeIfNeeded): (KJS::::className): (KJS::::getOwnPropertySlot): (KJS::::put): (KJS::::deleteProperty): (KJS::::implementsConstruct): (KJS::::construct): (KJS::::implementsHasInstance): (KJS::::hasInstance): (KJS::::implementsCall): (KJS::::callAsFunction): (KJS::::getPropertyNames): (KJS::::toNumber): (KJS::::toString): (KJS::::setPrivate): (KJS::::getPrivate): (KJS::::inherits): (KJS::::cachedValueGetter): (KJS::::staticValueGetter): (KJS::::staticFunctionGetter): (KJS::::callbackGetter):
  • API/JSClassRef.cpp: (OpaqueJSClass::prototype):
  • API/JSContextRef.cpp: (JSGlobalContextCreate):
  • API/JSObjectRef.cpp: (JSObjectMake): (JSObjectGetPrivate): (JSObjectSetPrivate):
  • API/JSValueRef.cpp: (JSValueIsObjectOfClass):
  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bindings/c/c_utility.cpp: (KJS::Bindings::convertValueToNPVariant):
  • bindings/jni/jni_jsobject.cpp:
  • bindings/objc/objc_utility.mm: (KJS::Bindings::convertValueToObjcValue):
  • kjs/Context.cpp: (KJS::Context::Context):
  • kjs/ExecState.cpp: (KJS::ExecState::lexicalInterpreter):
  • kjs/JSGlobalObject.h: Added. (KJS::JSGlobalObject::JSGlobalObject): (KJS::JSGlobalObject::isGlobalObject): (KJS::JSGlobalObject::interpreter): (KJS::JSGlobalObject::setInterpreter):
  • kjs/array_instance.cpp:
  • kjs/context.h:
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): (KJS::GlobalFuncImp::callAsFunction):
  • kjs/interpreter.cpp: (KJS::Interpreter::Interpreter): (KJS::Interpreter::init): (KJS::Interpreter::~Interpreter): (KJS::Interpreter::globalObject): (KJS::Interpreter::initGlobalObject): (KJS::Interpreter::evaluate):
  • kjs/interpreter.h:
  • kjs/lookup.h: (KJS::cacheGlobalObject):
  • kjs/object.h: (KJS::JSObject::isGlobalObject):
  • kjs/testkjs.cpp:
23:26 JavaScript performance improvement ideas edited by eric@webkit.org
(diff)
22:38 JavaScript performance improvement ideas edited by eric@webkit.org
(diff)
22:33 Changeset [27021] by staikos
  • 2 edits in trunk/WebKitTools

unbreak Qt build

22:23 Changeset [27020] by aroben
  • 7 edits
    2 adds in trunk

Fix <rdar://5549919> Add font database initialization code to WebCore and call it from WebKit

WebCore:

Add font database initialization code to WebCore

Reviewed by Ada.

  • WebCore.vcproj/WebCore.vcproj: Added FontDatabase.{cpp,h}.
  • platform/win/FontDatabase.cpp: Added. (WebCore::systemFontsDirectory): (WebCore::fontsPlistPath): (WebCore::systemHasFontsNewerThanFontsPlist): (WebCore::readFontPlist): (WebCore::populateFontDatabaseFromPlist): (WebCore::populateFontDatabaseFromFileSystem): (WebCore::writeFontDatabaseToPlist): (WebCore::populateFontDatabase): This is the only function callable from outside this file. It populates the font database once, either from the fonts plist, or from the filesystem (and then saves a new fonts plist).
  • platform/win/FontDatabase.h: Added.

WebKitTools:

Remove now-unnecessary call to InitializeCoreGraphics

WebKit takes care of this now.

Reviewed by Ada.

  • DumpRenderTree/win/DumpRenderTree.cpp: (initialize):

WebKit/win:

Fix <rdar://5549919> Initialize the font database before any font code is invoked

We initialize the database in two places:

  1. When instantiating WebKitClassFactory, which is guaranteed to happen before any WebView is instantiated.
  2. When making a WebCore::Font in WebKitGraphics.

This ensures that the font database will be populated before any font
code is invoked. We rely on WebCore to only populate the database
once.

Reviewed by Ada.

  • WebKitClassFactory.cpp: (WebKitClassFactory::WebKitClassFactory): Populate the font database.
  • WebKitGraphics.cpp: (makeFont): Ditto.
22:22 Changeset [27019] by aroben
  • 9 edits
    2 copies in trunk

Add [I]WebTextRenderer

WebKitTools:

Use WebTextRenderer in DRT

Reviewed by Ada.

  • DumpRenderTree/win/DumpRenderTree.cpp: (initialize): Use WebTextRenderer instead of using InitializeCoreGraphics/AddFontResourceEx.

WebKit/win:

Add [I]WebTextRenderer

Right now this class can only be used to add private fonts for use by
the running process, but will eventually be the home of the
WebKitGraphics functions.

Reviewed by Ada.

  • ForEachCoClass.h: Added WebTextRenderer.
  • Interfaces/WebKit.idl: Ditto.
  • WebKit.vcproj/Interfaces.vcproj: Ditto.
  • WebKit.vcproj/WebKit.vcproj: Ditto.
  • WebKit.vcproj/WebKitGUID.vcproj: Ditto.
  • WebKitClassFactory.cpp: Ditto.
  • WebTextRenderer.cpp: Added. (WebTextRenderer::createInstance): (WebTextRenderer::WebTextRenderer): (WebTextRenderer::~WebTextRenderer): (WebTextRenderer::QueryInterface): (WebTextRenderer::AddRef): (WebTextRenderer::Release): (WebTextRenderer::registerPrivateFont):
  • WebTextRenderer.h: Added.
22:22 Changeset [27018] by aroben
  • 4 edits in trunk/WebKit/win

Use FOR_EACH_COCLASS in WebKitClassFactory

Reviewed by Ada.

  • WebError.cpp: (WebError::createInstance): Added an overload that takes no arguments to make the macro used in WebKitClassFactory work.
  • WebError.h:
  • WebKitClassFactory.cpp: (WebKitClassFactory::CreateInstance): Use FOR_EACH_COCLASS.
22:22 Changeset [27017] by aroben
  • 3 edits
    1 add in trunk/WebKit/win

Put FOR_EACH_COCLASS macro into its own file and export it

The macro used to be called FOR_EACH_CLASS and lived in WebKitDLL.cpp.
This way we will be able to use the macro in more places that care
about all WebKit's COM classes.

Reviewed by Ada.

  • ForEachCoClass.h: Added.
  • WebKit.vcproj/WebKit.vcproj: Copy ForEachCoClass.h to WebKitOutputDir, and added it to the project.
  • WebKitDLL.cpp: Updated for macro rename, and changed to #undef the macros we pass to FOR_EACH_COCLASS after we're done with them.
22:20 Changeset [27016] by aroben
  • 4 edits in trunk/WebKitLibraries

Added some font-related functions needed for <rdar://5549919>

Reviewed by Ada.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h:
  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:
22:01 Changeset [27015] by mrowe@apple.com
  • 3 edits in trunk/WebKitTools

2007-10-24 Sven Herzberg <sven@imendio.com>

Reviewed by Mark Rowe.

Fixes http://bugs.webkit.org/show_bug.cgi?id=15614
Bug 15614: [GTK] qmake based backends don't build on OS X

  • Scripts/build-webkit: set QMAKESPEC correctly if building the QT or GTK backend on a Mac
  • Scripts/webkitdirs.pm: extracted the darwin-test from isOSX() into isDarwin() to make it reusable in other places (like the workaround- for-prebuilt-qmake in build-webkit)
20:51 Changeset [27014] by ddkilzer
  • 2 edits in trunk/WebKitTools

Refurbish update-webkit script.

Reviewed by Adam.

Scripts/update-webkit: Add -hhelp switch and usage statement. Check result of
GetOptions() call. Fix -qquiet switch to be passed to svn command properly. Use

multi-argument version of system() for flexibility and security. Check for existence
of Internal directory using -d test instead of -x.

20:50 Changeset [27013] by ddkilzer
  • 2 edits in trunk/WebKitTools

Minor clean-up of prepare-ChangeLog script.

Reviewed by Adam.

  • Scripts/prepare-ChangeLog: Keep list of updated ChangeLog files in an array instead of a string. Use multi-argument versions of open() and system() for flexibility and security.
19:40 Changeset [27012] by adachan
  • 2 edits in trunk/WebKit/win

<rdar://problem/5552221> REGRESSION(310A24-ToT): Shortcut key disable. (15604)

Reviewed by Adam.

  • WebView.cpp: (WebView::handleEditingKeyboardEvent): don't handle system key events as text input (WebView::keyDown): only remove WM_SYSCHAR message from the queue if we handle it. For WM_SYSCHAR message that we don't handle, let it stay in the queue and return false to let windows handle it.
18:19 Changeset [27011] by aroben
  • 15 edits in trunk

Touch all files that include *.lut.h to fix Windows builds

18:16 Changeset [27010] by bdash
  • 2 edits in trunk/WebKit/gtk

2007-10-24 Mark Rowe <mrowe@apple.com>

Gtk build fix. Track WebCore changes in r27004.

  • Api/webkitgtkglobal.cpp:
17:58 Changeset [27009] by justing
  • 6 edits in trunk

WebCore:

Reviewed by Darin Adler.

Correcting the fix for:
<rdar://problem/5544856>
REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time


Made removal of the previous composition part of the current Undo step in the
case where the new composition is the empty string, too.

  • editing/Editor.cpp: (WebCore::Editor::confirmComposition): Call the new TypingCommand::deleteSelection, which either has the currently open typing command delete the current selection, or opens a new typing command (of type DeleteSelection) if one is not already open. (WebCore::Editor::setComposition): Ditto.
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteSelection): Added. (WebCore::TypingCommand::doApply): Handle DeleteSelection. (WebCore::TypingCommand::deleteKeyPressed): Clarified which deleteSelection is called. (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto. (WebCore::TypingCommand::preservesTypingStyle): Handle DeleteSelection.
  • editing/TypingCommand.h:

LayoutTests:

Reviewed by Darin.


<rdar://problem/5544856>
REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time

  • platform/mac/editing/input/text-input-controller-expected.txt: The delete we were using previously to remove the old composition makes fewer calls to the editing delegate.
17:30 Changeset [27008] by weinig
  • 2 edits in trunk/WebCore

Build fix.

  • WebCore.vcproj/WebCore.vcproj:
17:10 Changeset [27007] by thatcher
  • 1 edit in trunk/WebKitTools/Scripts/build-webkit

Build fix.

16:55 Changeset [27006] by thatcher
  • 4 edits
    2 adds
    1 delete in trunk

WebKit:

Reviewed by Mark Rowe.

<rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard

Use the WebKitSystemInterface that matches the system version.

  • Configurations/DebugRelease.xcconfig:
  • WebKit.xcodeproj/project.pbxproj:

WebKitLibraries:

Reviewed by Mark Rowe.

<rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard

Add system specific versions of WebKitSystemInterface.

  • libWebKitSystemInterface.a: Removed.
  • libWebKitSystemInterfaceLeopard.a: Added.
  • libWebKitSystemInterfaceTiger.a: Added.
16:29 Changeset [27005] by aliceli1
  • 7 edits in trunk

WebCore:

Reviewed by Oliver.

Fix <rdar://5410959> editing/selection/drag-to-contenteditable-iframe.html fails on Windows


  • page/win/EventHandlerWin.cpp: (WebCore::EventHandler::passMouseMoveEventToSubframe): Some mouse move events are actually drags, which on mac return early from this function. Adding the same logic to its Windows equivalent.

WebKitTools:

Reviewed by Oliver.

Fix <rdar://5410959> editing/selection/drag-to-contenteditable-iframe.html fails on Windows

Move the call to replaySavedEvents from doDragDrop to doMouseMove because we don't want to
replay the saved events when we're still processing the mousedown that starts the drag

  • DumpRenderTree/win/EventSender.cpp: (doMouseMove):
  • DumpRenderTree/win/UIDelegate.cpp: (UIDelegate::doDragDrop):

LayoutTests:

Removing fixed test

  • platform/win/Skipped:
16:02 Changeset [27004] by beidson
  • 10 edits
    2 adds in trunk

WebCore:

Reviewed by Anders

<rdar://5554130> DatabaseTracker.o has a global initializer

Since DatabaseTracker is a singleton, it makes much more sense to keep the database path as a member variable.
Now constructing the shared DatabaseTracker no longer implicitly opens it - It is only opened when the databases
path is set.


  • WebCore.vcproj/WebCore.vcproj: Copy WebCore/storage headers for WebKit build


  • storage/Database.cpp: (WebCore::Database::~Database): Remove bogus assertion


  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::DatabaseTracker): Does nothing now! Move this code to openTrackerDatabase (WebCore::DatabaseTracker::setDatabasePath): Set the member variable, also closing/opening the database if needed (WebCore::DatabaseTracker::databasePath): (WebCore::DatabaseTracker::openTrackerDatabase): To open and validate the Databases db, moved from the c'tor (WebCore::DatabaseTracker::fullPathForDatabase): Return the member variable
  • storage/DatabaseTracker.h:


WebKit/win:

Reviewed by Anders

Windows portion of <rdar://5554130>


Slowly introduce Windows WebKit portion of the Database API that sets the
on-disk location for databases


  • WebDatabaseManager.cpp: Added. (WebKitSetWebDatabasesPathIfNecessary):
  • WebDatabaseManager.h: Added.


  • WebKit.vcproj/WebKit.vcproj:


  • WebView.cpp: (WebView::initWithFrame): Call WebKitSetWebDatabasesPathIfNecessary()


WebKit:

Reviewed by Anders

<rdar://problem/5554130> DatabaseTracker.o has a global initializer

  • Misc/WebDatabaseManager.mm: (WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one
16:00 Changeset [27003] by kmccullo
  • 11 edits
    2 adds in trunk

WebKitTools:

Reviewed by Sam, Steve and Darin.

  • Stubbed out the WebScriptDebugListener functionality in the Server Connection class to prepare it for receiving those callbacks.
  • Also I changed the instantiation of DebuggerClient, DebuggerDocument and the ServerConnection to not need to be initialized with a server name, since that is not the way we connect to the WebKit server.
  • Drosera/DebuggerDocument.cpp: Fixed a bug where I was always logging no exception. Now it only loggs when there is an exception (DebuggerDocument::willExecuteStatement): (DebuggerDocument::didEnterCallFrame): (DebuggerDocument::willLeaveCallFrame): (DebuggerDocument::windowScriptObjectAvailable): (DebuggerDocument::callFunctionOnObject):
  • Drosera/win/DebuggerClient.cpp: No longer needs the ServerConnection to be instantiated with a server's name. (DebuggerClient::DebuggerClient): (DebuggerClient::didFinishLoadForFrame):
  • Drosera/win/DebuggerClient.h: Removed unsued variable.
  • Drosera/win/Drosera.cpp: Client no longer needs to be initialized with a server name. (Drosera::init): (Drosera::initServer):
  • Drosera/win/Drosera.h: No longer need the ServerConnection to be instantiated with a server's name.
  • Drosera/win/ServerConnection.cpp: (ServerConnection::ServerConnection): No longer needs a server name (ServerConnection::~ServerConnection): Only release the global context if there is one. (ServerConnection::serverConnectionDidDie): Stub for IWebScriptDebugListener (ServerConnection::QueryInterface): ditto (ServerConnection::AddRef): ditto (ServerConnection::Release): ditto (ServerConnection::didLoadMainResourceForDataSource): ditto (ServerConnection::didParseSource): ditto (ServerConnection::failedToParseSource): ditto (ServerConnection::didEnterCallFrame): ditto (ServerConnection::willExecuteStatement): ditto (ServerConnection::willLeaveCallFrame): ditto (ServerConnection::exceptionWasRaised): ditto
  • Drosera/win/ServerConnection.h: Stubbed out the IWebScriptDebugListener functions, and this class no longer needs to be instantiated with a server name.

win:

Reviewed by Sam, Steve and Darin.

  • Added stubs for what will be neede to let Drosera attach to the WebKit process and debug it.
  • Interfaces/IWebScriptCallFrame.idl: Added.
  • Interfaces/IWebScriptDebugListener.idl: Added.
  • Interfaces/WebKit.idl:
  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/WebKitGUID.vcproj:
15:10 Changeset [27002] by eseidel
  • 2 edits in trunk/JavaScriptCore

2007-10-24 Eric Seidel <eric@webkit.org>

Build fix for Gtk, no review.

  • kjs/collector.cpp: #include "context.h"
14:31 Changeset [27001] by eseidel
  • 5 edits
    2 adds in trunk

2007-10-24 Eric Seidel <eric@webkit.org>

Reviewed by Maciej.


Stop checking isOutOfMemory after every allocation, instead let the collector
notify all ExecStates if we ever hit this rare condition.


SunSpider claims this was a 2.2% speedup.

  • kjs/collector.cpp: (KJS::Collector::collect): (KJS::Collector::reportOutOfMemoryToAllInterpreters):
  • kjs/collector.h:
  • kjs/nodes.cpp: (KJS::TryNode::execute):
13:33 Changeset [27000] by hyatt
  • 3 edits in trunk/WebCore

Don't try to gap fill transformed selections. Fix the invalidation of selection to use the clip to visible content
code path so that it works with multi-column layouts and transforms.

Reviewed by aroben

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::isSelectionRoot): (WebCore::RenderBlock::fillSelectionGaps):
  • rendering/RenderView.cpp: (WebCore::RenderView::setSelection):
13:25 Changeset [26999] by eseidel
  • 3 edits in trunk/WebCore

2007-10-24 Eric Seidel <eric@webkit.org>

No review, I want to tickle the CIA bot to test changes,
and took this as an opportunity to clean up some old change logs.

  • ChangeLog-2005-08-23: update email address
  • ChangeLog-2006-12-31: fix spelling mistakes
11:45 Changeset [26998] by mitz
  • 140 edits in trunk

WebCore:

Reviewed by Oliver Hunt.

  • add "(anonymous)" to the renderName of anonymous table cells, rows and sections
  • rendering/RenderTableCell.h: (WebCore::RenderTableCell::renderName):
  • rendering/RenderTableRow.h: (WebCore::RenderTableRow::renderName):
  • rendering/RenderTableSection.h: (WebCore::RenderTableSection::renderName):

LayoutTests:

Reviewed by Oliver Hunt.

  • updated results to reflect which table parts are anonymous
11:41 Changeset [26997] by thatcher
  • 3 edits in trunk/WebCore

Reviewed by Adam.

Bug 15476: DOM tree fully expands some elements when arrowing up
http://bugs.webkit.org/show_bug.cgi?id=15476

Add a new expandTreeElementsWhenArrowing option to TreeOutline. This option
is used only for the sidebar and search results.

  • page/inspector/inspector.js: Opt-in for the sidebar and search results.
  • page/inspector/treeoutline.js: Add expandTreeElementsWhenArrowing and pass this option to traverseNextTreeElement and traversePreviousTreeElement.
11:30 Changeset [26996] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-10-24 Mark Rowe <mrowe@apple.com>

Gtk build fix.

  • kjs/identifier.h: Remove extra qualification.
11:04 Changeset [26995] by ggaren
  • 3 edits in trunk/JavaScriptCore

Reviewed by Sam Weinig.


Disable ALWAYS_INLINE in debug builds, since it drives the debugger
crazy.

  • wtf/AlwaysInline.h:
11:02 Changeset [26994] by ggaren
  • 4 edits in trunk/JavaScriptCore

Reviewed by Sam Weinig.


Inlined the fast path for creating an Identifier from an Identifier.


This is a .4% speedup on SunSpider overall, but as big as a 2.5%
speedup on certain individual tests. 65% of the Identifiers creating
by SunSpider are already Identifiers.


(The main reason I'm making this change is that it resolves a large
regression in a patch I haven't checked in yet.)

  • JavaScriptCore.exp:
  • kjs/identifier.cpp: (KJS::Identifier::addSlowCase):
  • kjs/identifier.h: (KJS::Identifier::Identifier::add):
10:58 Changeset [26993] by andersca
  • 1 edit in trunk/WebCore/ChangeLog

Fix ChangeLog.

10:56 Changeset [26992] by andersca
  • 6 edits in trunk/WebCore

Reviewed by Geoff and Mitz.

<rdar://problem/5493833>
REGRESSION: ~5MB of image data leaked @ cuteoverload.com (often seen while browsing other sites, too)

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/kjs_binding.cpp: (KJS::ScriptInterpreter::markDOMNodesForDocument): If an image element that is currently loading an image is not in the document, it should still be marked.


  • bindings/js/kjs_html.cpp: (WebCore::ImageConstructorImp::construct): Force the document wrapper to be created.


  • html/HTMLImageElement.h: (WebCore::HTMLImageElement::haveFiredLoadEvent): New method which calls down to the image loader.


  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::HTMLImageLoader): (WebCore::HTMLImageLoader::~HTMLImageLoader): (WebCore::HTMLImageLoader::setLoadingImage): (WebCore::HTMLImageLoader::dispatchLoadEvent): Remove code that's not needed anymore.


  • html/HTMLImageLoader.h: (WebCore::HTMLImageLoader::haveFiredLoadEvent): Make this public.
10:27 Changeset [26991] by aroben
  • 6 edits in trunk

Move Windows safe file creation code into WebCore from WebPreferences

WebCore:

Move Windows safe file creation code into WebCore from WebPreferences

Reviewed by Brady.

  • platform/FileSystem.h:
  • platform/win/FileSystemWin.cpp: (WebCore::safeCreateFile): Moved here from WebKit/win/WebPreferences.cpp.

WebKit/win:

Move safe file creation code to WebCore

Reviewed by Brady.

  • WebPreferences.cpp: (preferencesPath): Made into a static helper function. (WebPreferences::save): Now calls WebCore's safeCreateFile function. (WebPreferences::load): Uses String/CString to handle the UTF-8 conversion.
  • WebPreferences.h: Removed preferencesPath and safeCreateFileWithData.
10:27 Changeset [26990] by aroben
  • 6 edits in trunk

Reduce code duplication by using WebCore's FileSystem functions

WebCore:

Add methods to FileSystemWin to get some user profile directories

These directories are used to hold things like preferences, caches,
etc.

Reviewed by Brady.

  • platform/FileSystem.h: Added new method declarations for Windows only.
  • platform/win/FileSystemWin.cpp: (WebCore::bundleName): Added. (WebCore::storageDirectory): Added. (WebCore::cachedStorageDirectory): Added. (WebCore::localUserSpecificStorageDirectory): Added. Returns the directory where WebKit should store any user-specific data that should stay local to the current machine (i.e., shouldn't be stored in a roaming profile). (WebCore::roamingUserSpecificStorageDirectory): Added. Returns the directory where WebKit should store any user-specific data that should move with the user from machine to machine (i.e., should be stored in a roaming profile).

WebKit/win:

Reduce code duplication by using WebCore's FileSystem functions

Reviewed by Brady.

  • WebIconDatabase.cpp: Removed a now-unused function and a fixed FIXME. (WebIconDatabase::init): Changed to use FileSystem functions.
  • WebPreferences.cpp: (WebPreferences::preferencesPath): Ditto.
06:28 Changeset [26989] by bdash
  • 3 edits in trunk/LayoutTests

2007-10-24 Mark Rowe <mrowe@apple.com>

Fix incorrect test results landed with r26986.

  • http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader-expected.txt:
06:21 Changeset [26988] by lars
  • 13 edits
    18 adds in trunk/LayoutTests

update some test results for the Qt port.

06:06 Changeset [26987] by alp
  • 2 edits in trunk/WebCore

2007-10-24 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=15659
InlineTextBox does not setStrokeStyle() as needed

GraphicsContextCairo workaround to support a GraphicsContextCG quirk:

Save and restore the StrokeStyle manually.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawLineForText):
05:49 Changeset [26986] by bdash
  • 5 edits
    6 adds in trunk

2007-10-24 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Darin.

Patch for http://bugs.webkit.org/show_bug.cgi?id=15356
Bug 15356: getResponseHeader and getAllResponseHeaders do not throw exceptions

  • getAllResponseHeaders and getResponseHeader throws INVALID_STATE_ERR exception as specified in the specification
  • Add the check to field-name production in getResponseHeader (call to isValidToken) and returns an empty string if the header is not valid (Opera and IE behaviour)
  • Updated XMLHttpRequest::responseMIMEType() to keep its behaviour

Tests: http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html

http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html
http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html

  • bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::getAllResponseHeaders): (WebCore::XMLHttpRequest::getResponseHeader): (WebCore::XMLHttpRequest::responseMIMEType):
  • xml/XMLHttpRequest.h:

2007-10-24 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Darin.

Tests for http://bugs.webkit.org/show_bug.cgi?id=15356
getResponseHeader and getAllResponseHeaders do not throw exceptions

  • http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html: Added.
05:33 Changeset [26985] by lars
  • 2 edits
    3 adds in trunk/LayoutTests

these tests don't crash anymore :)

05:33 Changeset [26984] by lars
  • 2 edits in trunk/WebKit/qt
  • Stop crashing on fast/events/frame-tab-focus.html the keyEvent can be 0.

Signed-off-by: Lars Knoll <lars@trolltech.com>

05:33 Changeset [26983] by lars
  • 2 edits in trunk/WebCore

implement most of DragData.

05:33 Changeset [26982] by lars
  • 4 edits in trunk

add a layoutTestController.dumpSelectionRect() dummy. It only has an effect on mac pixel tests anyway. Makes us pass another 5 test cases.

05:33 Changeset [26981] by lars
  • 2 edits
    511 adds in trunk/LayoutTests

we're passing most editing tests now. Commit them.

05:33 Changeset [26980] by lars
  • 2 edits in trunk/WebKitTools

add another command.

05:32 Changeset [26979] by lars
  • 2 edits
    1 add
    3 deletes in trunk/LayoutTests

convert the text to be text only, and fix it up a little so it doesn't depend on specific font metrics anymore.

05:32 Changeset [26978] by lars
  • 2 edits in trunk/WebKit/qt

remove some notImplemented() warnings.

05:32 Changeset [26977] by lars
  • 3 edits in trunk/WebKitTools

add empty eventSender.clearKillRing(), and map some of the special keys used in eventSender.keyDown() to things that work on Qt/X11.

05:32 Changeset [26976] by lars
  • 2 edits in trunk/WebCore

remove a stupid notImplemented() warning and implement PasteBoad::clear().

05:32 Changeset [26975] by lars
  • 2 edits in trunk/WebKit/qt

allow paste from DOM so we pass more test cases.

05:32 Changeset [26974] by lars
  • 2 edits in trunk/WebCore

implement Pasteboard::documentFragment(), and fix a mem leak.

05:32 Changeset [26973] by lars
  • 2 edits in trunk/WebKitTools

implement eventSender.keyDown().

05:32 Changeset [26972] by lars
  • 3 edits in trunk/JavaScriptCore

some changes to the way JS values are converted to Qt values in the script bindings. Added support for converting JS arrays into QStringList's.

05:32 Changeset [26971] by lars
  • 5 edits in trunk

Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information.

05:32 Changeset [26970] by lars
  • 5 edits in trunk

some smaller fixes to the editing support in DRT. Makes another few tests pass.

05:32 Changeset [26969] by lars
  • 2 edits in trunk/LayoutTests

explicitly add some tests that currently cause DRT to hang.

05:32 Changeset [26968] by lars
  • 5 edits in trunk/WebKitTools

first bit of implementation for the textinputcontroller.

05:32 Changeset [26967] by lars
  • 2 edits in trunk/WebKit/qt

implemented support for most editing shortcuts to make contentEditable usable.

05:32 Changeset [26966] by lars
  • 2 edits in trunk/WebKit/qt

no need to call setIsActive ourselves on the frame, as the focus controller does it for us.

05:32 Changeset [26965] by lars
  • 2 edits in trunk/WebKitTools

make the man webpage believe it has focus, so the editing tests work correctly.

05:32 Changeset [26964] by lars
  • 3 edits in trunk/WebKitTools

implement layoutTestController.dumpEditingCallbacks() correctly.

05:32 Changeset [26963] by lars
  • 3 edits in trunk/WebCore

use the new QTextBoundaryFinder class in Qt.

05:32 Changeset [26962] by lars
  • 4 edits in trunk

Implement support for testing editing.

01:53 Changeset [26961] by oliver
  • 4 edits in trunk/JavaScriptCore

Remove old relation method, replace with specialised LessThan and lessThenEq functions for a 0.5-0.6% improvement in SunSpider

Reviewed by Darin

01:50 Changeset [26960] by eseidel
  • 2 edits in trunk/JavaScriptCore

2007-10-24 Eric Seidel <eric@webkit.org>

Reviewed by darin.

  • kjs/nodes.h: (KJS::ImmediateNumberNode::): Fix ASSERT correctness (and debug build!)
01:21 Changeset [26959] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Eric.

  • kjs/object.cpp: (KJS::JSObject::defaultValue): Get rid of a little Identifier ref/deref for what SunSpider claims is a 0.4% speedup.
01:14 Changeset [26958] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • separate out the code to create a hash table the first time from the code to rehash

SunSpider claims this was a 0.7% speedup.

  • kjs/property_map.cpp: (KJS::PropertyMap::expand): Changed to call either createTable or rehash. (KJS::PropertyMap::createTable): Added. For the case where we had no table. (KJS::PropertyMap::rehash): Removed code needed only in the case where we had no table.
  • kjs/property_map.h: Added createTable.
01:06 Changeset [26957] by eseidel
  • 5 edits in trunk/JavaScriptCore

2007-10-24 Eric Seidel <eric@webkit.org>

Reviewed by darin.


Add ImmediateNumberNode to hold a JSValue* instead of a double for numbers
which can be represented by JSImmediate.

  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::NumberNode::evaluate): (KJS::ImmediateNumberNode::evaluate):
  • kjs/nodes.h: (KJS::Node::): (KJS::ImmediateNumberNode::):
  • kjs/nodes2string.cpp: (ImmediateNumberNode::streamTo):
01:03 Changeset [26956] by darin
  • 6 edits in trunk

JavaScriptCore:

Reviewed by Maciej.

Seems to give 0.7% SunSpider speedup.

  • kjs/create_hash_table: Updated to generate new format.
  • kjs/lookup.cpp: (KJS::keysMatch): Took out unneeded typecast. (KJS::findEntry): Updated to expect table type 3 -- changed the printf to a plain old assert. Replaced the modulus with a bit mask. (KJS::Lookup::findEntry): Get the hash directly, since we know identifiers already have computed their hash -- saves a branch. (KJS::Lookup::find): Ditto.
  • kjs/lookup.h: Changed attr from 2-byte value to one-byte value. Replaced hashSize with hashSizeMask.

WebCore:

Reviewed by Maciej.

  • bindings/scripts/CodeGeneratorJS.pm: Updated to generate new format.
00:59 Changeset [26955] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • remove KJS_CHECKEXCEPTIONs in places where exceptions can't happen for 0.6% SunSpider speedup
  • kjs/nodes.cpp: (KJS::DoWhileNode::execute): (KJS::WhileNode::execute): (KJS::ForNode::execute): (KJS::ForInNode::execute): (KJS::SourceElementsNode::execute):
00:41 Changeset [26954] by darin
  • 3 edits in trunk/SunSpider

Reviewed by Eric.

  • sunspider: Open the profile in shark after completing a run.
  • sunspider-compare-results: Tiny perl tweaks.
00:40 Changeset [26953] by hausmann
  • 2 edits in trunk/WebCore

Fix pathByAppendingComponent for the Qt port.

10/23/07:

23:52 Changeset [26952] by hyatt
  • 2 edits in trunk/WebCore

Make repainting work with transforms.

Reviewed by John Sullivan

  • rendering/RenderBox.cpp: (WebCore::RenderBox::computeAbsoluteRepaintRect):
23:41 Changeset [26951] by darin
  • 1 edit in trunk/SunSpider/hosted

Ignore files generated by the make-hosted script.

23:19 Changeset [26950] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • kjs/JSImmediate.h: (KJS::JSImmediate::getUInt32): Changed an && to an & for a 1% gain in SunSpider.
21:40 Changeset [26949] by alp
  • 4 edits in trunk/WebCore

2007-10-23 Alp Toker <alp@atoker.com>

Reviewed by Maciej.

http://bugs.webkit.org/show_bug.cgi?id=14412
[GDK] Clipboard support

Initial clipboard implementation for the GTK+ port.

  • platform/gtk/ClipboardGtk.cpp: (WebCore::Editor::newGeneralClipboard):
  • platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::generalPasteboard): (WebCore::Pasteboard::Pasteboard): (WebCore::Pasteboard::~Pasteboard): (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writeImage): (WebCore::Pasteboard::clear): (WebCore::Pasteboard::plainText):
  • platform/gtk/TemporaryLinkStubs.cpp:
21:35 Changeset [26948] by thatcher
  • 3 edits in trunk/WebCore

Reviewed by Adam.

Fixes the Network panel so that it refreshes as needed.

  • page/inspector/ConsolePanel.js: Call the base class show() and hide() first.
  • page/inspector/NetworkPanel.js: Add refreshNeeded and refreshIfNeeded back. Ditto.
20:47 Changeset [26947] by weinig
  • 2 edits in trunk/WebKitTools

Check for null BSTR that can be passed to the UIDelegate methods
from javascript null and undefined. Fixes a failing test case on
Windows (fast/dom/Window/alert-undefined.html)

Reviewed by Eric Seidel.

  • DumpRenderTree/win/UIDelegate.cpp: (UIDelegate::runJavaScriptAlertPanelWithMessage): (UIDelegate::runJavaScriptConfirmPanelWithMessage): (UIDelegate::runJavaScriptTextInputPanelWithPrompt): (UIDelegate::webViewAddMessageToConsole):
19:15 Changeset [26946] by mitz
  • 6 edits in trunk/WebCore

Rolled out r26941 because it of layout test failures.

19:01 Changeset [26945] by oliver
  • 4 edits in trunk/JavaScriptCore

Reduce branching in implementations of some operator implementations, yielding 1.3% boost to SunSpider.

Reviewed by Maciej

  • kjs/nodes.cpp: (KJS::MultNode::evaluate): (KJS::DivNode::evaluate): (KJS::ModNode::evaluate): (KJS::add): (KJS::sub): (KJS::AddNode::evaluate): (KJS::SubNode::evaluate): (KJS::valueForReadModifyAssignment):
  • kjs/operations.cpp:
  • kjs/operations.h:
18:59 Changeset [26944] by justing
  • 4 edits in trunk/LayoutTests

Fixing an accidental change made in r25484.

  • editing/pasteboard/quirks-mode-br-1.html:
  • platform/mac/editing/pasteboard/quirks-mode-br-1-expected.checksum:
  • platform/mac/editing/pasteboard/quirks-mode-br-1-expected.txt:
18:56 Changeset [26943] by justing
  • 4 edits in trunk/LayoutTests

Reviewed by Oliver Hunt.


<rdar://problem/5544856>
REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time


  • platform/mac/editing/input/firstrectforcharacterrange-styled-expected.txt:
  • platform/mac/editing/input/text-input-controller-expected.txt:
  • platform/mac/editing/input/wrapped-line-char-rect-expected.txt:
18:53 Changeset [26942] by justing
  • 2 edits in trunk/WebCore

Reviewed by Oliver Hunt.

<rdar://problem/5544856>
REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time


No layout test for now because I'm having trouble getting Undo during a layout
test to only undo the last Undo step, and I want to write a test that fails
without the code change.

  • editing/Editor.cpp: (WebCore::Editor::confirmComposition): When we replace the previous composition, delete it with a sub-command of the command used to insert the new composition, instead of with a separate command. No new code was added because insertText already deletes the current selection. (WebCore::Editor::setComposition): Ditto.
18:51 Changeset [26941] by mitz
  • 5 edits
    1 add in trunk/WebCore

Reviewed by Eric Seidel.

Calling updateWidget() during attach() led to arbitrary (plugin and resource load delegate)
code execution under attach(). The fix is to use the mechanism that's already in place for
deferring updateWidget() until after layout.

  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::attach): Replaced call to updateWidget() with call to updateWidgetSoon()
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::attach): Ditto.
  • manual-tests/paint-during-plugin-attach.html: Added.
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidgetSoon): Added this function that schedules the updateWidget() call for after the next layout.
  • rendering/RenderPartObject.h:
18:36 Changeset [26940] by weinig
  • 3 edits in trunk/WebKit/win

Make the WebNotificationCenter work with null (wildcard) and specific
observed objects, matching NSNotificationCenter.

  • Removes the ObserverKey, ObserverHash, and ObserverKeyTraits as we now hash against the notification name only and check the object on notification posting.
  • Use OwnPtr for the WebNotificationCenterPrivate member variable.

Reviewed by Adam Roben.

  • WebNotificationCenter.cpp: (WebNotificationCenter::WebNotificationCenter): (WebNotificationCenter::~WebNotificationCenter): (WebNotificationCenter::postNotificationInternal): (WebNotificationCenter::addObserver): (WebNotificationCenter::postNotification): (WebNotificationCenter::postNotificationName): (WebNotificationCenter::removeObserver):
  • WebNotificationCenter.h:
18:33 Changeset [26939] by sfalken
  • 1 copy in tags/Safari-523.12.8b

New tag.

18:33 Changeset [26938] by sfalken
  • 1 edit in branches/Safari-3-branch/WebKit/win/WebKit.vcproj/VERSION

Bump versions for submit

18:30 Changeset [26937] by aroben
  • 2 edits in trunk/WebCore

Fix the behavior of pathByAppendingComponent when path is empty

We now use the Windows Shell API function PathAppendW instead of
rolling our own broken implementation.

Reviewed by Anders.

  • platform/win/FileSystemWin.cpp: (WebCore::pathByAppendingComponent):
17:56 Changeset [26936] by mjs
  • 2 edits in trunk/WebKitTools

Reviewed by Darin.


Don't print a massive pile of setenvs from tools that automatically build testkjs.

  • Scripts/build-testkjs:
17:40 Changeset [26935] by mjs
  • 3 edits
    1 add in trunk

SunSpider:

Reviewed by Darin.

  • Don't hardcode my path to testkjs


  • sunspider-compare-results:

WebKitTools:

Reviewed by Darin.

  • add wrapper that finds the right copy of testkjs


  • Scripts/sunspider-compare-results: Added.
17:12 Changeset [26934] by adele
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin.

Fix for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872

Test: fast/forms/textfield-onchange-deletion.html

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.

LayoutTests:

Reviewed by Darin.

Test for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872

  • fast/forms/textfield-onchange-deletion-expected.txt: Added.
  • fast/forms/textfield-onchange-deletion.html: Added.
17:08 Changeset [26933] by thatcher
  • 8 edits
    7 adds in trunk/WebCore

Reviewed by Sam Weinig.

  • Made seperate files for the various classes in ResourcePanel.js.
  • Broke up ResourcePanel.js and created seperate panel classes for different resource types.
  • Moved View code down to the Panel base-class.
  • Reduced code duplication in DatabasePanel.js by sub-classing from the new ResourcePanel.
  • page/inspector/DatabasePanel.js:
  • page/inspector/DocumentPanel.js: Added.
  • page/inspector/FontPanel.js: Added.
  • page/inspector/ImagePanel.js: Added.
  • page/inspector/Panel.js: Added.
  • page/inspector/PropertiesSection.js: Added.
  • page/inspector/Resource.js:
  • page/inspector/ResourcePanel.js:
  • page/inspector/SidebarPane.js: Added.
  • page/inspector/SourcePanel.js: Added.
  • page/inspector/inspector.css:
  • page/inspector/inspector.html:
  • page/inspector/inspector.js:
16:47 Changeset [26932] by andersca
  • 2 edits in trunk/WebCore

Correct the version #if check.


  • platform/sql/SQLDatabase.cpp: (WebCore::SQLDatabase::authorizerFunction):
16:40 Changeset [26931] by sfalken
  • 3 edits in branches/Safari-3-branch/WebCore

Reviewed by Anders.

<rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
java page

It is possible to load Mozilla's Java plugin instead of our own, which
can lead to a crash. The fix is to prefer plugins in our own Plugins
directory when searching for a plugin.

  • plugins/win/PluginDatabaseWin.cpp: (WebCore::safariPluginsPath): Return the path to our own Plugins directory (WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method safariPluginsPath() (WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is our Plugins path, return this plugin. Otherwise, continue scanning the list of plugins (WebCore::PluginDatabaseWin::pluginForExtension): Same
  • plugins/win/PluginPackageWin.h: (WebCore::PluginPackageWin::path): Return this plugin's path
16:30 Changeset [26930] by sfalken
  • 2 edits in branches/Safari-3-branch/WebCore

Fix build.

  • plugins/win/PluginViewWin.cpp:
16:16 Changeset [26929] by honeycutt
  • 3 edits in trunk/WebCore

2007-10-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Anders.

<rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
java page

It is possible to load Mozilla's Java plugin instead of our own, which
can lead to a crash. The fix is to prefer plugins in our own Plugins
directory when searching for a plugin.

  • plugins/win/PluginDatabaseWin.cpp: (WebCore::safariPluginsPath): Return the path to our own Plugins directory (WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method safariPluginsPath() (WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is our Plugins path, return this plugin. Otherwise, continue scanning the list of plugins (WebCore::PluginDatabaseWin::pluginForExtension): Same
  • plugins/win/PluginPackageWin.h: (WebCore::PluginPackageWin::path): Return this plugin's path
16:14 Changeset [26928] by adachan
  • 5 edits in trunk/WebKit/win

<rdar://problem/5244261> SafariWin ignores cookie policy setting "never" in the preferences
Custom WebPreferences (not the shared WebPreferences) could override the cookie accept
policy setting on the default cookie storage. To fix that, I added a new method in
WebView called updateGlobalSettingsFromPreferences() to handle updating the global pref
options such as cookie accept policy, and it's only called to update changes from
the shared WebPreferences.


Use CLSID_WebPreferences and remove IID_WebPreferences.

Reviewed by Darin and Adam.

  • WebPreferences.cpp: (WebPreferences::QueryInterface):
  • WebPreferences.h:
  • WebView.cpp: (WebView::updateWebCoreSettingsFromPreferences): (WebView::updateGlobalSettingsFromPreferences): (WebView::updateSettingsFromPreferences): (WebView::developerExtrasEnabled): (WebView::initWithFrame): (WebView::onNotify):
  • WebView.h:
16:11 Changeset [26927] by kmccullo
  • 6 edits in trunk/WebKitTools

Reviewed by Sam.

  • After talking with Steve I now see that the WebKit server must be running for DCOM to create the distributed objects, which makes sense and currently WebKit only allows one instance to be running at a time which avoids accidentally connecting to the wrong server
  • In light of this I have removed the code for the attach box and NotificationServer and known server names, since they are all extranious now.
  • Drosera/win/Drosera.cpp: Removed notification classes and known server names. (_tWinMain): Uses init instead of initUI. (droseraWndProc): No longer creats an attach dialog box. (Drosera::Drosera): Does the OleInitialize so COM is ready to go and it's not manditory to call init before doing COM stuff. (Drosera::init): calls initUI and will call attach when the functionality exists. (Drosera::initUI): Has changed very little. (Drosera::attach): Changed the signature to reflect that we no longer need the dictionary of known server names.
  • Drosera/win/Drosera.h: Removed notification classes and known server names. Also renamed and moved some functions.
  • Drosera/win/Drosera.vcproj/Drosera.rc: Removed the Attach box.
  • Drosera/win/Drosera.vcproj/Drosera.vcproj: Moved resource.h from the headers to the resources folder.
  • Drosera/win/resource.h: Removed the Attach box.
15:27 Changeset [26926] by mjs
  • 2 edits
    2 adds in trunk/SunSpider

Reviewed by Darin.


  • Add a compare script to compare results, and improve formatting of standard results a bit.
  • resources/sunspider-analyze-results.js:
  • resources/sunspider-compare-results.js: Added.
  • sunspider-compare-results: Added.
14:25 Changeset [26925] by oliver
  • 6 edits in trunk/JavaScriptCore

Separating all of the simple binary expression nodes into multiple classes

Reviewed by Maciej

Separating all of the simple (eg. non-read-modify-write) binary operators into separate classes in preparation for further JS optimisations.

Happily this produces a 0.8% to 1.0% performance increase in SunSpider with no further work.

12:29 Changeset [26924] by alp
  • 2 edits in trunk/WebCore

2007-10-23 Jasper Bryant-Greene <m@ni.ac.nz>

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15058
Precedence fault in KeyEventGdk causes shift, control, alt etc to work incorrectly

Corrected precendence fault which was causing Shift, Alt, Control and
Meta to behave incorrectly on GTK.

Coding style fix by Alp.

  • platform/gtk/KeyEventGtk.cpp: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
12:05 BuildingGtk edited by iwkse@claws-mail.org
(diff)
11:25 Changeset [26923] by aroben
  • 2 edits in trunk/LayoutTests

Add some SVG tests to the Windows Skipped file

Reviewed by Oliver.

  • platform/win/Skipped:
11:11 Changeset [26922] by weinig
  • 5 edits in trunk/WebCore

Reviewed by Tim Hatcher.

Add resizing of the DOM view right sidebar. This allows us to actually see the values now.

  • page/inspector/ResourcePanel.js:
  • page/inspector/inspector.css:
  • page/inspector/inspector.js:
  • page/inspector/utilities.js:
08:52 Changeset [26921] by hyatt
  • 9 edits in trunk/WebCore

Get basic hit testing right for transforms.

Reviewed by ollliej

  • platform/graphics/AffineTransform.cpp: (WebCore::AffineTransform::mapPoint):
  • platform/graphics/AffineTransform.h:
  • rendering/InlineBox.cpp: (WebCore::InlineBox::nodeAtPoint):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::nodeAtPoint):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::hitTest): (WebCore::RenderLayer::hitTestLayer):
  • rendering/RenderLayer.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::hitTest):
  • rendering/RenderObject.h:
08:49 Changeset [26920] by darin
  • 3 edits in trunk/LayoutTests
  • removed numeric results so the test is more platform-independent
  • fast/js/math-expected.txt: Updated.
  • fast/js/resources/math.js: Updated.
07:12 Changeset [26919] by darin
  • 3 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Maciej.

Test: fast/js/math.html

  • kjs/math_object.cpp: (MathFuncImp::callAsFunction): Fix abs to look at the sign bit. Add a special case for values in the range between -0 and -1 and a special case for ceil and for -0 for floor.

LayoutTests:

Reviewed by Maciej.

  • fast/js/math-expected.txt: Added.
  • fast/js/math.html: Added.
  • fast/js/resources/math.js: Added.
05:11 Changeset [26918] by bdash
  • 2 edits in trunk/WebKit

2007-10-23 Mark Rowe <mrowe@apple.com>

Build fix for Eric's build fix in r26916.

  • MigrateHeaders.make:
02:44 Changeset [26917] by eseidel
  • 2 edits in trunk/WebCore

2007-10-23 Eric Seidel <eric@webkit.org>

Reviewed by Mark Rowe.

Fix leaks seen on TOT from new font-face code.

  • ksvg2/svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::rebuildFontFace): use a stack allocated CSSProperty instead of mallocing
01:33 Changeset [26916] by eseidel
  • 3 edits in trunk/WebCore

2007-10-23 Eric Seidel <eric@webkit.org>

Build fix only, no review.

Sacrifice three virgin hours upon the altar of the heathen XCode gods
and pray that our build troubles are finally over. :(

  • DerivedSources.make: add DOMSVGException.h
  • WebCore.xcodeproj/project.pbxproj: Remove DOMSVG*Interal.h files from "Copy Generated Headers" phase. Why? Who knows.
00:07 Changeset [26915] by mjs
  • 3 edits in trunk/SunSpider

Reviewed by Darin.

  • resources/sunspider-analyze-results.js: Do the error range properly, using the t-distribution instead of 1.96 (which was based on the normal distribution).


  • sunspider: Print results in a way that will be friendlier to the soon-to-come compare mode.
00:00 Changeset [26914] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Eric.

  • streamline exception handling code for a >1% speed-up of SunSpider
  • kjs/nodes.cpp: Changed macros to use functions for everything that's not part of normal execution. We'll take function call overhead when propagating an exception or out of memory. (KJS::createOutOfMemoryCompletion): Added. (KJS::substitute): Use append instead of the relatively inefficient + operator. (KJS::Node::rethrowException): Added.
  • kjs/nodes.h: Added rethrowException.

10/22/07:

23:45 Changeset [26913] by sfalken
  • 2 edits in trunk/WebCore

Fix build.

  • plugins/win/PluginViewWin.cpp:
23:44 Changeset [26912] by darin
  • 7 edits in trunk/JavaScriptCore

Reviewed by Maciej.

This should restore correctness and make speed better too, restoring some
of the optimization we lost in my last check-in.

  • kjs/JSImmediate.h: (KJS::JSImmediate::getTruncatedInt32): Added. Uses the range checking idiom I used in my patch yesterday. (KJS::JSImmediate::getTruncatedUInt32): Ditto.
  • kjs/internal.h: Removed getInt32 and added getTruncatedInt/UInt32.
  • kjs/internal.cpp: (KJS::NumberImp::getUInt32): Changed to always use double, since I can't find a way to write this more efficiently for float. (KJS::NumberImp::getTruncatedInt32): Added. (KJS::NumberImp::getTruncatedUInt32): Added.
  • kjs/value.h: Removed getInt32 and added getTruncatedInt/UInt32. (KJS::JSValue::getUInt32): (KJS::JSValue::getTruncatedInt32): Added. (KJS::JSValue::getTruncatedUInt32): Added. (KJS::JSValue::toInt32): Changed getInt32 call to getTruncatedInt32. (KJS::JSValue::toUInt32): Changed getUInt32 call to getTruncatedUInt32.
  • kjs/value.cpp: (KJS::JSCell::getTruncatedInt32): Added. (KJS::JSCell::getTruncatedUInt32): Added. (KJS::JSValue::toInteger): Changed getUInt32 call to getTruncatedInt32. (KJS::JSValue::toInt32SlowCase): Removed extra getInt32 call I accidentally had left in here. (KJS::JSValue::toUInt32SlowCase): Ditto. (KJS::JSValue::toUInt16): Changed getUInt32 call to getTruncatedUInt32.
23:28 Changeset [26911] by eseidel
  • 2 edits in trunk/WebCore

2007-10-22 Eric Seidel <eric@webkit.org>

Build fix only, no review.

  • WebCore.xcodeproj/project.pbxproj: re-add all DOMSVG headers to copy-files phase to make sure.
23:22 Changeset [26910] by eseidel
  • 2 edits in trunk/WebCore

2007-10-22 Eric Seidel <eric@webkit.org>

Build fix only, no review.

  • WebCore.xcodeproj/project.pbxproj: make sure DOMSVGAnimateElement.h is copied into headers.
23:07 Changeset [26909] by eseidel
  • 1 edit in trunk/WebCore/ksvg2/svg/SVGAnimateElement.idl

Touch SVGAnimateElement.idl to force to bots to rebuild *SVGAnimateElement.*

21:19 Changeset [26908] by mjs
  • 2 edits
    7 adds in trunk/SunSpider

Reviewed by Review.


  • add more tests (probably the final set for now)


Already balanced. Added date, regexp, control flow, and a few
more string and object/array access tests.


  • tests/LIST:
  • tests/access-fannkuch.js: Added.
  • tests/access-nbody.js: Added.
  • tests/controlflow-recursive.js: Added.
  • tests/date-format-tofte.js: Added.
  • tests/date-format-xparb.js: Added.
  • tests/regexp-dna.js: Added.
  • tests/string-validate-input.js: Added.
20:49 Changeset [26907] by eseidel
  • 12 edits
    2 adds in trunk

2007-10-22 Eric Seidel <eric@webkit.org>

Reviewed by Maciej.

Fix build by properly exposing SVG font-face dom bindings.

  • DerivedSources.make:
  • WebCore.vcproj/WebCore.vcproj: add font-face files to build
  • WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files
  • bindings/js/JSSVGElementWrapperFactory.cpp:
  • bindings/objc/DOM.mm: (WebCore::createElementClassMap):
  • bindings/objc/DOMSVG.h:
  • ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement
19:44 Changeset [26906] by bdash
  • 2 edits in trunk/WebCore

2007-10-22 Mark Rowe <mrowe@apple.com>

Gtk build fix.

  • WebCore.pro:
19:30 Changeset [26905] by darin
  • 3 edits in trunk/WebCore
  • a first cut at fixing the Qt and GTK builds
  • WebCore.pro: Add new .idl and .cpp files.
  • DerivedSources.make: Re-sorted.
18:02 JavaScript performance improvement ideas edited by mjs@apple.com
(diff)
17:50 JavaScript performance improvement ideas edited by ggaren@apple.com
(diff)
17:38 Changeset [26904] by eseidel
  • 15 edits
    28 adds in trunk

2007-10-22 Eric Seidel <eric@webkit.org>

Reviewed by hyatt.

Implement <font-face> and friends for SVG.
http://bugs.webkit.org/show_bug.cgi?id=10652

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSSVGElementWrapperFactory.cpp:
  • dom/Document.cpp: (WebCore::Document::mappedElementSheet): (WebCore::Document::recalcStyleSelector):
  • dom/Document.h:
  • ksvg2/scripts/make_names.pl:
  • ksvg2/svg/SVGDefinitionSrcElement.cpp: Added. (WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement): (WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement): (WebCore::SVGDefinitionSrcElement::childrenChanged):
  • ksvg2/svg/SVGDefinitionSrcElement.h: Added.
  • ksvg2/svg/SVGDefinitionSrcElement.idl: Added.
  • ksvg2/svg/SVGFontFaceElement.cpp: Added. (WebCore::SVGFontFaceElement::SVGFontFaceElement): (WebCore::SVGFontFaceElement::~SVGFontFaceElement): (WebCore::cssPropertyIdForName): (WebCore::mapAttributeToCSSProperty): (WebCore::cssPropertyIdForSVGAttributeName): (WebCore::SVGFontFaceElement::parseMappedAttribute): (WebCore::SVGFontFaceElement::rebuildFontFace): (WebCore::SVGFontFaceElement::childrenChanged):
  • ksvg2/svg/SVGFontFaceElement.h: Added.
  • ksvg2/svg/SVGFontFaceElement.idl: Added.
  • ksvg2/svg/SVGFontFaceFormatElement.cpp: Added. (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement): (WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement): (WebCore::SVGFontFaceFormatElement::childrenChanged):
  • ksvg2/svg/SVGFontFaceFormatElement.h: Added.
  • ksvg2/svg/SVGFontFaceFormatElement.idl: Added.
  • ksvg2/svg/SVGFontFaceNameElement.cpp: Added. (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement): (WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement): (WebCore::SVGFontFaceNameElement::srcValue):
  • ksvg2/svg/SVGFontFaceNameElement.h: Added.
  • ksvg2/svg/SVGFontFaceNameElement.idl: Added.
  • ksvg2/svg/SVGFontFaceSrcElement.cpp: Added. (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement): (WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement): (WebCore::SVGFontFaceSrcElement::srcValue): (WebCore::SVGFontFaceSrcElement::childrenChanged):
  • ksvg2/svg/SVGFontFaceSrcElement.h: Added.
  • ksvg2/svg/SVGFontFaceSrcElement.idl: Added.
  • ksvg2/svg/SVGFontFaceUriElement.cpp: Added. (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement): (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement): (WebCore::SVGFontFaceUriElement::srcValue): (WebCore::SVGFontFaceUriElement::childrenChanged):
  • ksvg2/svg/SVGFontFaceUriElement.h: Added.
  • ksvg2/svg/SVGFontFaceUriElement.idl: Added.
  • ksvg2/svg/svgtags.in:
17:33 Changeset [26903] by aroben
  • 2 edits in trunk/WebKitTools

Windows build fix

Reviewed by NOBODY.

  • Scripts/build-dumprendertree: Fix path to DumpRenderTree.sln.
17:28 Changeset [26902] by sfalken
  • 1 copy in tags/Safari-523.12.7b

New tag.

17:28 Changeset [26901] by sfalken
  • 1 edit in branches/Safari-3-branch/WebKit/win/WebKit.vcproj/VERSION

Bump versions for submit

17:26 Changeset [26900] by sfalken
  • 2 edits in branches/Safari-3-branch/WebCore

Merged fix from r26898.

16:36 Changeset [26899] by darin
  • 7 edits in trunk

JavaScriptCore:

Reviewed by Geoff.

One of the JavaScriptCore tests was failing; it failed because of
my change to NumberImp::getUInt32. The incorrect code I copied was
from JSImmediate::getUInt32, and was a pre-existing bug.

This patch fixes correctness, but will surely slow down SunSpider.
We may be able to code this tighter and get the speed back.

  • kjs/JSImmediate.h: (KJS::JSImmediate::getInt32): Renamed from toInt32 to more accurately reflect the fact that this function only returns true if the value is accurate (no fractional part, etc.). Changed code so that it returns false when the value has a fraction. (KJS::JSImmediate::getUInt32): Ditto.
  • kjs/internal.cpp: (KJS::NumberImp::getInt32): Changed code so that it returns false when the value has a fraction. Restores the old behavior. (KJS::NumberImp::getUInt32): Ditto.
  • kjs/value.h: (KJS::JSValue::getInt32): Updated for name change. (KJS::JSValue::getUInt32): Ditto. (KJS::JSValue::toInt32): Ditto. (KJS::JSValue::toUInt32): Ditto.

LayoutTests:

Reviewed by Geoff.

Added tests for cases where you use something that looks like an array
index, but it has a fractional part.

  • fast/js/kde/resources/Array.js: Added tests.
  • fast/js/kde/Array-expected.txt: Updated.
16:29 Changeset [26898] by honeycutt
  • 2 edits in trunk/WebCore

2007-10-22 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Anders.

<rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
java page

We purposefully do not destroy our Java VM when its reference count
reaches 0, but we were unloading our JavaPlugin.dll when its reference
count reached 0, which lost the reference to the VM. This led to our
process trying to create a new VM the next time a page using Java was
loaded, and the JNI spec states that a single process is not allowed to
create more than one VM. The fix is to avoid unloading the Java plugin
via our PluginQuirkDontUnloadPlugin.

  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::determineQuirks):
15:18 Changeset [26897] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Brady.

  • kjs/array_instance.cpp: (KJS::ArrayInstance::mark): Copy and paste error: I accidentally had code here that was making a copy of the HashMap -- that's illegal inside a mark function and was unnecessary. The other callsite was modifying the map as it iterated it, but this function is not.
14:32 Changeset [26896] by hyatt
  • 6 adds in trunk/LayoutTests/platform/mac/fast/transforms

Add results for new layout tests for transforms.

14:32 Changeset [26895] by hyatt
  • 2 adds in trunk/LayoutTests/fast/transforms

Add two new layout tests for transforms.

14:29 Changeset [26894] by hyatt
  • 4 edits in trunk/WebCore

Fix for bug 15624, make transforms work properly with opacity.

Make sure a unitless 0 is allowed as an angle argument to rotation/skew.

Reviewed by Mitz Pettel

fast/transforms/transforms-with-opacity.html
fast/transforms/skew-with-unitless-zero.html

  • css/CSSParser.cpp: (WebCore::CSSParser::validUnit):
  • rendering/RenderLayer.cpp: (WebCore::transparencyClipBox): (WebCore::RenderLayer::beginTransparencyLayers): (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::calculateClipRects):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::transform):
14:26 Changeset [26893] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Oliver.


  • kjs/JSImmediate.h: (KJS::JSImmediate::fromDouble): Avoid moving floats to integer registers since this is very slow.
11:39 Changeset [26892] by darin
  • 7 edits in trunk/JavaScriptCore

Reviewed by Eric Seidel.

Makes SunSpider 6% faster.

  • kjs/JSImmediate.h: Added toInt32 and toUInt32, with separate versions for 32-bit and 64-bit.
  • kjs/value.h: (KJS::JSValue::getUInt32): Call JSImmediate::toUInt32.
  • kjs/internal.h: Added getInt32.
  • kjs/internal.cpp: (KJS::NumberImp::getInt32): Added. (KJS::NumberImp::getUInt32): Replaced with more-optimal implementation stolen from JSValue.
  • kjs/value.h: (KJS::jsNumber): Marked ALWAYS_INLINE, because this wasn't getting inlined. (KJS::JSValue::getInt32): Added. (KJS::JSValue::getUInt32): Changed to call the new JSImmediate::toUInt32 to avoid converting from float to double. (KJS::JSValue::toInt32): Made inline, separated out the slow case. (KJS::JSValue::toUInt32): Ditto.
  • kjs/value.cpp: (KJS::JSCell::getInt32): Added. (KJS::JSValue::toInt32SlowCase): Renamed from toInt32. Changed to use the new getInt32. Added a faster case for in-range numbers. (KJS::JSValue::toUInt32SlowCase): Ditto. (KJS::JSValue::toUInt16): Added a faster case for in-range numbers.
11:02 Changeset [26891] by kmccullo
  • 2 edits in trunk/WebKitTools
  • Removed a leak that was fixed.
  • Scripts/run-webkit-tests:
10:48 Changeset [26890] by kmccullo
  • 6 edits in trunk/WebKitTools

Reviewed by Darin.

  • Changed the Client so that the DebuggerDocument now own the ServerConnection. This simplifies ownership and cleanup.
  • Drosera/win/DebuggerClient.cpp: The DebuggerDocument now owns the ServerConnection. (DebuggerClient::initWithServerName): (DebuggerClient::didFinishLoadForFrame):
  • Drosera/win/DebuggerClient.h: DebuggerDocument now owns the ServerConnection.
  • Drosera/win/Drosera.cpp: Moved some WebFrame initialization logic to until after we have a server which we are attached to. (Drosera::initUI): (Drosera::attach):
  • Drosera/win/Drosera.h: Removed two needless pointers I forgot to take out previously.
10:43 Changeset [26889] by aroben
  • 5 edits in trunk

Windows build fix

JavaScriptCore:

Windows build fix

Reviewed by NOBODY.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Turn off warning about implicit conversion to bool.

WebCore:

Windows build fix

Reviewed by NOBODY.

  • WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql.
  • page/Page.cpp: Touched to force the header files to be copied.
10:14 Changeset [26888] by zimmermann
  • 4 edits in trunk/WebCore

Reviewed by Simon.

Move textPath related SVGChar data in it's own structure SVGCharOnPath.
Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool.

Saves space for the common case. And allows me to add more data (another float) to support
glyph-orientation-* on textPath later on...

09:29 QtWebKit edited by hausmann@webkit.org
(diff)
09:21 BuildingQtOnWindows edited by hausmann@webkit.org
(diff)
09:01 Changeset [26887] by hausmann
  • 2 edits in trunk/WebKitTools

When running build-testkjs make sure it's called through the perl interpreter, to fix the build for Qt/Windows.

08:06 Changeset [26886] by alp
  • 6 edits in trunk/WebCore

2007-10-22 Alp Toker <alp@atoker.com>

Reviewed by Nikolas Zimmermann.

Implement more GraphicsContextCairo stubs.

Remove a hack "to work around no current point bug" that was breaking
canvas tests.

Fix warnings.

  • platform/graphics/cairo/CairoPath.h: (WebCore::CairoPath::CairoPath):
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::strokeRect):
  • platform/graphics/cairo/PathCairo.cpp: (WebCore::Path::isEmpty):
  • platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: (WebCore::SVGPaintServerGradient::setup):
  • platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: (WebCore::SVGPaintServerSolid::setup):
07:54 Changeset [26885] by hausmann
  • 9 edits in trunk/WebKitTools

Wrap WEXITSTATUS with a little exitStatus() helper function that falls back to the use of $returnvalue >> 8 on Windows to determine the exit status on platforms without WEXITSTATUS.

07:53 Changeset [26884] by hausmann
  • 3 edits in trunk/WebCore

Fix compilation from a clean build with the database feature disabled.
JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter.

06:56 Changeset [26883] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-10-22 Mark Rowe <mrowe@apple.com>

Gtk build fix.

  • kjs/array_instance.cpp:
06:46 Changeset [26882] by darin
  • 1 edit in trunk/LayoutTests/ChangeLog
  • fast/js/kde/resources/Array.js: Added tests to cover missing value behavior (not the same as undefined values in arrays). This matches the ECMA JavaScript specification, but doesn't exactly match Firefox, because Firefox incorrectly inserts undefined values rather than missing values in array literals with extra commas.
  • fast/js/kde/Array-expected.txt: Updated with results.
06:35 Changeset [26881] by darin
  • 11 edits
    1 copy in trunk

JavaScriptCore:

Reviewed by Maciej.

Makes the morph test in SunSpider 26% faster, and the overall
benchmark 3% faster.

This also fixes some small problems we had with the distinction
between nonexistent and undefined values in arrays.

  • kjs/array_instance.h: Tweaked formatting and naming.
  • kjs/array_instance.cpp: Copied from kjs/array_object.cpp. (KJS::storageSize): Added. Computes the size of the storage given a vector length. (KJS::increasedVectorLength): Added. Implements the rule for resizing the vector. (KJS::isDenseEnoughForVector): Added. (KJS::ArrayInstance::ArrayInstance): Initialize the new fields. (KJS::ArrayInstance::~ArrayInstance): Since m_storage is now never 0, delete it. (KJS::ArrayInstance::getItem): Updated for name changes. (KJS::ArrayInstance::lengthGetter): Ditto. (KJS::ArrayInstance::inlineGetOwnPropertySlot): Added. Allows both versions of getOwnPropertySlot to share more code. (KJS::ArrayInstance::getOwnPropertySlot): Just refactored, no code change. (KJS::ArrayInstance::put): Added logic for extending the vector as long as the array is dense enough. Also keep m_numValuesInVector up to date. (KJS::ArrayInstance::deleteProperty): Added code to keep m_numValuesInVector up to date. (KJS::ArrayInstance::getPropertyNames): Fixed bug where this would omit names for array indices with undefined values. (KJS::ArrayInstance::increaseVectorLength): Renamed from resizeStorage. Also simplified to only handle getting larger. (KJS::ArrayInstance::setLength): Added code to update m_numValuesInVector, to zero out the unused part of the vector and to delete the map if it's no longer needed. (KJS::ArrayInstance::mark): Tweaked formatting. (KJS::compareByStringForQSort): Ditto. (KJS::ArrayInstance::sort): Ditto. (KJS::CompareWithCompareFunctionArguments::CompareWithCompareFunctionArguments): Ditto. (KJS::compareWithCompareFunctionForQSort): Ditto. (KJS::ArrayInstance::compactForSorting): Fixed bug where this would turn undefined values into nonexistent values in some cases.
  • kjs/array_object.h: Removed MAX_ARRAY_INDEX.
  • kjs/array_object.cpp: Removed ArrayInstance. Moved to a separate file.

LayoutTests:

  • fast/js/kde/resources/Array.js: Added tests to cover missing value behavior (not the same as undefined values in arrays). This matches the ECMA JavaScript specification, but doesn't exactly match Firefox.
  • fast/js/kde/Array-expected.txt: Updated with results.
05:56 Changeset [26880] by andrew
  • 10 edits in trunk

JavaScriptCore:

Reviewed by Mark Rowe.


Fix for local database support after r26879
Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set

  • Configurations/JavaScriptCore.xcconfig:

WebCore:

Reviewed by Mark Rowe.

Fix for local database support after r26879
Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set

  • Configurations/WebCore.xcconfig:
  • WebCore.pro:
  • WebCore.vcproj/build-generated-files.sh:

WebKit:

Reviewed by Mark Rowe.


Fix for local database support after r26879
Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set

  • Configurations/WebKit.xcconfig:

WebKitTools:

Reviewed by Mark Rowe.


Fix for local database support after r26879
Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set

  • Scripts/build-webkit:
04:39 Changeset [26879] by hausmann
  • 2 edits in trunk/JavaScriptCore

Build fix for the non-qmake builds.

04:28 Changeset [26878] by hausmann
  • 2 edits in trunk/WebCore

Disable the database feature in the qmake build for now.

04:22 Changeset [26877] by hausmann
  • 9 edits in trunk/WebCore

Make disabling the database feature (ENABLE_DATABASE=0) work by
placing various #ifdefs into the code and making the compilation of
some files optional.

03:41 Changeset [26876] by alp
  • 6 edits in trunk

2007-10-22 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=15611
[GTK] Text selection behaviour different in Debug and Release builds

http://bugs.webkit.org/show_bug.cgi?id=15578
[GTK] Text editor caret does not blink

Never allow control to reach the end of non-void functions.

Return more sensible values, or in some cases, nulls.

02:35 Changeset [26875] by hausmann
  • 2 edits in trunk/WebCore

Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy.

Signed-off-by: Simon Hausmann <hausmann@kde.org>

02:33 Changeset [26874] by hausmann
  • 5 edits in trunk
  • Do not build testkjs as an application bundle. This is

needed for run-javascriptcore-tests on OSX.

  • Also, based on r26633, allow to test the WebKit/Qt port on OSX.
  • Set DYLD_LIBRARY_PATH if it was set in the environment. It must be set

as we do not have -rpath on OSX.

Signed-off-by: Simon Hausmann <hausmann@kde.org>

02:24 Changeset [26873] by hausmann
  • 2 edits in trunk/WebCore

2007-10-15 Holger Hans Peter Freyther <zecke@selfish.org>

Style fix. It is allowed to attempt to delete 0.

Signed-off-by: Lars Knoll <lars@trolltech.com>

02:24 Changeset [26872] by hausmann
  • 2 edits in trunk/WebCore

2007-10-15 Holger Hans Peter Freyther <zecke@selfish.org>

Make it actually localizable....

Signed-off-by: Lars Knoll <lars@trolltech.com>

02:24 Changeset [26871] by hausmann
  • 2 edits in trunk/WebCore

2007-10-15 Holger Hans Peter Freyther <zecke@selfish.org>

Adjust the code to obey the Coding Style.

Signed-off-by: Lars Knoll <lars@trolltech.com>

02:24 Changeset [26870] by hausmann
  • 2 edits in trunk/WebCore

2007-10-15 Holger Hans Peter Freyther <zecke@selfish.org>

Return a non empty string in more functions.

Signed-off-by: Lars Knoll <lars@trolltech.com>

02:24 Changeset [26869] by hausmann
  • 3 edits in trunk/WebCore

2007-10-15 Holger Hans Peter Freyther <zecke@selfish.org>

Shrink the TemporaryLinkStubs and move the
Frame::setNeedsReapplyStyles stub to FrameQt.cpp

Signed-off-by: Lars Knoll <lars@trolltech.com>

02:18 Changeset [26868] by hausmann
  • 3 edits in trunk/WebCore

2007-10-15 Holger Hans Peter Freyther <zecke@selfish.org>

Implement the WebCore::fileSize function. The
implementation assumes that QFileInfo will cache
the result of the stat so that info.size() and
info.exists() use the same stat result.

Signed-off-by: Lars Knoll <lars@trolltech.com>

02:15 Changeset [26867] by alp
  • 3 edits
    1 move
    1 add in trunk/WebCore

2007-10-21 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

Use the portable GLib time function.

Use event timestamps rather than the current time where available.

Rename SharedTimerLinux.cpp since it isn't Linux-specific.

  • WebCore.pro:
  • platform/gtk/MouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  • platform/gtk/SystemTimeGtk.cpp: Added. (WebCore::currentTime):
  • platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp.
  • platform/gtk/SharedTimerLinux.cpp: Removed.
01:42 Changeset [26866] by hausmann
  • 2 edits in trunk/WebKitTools

Fix support for Signed-off-by detection in prepare-ChangeLog
--git-commit. The Signed-off-by tag does not appear in the header
but usually at the end.

00:31 Changeset [26865] by hyatt
  • 2 edits in trunk/WebCore

Fix for 15596, regression from my transform changes. Preserve null checks on the clip rects calls for parent(),
since the method is called on orphaned layers. This is not very well understood.

Reviewed by eric

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): (WebCore::RenderLayer::calculateRects):

10/21/07:

23:26 Changeset [26864] by bdash
  • 8 edits in trunk

2007-10-21 Mark Rowe <mrowe@apple.com>

Reviewed by Alp.

http://bugs.webkit.org/show_bug.cgi?id=15575
Bug 15575: [GTK] Implement threading using GThread

  • wtf/Platform.h: Do not enable pthreads for Gtk.

2007-10-21 Mark Rowe <mrowe@apple.com>

Reviewed by Alp.

http://bugs.webkit.org/show_bug.cgi?id=15575
Bug 15575: [GTK] Implement threading using GThread

  • WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads.
  • loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads. (WebCore::iconDatabase): (WebCore::IconDatabase::open):
  • platform/Threading.h:
  • platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation. (WebCore::initializeThreading): (WebCore::threadMapMutex): (WebCore::threadMap): (WebCore::establishIdentifierForThread): (WebCore::threadForIdentifier): (WebCore::clearThreadForIdentifier): (WebCore::createThread): (WebCore::waitForThreadCompletion): (WebCore::detachThread): (WebCore::Mutex::Mutex): (WebCore::Mutex::~Mutex): (WebCore::Mutex::lock): (WebCore::Mutex::tryLock): (WebCore::Mutex::unlock): (WebCore::ThreadCondition::ThreadCondition): (WebCore::ThreadCondition::~ThreadCondition): (WebCore::ThreadCondition::wait): (WebCore::ThreadCondition::signal): (WebCore::ThreadCondition::broadcast):
  • storage/Database.cpp: (WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even if the icon database is compiled out
23:08 Changeset [26863] by eseidel
  • 2 edits in trunk/SunSpider

2007-10-21 Eric Seidel <eric@webkit.org>

Reviewed by mjs.

  • sunspider: make --shark only sample from testkjs
22:44 Changeset [26862] by bdash
  • 5 edits in trunk

2007-10-21 Mark Rowe <mrowe@apple.com>

Reviewed by Mitz.

Fix http://bugs.webkit.org/show_bug.cgi?id=15603
Bug 15603: Regression(r26847): Crash when sorting an empty array from JavaScript

  • kjs/array_object.cpp: (KJS::freeStorage): Reinstate null-check that was removed in r26847.

2007-10-21 Mark Rowe <mrowe@apple.com>

Reviewed by Mitz.

Test for http://bugs.webkit.org/show_bug.cgi?id=15603
Bug 15603: Regression(r26847): Crash when sorting an empty array from JavaScript

  • fast/js/kde/Array-expected.txt:
  • fast/js/kde/resources/Array.js: Update to cover sorting an empty array.
20:57 Changeset [26861] by sfalken
  • 1 copy in tags/Safari-523.12.6b

New tag.

20:57 Changeset [26860] by sfalken
  • 1 edit in branches/Safari-3-branch/WebKit/win/WebKit.vcproj/VERSION

Bump versions for submit

20:16 Changeset [26859] by bdash
  • 2 edits in trunk/WebKitTools

2007-10-21 Mark Rowe <mrowe@apple.com>

Reviewed by Eric.

Fix run-javascriptcore-tests for Gtk.

  • Scripts/build-testkjs: testkjs is built by build-webkit for Gtk.
20:13 Changeset [26858] by mjs
  • 2 edits
    3 adds in trunk/SunSpider

Rubber stamped by Eric.


  • added crypto tests (already balanced)
  • tests/LIST:
  • tests/crypto-aes.js: Added.
  • tests/crypto-md5.js: Added.
  • tests/crypto-sha1.js: Added.
19:26 Changeset [26857] by bdash
  • 2 edits in trunk/WebCore

2007-10-21 Mark Rowe <mrowe@apple.com>

Build fix.

  • ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the implicit conversion warning.
19:09 BuildBot edited by bdash@webkit.org
(diff)
19:06 BuildBot edited by bdash@webkit.org
(diff)
19:05 Changeset [26856] by alp
  • 2 edits in trunk/WebCore

2007-10-21 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

Implement spelling and grammar mistake underlining with Pango/Cairo.

This change does not add any actual support for spelling or grammar
checking to any port.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
16:16 Changeset [26855] by mjs
  • 7 edits in trunk/SunSpider

Reviewed by Adam.


  • rebalance new tests


Scaled the new tests so they take 400-600ms on a reasonably normal user setup:


Internet Explorer 7, Window XP, Dell Latitude D810 with a 2.13GHz Pentium M

This balances them with the existing tests.

  • tests/access-binary-trees.js:
  • tests/access-nsieve.js:
  • tests/bitops-nsieve-bits.js:
  • tests/math-partial-sums.js:
  • tests/math-spectral-norm.js:
  • tests/string-fasta.js:
15:44 Changeset [26854] by alp
  • 5 edits in trunk/WebCore

2007-10-21 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

Cairo canvas fixes:

Fix a refcounting issue leading to leaks and crashes on canvas
content.

Delegate memory management of canvas images to Cairo.

Mark unhandled conditions with notImplemented() instead of silently
ignoring them.

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage):
  • html/CanvasStyle.cpp: (WebCore::CanvasStyle::applyStrokeColor):
  • html/CanvasStyle.h:
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::HTMLCanvasElement): (WebCore::HTMLCanvasElement::~HTMLCanvasElement): (WebCore::HTMLCanvasElement::reset): (WebCore::HTMLCanvasElement::paint): (WebCore::HTMLCanvasElement::createDrawingContext): (WebCore::HTMLCanvasElement::createPlatformImage):
14:17 Changeset [26853] by zimmermann
  • 3 edits in trunk/LayoutTests

Not reviewed.
Forgot to land the new computed style results in fast/css - after the addition of glyph-orientation-*.

13:35 Changeset [26852] by zimmermann
  • 10 edits
    2 adds in trunk

Reviewed by Eric.

Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties.

The SVG layouting code itself doesn't handle these properties yet,
it's just about recognizing them in the SVG CSS engine.

11:40 Changeset [26851] by ddkilzer
  • 2 edits in trunk/WebKitSite

WebKitSite:

Reviewed by Darin.

There was a race condition when creating the WebKitStickyNotes table for the
first time in which the loaded() function (renamed to loadNotes()) could be
called before the table was created. Prevent this by only calling loadNotes()
in an executeSql() callback after we know the table exists, or after we know
the table has been created.

  • misc/DatabaseExample.html: Renamed loaded() function to loadNotes(). Created a new loaded() function.
11:37 Changeset [26850] by darin
  • 3 edits in trunk/JavaScriptCore
  • fix Windows build
  • kjs/array_instance.h: Removed unused ExecState parameter.
  • kjs/array_object.cpp: (KJS::ArrayInstance::put): Ditto. (KJS::ArrayInstance::setLength): Ditto.
11:36 Changeset [26849] by alp
  • 2 edits in trunk/WebCore

2007-10-21 Christian Dywan <christian@twotoasts.de>

Reviewed by Alp.

http://bugs.webkit.org/show_bug.cgi?id=15589
Use glib's path separator on gtk

  • platform/gtk/FileSystemGtk.cpp: (WebCore::pathByAppendingComponent):
09:53 Changeset [26848] by darin
  • 2 edits in trunk/JavaScriptCore
  • kjs/array_object.cpp: (KJS::ArrayInstance::put): Add missing assignment that was causing regression test crash.
08:12 Changeset [26847] by darin
  • 4 edits in trunk/JavaScriptCore

Reviewed by Maciej.


Speeds up SunSpider by 10%.

  • kjs/array_object.cpp: (allocateStorage): Leave room for an additional pointer. (reallocateStorage): Ditto. (freeStorage): Ditto. (ArrayInstance::~ArrayInstance): Delete the overflow map if present. (ArrayInstance::getItem): Read values from the overflow map if present. Removed the check of length, since it slows down the common case. (ArrayInstance::getOwnPropertySlot): Ditto. Also removed the fallback to the property map. (ArrayInstance::put): Write values into the overflow map as needed. Also create overflow map when needed. (ArrayInstance::deleteProperty): Remove values from the overflow map as appropriate. (ArrayInstance::getPropertyNames): Add a name for each identifier in the property map. This is extremely inefficient. (ArrayInstance::setLength): Remove any values in the overflow map that are past the new length, as we formerly did with the property map. (ArrayInstance::mark): Mark any values in the overflow map. (compareByStringForQSort): Removed unneeded undefined case, since compactForSorting guarantees we will have no undefined values. (compareWithCompareFunctionForQSort): Ditto. (ArrayInstance::compactForSorting): Copy all the values out of the overflow map and destroy it.
  • kjs/property_map.h: Removed now-unused getSparseArrayPropertyNames.
  • kjs/property_map.cpp: Ditto.
00:10 Changeset [26846] by mitz
  • 6 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

Test: fast/text/word-space.html

  • rendering/RenderBlock.cpp: (WebCore::stripTrailingSpace): Added word-spacing to the width of the space being stripped out.
  • rendering/RenderText.cpp: (WebCore::RenderText::trimmedPrefWidths): Changed handling of leading space. Since Font::width includes leading space width but not leading word spacing, this method needs to either remove the width of a space character or add word spacing, depending on stripFrontSpaces. (WebCore::RenderText::calcPrefWidths): Corrected the check for adding trailing word spacing so that it would work in the case where the last space is ignored.
  • rendering/bidi.cpp: (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to actually add word spacing to the total width.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/text/word-space.html: Added.
  • platform/mac/fast/css/word-space-extra-expected.txt: Updated result.
  • platform/mac/fast/text/word-space-expected.checksum: Added.
  • platform/mac/fast/text/word-space-expected.png: Added.
  • platform/mac/fast/text/word-space-expected.txt: Added.

10/20/07:

23:48 Changeset [26845] by hyatt
  • 4 adds in trunk/LayoutTests/platform/mac/fast/transforms

Add new transforms directory along with an initial layout test.

23:44 Changeset [26844] by hyatt
  • 2 adds in trunk/LayoutTests/fast/transforms

Add new transforms directory along with an initial layout test.

23:39 Changeset [26843] by hyatt
  • 9 edits in trunk/WebCore

Land support for the transform CSS property. Basic painting now works properly. There are many open issues
that will have to be covered by individual bugs.

Reviewed by olliej

  • css/CSSParser.cpp: (WebCore::CSSParser::validUnit): (WebCore::CSSParser::parseTransform):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::~RenderLayer): (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::updateTransform): (WebCore::transparencyClipBox): (WebCore::RenderLayer::beginTransparencyLayers): (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::calculateClipRects): (WebCore::RenderLayer::calculateRects): (WebCore::RenderLayer::childrenClipRect): (WebCore::RenderLayer::selfClipRect): (WebCore::RenderLayer::intersectsDamageRect): (WebCore::RenderLayer::boundingBox):
  • rendering/RenderLayer.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): (WebCore::RenderObject::container):
  • rendering/RenderStyle.cpp: (WebCore::RenderStyle::applyTransform):
  • rendering/RenderStyle.h: (WebCore::TransformOperation::isScaleOperation): (WebCore::TransformOperation::isRotateOperation): (WebCore::TransformOperation::isSkewOperation): (WebCore::TransformOperation::isTranslateOperation): (WebCore::TransformOperation::isMatrixOperation): (WebCore::ScaleTransformOperation::isScaleOperation): (WebCore::RotateTransformOperation::isRotateOperation): (WebCore::SkewTransformOperation::isSkewOperation): (WebCore::TranslateTransformOperation::isTranslateOperation): (WebCore::MatrixTransformOperation::isMatrixOperation):
  • rendering/RenderTableRow.h: (WebCore::RenderTableRow::requiresLayer):
  • rendering/RenderTreeAsText.cpp: (WebCore::writeLayers):
23:36 Changeset [26842] by thatcher
  • 6 edits in trunk/WebCore

Reviewed by Adam.

Add basic @font-face to the Web Inspector.

  • page/InspectorController.cpp: (WebCore::InspectorResource::type): Check for CachedResource::FontResource.
  • page/inspector/Resource.js: Add support for Font types and font preview in the icon.
  • page/inspector/ResourcePanel.js: Show a font preview for font resources.
  • page/inspector/inspector.css: Style for the font preview and font icon.
  • page/inspector/inspector.js: Add font mime types.
22:19 Changeset [26841] by weinig
  • 2 edits in trunk/WebCore

Reviewed by Mark Rowe.

Fixes:

  • page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width and window.innerWidth - 100 max-width for the sidebar. The change also makes the viewbuttons move with the sidebar.
21:00 Changeset [26840] by mitz
  • 7 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

Test: fast/table/insert-before-anonymous-ancestors.html

  • rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever that change was supposed to accomplish has since been done in other places in the code.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/table/form-in-table-before-misnested-text-crash-css-expected.txt:
  • fast/table/form-in-table-before-misnested-text-crash-expected.txt:
  • fast/table/insert-before-anonymous-ancestors.html: Added.
  • fast/table/section-in-table-before-misnested-text-crash-css-expected.txt:
  • fast/table/section-in-table-before-misnested-text-crash-expected.txt:
  • platform/mac/fast/table/insert-before-anonymous-ancestors-expected.checksum: Added.
  • platform/mac/fast/table/insert-before-anonymous-ancestors-expected.png: Added.
  • platform/mac/fast/table/insert-before-anonymous-ancestors-expected.txt: Added.
20:06 Changeset [26839] by eseidel
  • 2 edits in trunk/WebKitTools

2007-10-20 Eric Seidel <eric@webkit.org>

Reviewed by aroben.

  • Scripts/find-extra-includes: fix path matching regex to not match ".patch"
19:43 Changeset [26838] by eseidel
  • 8 edits
    1 add in trunk

2007-10-20 Eric Seidel <eric@webkit.org>

Reviewed by darin.


Add improved argument handling to run-sunspider, including
--runs=<number>, --shell=<path>, --tests=<pattern>, --shark, and --help
Also re-factor code into subroutines

  • Scripts/build-dumprendertree: removed bogus comments
  • Scripts/build-testkjs: Added.
  • Scripts/run-javascriptcore-tests: use build-testkjs
  • Scripts/run-sunspider: improved argument handling, abstraction
  • Scripts/run-webkit-tests: improved abstraction
19:41 Changeset [26837] by bdash
  • 2 edits in trunk/WebCore

2007-10-20 Mark Rowe <mrowe@apple.com>

Reviewed by Dave Hyatt.

Fix http://bugs.webkit.org/show_bug.cgi?id=15584
Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance

  • platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a glyph for the character, fall back to the missing glyph data rather than returning an invalid GlyphData.
16:01 Changeset [26836] by mjs
  • 3 edits
    6 adds in trunk/SunSpider

Reviewed by Mark.

  • Add more new tests, mostly from the computer language shootout. Not normalized yet.


  • TODO:
  • tests/LIST:
  • tests/access-binary-trees.js: Added.
  • tests/access-nsieve.js: Added.
  • tests/bitops-nsieve-bits.js: Added.
  • tests/math-partial-sums.js: Added.
  • tests/math-spectral-norm.js: Added.
  • tests/string-fasta.js: Added.
15:54 Changeset [26835] by bdash
  • 2 edits in trunk/WebCore

2007-10-20 Jasper Bryant-Greene <m@ni.ac.nz>

Reviewed by Maciej.

Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25,
as suggested by George Wright in #15108 (which this patch will
resolve).

This gives a more sane scrolling behaviour, rather than the
jumping to the end or start of the document as occurred previously.

  • platform/gtk/WheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent):
15:43 Changeset [26834] by mjs
  • 1 edit in trunk/SunSpider/ChangeLog

Fix reviewer in ChangeLog.

15:42 Changeset [26833] by mjs
  • 9 edits in trunk/SunSpider

Reviewed by Eric.

  • TODO: Updated to note areas that are now well-covered.


  • Change the tests and the driver to avoid leaving large object graphs hanging around, since that throws off the subsequent tests.


  • resources/sunspider-standalone-driver.js:
  • tests/3d-cube.js:
  • tests/3d-morph.js:
  • tests/3d-raytrace.js:
  • tests/bitops-bitwise-and.js:
  • tests/string-base64.js:
  • tests/string-tagcloud.js:
15:38 Changeset [26832] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • kjs/completion.h: Replace the Identifier with an Identifier*.
  • kjs/nodes.cpp: (ForInNode::execute): Update for change to Completion constructor. (ContinueNode::execute): Ditto. (BreakNode::execute): Ditto.
15:10 Changeset [26831] by alp
  • 4 edits
    1 move
    2 adds in trunk/WebCore

2007-10-20 Alp Toker <alp@atoker.com>

Reviewed by Eric.

Support text boundary detection.
Move TextBoundariesWin.cpp to platform/ since it's portable and useful.
Split out and implement some TemporaryLinkStubs.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp.
  • platform/gtk/Language.cpp: Added. (WebCore::defaultLanguage):
  • platform/gtk/TemporaryLinkStubs.cpp:
  • platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added. (WebCore::currentTextBreakLocaleID):
  • platform/win/TextBoundariesWin.cpp: Removed.
14:00 Changeset [26830] by bdash
  • 2 edits in trunk/WebCore

2007-10-20 Mark Rowe <mrowe@apple.com>

Reviewed by Tim Hatcher.

Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574
Bug 15574: Web Inspector doesn't work with the new Database feature

The executeSql callback is executed in the security domain of the web page that owns the database,
while the inspector's window object is in the callback functions scope chain. This is leading to a
security violation when the callback attempts to access "document". We can work around this by
ensuring that "document" can be found in the scope chain before the window object.

  • page/inspector/DatabasePanel.js:
11:57 Changeset [26829] by pewtermoose
  • 2 edits in trunk/WebKitTools

Windows build fix

11:25 Changeset [26828] by bdash
  • 2 edits
    2 adds
    2 deletes in trunk/WebKitSite

2007-10-20 Mark Rowe <mrowe@apple.com>

Rubber-stamped by Adam.

Convert TIFFs to PNGs so that the demo page is fully-functional in the Gtk port.

  • misc/DatabaseExample.html:
  • misc/deleteButton.png: Added.
  • misc/deleteButton.tiff: Removed.
  • misc/deleteButtonPressed.png: Added.
  • misc/deleteButtonPressed.tiff: Removed.
10:30 Changeset [26827] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

This includes one other fix as well. Both were from a day where I did some
profiling to find hot spots when running the page load test.

  • platform/StringImpl.cpp: (WebCore::StringImpl::computeHash): Compute the hash without calling strlen. Also change the argument names to not confusingly use m_ prefixes. (WebCore::StringImpl::createStrippingNull): Added a faster case for strings that don't have null.
10:29 Changeset [26826] by darin
  • 5 edits in trunk

WebKitTools:

Reviewed by Tim Hatcher.

  • DumpRenderTree/mac/EventSendingController.mm: (-[EventSendingController keyDown:withModifiers:]): Added named key "rightArrow". Later we could have a whole table of these. Also tweaked modifiers code a little.
  • DumpRenderTree/win/EventSender.cpp: (keyDownCallback): Ditto.

LayoutTests:

Reviewed by Tim Hatcher.

  • fast/events/arrow-navigation.html: Use "rightArrow" instead.
10:26 Changeset [26825] by darin
  • 3 edits in trunk/WebKitTools

Reviewed by Eric.

  • DumpRenderTree/WorkQueue.cpp: (WorkQueue::queue): Delete the item if it's not put on the queue, since the caller has no way of knowing that. Would be better to have the parameter type be auto_ptr to express the fact that we take ownership.
  • unrelated change
  • Drosera/mac/main.m: Add missing include.
06:54 Changeset [26824] by bdash
  • 7 edits in trunk

2007-10-20 Mark Rowe <mrowe@apple.com>

Reviewed by Alp.

Gtk changes needed to enable HTML 5 client-side database storage.

JavaScriptCore:

  • wtf/Platform.h: Have Gtk use pthreads for now.

WebCore:

  • WebCore.pro: Have Gtk use ThreadingPthreads.cpp.
  • platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available.

WebKit/gtk:

  • Api/webkitgtkglobal.cpp: Set a default database path based on the user data directory. This should become configurable by client applications in the future.
06:01 Changeset [26823] by bdash
  • 3 edits
    1 add in trunk/WebCore

2007-10-20 Mark Rowe <mrowe@apple.com>

Reviewed by Alp.

Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched
from the main event loop.

  • WebCore.pro:
  • platform/gtk/TemporaryLinkStubs.cpp:
  • platform/gtk/ThreadingGtk.cpp: Added. (WebCore::callFunctionOnMainThread): (WebCore::callOnMainThread):
06:00 Changeset [26822] by bdash
  • 2 edits in trunk/WebKit/gtk

2007-10-20 Mark Rowe <mrowe@apple.com>

Reviewed by Eric.

Don't allow control characters to be inserted into editable regions.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::handleKeypress):
05:55 Changeset [26821] by zimmermann
  • 13 edits in trunk

Reviewed by Eric.

Fix non-functional display="inline" / display="none" for SVG text.

Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support)
Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support)
Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting)

04:17 Changeset [26820] by bdash
  • 2 edits
    1 add in trunk/WebCore

2007-10-20 Mark Rowe <mrowe@apple.com>

Reviewed by Alp.

Replace #ifdef'd code with the appropriate use of a forwarding header.

  • ForwardingHeaders/kjs/array_instance.h: Added.
  • bindings/js/JSDatabaseCustom.cpp:
03:37 Changeset [26819] by zimmermann
  • 21 edits in trunk

Reviewed by Oliver.

Add support for 'kerning' property in SVG text layout code.
Support all textLength/lengthAdjust modes on normal text & textPaths.

Support letter & word spacing on textPath.
Fix text selection when any spacing (letter/word/kerning) is involved.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571
Fixes: svg/batik/text/textOnPathSpaces.svg (spacing)

svg/batik/text/textLayout.svg (kerning support)
svg/text/text-spacing-01-b.svg (text selection)

03:37 Changeset [26818] by aroben
  • 1 edit in trunk/WebKitSite/misc/DatabaseExample.html

Fix typo

03:30 Changeset [26817] by aroben
  • 2 edits
    2 adds in trunk/WebKitSite

Make the notes sticky!

Reviewed by Mark.

  • misc/DatabaseExample.html:
  • misc/deleteButton.tiff: Added.
  • misc/deleteButtonPressed.tiff: Added.
03:20 Changeset [26816] by bdash
  • 10 edits in trunk/WebCore

2007-10-20 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewd by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15563
Fix conflict with X11 Window type in WebCore

  • WebCore/bindings/js/JSDocumentCustom.cpp:
  • WebCore/bindings/js/JSHTMLDocumentCustom.cpp:
  • WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp:
  • WebCore/bindings/js/kjs_dom.cpp:
  • WebCore/bindings/js/kjs_events.cpp:
  • WebCore/bindings/js/kjs_proxy.cpp:
  • WebCore/history/CachedPage.cpp:
  • WebCore/page/Chrome.cpp:
  • WebCore/page/Frame.cpp:
02:45 Changeset [26815] by hausmann
  • 2 edits in trunk/WebCore

Fix the Qt build.

01:51 Changeset [26814] by mjs
  • 10 edits in trunk/SunSpider

Reviewed by Nikolas.


  • Rebalance test complexity.


Scaled all the tests so they take 400-600ms on a reasonably normal user setup:


Internet Explorer 7, Window XP, Dell Latitude D810 with a 2.13GHz Pentium M

However, for some tests, IE7 was a huge outlier compared to other
major browsers. For those tests, I used Firefox 2.0.0.8 on the
same OS and hardware as a normalization basis.


  • tests/3d-morph.js:
  • tests/3d-raytrace.js:
  • tests/bitops-3bit-bits-in-byte.js:
  • tests/bitops-bits-in-byte.js:
  • tests/bitops-bitwise-and.js:
  • tests/math-cordic.js:
  • tests/string-base64.js:
  • tests/string-tagcloud.js:
  • tests/string-unpack-code.js:
01:11 Changeset [26813] by mjs
  • 2 edits in trunk/SunSpider

Reviewed by Oliver.


  • Fix the browser-hosted driver to be compatible with Safari 2
  • hosted/sunspider-driver.html:
01:05 Changeset [26812] by mjs
  • 2 edits in trunk/SunSpider

Rubber stamped by Hyatt.


  • Add BSD license notice to cordic test, the original author said to do so.
  • tests/math-cordic.js:
00:11 Changeset [26811] by ggaren
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej Stachowiak.

Fixed http://bugs.webkit.org/show_bug.cgi?id=15570
Store gathered declaration nodes in the function body node.


This means that you only have to gather the declaration nodes the first
time the function executes. Performance gain of 2.10% on SunSpider,
0.90% on command-line JS iBench.

  • kjs/nodes.cpp: Split declaration stack initialization code off into initializeDeclarationStacks(). (FunctionBodyNode::FunctionBodyNode): (FunctionBodyNode::initializeDeclarationStacks): (FunctionBodyNode::processDeclarations):
  • kjs/nodes.h: Changed DeclarationStacks structure to hold references, since the actual Vectors are now stored either on the stack or in the function body node.
Note: See TracTimeline for information about the timeline view.