Timeline


and

10/27/07:

23:45 Changeset [27171] by timothy@apple.com

Reviewed by Adam.

Bug 15727: Resizing the resource sidebar doesn't scale the font preview or network timeline
http://bugs.webkit.org/show_bug.cgi?id=15727

Add one window resize listener and call the new resize function on the currentPanel.
Also call the currentPanel's resize function when resizing the sidebar.

  • page/inspector/DocumentPanel.js: Implement resize and call updateTreeSelection() when the panel is shown and when resizing the DOM sidebar.
  • page/inspector/FontPanel.js: Implement resize.
  • page/inspector/NetworkPanel.js: Ditto.
  • page/inspector/inspector.js: Add a window resize listener.
23:31 Changeset [27170] by mjs

Reviewed by Oliver.


  • update for HashTable changes
  • bindings/js/JSSVGPODTypeWrapper.h:
  • dom/Document.h:
  • dom/QualifiedName.cpp:
  • dom/StyledElement.cpp:
  • ksvg2/svg/SVGAnimatedTemplate.h:
  • platform/FontCache.cpp:
  • platform/StringHash.h: (WTF::):
  • platform/TextEncodingRegistry.cpp:
  • platform/graphics/IntSizeHash.h: (WTF::):
  • plugins/win/PluginPackageWin.h:
22:34 Changeset [27169] by alp

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

Reviewed by Adam Roben.

http://bugs.webkit.org/show_bug.cgi?id=15646
[GTK] caretBlinkFrequency is hard-coded in Frame.cpp

Abstract caretBlinkFrequency to RenderTheme.

  • page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged):
  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::caretShouldBlink): (WebCore::RenderThemeGtk::caretBlinkFrequency):
  • platform/gtk/RenderThemeGtk.h:
  • rendering/RenderTheme.h:
22:22 Changeset [27168] by alp

2007-10-28 Lars Lindner <lars.lindner@gmail.com>

Reviewed by Alp.

http://bugs.webkit.org/show_bug.cgi?id=15466
[gtk] widget does not take focus on mouse click

Grab widget focus in mouse press callback.

  • Api/webkitgtkpage.cpp:
22:02 Changeset [27167] by aroben

Updated Windows Skipped file for currently failing tests

Reviewed by NOBODY.

  • platform/win/Skipped:
21:38 Changeset [27166] by aroben

Fix HTMLDocument12.xhtml on Leopard/Windows

<rdar://5313535> and <rdar://5539816>

The test succeeds on Leopard and Windows, but fails on Tiger. For some
reason, failing expected results had been checked in to
platform/mac-leopard. The test seems to be passing now, so I moved the
failing results to platform/mac-tiger.

Reviewed by Maciej and Sam.

  • platform/mac-leopard/dom/xhtml/level2/html/HTMLDocument12-expected.txt: Removed.
  • platform/mac-tiger/dom/xhtml/level2/html/HTMLDocument12-expected.txt: Moved from platform/mac-leopard.
21:24 Changeset [27165] by timothy@apple.com

Reviewed by Adam.

Don't print the line number in the Inspector Console if it is Zero.

  • page/inspector/ConsolePanel.js:
20:31 Changeset [27164] by darin

Reviewed by Eric.

  • fix ASCIICType.h for some Windows compiles
  • wtf/ASCIICType.h: Check the compiler, not the OS, since it's the compiler/library that has the wchar_t that is just a typedef.
20:12 Changeset [27163] by weinig

Hit with the rubber-stamp of Timothy Hatcher.

Tests for window.console's functions.

  • fast/dom/Window/console-functions-expected.txt: Added.
  • fast/dom/Window/console-functions.html: Added.
19:52 Changeset [27162] by weinig

Reviewed by Tim Hatcher.

Speculative fix for an intermittently failing test

  • fast/dom/Window/resources/opened-window.html: Added.
  • fast/dom/Window/window-early-properties.html: Use onload for opened window and use a local file instead of a data: URL to avoid same origin check issues.
19:11 Changeset [27161] by weinig

WebCore:

Reviewed by Adam Roben.

Fix http://bugs.webkit.org/show_bug.cgi?id=14953
Implement window.console in WebCore

  • Adds a window.console object that has 4 methods (log, info, warn, and error) that send messages to the Chrome. This moves functionality that was in the app down into WebCore.
  • DerivedSources.make:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGeneratorJS.pm: Add extended attribute to mark attributes as [Replacable] which indicates they can overridden when set.
  • page/Chrome.cpp: (WebCore::Chrome::addMessageToConsole): Allow all messages to go up to the ChromeClient.
  • page/Console.cpp: Added. (WebCore::Console::Console): (WebCore::Console::disconnectFrame): (WebCore::Console::error): (WebCore::Console::info): (WebCore::Console::log): (WebCore::Console::warn):
  • page/Console.h: Added.
  • page/Console.idl: Added.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::clear): (WebCore::DOMWindow::console):
  • page/DOMWindow.h:
  • page/DOMWindow.idl:

LayoutTests:

Reviewed by Adam Roben.

Update tests for http://bugs.webkit.org/show_bug.cgi?id=14953
Implement window.console in WebCore

  • fast/dom/Window/window-properties-expected.txt:
  • http/tests/security/cross-frame-access-put-expected.txt:
17:47 Changeset [27160] by pewtermoose

Update results

17:02 Changeset [27159] by aroben

Speculative fix for an intermittently failing test

Reviewed by Sam and Eric.

  • http/tests/local/style-access-before-stylesheet-loaded.html: Use waitUntilDone/notifyDone.
16:53 Changeset [27158] by eseidel

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

Reviewed by aroben.


Remove legacy createFilterEffect function (causing extra filter tests to fail on windows)

No functional changes, thus no tests.

  • ksvg2/svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::filterEffect):
  • ksvg2/svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::filterEffect):
  • ksvg2/svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::filterEffect):
  • ksvg2/svg/SVGFECompositeElement.cpp: (WebCore::SVGFECompositeElement::filterEffect):
  • ksvg2/svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::filterEffect):
  • ksvg2/svg/SVGFEDisplacementMapElement.cpp: (WebCore::SVGFEDisplacementMapElement::filterEffect):
  • ksvg2/svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::filterEffect):
  • ksvg2/svg/SVGFEGaussianBlurElement.cpp: (WebCore::SVGFEGaussianBlurElement::filterEffect):
  • ksvg2/svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::filterEffect):
  • ksvg2/svg/SVGFEMergeElement.cpp: (WebCore::SVGFEMergeElement::filterEffect):
  • ksvg2/svg/SVGFEOffsetElement.cpp: (WebCore::SVGFEOffsetElement::filterEffect):
  • ksvg2/svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::filterEffect):
  • ksvg2/svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::filterEffect):
  • ksvg2/svg/SVGFETurbulenceElement.cpp: (WebCore::SVGFETurbulenceElement::filterEffect):
  • platform/graphics/svg/SVGResourceFilter.h:
  • platform/graphics/svg/cg/SVGResourceFilterCg.cpp:
  • platform/graphics/svg/cg/SVGResourceFilterCg.mm:
  • platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
16:31 Changeset [27157] by aroben

Add some more failing tests to the Windows Skipped file

Reviewed by NOBODY.

  • platform/win/Skipped:
16:26 Changeset [27156] by kmccullo

Reviewed by Adam.

  • Stubbed out IWebScriptCallFrame for Drosera.
  • Interfaces/IWebScriptCallFrame.idl: Added function declarations.
  • WebKit.vcproj/WebKit.vcproj: Added .h/.cpp files to the project.
  • WebScriptCallFrame.cpp: Added. (WebScriptCallFrame::WebScriptCallFrame): (WebScriptCallFrame::~WebScriptCallFrame): (WebScriptCallFrame::createInstance): (WebScriptCallFrame::QueryInterface): (WebScriptCallFrame::AddRef): (WebScriptCallFrame::Release): (WebScriptCallFrame::caller): (WebScriptCallFrame::scopeChain): (WebScriptCallFrame::functionName): (WebScriptCallFrame::evaluateWebScript):
  • WebScriptCallFrame.h: Added.
16:25 Changeset [27155] by mitz

WebCore:

Reviewed by Darin Adler.

  • fix a crash when opening Zenoss server history view <rdar://problem/5530657>

Test: fast/table/colgroup-relative.html

  • rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): Added a hasLayer() check before accessing layer().

LayoutTests:

Reviewed by Darin Adler.

  • test for <rdar://problem/5530657>
  • fast/table/colgroup-relative-expected.txt: Added.
  • fast/table/colgroup-relative.html: Added.
15:45 Changeset [27154] by kmccullo
  • BuildFix
  • Forgot to change the build step when I changed the filename.
12:20 Changeset [27153] by ggaren

Reviewed by Darin Adler.


Fixed the rest of "ASSERTION FAILED: _hash in KJS::UString::Rep::
computedHash()"
http://bugs.webkit.org/show_bug.cgi?id=15718

  • kjs/identifier.cpp: Fixed more cases where an Identifier didn't get a hash value. Also changed O(n) strlen to O(1) check for empty string. (KJS::Identifier::add):
  • kjs/ustring.cpp: Changed O(n) strlens to O(1) checks for empty string. (KJS::UString::UString): (KJS::UString::operator=):
12:10 Changeset [27152] by darin

Reviewed by Eric.

  • a couple of Windows fixes
  • wtf/MathExtras.h: (wtf_pow): Add a special case for MSVC, which has a "pow" function that does not properly handle the case where arg1 is NaN and arg2 is 0.
  • kjs/math_object.cpp: (MathFuncImp::callAsFunction): Don't explicity specify "::pow" -- just "pow" is fine.
  • wtf/ASCIICType.h: Check the compiler, not the OS, since it's the compiler/library that has the wchar_t that is just a typedef.
11:51 Changeset [27151] by ap

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

Reviewed by Alexey.

http://bugs.webkit.org/show_bug.cgi?id=13141
XMLHttpRequest should set readyState to 0 after abort()


Test: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState.html

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::open): (WebCore::XMLHttpRequest::abort):
09:54 Changeset [27150] by mitz

WebCore:

Reviewed by Dave Hyatt.

  • fix rotated border images by using a temporary subimage containing only the part we want to tile

Test: fast/borders/border-image-rotate-transform.html

  • platform/graphics/cg/ImageCG.cpp: (WebCore::Image::drawPatternCallback): (WebCore::Image::drawPattern):

LayoutTests:

Reviewed by Dave Hyatt.

  • rotated border image test
  • fast/borders/border-image-rotate-transform.html: Added.
  • platform/mac/fast/borders/border-image-rotate-transform-expected.checksum: Added.
  • platform/mac/fast/borders/border-image-rotate-transform-expected.png: Added.
  • platform/mac/fast/borders/border-image-rotate-transform-expected.txt: Added.
07:48 Changeset [27149] by darin

Reviewed by Maciej.

  • kjs/JSImmediate.h: Put ALWAYS_INLINE on everything.
  • kjs/object.h: Removed redundant includes.
  • kjs/value.h: Ditto.
03:46 Changeset [27148] by mrowe@apple.com

2007-10-27 Mark Ambachtsheer <mark.a@apple.com>

Reviewed by Darin.

Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at
(0, 0) the clipping rectangle is not correct.
Added the origin to the window clip rectangle coordinates to account for plugins that
don't originate at (0,0); affects code for offscreen GWorlds only.

  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
03:39 Changeset [27147] by alp

2007-10-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Alp.

http://bugs.webkit.org/show_bug.cgi?id=15722
[GTK] Refactor gtk/RenderThemeGtk and implement a few more methods

Refactor/enhance GTK RenderTheme

  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::supportsFocus): added TextArea, Menulist, Radio, and Checkbox Appearances (WebCore::RenderThemeGtk::supportsFocusRing): call supportsFocus() to check if focus on appearance is supported (WebCore::RenderThemeGtk::controlSupportsTints): copied from Qt and Safari ports (WebCore::RenderThemeGtk::baselinePosition): copied from Qt and Safari ports (WebCore::RenderThemeGtk::paintCheckbox): moved painting in paintButton (WebCore::RenderThemeGtk::paintRadio): moved painting in paintButton (WebCore::RenderThemeGtk::paintButton): paint the different buttons here, checking for the right appearance before doing so (WebCore::RenderThemeGtk::paintMenuList): use 0 instead of NULLs (WebCore::RenderThemeGtk::adjustTextFieldStyle): (WebCore::RenderThemeGtk::getThemeData):
  • platform/gtk/RenderThemeGtk.h: (WebCore::RenderThemeGtk::supportsControlTints):
03:23 Changeset [27146] by mjs

Reviewed by Mark.


  • kjs/identifier.cpp: (KJS::Identifier::addSlowCase): Ensure that empty Identifiers have a hash computed, now that we count on all Identifiers already having one.
01:40 Changeset [27145] by ap

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15555
XMLHttpRequest does not support charset "x-user-defined", which can
facilitate loading of binary data

Test: http/tests/xmlhttprequest/binary-x-user-defined.html

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/TextCodecUserDefined.cpp: Added. (WebCore::TextCodecUserDefined::registerEncodingNames): (WebCore::newStreamingTextDecoderUserDefined): (WebCore::TextCodecUserDefined::registerCodecs): (WebCore::TextCodecUserDefined::decode): (WebCore::encodeComplexUserDefined): (WebCore::TextCodecUserDefined::encode):
  • platform/TextCodecUserDefined.h: Added.
  • platform/TextEncodingRegistry.cpp: (WebCore::buildBaseTextCodecMaps):
01:16 Changeset [27144] by ap

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15467
Setting innerHTML to blank string in application/xhtml+xml mode
throws DOM Exception 7

Test: fast/dom/blank-innerHTML.xhtml

  • dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment): Bail out early if the input string is empty.
01:11 Changeset [27143] by mrowe@apple.com

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

Silence a warning.

  • kjs/SymbolTable.h:
01:08 Changeset [27142] by mrowe@apple.com

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

Gtk build fix.

  • kjs/function.h:

10/26/07:

21:42 Changeset [27141] by weinig

Enable dragging the left sidebar using the separator.

Reviewed by Anders (unless Mitz says otherwise).

  • page/inspector/DocumentPanel.js:
  • page/inspector/inspector.css:
  • page/inspector/inspector.html:
  • page/inspector/inspector.js:
20:40 Changeset [27140] by weinig

Fix an off by one error when resizing the Inspector find window.

Reviewed by Hyatt.

  • page/inspector/inspector.js:
19:56 Changeset [27139] by honeycutt

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

Reviewed by Adam.

Fix fallout from r26072, which leads to all plugin streams for local
resources being cancelled

  • loader/win/NetscapePlugInStreamLoaderWin.cpp: (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Ensure this is an HTTP response before checking the HTTP response code
19:50 Changeset [27138] by hyatt

Fix for http://bugs.webkit.org/show_bug.cgi?id=15719, transformed box doesn't repaint properly
when only translation changes.

Move the updating of the transform to in between the old repaint and the new repaint.

Reviewed by mitz

fast/repaint/transform-translate.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions):
18:45 Changeset [27137] by kmccullo

Rubber stamp by Adam.

  • Renamed JSStringRefCOM to JSStringRefBSTR since it he only thing the files contain are functions that operate on BSTRs.
  • API/JSStringRefBSTR.cpp: Copied from API/JSStringRefCOM.cpp.
  • API/JSStringRefBSTR.h: Copied from API/JSStringRefCOM.h.
  • API/JSStringRefCOM.cpp: Removed.
  • API/JSStringRefCOM.h: Removed.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
18:38 Changeset [27136] by kmccullo

Reviewed by Adam.

  • Implemented the WebScriptDebugListener functions now that the WebScriptDebugServer exists
  • Drosera/win/ServerConnection.cpp: Implemented WebScriptDebugListener functions. (ServerConnection::currentFrame): (ServerConnection::didLoadMainResourceForDataSource): (ServerConnection::didParseSource): (ServerConnection::failedToParseSource): (ServerConnection::didEnterCallFrame): (ServerConnection::willExecuteStatement): (ServerConnection::willLeaveCallFrame): (ServerConnection::exceptionWasRaised):
  • Drosera/win/ServerConnection.h: Removed unused arguments from the members arguments list.
18:37 Changeset [27135] by kmccullo

Reviewed by Adam.

  • Made JSStringCreateWithBSTR capable of handling null BSTRs.
  • API/JSStringRefCOM.cpp: (JSStringCreateWithBSTR):
18:01 Changeset [27134] by weinig

Windows build fix.

  • kjs/SymbolTable.h: Add header gaurd.
  • kjs/nodes.h: #include "SymbolTable.h"
16:33 Changeset [27133] by ggaren

Suggested by Anders Carlsson.


Fixed tyop.

  • kjs/function.cpp: (KJS::ActivationImp::getOwnPropertySlot):
16:31 Changeset [27132] by ggaren

Suggested by Darin Adler.


Use computedHash(), which is safer than just directly accessing _hash.

  • kjs/lookup.cpp: (KJS::Lookup::findEntry): (KJS::Lookup::find):
16:07 Changeset [27131] by honeycutt

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

Reviewed by Darin.

<rdar://5557379> Crash in Silverlight when opening microsoft.com

The crash is within Silverlight, and the latest version of the plugin
does not exhibit this crash, so just avoid loading this version of the
plugin.

  • plugins/win/PluginDatabaseWin.cpp: Added isPluginBlacklisted() and constants silverlightPluginMinRequiredVersionMSDWORD and silverlightPluginMinRequiredVersionLSDWORD. Their values are taken from the version info of Silverlight 1.0.20926.0, which is a version known not to exhibit this crash (WebCore::PluginDatabaseWin::isPluginBlacklisted): Determine whether this plugin is blacklisted
  • plugins/win/PluginDatabaseWin.h:
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackageWin::PluginPackageWin): Initialize m_fileVersion* (WebCore::PluginPackageWin::getFileVersion): (WebCore::PluginPackageWin::storeFileVersion): Read version info for the plugin, and store the file version (WebCore::PluginPackageWin::fetchInfo): After determining the name, description, and file version, determine whether this plug-in is blacklisted. If so, return false so this plug-in isn't loaded
  • plugins/win/PluginPackageWin.h:
15:59 Changeset [27130] by ggaren

Build fix: svn add SymbolTable.h

  • kjs/SymbolTable.h: Added. (KJS::SymbolTable::set): (KJS::SymbolTable::get):
15:54 Changeset [27129] by ggaren

Build fix: export SymbolTable.h to WebCore.

15:47 Changeset [27128] by ggaren

Comment tweak suggested by Maciej.

  • kjs/function.cpp: (KJS::ActivationImp::getOwnPropertySlot):
15:45 Changeset [27127] by ggaren

Reviewed by Maciej Stachowiak.


Tweaked property maps to remove 2 branches. 2.5% speedup on SunSpider.

  • kjs/property_map.cpp: Use a special no branch accessor to the UString's hash value. Also, return immediately instead of branching to the end of the loop if the value is not found. (KJS::PropertyMap::get): (KJS::PropertyMap::getLocation): (KJS::PropertyMap::put): (KJS::PropertyMap::insert): (KJS::PropertyMap::remove): (KJS::PropertyMap::checkConsistency):
  • kjs/ustring.h: (KJS::UString::Rep::computedHash): Special no branch accessor to the UString's hash value. Used when the caller knows that the hash value has already been computed. (For example, if the caller got the UString from an Identifier.)
15:43 Changeset [27126] by ggaren

Reviewed by Maciej Stachowiak.


Switched ActivationImp to using a symbol table. For now, though, all
clients take the slow path.


Net .6% speedup on SunSpider.


Slowdowns:

  • ActivationImp now mallocs in its constructor
  • Local variable hits use an extra level of indirection to retrieve data
  • Local variable misses do two lookups

Speedups:

  • Fast initialization of local variables upon function entry


  • kjs/function.cpp: (KJS::ActivationImp::ActivationImp): Malloc a private structure to hold data that won't fit in a JSCell. (KJS::ActivationImp::argumentsGetter): Use slow symbol table path for lookup. (KJS::ActivationImp::getOwnPropertySlot): ditto (KJS::ActivationImp::deleteProperty): ditto (KJS::ActivationImp::put): ditto (KJS::ActivationImp::createArgumentsObject): ditto

(KJS::ActivationImp::mark): Call JSObject::mark first so that one of
our properties doesn't try to recursively mark us. (This caused a crash
in earlier testing. Not sure why we haven't run into it before.)

  • kjs/nodes.cpp: Functions now build a symbol table the first time they're called. (KJS::VarDeclNode::evaluate): (KJS::FunctionBodyNode::FunctionBodyNode): (KJS::FunctionBodyNode::initializeSymbolTable): (KJS::FunctionBodyNode::processDeclarations): (KJS::FunctionBodyNode::processDeclarationsForFunctionCode): (KJS::FunctionBodyNode::processDeclarationsForProgramCode):
  • kjs/nodes.h: (KJS::FunctionBodyNode::symbolTable):
  • wtf/Forward.h: Added Vector.
14:44 Changeset [27125] by weinig

Reviewed by Adele Peterson.

Fix for <rdar://problem/5421754>
m_frameName member variable in HTMLPlugInElement unnecessary

  • Refactor the willRemove() method down into HTMLFrameOwnerElement now that we no longer need to use the m_frameName variable.
  • html/HTMLFrameElementBase.cpp:
  • html/HTMLFrameElementBase.h:
  • html/HTMLFrameOwnerElement.cpp: (WebCore::HTMLFrameOwnerElement::willRemove):
  • html/HTMLFrameOwnerElement.h:
  • html/HTMLPlugInElement.cpp:
  • html/HTMLPlugInElement.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject):
14:28 Changeset [27124] by kmccullo
  • Corrected function name mistake in this changelog.
14:19 Changeset [27123] by kmccullo

JavaScriptCore:

Reviewed by Sam and Steve.

  • Added convenience methods for converting between BSTR and JSStringRefs
  • API/JSStringRefCOM.cpp: Added. (JSStringCreateWithCFString): (JSStringCopyCFString):
  • API/JSStringRefCOM.h: Added.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:

win:

Reviewed by Sam and Steve.

  • Added convenience methods for converting between BSTR and JSSTringRefs
  • Added WebKit_debug.def to the project.
  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/WebKit_debug.def:
14:03 Changeset [27122] by adele

Reverting an unintentional added symbol

13:55 Changeset [27121] by adele

Export _wkDrawCapsLockIndicator.

  • WebCore.base.exp:
13:28 Changeset [27120] by adele

Reviewed by Tim Hatcher.

Updating header too for WKDrawCapsLockIndicator.

  • WebKitSystemInterface.h:
12:52 Changeset [27119] by adele

WebCore:

Reviewed by Oliver.

Adding WebKitSystemInterface support for the caps lock indicator

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

WebKit:

Reviewed by Oliver.

Adding WebKitSystemInterface support for the caps lock indicator

  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):

WebKitLibraries:

Reviewed by Oliver.

Adding wkDrawCapsLockIndicator in preparation for fixing the caps lock indicator.

  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
12:22 Changeset [27118] by tristan

WebCore:

Reviewed by Darin Adler.

<rdar://problem/5555053> REGRESSION:9A581: Window disappears when opening http://research.microsoft.com/users/darkok/
The problem was caused by checkin r24654. This change moved explicit bounds checking into adjustWindowRect
but failed to account for bounds checking (instead replaced with bounds clipping). This caused issues
when NaN was used. This patch goes one step further and does NaN checking to prevent the possibility of
setting window bounds to NaN before an update occurs.

Test: fast/dom/Window/window-resize-nan.html


  • bindings/js/kjs_window.cpp: (KJS::adjustWindowRect): Added a new parameter, pendingChanges, which takes pending changes to the window rect, and if they are valid (not NaN) sets them on window.


(KJS::WindowFunc::callAsFunction):
Adjusted uses of adjustWindowRect to take new update parameter.

LayoutTests:

Reviewed by Darin Adler.


Added new test cases to handle non-number input to window adjusting
functions like resizeTo, resizeBy, moveTo, and moveBy for
<rdar://problem/5555053>.

  • fast/dom/Window/window-resize-nan-expected.txt: Added.
  • fast/dom/Window/window-resize-nan.html: Added.
11:39 Changeset [27117] by weinig

Reviewed by Tim Hatcher.

Fix for http://bugs.webkit.org/show_bug.cgi?id=15175
Cannot copy text of errors from Web Inspector from Console view

  • page/inspector/inspector.css: add -webkit-user-select: text for console messages.
11:17 Changeset [27116] by weinig

Reviewed by Tim Hatcher.

Fix for http://bugs.webkit.org/show_bug.cgi?id=15446
Web Inspector find window is not resizable

  • Adds ability to resize the find window.
  • Fixes bug that messed up the find window when resizing the left sidebar.
  • page/inspector/inspector.css:
  • page/inspector/inspector.html:
  • page/inspector/inspector.js:
10:15 Changeset [27115] by sfalken

New tag.

10:15 Changeset [27114] by sfalken

Bump versions for submit

09:34 Changeset [27113] by adachan

Update m_current index after we've removed an item:

  • if item removed is before m_current, decrement m_current
  • if the current item is removed, make sure m_current is within bounds.

Reviewed by Darin.

  • history/BackForwardList.cpp: (WebCore::BackForwardList::removeItem):
08:38 Changeset [27112] by ddkilzer

prepare-ChangeLog and update-webkit create needless ChangeLog conflicts
<http://bugs.webkit.org/show_bug.cgi?id=15600>

Reviewed by Darin.

The resolve-ChangeLog script merges conflicted ChangeLogs in svn or git by creating
a patch of the local changes and applying it with a fuzz level of 3 to the new file.
If the patch is successful, it runs 'svn resolved' or 'git add' on the new ChangeLog
file. Note that it may also be used as a stand-alone script.

  • Scripts/prepare-ChangeLog: Call resolve-ChangeLogs for conflicted ChangeLog files.
  • Scripts/resolve-ChangeLogs: Added.
  • Scripts/update-webkit: Call resolve-ChangeLogs for conflicted ChangeLog files.
06:34 Changeset [27111] by mrowe@apple.com

Restore the semicolon.

06:31 Changeset [27110] by mrowe@apple.com

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

Windows build fix.

  • kjs/collector.cpp: (KJS::Collector::collect):
05:22 Changeset [27109] by mrowe@apple.com

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

Build fix. Add missing #include of Platform.h.

  • Api/qwebhistoryinterface.cpp:
05:07 Changeset [27108] by mrowe@apple.com

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

Debug build fix.

  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::~KJSProxy):
05:06 Changeset [27107] by oliver

Make the JSC GC use a separate heap for JSNumbers to get a 0.7-1.4% progression in SunSpider.

Reviewed by Maciej

  • kjs/CollectorHeapIntrospector.cpp: (KJS::CollectorHeapIntrospector::init): (KJS::CollectorHeapIntrospector::enumerate):
  • kjs/CollectorHeapIntrospector.h:
  • kjs/collector.cpp: (KJS::Collector::recordExtraCost): (KJS::Collector::heapAllocate): (KJS::Collector::allocate): (KJS::Collector::allocateNumber): (KJS::Collector::registerThread): (KJS::Collector::markStackObjectsConservatively): (KJS::Collector::markMainThreadOnlyObjects): (KJS::Collector::sweep): (KJS::Collector::collect):
  • kjs/collector.h:
  • kjs/internal.h: (KJS::NumberImp::operator new): Force numbers to be allocated in the secondary heap.
04:53 Changeset [27106] by mjs

No review, build fix.

  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject throwException:]): (-[WebScriptObject setException:]):
04:50 Changeset [27105] by mjs

Rubber Stamped by Mark.

  • fix build
  • bridge/mac/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame scopeChain]): (-[WebCoreScriptCallFrame functionName]): (-[WebCoreScriptCallFrame evaluateWebScript:]):
04:48 Changeset [27104] by mjs

Rubber Stamped by Oliver.

  • fix build
  • bridge/mac/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame scopeChain]): (-[WebCoreScriptCallFrame functionName]): (-[WebCoreScriptCallFrame evaluateWebScript:]):
04:46 Changeset [27103] by mjs

Reviewed by Oliver.


  • encourage GCC a little harder to inline a few hot functions for 1.5% improvement on SunSpider.
  • kjs/value.h: (KJS::JSValue::getUInt32): (KJS::JSValue::getTruncatedInt32): (KJS::JSValue::toNumber):
  • wtf/PassRefPtr.h: (WTF::PassRefPtr::~PassRefPtr):
  • wtf/RefPtr.h: (WTF::RefPtr::operator->):
03:45 Changeset [27102] by mrowe@apple.com

Fix ChangeLog ordering.

03:44 Changeset [27101] by mrowe@apple.com

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

Gtk build fix.

  • kjs/ExecState.h:
03:36 Changeset [27100] by mjs

Windows build fix.

02:38 Changeset [27099] by mrowe@apple.com

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

Windows build fix.

02:38 Changeset [27098] by mrowe@apple.com

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

Gtk build fix.

01:32 Changeset [27097] by mjs

JavaScriptCore:

Reviewed by Oliver.


  • moved Context class into ExecState.{h,cpp} in preparation for merging ExecState and Context classes.
  • kjs/ExecState.h: Moved CodeType enum and Context class here in preparation for merging ExecState and Context.
  • kjs/ExecState.cpp: Moved Context class here from Context.cpp. (KJS::Context::Context): (KJS::Context::~Context): (KJS::Context::mark):
  • kjs/context.h: Removed.
  • kjs/Context.cpp: Removed.
  • kjs/function.h: Removed CodeType enum.
  • kjs/LabelStack.h: Added. Pulled LabelStack class out of internal.h.
  • kjs/internal.h: Removed LabelStack.
  • JavaScriptCore.xcodeproj/project.pbxproj: Added new file, removed ones that are gone.
  • kjs/collector.cpp: Fixed includes.
  • kjs/function.cpp: ditto
  • kjs/internal.cpp: ditto
  • kjs/interpreter.cpp: ditto
  • kjs/lookup.h: ditto
  • kjs/nodes.cpp: ditto

WebCore:

Reviewed by Oliver.

  • bindings/objc/WebScriptObject.mm:
  • bridge/mac/WebCoreScriptDebugger.mm:
01:13 Changeset [27096] by mrowe@apple.com

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

Windows build fix.

  • kjs/string_object.cpp: (KJS::StringObjectFuncImp::callAsFunction):
00:51 Changeset [27095] by darin

JavaScriptCore:

Reviewed by Maciej.

Gives about 1% gain on SunSpider.

  • kjs/value.h: Added toIntegerPreserveNan, removed toUInt16. (KJS::JSValue::toInt32): Changed to call getTruncatedInt32 in a way that works with both immediate and number values. (KJS::JSValue::toUInt32): Ditto.
  • kjs/value.cpp: (KJS::JSValue::toInteger): Moved the logic from roundValue here, with a couple differences. One is that it now correctly returns 0 for NaN, and another is that there's no special case for 0 or infinity, since the general case already handles those correctly. (KJS::JSValue::toIntegerPreserveNaN): Added. Like toInteger, but without the check for NaN. (KJS::JSValue::toInt32SlowCase): Call toNumber instead of roundValue. The truncation done by the typecast already does the necessary truncation that roundValue was doing. (KJS::JSValue::toUInt32SlowCase): Ditto. (KJS::JSValue::toUInt16): Removed.
  • kjs/internal.h: Removed roundValue.
  • kjs/internal.cpp: Ditto.
  • kjs/array_object.cpp: (KJS::ArrayProtoFunc::callAsFunction): Remove unneeded code to handle NaN in Array.slice; toInteger now never returns NaN as specified.
  • kjs/date_object.cpp: (KJS::fillStructuresUsingTimeArgs): Replaced call to roundValue with a call to toNumber as specified. (KJS::DateProtoFunc::callAsFunction): In SetTime case, replaced call to roundValue with a call to toNumber and timeClip as specified. (KJS::DateObjectImp::construct): Removed unnecessary checks of numArgs in cases where the default behavior of toInt32 (returning 0) was already correct. Replaced call to roundValue with a call to toNumber as specified. (KJS::DateObjectFuncImp::callAsFunction): Ditto.
  • kjs/math_object.cpp: (MathFuncImp::callAsFunction): Removed unnecessary special cases for the pow function that the library already handles correctly.
  • kjs/number_object.cpp: (NumberProtoFunc::callAsFunction): Changed ToString to call toIntegerPreserveNaN, so we can continue to handle the NaN case differently. The real toInteger now returns 0 for NaN. Took out unneeded special case in ToFixed for undefined; was only needed because our toInteger was wrong. Same thing in ToExponential. Changed ToPrecision to call toIntegerPreserveNaN.
  • kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction): Took out CharAt and CharCodeAt special cases for undefined that were only needed because toInteger was wrong. Same in IndexOf, and was able to remove some special cases. In LastIndexOf, used toIntegerPreserveNaN, but was able to remove some special cases there too. Changed Substr implementation to preserve correct behavior with the change to toInteger and match the specification. Also made sure we weren't converting an out of range double to an int. (KJS::StringObjectFuncImp::callAsFunction): Changed constructor to just use toUInt32, because truncating toUInt32 to 16 bits is the same thing and there's no reason to have toUInt16 as a second, less-optimized function that's only called at this one call site.
  • wtf/MathExtras.h: Added trunc function for Windows.

LayoutTests:

Reviewed by Maciej.

  • fast/js/resources/char-at.js: Updated test to expect that we get the first character if we pass NaN to charAt and charCodeAt; it's what the specification asks for and matches other browsers too.
  • fast/js/char-at-expected.txt: Updated.

10/25/07:

23:58 Changeset [27094] by mrowe@apple.com

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

Update expected results.

  • platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
23:55 Changeset [27093] by ggaren

Reviewed by Maciej Stachowiak.


Tweaked the inner hashtable lookup loop to remove a branch in the "not
found" case. .5% speedup on SunSpider.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • wtf/HashTable.h: (WTF::::lookup):
23:55 Changeset [27092] by mrowe@apple.com

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

Qt build fix. r27084 added a destructor implementation for LayoutTestController
to the Qt port on the assumption that it was an implementation of the cross-platform
LayoutTestController class. It is not, so it did not need to be changed.

  • DumpRenderTree/qt/jsobjects.cpp: Remove empty destructor.
23:36 Changeset [27091] by mrowe@apple.com

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

Reviewed by Maciej.

Fix builds with code coverage enabled.

  • Scripts/build-webkit: Don't overwrite the existing value of OTHER_LDFLAGS.
23:19 Changeset [27090] by darin

Reviewed by Mark Rowe.

  • Scripts/make-js-test-wrappers: Don't generate a wrapper for intersectsNode.js.
  • Scripts/prepare-ChangeLog: Add a special case for prefix of empty string.
23:09 Changeset [27089] by mrowe@apple.com

Rename 10.4 and 10.5 release tags.

22:25 Changeset [27088] by mrowe@apple.com

Release tags for Mac OS X 10.5.

22:01 Changeset [27087] by slewis

build Fix

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
21:10 JavaScript performance improvement ideas edited by oliver@apple.com
(diff)
21:06 JavaScript performance improvement ideas edited by mjs@apple.com
(diff)
20:58 Changeset [27086] by mjs

Reviewed by Oliver.

  • fold together toPrimitive() and toNumber() conversions for 0.5% gain on SunSpider
  • kjs/nodes.cpp: (KJS::SubNode::evaluate): Subtract directly, since toPrimitive() is not adding any value over toNumber() here. (KJS::valueForReadModifyAssignment): Ditto. (KJS::lessThan): Use new getPrimitiveNumber() method to avoid some virtual calls and branches. (KJS::lessThanEq): Ditto.
  • JavaScriptCore.exp: Export new functions as needed.
  • kjs/value.h: (KJS::JSValue::toPrimitive): Fixed formatting. (KJS::JSValue::getPrimitiveNumber): New method - this simultaneously converts to number and tells you whether a toPrimitive() conversion with a Number hint would have given a string.
  • kjs/internal.cpp: (KJS::StringImp::getPrimitiveNumber): Implemented. (KJS::NumberImp::getPrimitiveNumber): ditto (KJS::GetterSetterImp::getPrimitiveNumber): ditto (KJS::StringImp::toPrimitive): Fixed formatting. (KJS::NumberImp::toPrimitive): ditto (KJS::GetterSetterImp::toPrimitive): ditto
  • kjs/internal.h:
  • kjs/object.cpp: (KJS::JSObject::getPrimitiveNumber): Implemented.
  • kjs/object.h:
20:42 Changeset [27085] by slewis

Weak link against WebCore so DumpRenderTree can be bundled with production roots.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
20:09 Changeset [27084] by aliceli1

Reviewed by Adam.

Fixed <rdar://5549689> 2 tests in fast/forms fail when run with other tests on Windows

Moving destructor into platform-specific files

  • DumpRenderTree/LayoutTestController.cpp:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::~LayoutTestController):
  • DumpRenderTree/qt/jsobjects.cpp: (LayoutTestController::~LayoutTestController):

LayoutTestController wasn't being destroyed

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

Added declspec

  • DumpRenderTree/win/EditingDelegate.h:

Reset certain values on the webview (or related delegate) that might
have changed while running a test

  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::~LayoutTestController):
19:46 Changeset [27083] by alp

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

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=15693
[GTK] Paging does not work when widget is added to a GtkScrolledWindow

Eliminate MagicGtkScrollConstant in favour of the same calculations as
GtkTextView for step and page increments. This also makes paging work,
as the page increment was previously always 0.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::updateScrollbars):
18:44 Changeset [27082] by weinig

Fix the windows build for real

18:11 Changeset [27081] by weinig

Reviewed by Adam Roben.

Make debug builds run again.

  • WebView.cpp: (WebView::notifyPreferencesChanged):
18:09 Changeset [27080] by aroben

Add wkSetPatternBaseCTM.

Reviewed by NOBODY.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h:
  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:
18:09 Changeset [27079] by weinig

JavaScriptCore:

Reviewed by Adam Roben.

Remove JSStringRefCFHack from windows as it is no longer needed.

win:

Reviewed by Adam Roben.

Remove JSStringRefCFHack.

  • WebKit.vcproj/WebKit.vcproj:
17:10 Changeset [27078] by weinig

Reviewed by Steve Falkenburg.

Fix for <rdar://problem/5463608>
Port WebKit cache model code (Windows needs a big disk cache, smarter memory cache)

  • Interfaces/IWebPreferences.idl: Deprecate pageCacheSize and objectCacheSize and add cacheModel/setCacheModel.
  • Interfaces/IWebPreferencesPrivate.idl: Add automaticallyDetectsCacheModel/setAutomaticallyDetectsCacheModel


  • WebFrame.cpp: (WebFrame::didPerformFirstNavigation): Implement based on the mac version.
  • WebKit.vcproj/WebKit.vcproj:
  • WebKitSystemBits.cpp: Added. (WebMemorySize): Moved and renamed from WebPreferences.cpp (WebVolumeFreeSize): Added.
  • WebKitSystemBits.h: Added.
  • WebPreferenceKeysPrivate.h: Added WebKitCacheModelPreferenceKey.
  • WebPreferences.cpp: (WebPreferences::sharedStandardPreferences): (WebPreferences::WebPreferences): (WebPreferences::initializeDefaultSettings): Added default for cacheModel. (WebPreferences::webPreferencesChangedNotification): (WebPreferences::webPreferencesRemovedNotification): (WebPreferences::initWithIdentifier): Post a preferences change notification. (WebPreferences::pageCacheSize): Deprecated. (WebPreferences::objectCacheSize): Deprecated. (WebPreferences::cacheModel): Added. (WebPreferences::setCacheModel): Added. (WebPreferences::setAutomaticallyDetectsCacheModel): Added. (WebPreferences::automaticallyDetectsCacheModel): Added. (WebPreferences::willAddToWebView): Added. (WebPreferences::didRemoveFromWebView): Added.
  • WebPreferences.h:
  • WebView.cpp: (PreferencesChangedOrRemovedObserver::PreferencesChangedOrRemovedObserver): (PreferencesChangedOrRemovedObserver::~PreferencesChangedOrRemovedObserver): (PreferencesChangedOrRemovedObserver::QueryInterface): (PreferencesChangedOrRemovedObserver::AddRef): (PreferencesChangedOrRemovedObserver::Release): (PreferencesChangedOrRemovedObserver::sharedInstance): (PreferencesChangedOrRemovedObserver::onNotify): (PreferencesChangedOrRemovedObserver::notifyPreferencesChanged): (PreferencesChangedOrRemovedObserver::notifyPreferencesRemoved): This singleton class updates static properties for all webviews when preferenceChange or preferenceRemoved notifications are fired for any WebPreference. (WebView::WebView): (WebView::~WebView): (initializeStaticObservers): (allWebViewsSet): (WebView::addToAllWebViewsSet): (WebView::removeFromAllWebViewsSet): (WebView::setCacheModel): (WebView::cacheModel): (WebView::didSetCacheModel): (WebView::maxCacheModelInAnyInstance): (WebView::close): (WebViewWndProc): (WebView::developerExtrasEnabled): (WebView::initWithFrame): (WebView::setPreferences): (WebView::preferences): (WebView::onNotify): (WebView::notifyPreferencesChanged): (updateSharedSettingsFromPreferencesIfNeeded):
  • WebView.h: Match the macs behavior by using explicit postings of notifications to update the preferences.
16:38 Changeset [27077] by aroben

Make sunspider-compare-results work with relative paths

Reviewed by Sam.

  • Scripts/sunspider-compare-results: Convert arguments to absolute paths before we chdir.
16:33 Changeset [27076] by hyatt

Fix unbalanced save/restore on Leopard only.

16:23 Changeset [27075] by aroben

Strip carriage returns from results

Carriage returns were screwing up sunspider-compare-results on
Windows.

Rubberstamped by Oliver.

  • sunspider:
16:17 Changeset [27074] by mitz

Reviewed by Dave Hyatt and Sam Weinig.

Build fix

  • platform/graphics/cg/ImageCG.cpp: (WebCore::Image::drawPattern):
16:16 Changeset [27073] by weinig

Fix the windows build.

  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:
15:29 Changeset [27072] by ggaren

Reviewed by Oliver Hunt.


Rolled out my last patch. It turns out that I needed 2 words, not 1,
so it didn't help.

15:23 Changeset [27071] by thatcher

Add WKSetPatternBaseCTM.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
15:13 Changeset [27070] by thatcher

Remove the empty WebKitQt folders.

14:56 Changeset [27069] by alp

2007-10-23 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Alp.

http://bugs.webkit.org/show_bug.cgi?id=15656
[GTK] Implement WebCore::Widget::isEnabled/setEnabled

  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::isEnabled): (WebCore::Widget::setEnabled): Implemented.
14:37 Changeset [27068] by ggaren

Reviewed by Oliver Hunt.


Fixed http://bugs.webkit.org/show_bug.cgi?id=15694
Shrink the size of an activation object by 1 word


This is in preparation for adding a symbol table to the activation
object.


The basic strategy here is to rely on the mutual exclusion between
the arguments object pointer and the function pointer (you only need
the latter in order to create the former), and store them in the same
place. The LazyArgumentsObject class encapsulates this strategy.


Also inlined the ArgumentsImp constructor, for good measure.


SunSpider reports no regression. Regression tests pass.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/Context.cpp: (KJS::Context::~Context):
  • kjs/function.cpp: (KJS::ActivationImp::LazyArgumentsObject::createArgumentsObject): (KJS::ActivationImp::LazyArgumentsObject::mark): (KJS::): (KJS::ActivationImp::argumentsGetter): (KJS::ActivationImp::mark):
  • kjs/function.h: (KJS::ActivationImp::LazyArgumentsObject::LazyArgumentsObject): (KJS::ActivationImp::LazyArgumentsObject::getOrCreate): (KJS::ActivationImp::LazyArgumentsObject::resetArguments): (KJS::ActivationImp::LazyArgumentsObject::setArgumentsObject): (KJS::ActivationImp::LazyArgumentsObject::argumentsObject): (KJS::ActivationImp::LazyArgumentsObject::setFunction): (KJS::ActivationImp::LazyArgumentsObject::function): (KJS::ActivationImp::LazyArgumentsObject::createdArgumentsObject): (KJS::ActivationImp::LazyArgumentsObject::): (KJS::ActivationImp::ActivationImp::ActivationImp): (KJS::ActivationImp::resetArguments):
14:32 Changeset [27067] by beidson

Weinig also reviewed this patch, and wanted Changelog credit for it

14:26 Changeset [27066] by kmccullo

Reviewed by Sam.

  • Implemented server calls now the WebScriptDebugServer exists.
  • Also removed no longer needed call to initialize CG.
  • Drosera/win/Drosera.cpp: No longer initializes CG because this happens automatically now. (_tWinMain):
  • Drosera/win/ServerConnection.cpp: Now uses the COM class. (ServerConnection::ServerConnection): (ServerConnection::~ServerConnection): (ServerConnection::pause): (ServerConnection::resume): (ServerConnection::stepInto): (ServerConnection::applicationTerminating): (ServerConnection::serverConnectionDidDie):
  • Drosera/win/ServerConnection.h: Now uses the COM class.
14:12 Changeset [27065] by hyatt

Add border image transforms test.

14:11 Changeset [27064] by hyatt

Add border image transforms test.

14:09 Changeset [27063] by hyatt

Add background transform test.

14:08 Changeset [27062] by hyatt

Add background transform test.

14:03 Changeset [27061] by aroben

Fix some JavaScriptCore build issues

JavaScriptCore:

Change JavaScriptCore.vcproj to use DerivedSources.make

We were trying to emulate the logic of make in
build-generated-files.sh, but we got it wrong. We now use a
build-generated-files very much like the one that WebCore uses to
invoke make.

We also now only have a Debug configuration of dftables which we build
even when doing a Release build of JavaScriptCore. dftables also no
longer has the "_debug" name suffix.

Changes mostly made by Darin, reviewed by me.

  • DerivedSources.make: Add a variable to set the extension used for the dftables executable.
  • JavaScriptCore.vcproj/JavaScriptCore.sln: Updated to use Debug dftables in Release configurations.
  • JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln: Ditto.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
    • Updated include path to point to the new location of the derived sources.
    • Modified pre-build event to pass the right arguments to build-generated-files.sh and not call dftables directly.
    • Added the derived source files to the project.
    • Removed grammarWrapper.cpp, which isn't needed now that we're compiling grammar.cpp directly.
  • JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Slightly modified from the WebCore version.
  • JavaScriptCore.vcproj/JavaScriptCore/grammarWrapper.cpp: Removed.
  • JavaScriptCore.vcproj/dftables/dftables.vcproj:
    • Changed the output location to match Mac.
    • Removed the Release configuration.
    • Removed the _debug suffix.

win:

Update WebKit.sln for the removal of Release dftables

Reviewed by NOBODY.

  • WebKit.vcproj/WebKit.sln:
14:03 Changeset [27060] by hyatt

WebCore:

Fix for bug 15672, background images don't tile properly inside transforms. This patch fixes background
tiling to work in the presence of transforms and fixes bugs in both SVG and CSS transforms.

Reviewed by aroben and mitz

  • WebCore.base.exp:
  • platform/graphics/Image.cpp: (WebCore::Image::setData):
  • platform/graphics/cg/ImageCG.cpp: (WebCore::ImageInfo::ImageInfo): (WebCore::Image::drawPatternCallback): (WebCore::Image::drawPattern):
  • platform/graphics/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

WebKit:

Fix for bug 15672, backgrounds don't tile properly inside transforms. This patch fixes tiling
of backgrounds inside CSS transforms and also of HTML content with background images inside SVG
transforms.

Reviewed by aroben and mmitz

  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
  • WebKit.xcodeproj/project.pbxproj:
13:46 Changeset [27059] by sullivan

Reviewed by Tim Hatcher


Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it
always does, when available.

  • WebView/WebPreferencesPrivate.h: removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with a comment that says that they can be removed when no longer needed. That time is now.
  • WebView/WebPreferences.m: (+[WebPreferences initialize]): removed WebKitUsePDFPreviewViewPreferenceKey (-[WebPreferences _usePDFPreviewView]): removed (-[WebPreferences _setUsePDFPreviewView:]): removed
  • WebView/WebPDFView.mm: (-[WebPDFView initWithFrame:]): don't check _usePDFPreviewView


  • WebView/WebPreferenceKeysPrivate.h: removed WebKitUsePDFPreviewViewPreferenceKey
13:37 Changeset [27058] by kmccullo

Rubber stamped by Geoff.

  • Stubbed out the WebScriptDebugServer methods to give Drosera something to connect to and now the signature of the interface matches the mac.
  • Interfaces/IWebScriptDebugServer.idl:
  • WebScriptDebugServer.cpp: (WebScriptDebugServer::addListener): (WebScriptDebugServer::removeListener): (WebScriptDebugServer::step): (WebScriptDebugServer::pause): (WebScriptDebugServer::resume): (WebScriptDebugServer::isPaused):
  • WebScriptDebugServer.h:
13:17 Changeset [27057] by thatcher

Reviewed by Adam.

Update the Leopard WebKitSystemInterface to be 4-way univeral to include 64-bit.

  • libWebKitSystemInterfaceLeopard.a:
12:37 Changeset [27056] by beidson

Blind build fix attempt

  • WebCore.pro:
12:26 Changeset [27055] by weinig

Added wrapper for getting the foundation cache directory.

Reviewed by Adam Roben.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h:
  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:
12:26 Changeset [27054] by beidson

Reviewed by Anders

Bulk rename of platform/sql/SQL* to platform/sql/SQLite*

This is more accurate in that there is no realistic "SQL" abstraction, the classes are obviously
tied extremely close to SQLite, and is necessitated by the introduction of "SQLTransaction" in
the HTML5 database API which we are adopting.

11:47 Changeset [27053] by kmccullo

Reviewed by Darin.

  • Renamed WebDebugProgram to WebScriptDebugServer to match the naming scheme on the mac.
  • Interfaces/IWebDebugProgram.idl: Removed.
  • Interfaces/IWebScriptDebugServer.idl: Copied from win/Interfaces/IWebDebugProgram.idl.
  • Interfaces/WebKit.idl:
  • WebDebugProgram.cpp: Removed.
  • WebDebugProgram.h: Removed.
  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/WebKitGUID.vcproj:
  • WebKitClassFactory.cpp: (WebKitClassFactory::CreateInstance):
  • WebKitDLL.cpp: (RunAsLocalServer):
  • WebScriptDebugServer.cpp: Copied from win/WebDebugProgram.cpp. (WebScriptDebugServer::WebScriptDebugServer): (WebScriptDebugServer::~WebScriptDebugServer): (WebScriptDebugServer::createInstance): (WebScriptDebugServer::QueryInterface): (WebScriptDebugServer::AddRef): (WebScriptDebugServer::Release): (WebScriptDebugServer::viewAdded): (WebScriptDebugServer::viewRemoved): (WebScriptDebugServer::attach): (WebScriptDebugServer::detach): (WebScriptDebugServer::statistics): (WebScriptDebugServer::webViews):
  • WebScriptDebugServer.h: Copied from win/WebDebugProgram.h.
  • WebView.cpp: (WebView::WebView): (WebView::~WebView):
11:31 Changeset [27052] by ap

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15650
XML attribute nodes are not importable

Tests: fast/dom/import-attribute-node.html

fast/dom/import-document-fragment.html

  • dom/Document.cpp: (WebCore::Document::importNode): Implemented for Attribute and DocumentFragment nodes.
11:23 Changeset [27051] by mitz

WebCore:

Reviewed by Dave Hyatt.

Test: fast/dynamic/insert-before-table-part-in-continuation.html

  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::addChildWithContinuation): If beforeChild's parent is an anonymous table part, let the table figure out where to insert the new child.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/dynamic/insert-before-table-part-in-continuation.html: Added.
  • platform/mac/fast/dynamic/insert-before-table-part-in-continuation-expected.checksum: Added.
  • platform/mac/fast/dynamic/insert-before-table-part-in-continuation-expected.png: Added.
  • platform/mac/fast/dynamic/insert-before-table-part-in-continuation-expected.txt: Added.
11:21 Changeset [27050] by alp

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

Reviewed by Brady.

http://bugs.webkit.org/show_bug.cgi?id=15686
GtkLauncher aborts on launch due to uninitialized threading subsystem

Re-enable database support in the GTK+ port, with a fix.

Initialize GLib threading as early as possible.

10:51 Changeset [27049] by sfalken

Merged fix from r27048.

10:35 Changeset [27048] by honeycutt

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

Reviewed by Steve.

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

Previous patch erroneously compared a path and a
path-including-filename. This corrects that. It also caches the result
of safariPluginsPath() and uses shell API funcs for determining filename
and parent directory from a full path.

  • ChangeLog:
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::safariPluginsPath): Cache return value. Use API functions to build the path (WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's parent directory, not full path (WebCore::PluginDatabaseWin::pluginForExtension): Same
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackageWin::PluginPackageWin): Store parent directory
  • plugins/win/PluginPackageWin.h: (WebCore::PluginPackageWin::parentDirectory):
  • plugins/win/PluginStreamWin.cpp: (WebCore::PluginStreamWin::didReceiveData):
08:00 Changeset [27047] by alp

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

Unreviewed fix to make the GTK+ port run.

http://bugs.webkit.org/show_bug.cgi?id=15686
GtkLauncher aborts on launch due to uninitialized threading subsystem

http://bugs.webkit.org/show_bug.cgi?id=15688
[GTK] Make it possible to disable database support

Disable database support until #15686 is fixed.

06:44 Changeset [27046] by hausmann

Fixed a crash in the Qt 4.4 based text iterators when they're called with a null string.

06:41 Changeset [27045] by hausmann
  • We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html
  • libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid.
  • This is causing some regressions...

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

06:41 Changeset [27044] by hausmann
  • Make fast/loader/xmlhttprequest-bad-mimetype.html pass. We use QHttp to download local files but we may not set the HTTP result code on the ResourceResponse.
  • We can use the cross-platform result now. QWebNetworkInterface/Manager behaves the same as mac for local files.

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

06:41 Changeset [27043] by hausmann
  • fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started.
  • Use the error message from Qt. It might or might not be translated.

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

06:41 Changeset [27042] by hausmann
  • Use the JobStatus to make sure to not deliver finished/data before the job has started. This is the case with the fast/dom/onerror-img.html test case.
  • We have no idea if any data will come so we can still finish and then get pending data. This luckily can't happen for the local file case.

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

06:41 Changeset [27041] by hausmann
  • No need to initialize values in the QWebNetworkJob c'tor
  • Add a JobStatus to QWebNetworkJob and verify that the jobs are handled in the way we expect them to be handled. This means no data after the job has finished, not finishing a job before it has been started.

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

06:41 Changeset [27040] by hausmann
  • Consistency: Always name the jobs job.

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

06:40 Changeset [27039] by hausmann
  • Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported.
  • This should be thread-safe besides QWebNetworkJob::{ref,deref}

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

06:40 Changeset [27038] by hausmann
  • Do the percent replacement only when we are not base64. With base64 we should not have any % in it anyway.
  • Have a custom decodePercentEncoding method that works without doing any charset conversion. With converting back to latin1() we lost some information.
  • We pass the char-decoding.html test now

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

05:36 Changeset [27037] by alp

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

Reviewed by Mark Rowe.

Add support for list box theme colors and styled menu list buttons.

Remove obsolete FIXMEs.

  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::RenderThemeGtk): (WebCore::RenderThemeGtk::paintCheckbox): (WebCore::RenderThemeGtk::paintRadio): (WebCore::RenderThemeGtk::paintButton): (WebCore::RenderThemeGtk::adjustMenuListStyle): (WebCore::RenderThemeGtk::paintMenuList): (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): (WebCore::RenderThemeGtk::gtkTreeView):
  • platform/gtk/RenderThemeGtk.h:
04:55 Changeset [27036] by ap

Corrected ChangeLog entry.

04:53 Changeset [27035] by ap

Rubber-stamped by Mark Rowe.

  • images/download.png: Updated to say "Nightly builds" instead of

"Nightly (6 MB)" - the Mac version is ~17 MB now, and this isn't a direct
download link anyway.

04:36 Changeset [27034] by mrowe@apple.com

Roll out r27033 as it broke the JavaScriptCore tests.

02:59 Changeset [27033] by eseidel

HackTop [30311:JavaScriptCore]% less ChangeLog Stuff/Projects/WebKit/JavaScriptCore
2007-10-25 Eric Seidel <eric@webkit.org>

Reviewed by Adam Roben.


Start work on long-running-mode from the perl-script side of things.
jsDriver.pl will likely be removed (and replaced by something better)
But for now, I'm just hacking it down to something smaller.

  • tests/mozilla/jsDriver.pl: Remove lots of unused code.
02:25 Changeset [27032] by ggaren

Reviewed by Eric Seidel.


Slightly elaborated the differences between declaration procesing in
Function Code and Program Code.


.3% speedup on SunSpider.

  • kjs/nodes.cpp: (KJS::FunctionBodyNode::processDeclarationsFunctionCode): (KJS::FunctionBodyNode::processDeclarationsProgramCode): Store a minimum set of attributes instead of recomputing all the time. Also, ignore m_parameters, since programs don't have arguments.
02:08 Changeset [27031] by eseidel

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

Reviewed by Maciej.


More preparation work before adding long-running mode to testkjs.

  • kjs/testkjs.cpp: (TestFunctionImp::callAsFunction): (prettyPrintScript): (runWithScripts): (parseArguments): (kjsmain): (fillBufferWithContentsOfFile):
01:53 Changeset [27030] by aroben

Forgot to check in this file in r27019

01:37 Changeset [27029] by eseidel

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

Reviewed by Maciej.


Bring testkjs code out of the dark ages in preparation for more
radical improvements (like long-running testing support!)

  • kjs/testkjs.cpp: (TestFunctionImp::callAsFunction): (setupInterpreter): (doIt): (fillBufferWithContentsOfFile):
01:11 Changeset [27028] by ggaren

Reviewed by Maciej Stachowiak.


Make a fast path for declaration processing inside Function Code.


Lifted declaration processing code up from individual declaration nodes
and into processDeclarations.


Broke out processDeclarations into two cases, depending on the type of
code. This eliminates 2 branches, and facilitates more radical
divergeance in the future.


2.5% SunSpider speedup.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/nodes.cpp: (KJS::FunctionBodyNode::initializeDeclarationStacks): (KJS::FunctionBodyNode::processDeclarationsFunctionCode): (KJS::FunctionBodyNode::processDeclarationsProgramCode): (KJS::FunctionBodyNode::execute): (KJS::FuncDeclNode::makeFunction):
  • kjs/nodes.h: (KJS::):
00:26 JavaScript performance improvement ideas edited by eric@webkit.org
(diff)
00:16 Changeset [27027] by mjs

Reviewed by Adam.


  • add header includes needed on platforms that don't use AllInOneFile.cpp
  • API/JSCallbackObject.cpp:
  • kjs/Context.cpp:
  • kjs/ExecState.cpp:
  • kjs/array_instance.cpp:
  • kjs/function_object.cpp:
  • kjs/interpreter.cpp:
  • kjs/nodes.cpp:
00:14 Changeset [27026] by eseidel

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

Reviewed by Geoff.

  • JavaScriptCore.xcodeproj/project.pbxproj: re-mark JSGlobalObject.h as private
00:09 Changeset [27025] by ggaren

JavaScriptCore:

Reviewed by Maciej Stachowiak.


Fixed http://bugs.webkit.org/show_bug.cgi?id=15683
Re-order declaration initialization to avoid calling hasProperty inside
VarDeclNode::processDeclaration


.7% speedup on SunSpider.

  • kjs/function.h:
  • kjs/function.cpp: Merged parameter processing into FunctionBodyNode's other processing of declared symbols, so the order of execution could change.
  • kjs/nodes.cpp: (KJS::VarDeclNode::getDeclarations): Added special case for the "arguments" property name, explained in the comment.

(KJS::VarDeclNode::processDeclaration): Removed call to hasProperty
in the case of function code, since we know the declared symbol
management will resolve conflicts between symbols. Yay!

(KJS::VarDeclListNode::getDeclarations): Now that VarDeclNode's
implementation of getDeclarations is non-trivial, we can't take a
short-cut here any longer -- we need to put the VarDecl node on the
stack so it gets processed normally.

(KJS::FunctionBodyNode::processDeclarations): Changed the order of
processing to enforce mutual exclusion rules.

  • kjs/nodes.h: (KJS::DeclarationStacks::DeclarationStacks): Structure includes an ExecState now, for fast access to the "arguments" property name.

LayoutTests:

Layout tests for bugs that might result from changes like
http://bugs.webkit.org/show_bug.cgi?id=15683

  • fast/js/vardecl-preserve-parameters-expected.txt: Added.
  • fast/js/vardecl-preserve-parameters.html: Added.
  • fast/js/vardecl-preserve-vardecl-expected.txt: Added.
  • fast/js/vardecl-preserve-vardecl.html: Added.
00:08 Changeset [27024] by eseidel

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

Reviewed by Geoff.

  • bindings/js/kjs_window.h: fix bogus comment, s/DOMNode/DOMObject/
00:07 Changeset [27023] by eseidel

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

Reviewed by Geoff.


Make JSG build again after JSGlobalObject change.

  • JSRun.cpp: (JSRun::JSRun): (JSRun::GlobalObject):
  • JSRun.h: (JSInterpreter::JSInterpreter):
  • JSUtils.h:

10/24/07:

23:38 Changeset [27022] by eseidel

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

unbreak Qt build

22:23 Changeset [27020] by aroben

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

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

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

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

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

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

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

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

<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

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

18:16 Changeset [27010] by bdash

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

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

Build fix.

  • WebCore.vcproj/WebCore.vcproj:
17:10 Changeset [27007] by thatcher

Build fix.

16:55 Changeset [27006] by thatcher

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

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

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

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

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

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

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

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

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

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

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

Gtk build fix.

  • kjs/identifier.h: Remove extra qualification.
11:04 Changeset [26995] by ggaren

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

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

Fix ChangeLog.

10:56 Changeset [26992] by andersca

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

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

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

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

update some test results for the Qt port.

06:06 Changeset [26987] by alp

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

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

these tests don't crash anymore :)

05:33 Changeset [26984] by lars
  • 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

implement most of DragData.

05:33 Changeset [26982] by lars

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

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

05:33 Changeset [26980] by lars

add another command.

05:32 Changeset [26979] by lars

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

remove some notImplemented() warnings.

05:32 Changeset [26977] by lars

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

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

05:32 Changeset [26975] by lars

allow paste from DOM so we pass more test cases.

05:32 Changeset [26974] by lars

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

05:32 Changeset [26973] by lars

implement eventSender.keyDown().

05:32 Changeset [26972] by lars

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

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

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

05:32 Changeset [26969] by lars

explicitly add some tests that currently cause DRT to hang.

05:32 Changeset [26968] by lars

first bit of implementation for the textinputcontroller.

05:32 Changeset [26967] by lars

implemented support for most editing shortcuts to make contentEditable usable.

05:32 Changeset [26966] by lars

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

05:32 Changeset [26965] by lars

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

05:32 Changeset [26964] by lars

implement layoutTestController.dumpEditingCallbacks() correctly.

05:32 Changeset [26963] by lars

use the new QTextBoundaryFinder class in Qt.

05:32 Changeset [26962] by lars

Implement support for testing editing.

01:53 Changeset [26961] by oliver

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

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

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

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

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

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

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

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

Fix pathByAppendingComponent for the Qt port.

10/23/07:

23:52 Changeset [26952] by hyatt

Make repainting work with transforms.

Reviewed by John Sullivan

  • rendering/RenderBox.cpp: (WebCore::RenderBox::computeAbsoluteRepaintRect):
23:41 Changeset [26951] by darin

Ignore files generated by the make-hosted script.

23:19 Changeset [26950] by darin

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

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

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

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

Rolled out r26941 because it of layout test failures.

19:01 Changeset [26945] by oliver

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

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

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

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

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

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

New tag.

18:33 Changeset [26938] by sfalken

Bump versions for submit

18:30 Changeset [26937] by aroben

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

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

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

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

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

Correct the version #if check.


  • platform/sql/SQLDatabase.cpp: (WebCore::SQLDatabase::authorizerFunction):
16:40 Changeset [26931] by sfalken

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

Fix build.

  • plugins/win/PluginViewWin.cpp:
16:16 Changeset [26929] by honeycutt

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

<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

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

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

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

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

Add some SVG tests to the Windows Skipped file

Reviewed by Oliver.

  • platform/win/Skipped:
11:11 Changeset [26922] by weinig

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

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
  • 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

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

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

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

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

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

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.
Note: See TracTimeline for information about the timeline view.