Timeline


and

03/31/08:

23:54 Changeset [31513] by mitz@apple.com
  • 3 edits in trunk/WebCore
  • fix previous attempted fixes
  • platform/qt/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories):
  • platform/wx/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories):
23:40 Changeset [31512] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • fix Qt link stubs
  • platform/qt/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories): (PluginDatabase::isPreferredPluginDirectory):
23:31 Changeset [31511] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • try to fix the Wx build
  • platform/wx/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories): (PluginDatabase::isPreferredPluginDirectory):
23:26 Changeset [31510] by mitz@apple.com
  • 5 edits in trunk/WebCore
  • Gtk and Qt build fixes
  • platform/graphics/gtk/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/gtk/FontCustomPlatformData.h:
  • platform/graphics/qt/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/qt/FontCustomPlatformData.h:
23:04 Changeset [31509] by mitz@apple.com
  • 3 edits in trunk/WebCore
  • Mac build fix
  • platform/graphics/mac/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/mac/FontCustomPlatformData.h:
23:03 Changeset [31508] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Fix CodeGenerator::addConstant() so it uses the functionExpressions
counter for function expressions, not the functions counter.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addConstant):
22:49 Changeset [31507] by mitz@apple.com
  • 12 edits
    2 adds in trunk/WebCore

2008-03-31 Dan Bernstein <mitz@apple.com>

Reviewed by Darin Adler.

  • fix <rdar://problem/5792638> @font-face with downloadable fonts doesn't work with GDI text
  • WebCore.vcproj/WebCore.vcproj: Added GetEOTHeader.{h,cpp}
  • css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): Changed to pass the rendering mode to CachedFont::platformDataFromCustomData().
  • loader/CachedFont.cpp: (WebCore::CachedFont::platformDataFromCustomData): Added a rendering mode parameter which is passed down to FontCustomPlatformData::fontPlatformData().
  • loader/CachedFont.h:
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::FontCache::fontExists): Changed the number 5 to the named constant CLEARTYPE_QUALITY.
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added code to delete the embedded font reference. (WebCore::FontCustomPlatformData::fontPlatformData): Added code to create an HFONT from the embedded font reference and pass it along with the CGFontRef to the FontPlatformData constructor. Added a rendering mode parameter which is passed down to the FontPlatformData constructor. (WebCore::EOTStream::EOTStream): Added this helper class used to feed data to TTLoadEmbeddedFont(). (WebCore::EOTStream::read): Added. (WebCore::readEmbedProc): Added this TTLoadEmbeddedFont() callback. (WebCore::createUniqueFontName): Added. Creates a unique GUID-derived font name. (WebCore::createFontCustomPlatformData): Added code to make the font accessible to GDI by creating an Embedded OpenType stream and activating it in the process under a globally-unique name.
  • platform/graphics/win/FontCustomPlatformData.h: Added a font reference data member which holds the embedded font. (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a rendering mode parameter.
  • platform/graphics/win/FontPlatformData.h: (WebCore::FontPlatformData::FontPlatformData): Made this class always own the CGFontRef and the HFONT by turning these data members into a RetainPtr and a RefPtr around a RefCountedHFONT. Added an HFONT parameter to the CGFontRef-based constructor. Made platformDataInit() private. (WebCore::FontPlatformData::hfont): (WebCore::FontPlatformData::cgFont): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): Added. (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT): (WebCore::FontPlatformData::RefCountedHFONT::hfont): (WebCore::FontPlatformData::RefCountedHFONT::hash):
  • platform/graphics/win/FontPlatformDataCGWin.cpp: (WebCore::FontPlatformData::platformDataInit): Changed to take ownership of the CGFontRef created here. (WebCore::FontPlatformData::FontPlatformData): Added an HFONT parameter and a useGDI flag.
  • platform/graphics/win/FontPlatformDataWin.cpp: (WebCore::FontPlatformData::FontPlatformData): Changed to take ownership of the HFONT.
  • platform/graphics/win/GetEOTHeader.cpp: Added. (WebCore::BigEndianUShort::operator unsigned short): (WebCore::BigEndianULong::operator unsigned): (WebCore::appendBigEndianStringToEOTHeader): (WebCore::getEOTHeader): Added. Creates an Embedded OpenType (.eot) header for the given font data, making it suitable as input for TTLoadEmbeddedFont.
  • platform/graphics/win/GetEOTHeader.h: Added.
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformDestroy): Removed code to delete parts of the FontPlatformData, since they are now always owned and managed by the FontPlatformData.
22:48 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
22:44 Changeset [31506] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for TypeOfResolveNode and TypeOfValueNode.
Added new opcode op_type_of to handle them.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNot): (KJS::CodeGenerator::emitInstanceOf): (KJS::CodeGenerator::emitTypeOf):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::jsTypeStringForValue): (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::TypeOfResolveNode::emitCode): (KJS::TypeOfValueNode::emitCode):
  • kjs/nodes.h:
22:39 Changeset [31505] by weinig@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Fix non-computed goto version of isOpcode. op_end is a valid opcode.

  • VM/Machine.cpp: (KJS::Machine::isOpcode):
22:38 Changeset [31504] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Added op_post_dec.

22:29 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
22:04 Changeset [31503] by mrowe@apple.com
  • 4 edits in branches/Safari-3-1-branch

Versioning.

22:04 Changeset [31502] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.17

New tag.

21:53 Changeset [31501] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoffrey Garen.

Add support for FunctionCallDotNode.

  • kjs/nodes.cpp: (KJS::FunctionCallDotNode::emitCode):
  • kjs/nodes.h:
21:22 Changeset [31500] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.

Next step toward global code: Removed more obsolete API, moved
saveLocalStorage and restoreLocalStorage to JSGlobalObject subclass,
since it's only intended for use there.


  • ChangeLog:
  • JavaScriptCore.exp:
  • kjs/Activation.h:
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::saveLocalStorage): (KJS::JSGlobalObject::restoreLocalStorage):
  • kjs/JSGlobalObject.h:
  • kjs/JSVariableObject.cpp:
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData):
  • kjs/function.cpp: (KJS::ActivationImp::ActivationImp):
20:55 Changeset [31499] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.

Next step toward global code: subclass JSActivation + JSActivationData
from JSVariableObject + JSVariableObjectData.


JSActivation now relies on JSVariableObject for access to registers and
symbol table, and for some delete functionality, but not for anything
else yet.

(KJS::JSActivation::mark): Cleaned up the style here a little bit.

20:25 Changeset [31498] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-03-31 Darin Adler <darin@apple.com>

Reviewed by Anders.

  • fix crash seen on buildbot (regression from a recent speedup)
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement): Check validity before calling isLower, since that takes care of the null string case.
20:22 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
20:19 Changeset [31497] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.


Next step toward global code: store "rOffset" in JSVariableObjectData.

  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData):
20:01 Changeset [31496] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Next steps toward global code:


  • Moved access to the register file into JSVariableObject.


  • Added more ASSERTs to indicate obsolete APIs there are just hanging around to stave off build failures.
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::registers): (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData): (KJS::JSVariableObject::JSVariableObject):
19:57 Changeset [31495] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Sam Weinig <sam@webkit.org>

Reviewed by Oliver. Tweaked somewhat by Maciej.


  • implement codegen for ReadModifyResolveNode
  • kjs/nodes.cpp: (KJS::emitReadModifyAssignment): (KJS::ReadModifyResolveNode::emitCode):
  • kjs/nodes.h:
19:08 Changeset [31494] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoff.

Fix the build -- r31492 removed activation tear-off, but r31493 used it.

  • kjs/nodes.cpp: (KJS::FuncExprNode::makeFunction):
19:00 Changeset [31493] by mjs@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Add support for FuncExprNode to SquirrelFish.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addConstant): (KJS::CodeGenerator::emitNewFunctionExpression):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::FuncExprNode::emitCode): (KJS::FuncExprNode::makeFunction):
  • kjs/nodes.h:
18:55 Changeset [31492] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


First step toward global code: removed some obsolete JSGlobalObject
APIs, changing clients to ASSERT_NOT_REACHED.


Activation tear-off and scope chain pushing is obsolete because we
statically detect whether an activation + scope node is required.


The variableObject() and activationObject() accessors are obsolete
because they haven't been maintained, and they're mostly used by
node evaluation code, anyway.


The localStorage() accessor is obsolete because everything is in
registers now, and it's mostly used by node evaluation code, anyway.

18:51 Changeset [31491] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by John Sullivan.

  • fix <rdar://problem/5741075> Google Maps: cursor and placemarks don't match up
  • platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): Set the 1-bit mask for full-alpha cursors to fully opaque. The mask is ignored and the alpha values from the 32-bit image are used except in the case of a fully-transparent image, in which the fully-opaque 1-bit mask is required to get transparency.
18:31 Changeset [31490] by mjs@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.


  • implement codegen for bracket accessor and bracket assign
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitGetPropVal): (KJS::CodeGenerator::emitPutPropVal):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::BracketAccessorNode::emitCode): (KJS::AssignBracketNode::emitCode):
  • kjs/nodes.h:
18:16 Changeset [31489] by beidson@apple.com
  • 4 edits in trunk

Make more WebArchive checks cross platform

15:58 Changeset [31488] by beidson@apple.com
  • 2 edits in trunk/WebCore

Turn on WebArchive loading on Windows

15:43 Changeset [31487] by mrowe@apple.com
  • 3 edits
    44 adds in trunk/WebKitSite

2008-03-31 Mark Rowe <mrowe@apple.com>

Add some images that were missed in the WordPress 2.5 upgrade.

  • blog/:
15:32 Changeset [31486] by mrowe@apple.com
  • 234 edits
    130 adds
    42 deletes in trunk/WebKitSite

2008-03-31 Mark Rowe <mrowe@apple.com>

Upgrade to WordPress 2.5

  • blog/:
15:29 Changeset [31485] by mitz@apple.com
  • 3 edits in trunk/WebCore

2008-03-31 Dan Bernstein <mitz@apple.com>

Reviewed by Dave Hyatt.

  • page/AnimationController.cpp: Changed the BLEND_MAYBE_INVALID_COLOR macro to not blend two invalid colors.
  • rendering/RenderStyle.cpp: (WebCore::StyleBackgroundData::StyleBackgroundData): Added missing copying of the m_color data member.
15:28 Changeset [31484] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Removed FIXME that I just fixed.


Added ASSERT to cover an error previously only covered by a FIXME.

  • kjs/JSActivation.cpp: (KJS::JSActivation::getOwnPropertySlot):
14:58 Changeset [31483] by jchaffraix@webkit.org
  • 4 edits in trunk/WebCore

2008-03-31 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin.

Bug 18177: m_encoding is used twice in XMLHttpRequest
http://bugs.webkit.org/show_bug.cgi?id=18177

  • Change XMLHttpRequest variable m_encoding to m_responseEncoding.
  • Change send local variable m_encoding to encoding.

No test case (no functionnal change).

  • platform/network/ResourceResponseBase.h: Removed unused variable.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Changed local m_encoding to encoding. (WebCore::XMLHttpRequest::didReceiveResponse): m_encoding -> m_responseEncoding. (WebCore::XMLHttpRequest::didReceiveData): Ditto.
  • xml/XMLHttpRequest.h: Change m_encoding to m_responseEncoding to disambiguate the name as it is only used for response.
14:45 Changeset [31482] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

Fixed indentation inside op_call. (I had left this code badly indented
to make the behavior-changing diff clearer.)

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
14:43 Changeset [31481] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed up logging of jump instructions to follow the following style:


jump offset(->absoluteTarget)

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
14:41 Changeset [31480] by jchaffraix@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-03-31 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Darin.

Resolves http://bugs.webkit.org/show_bug.cgi?id=18010
"WebKitNetworkRequestPrivate is defined in two places unnecessarily"

Removed unnecessary definition of WebKitNetworkRequestPrivate in
webkitprivate.h

  • webkit/webkitprivate.h:
14:35 Changeset [31479] by aroben@apple.com
  • 2 edits in trunk/WebCore

Pass the right ExecStates to toJS when creating JS wrappers for objects from the inspected page

We now use an ExecState from the inspected page to create the JS
wrappers for objects from the inspected page, rather than use an
ExecState from the Inspector.

Reviewed by Tim Hatcher.

  • page/InspectorController.cpp: (WebCore::getResourceDocumentNode): (WebCore::InspectorController::focusNode): (WebCore::InspectorController::addDatabaseScriptResource):
14:30 Changeset [31478] by mrowe@apple.com
  • 5 edits in branches/Safari-3-1-branch

Merge r31388.

14:30 Changeset [31477] by mrowe@apple.com
  • 10 edits in branches/Safari-3-1-branch/WebCore

Merge r31438.

14:30 Changeset [31476] by mrowe@apple.com
  • 4 edits
    2 adds in branches/Safari-3-1-branch

Merge r31434.

14:27 Changeset [31475] by ggaren@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Changed the SymbolTable API to use int instead of size_t. It has been
using int internally for a while now (since squirrelfish symbols can
have negative indices).

14:23 Developer Tools Hitlist edited by aroben@apple.com
(diff)
14:22 Developer Tools Hitlist edited by aroben@apple.com
(diff)
14:10 Changeset [31474] by mrowe@apple.com
  • 4 edits
    2 adds in branches/Safari-3-1-branch

Merge r30722.

14:10 Changeset [31473] by mrowe@apple.com
  • 3 edits
    4 adds in branches/Safari-3-1-branch

Merge r31153.

14:03 Changeset [31472] by aroben@apple.com
  • 4 edits in trunk/WebCore

Stop relying on functions added to prototypes in the Inspector being callable on objects from the inspected window

Reviewed by Tim Hatcher.

  • page/inspector/Console.js: (WebInspector.ConsolePanel._formatnode): Use nodeTitleInfo.call(node) instead of node.titleInfo().
  • page/inspector/StylesSidebarPane.js: Changed uses of getShorthandValue, getShorthandPriority, getLonghandProperties, and getUniqueStyleProperties to call them as functions instead of as methods on the CSSStyleDeclaration objects.
  • page/inspector/utilities.js: Removed Node.prototype.titleInfo, and changed our CSSStyleDeclaration methods to just be standalone functions.
13:59 Changeset [31471] by mrowe@apple.com
  • 2 edits
    2 deletes in branches/Safari-3-1-branch/WebCore

Roll out r31407.

13:28 Changeset [31470] by aroben@apple.com
  • 2 edits in trunk/WebCore

Fix an exception while adding a message to the console

Reviewed by Mark Rowe.

  • page/inspector/ConsolePanel.js: Don't call addMessageToSource if the panel has no such method. This can happen if we get a message for, e.g., a Database.
13:14 Changeset [31469] by jchaffraix@webkit.org
  • 2 edits in trunk/WebKitTools

2008-03-31 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Darin.

Bug 17665: determineSourceDir() dies if $sourceDir has a trailing backslash

Remove trailing '/' in $sourceDir in determineSourceDir().

Fix suggested by Dmitriy Kazachkov.

  • Scripts/webkitdirs.pm:
10:59 Changeset [31468] by beidson@apple.com
  • 7 edits in trunk

WebCore:

2008-03-31 Brady Eidson <beidson@apple.com>

Reviewed by Darin and Mitz's rubber stamp

Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore

  • page/EditorClient.h:
  • svg/graphics/SVGImageEmptyClients.h:
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeSelection): Make the archive and get the data directly

WebKit/mac:

2008-03-31 Brady Eidson <beidson@apple.com>

Reviewed by Darin and Mitz's rubber stamp

Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore

  • WebCoreSupport/WebEditorClient.mm:
  • WebCoreSupport/WebEditorClient.h:
10:06 Changeset [31467] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-03-31 Brady Eidson <beidson@apple.com>

Reviewed by Mitz Pettel

Fix for http://bugs.webkit.org/show_bug.cgi?id=18183

Despite the bug reporter's instructions, I have still not been able to actually reproduce this crash and
therefore don't know how to make a layout test for it.

  • loader/archive/ArchiveResource.cpp: (WebCore::ArchiveResource::response): Fix potential null dereference
09:56 Changeset [31466] by aroben@apple.com
  • 3 edits in trunk/WebCore

Fix Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing on Windows

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

We now keep track of all the plugin paths found each time refresh() is
called. We'll only instantiate PluginPackages if there are new paths
or paths with changed timestamps since the last time refresh() was
called.

Reviewed by Darin Adler and Anders Carlsson.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh):
    • Only instantiate PluginPackages if there is a new path or a path with a changed timestamp since we last ran refresh().
    • Cache the set of plugin paths found and their timestamps for the next call to refresh().
    • Only re-register MIME types if our set of plugins changed.
  • plugins/PluginDatabase.h: Added a new member to cache plugin paths and their timestamps.
09:55 Changeset [31465] by aroben@apple.com
  • 6 edits in trunk/WebCore

Separate filesystem crawling from PluginPackage instantiation

Part of Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing
on Windows
<http://bugs.webkit.org/show_bug.cgi?id=18208>

refresh() is now the only place where PluginPackages are instantiated.
refresh() now asks for a set of plugins that no longer exist on disk,
and the set of all plugin files in our plugin directories. Using these
two sets we can update our instantiated plugins without copying any
HashSets. The code in refresh() and in the platform-specific methods
to crawl the filesystem is now quite a bit simpler.

PluginDatabase now stores both a PluginSet and a HashMap that maps
plugin paths to PluginPackages. This allows us to quickly determine
whether we already have a PluginPackage instantiated for a particular
path. The new add/remove methods handle the modification of these two
collections.

A nice side effect of all this is that refresh() no longer copies any
HashSets.

Reviewed by Mitz Pettel.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh): Unload any plugins that have been deleted from disk, and add any plugins that either weren't installed last time, or have changed since last time. (WebCore::PluginDatabase::getDeletedPlugins): Added. (WebCore::PluginDatabase::add): Added. Returns whether or not the PluginPackage was actually added to the database (duplicates won't be added). (WebCore::PluginDatabase::remove): Added.
  • plugins/PluginDatabase.h:
  • plugins/PluginPackage.h: (WebCore::PluginPackage::path): Added. (WebCore::PluginPackage::lastModified): Added.
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginPathsInDirectories): Renamed from getPluginsInDirectories. Now fills a HashSet of Strings instead of instantiated PluginPackages.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginPathsFromRegistry): Ditto. (WebCore::PluginDatabase::getPluginPathsInDirectories): Ditto.
09:55 Changeset [31464] by aroben@apple.com
  • 5 edits in trunk/WebCore

Change getPluginsInDirectories to use an out parameter

This avoids copying a HashSet.

Reviewed by Mitz Pettel.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh):
  • plugins/PluginDatabase.h:
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
09:54 Changeset [31463] by aroben@apple.com
  • 2 edits in trunk/WebCore

Make some PluginPackage methods return const String&

Reviewed by Mitz Pettel.

  • plugins/PluginPackage.h:
09:54 Changeset [31462] by aroben@apple.com
  • 15 edits in trunk

Rename PluginDatabase's "PluginPaths" to "PluginDirectories"

WebCore:

Rename PluginDatabase's "PluginPaths" to "PluginDirectories"

The code expects these paths to all be directories, so it seems good
to refer to them as such.

This patch just changes "Paths" to "Directories" and "Path" to
"Directory".

Reviewed by Mitz Pettel.

  • platform/qt/TemporaryLinkStubs.cpp:
  • platform/wx/TemporaryLinkStubs.cpp:
  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::installedPlugins): (WebCore::PluginDatabase::refresh):
  • plugins/PluginDatabase.h: (WebCore::PluginDatabase::setPluginDirectories):
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabase::getPluginsInDirectories): (WebCore::safariPluginsDirectory): (WebCore::PluginDatabase::defaultPluginDirectories): (WebCore::PluginDatabase::isPreferredPluginDirectory):
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::compare):

WebKit/win:

Rename IWebViewPrivate::addAdditionalPluginPath to
addAdditionalPluginDirectory

Reviewed by Mitz Pettel.

  • Interfaces/IWebViewPrivate.idl:
  • Interfaces/WebKit.idl: Touched to make sure the Interfaces project rebuilds.
  • WebView.cpp: (WebView::addAdditionalPluginDirectory):
  • WebView.h:

WebKitTools:

Update for rename of an IWebViewPrivate method

Reviewed by Mitz Pettel.

  • DumpRenderTree/win/DumpRenderTree.cpp: (createWebViewAndOffscreenWindow):
09:53 Changeset [31461] by aroben@apple.com
  • 4 edits in trunk/WebCore

Remove PlatformFileTime

This typedef is time_t on all platforms, so we can just get rid of the
typedef.

Reviewed by Mitz Pettel.

  • platform/FileSystem.h:
  • plugins/PluginPackage.cpp:
  • plugins/PluginPackage.h:
09:53 Changeset [31460] by aroben@apple.com
  • 3 edits in trunk/WebCore

Change PlatformFileTime on Windows to be time_t

This matches other platforms and our existing functions in
FileSystem.h. It will also let us get rid of PlatformFileTime
altogether.

Reviewed by Mitz Pettel.

  • platform/FileSystem.h: Change PlatformFileTime to time_t on Windows.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginsFromRegistry): Use getFileModificationTime to get the modification time to pass to PluginPackage::create. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::hash): Updated to use m_lastModified as a time_t. (WebCore::PluginPackage::equal): Ditto.
09:52 Changeset [31459] by aroben@apple.com
  • 5 edits in trunk/WebCore

Make PluginPackage work like our other RefCounted classes

PluginPackage now starts with a ref count of 1, and its createPackage
method now returns a PassRefPtr instead of a raw pointer.

Reviewed by Darin Adler.

  • plugins/PluginPackage.cpp: (WebCore::PluginPackage::PluginPackage): Removed explicit call to the RefCounted constructor so that we'll start with a ref count of 1. (WebCore::PluginPackage::createPackage): Changed to return a PassRefPtr.
  • plugins/PluginPackage.h:
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the newly-created PluginPackage in a RefPtr.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginsFromRegistry): Ditto. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
09:52 Changeset [31458] by aroben@apple.com
  • 2 edits in trunk/WebCore

Fix Bug 18214: WebKit will sometimes load duplicate plugins

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

We now compare 3 things to determine if two PluginPackages are equal:

1) Name
2) Description
3) Supported MIME types

This matches Gecko's equality logic for plugins (implemented in
nsPluginTag::Equals).

Reviewed by Darin Adler.

  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::hash): Use the above-mentioned 3 criteria to calculate the hash. (WebCore::PluginPackage::equal): Use the above-mentioned 3 criteria to determine equality.
01:56 squirrelfish edited by mjs@apple.com
(diff)
01:55 squirrelfish edited by mjs@apple.com
(diff)
01:54 squirrelfish edited by mjs@apple.com
(diff)
01:50 Changeset [31457] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

Fix the Qt build.

ResourceHandleInternal.h references ResourceHandle::fireFailure, so include
ResourceHandle.h.

01:46 Changeset [31456] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Add support for FunctionCallValueNode.

  • kjs/nodes.cpp: (KJS::FunctionCallValueNode::emitCode):
  • kjs/nodes.h:
01:04 Changeset [31455] by mjs@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


1) Implemented array literals


2) Renamed op_object_get and op_object_put to op_get_prop_id and
op_put_prop_id in preparation for new variants.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNewArray): (KJS::CodeGenerator::emitGetPropId): (KJS::CodeGenerator::emitPutPropId): (KJS::CodeGenerator::emitPutPropIndex):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator): (KJS::CodeGenerator::propertyNames):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::ArrayNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::PostIncResolveNode::emitCode): (KJS::PreIncResolveNode::emitCode): (KJS::AssignResolveNode::emitCode): (KJS::AssignDotNode::emitCode):
  • kjs/nodes.h:
01:01 Changeset [31454] by eric@webkit.org
  • 5 edits
    3 adds in trunk

Reviewed by darin.

Make matching of regexps using much faster
http://bugs.webkit.org/show_bug.cgi?id=18086

  • pcre/pcre_compile.cpp: (compileBranch): (branchNeedsLineStart):
  • pcre/pcre_exec.cpp: (match): (jsRegExpExecute):
  • pcre/pcre_internal.h:
00:21 squirrelfish edited by ggaren@apple.com
(diff)
00:16 squirrelfish edited by ggaren@apple.com
(diff)
00:15 squirrelfish edited by ggaren@apple.com
(diff)
00:11 squirrelfish edited by ggaren@apple.com
(diff)

03/30/08:

23:49 Changeset [31453] by rwlbuis@webkit.org
  • 6 edits
    2 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15595
marker property doesn't show up correctly as "shorthand" in inspector

Make sure parsing the marker property sets the individual
marker properties as implicit with marker as shorthand.
Also let CSSStyleDecleration::getPropertyValue return
the correct value for the marker property.

23:48 Changeset [31452] by ggaren@apple.com
  • 27 edits
    5 copies
    2 adds in branches/squirrelfish

JavaScriptCore:

2008-03-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Implemented native function calls. (Re-entering from native code back
to JS doesn't work yet, though.)

0.2% speedup overall, due to some inlining tweaks. 3.6% regression on
function-empty.js, since we're making a new virtual call and taking a
new branch inside every op_call.


I adjusted the JavaScriptCore calling convention to minimize overhead,
like so:


The machine calls a single virtual function, "getCallData", to get all
the data it needs for a function call. Native code still uses the old
"isObject()" check followed by an "implementsCall()" check, which
aliases to "getCallData". (We can optimize native code to use getCallData
at our leisure.)


To supply a list of arguments, the machine calls a new List constructor
that just takes a pointer and a length, without copying. Native code
still appends to the list one argument at a time. (We can optimize
native code to use the new List constructor at our leisure.)

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Changed resize() call to grow() call, to encourage the compiler to inline the Vector code.
  • kjs/CallData.h: Added. (KJS::): CallData is a union because eventually native calls will stuff a function pointer into it, to eliminate the callAsFunction virtual call.
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): Changed this to an ASSERT since it's not implemented yet.


  • kjs/list.h: Made the List class two-faced, to support the old way and the new way during this transition phase: lists can be made read-only with just a pointer and a legnth, or you can append to them one item at a time.
  • kjs/value.h: (KJS::jsUndefined): Marked this function ALWAYS_INLINE for the benefit of a certain compiler that doesn't know what's best for it.

JavaScriptGlue:

2008-03-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Build fix.

  • ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.

WebCore:

2008-03-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Adjusted WebCore JS functions to the new "getCallData" calling convention.

WebKit/mac:

2008-03-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Build fix.

23:13 Changeset [31451] by eric@webkit.org
  • 21 edits in trunk/WebCore

Reviewed by Oliver.

Make AMatthews life easier -- fix the SVG_FILTERS build

Build fix only, no tests.

  • svg/SVGComponentTransferFunctionElement.cpp: (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
  • svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
  • svg/SVGFEDiffuseLightingElement.cpp:
  • svg/SVGFEGaussianBlurElement.cpp:
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement):
  • svg/SVGFESpecularLightingElement.cpp:
  • svg/SVGFETurbulenceElement.cpp:
  • svg/SVGFilterElement.cpp:
  • svg/SVGFilterPrimitiveStandardAttributes.cpp:
  • svg/graphics/filters/SVGFEBlend.cpp:
  • svg/graphics/filters/SVGFEComponentTransfer.cpp:
  • svg/graphics/filters/SVGFEComposite.cpp:
  • svg/graphics/filters/SVGFEDiffuseLighting.cpp:
  • svg/graphics/filters/SVGFEGaussianBlur.cpp:
  • svg/graphics/filters/SVGFEImage.cpp:
  • svg/graphics/filters/SVGFEMerge.cpp:
  • svg/graphics/filters/SVGFEMorphology.cpp:
  • svg/graphics/filters/SVGFEOffset.cpp:
  • svg/graphics/filters/SVGFESpecularLighting.cpp:
  • svg/graphics/filters/SVGFETurbulence.cpp:
22:49 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
22:32 Changeset [31450] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

Dump code that codegen can't handle yet, so it's easier to prioritize missing nodes.


  • kjs/nodes.h: (KJS::Node::emitCode):
21:39 Changeset [31449] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

Improve dumping of bytecode and fix coding style accordingly.


Registers are printed as lr1 for locals, tr1 for temp registers. Identifiers print as
foobar(@id0) and constants print as "foo"(@k1) or 312.4(@k2) or the like. Constant and
identifier tables are dumped for reference.


  • VM/CodeBlock.cpp: (KJS::escapeQuotes): (KJS::valueToSourceString): (KJS::registerName): (KJS::constantName): (KJS::idName): (KJS::printUnaryOp): (KJS::printBinaryOp): (KJS::CodeBlock::dump):
  • VM/Machine.cpp: (KJS::resolve): (KJS::resolveBase): (KJS::Machine::privateExecute):
19:46 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
18:11 Changeset [31448] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


Implement StringNode and VoidNode (both pretty trivial).

  • kjs/nodes.cpp: (KJS::StringNode::emitCode): (KJS::VoidNode::emitCode):
  • kjs/nodes.h:
15:35 Changeset [31447] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.

Implement CommaNode.


  • kjs/nodes.cpp: (KJS::CommaNode::emitCode):
  • kjs/nodes.h:
14:52 Changeset [31446] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Sam Weinig.

Test: fast/repaint/lines-with-layout-delta.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::repaintRectangle): Made this method take layout delta into account.

LayoutTests:

Reviewed by Sam Weinig.

  • fast/repaint/lines-with-layout-delta.html: Added.
  • platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum: Added.
  • platform/mac/fast/repaint/lines-with-layout-delta-expected.png: Added.
  • platform/mac/fast/repaint/lines-with-layout-delta-expected.txt: Added.
14:41 squirrelfish edited by mjs@apple.com
(diff)
14:40 squirrelfish edited by mjs@apple.com
(diff)
14:29 Changeset [31445] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Maciej Stachowiak.

  • fix assertion failure in CSSParser.cpp's equalIgnoringCase() when parsing certain transforms.

Test: fast/css/transform-function-lowercase-assert.html

  • css/CSSParser.cpp: (WebCore::TransformOperationInfo::TransformOperationInfo): Changed to always pass a lowercase string as the second argument of equalIgnoringCase().

LayoutTests:

Reviewed by Maciej Stachowiak.

  • test for an assertion failure in CSSParser.cpp's equalIgnoringCase() when parsing certain transforms.
  • fast/css/transform-function-lowercase-assert-expected.txt: Added.
  • fast/css/transform-function-lowercase-assert.html: Added.
14:11 Changeset [31444] by mrowe@apple.com
  • 2 edits in trunk/WebCore

ARM build fix.

14:02 Changeset [31443] by mjs@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Adds support for dot notation and object literals.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNewObject):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::ObjectLiteralNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::AssignDotNode::emitCode):
  • kjs/nodes.h:
10:25 Changeset [31442] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-03-30 Hiroyuki Ikezoe <poincare@ikezoe.net>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18036
Rendering invalid japanese characters with pango backend.

  • platform/graphics/gtk/FontPlatformDataPango.cpp: (FontPlatformData::FontPlatformData): Set PangoFontDescription for PangoContext explicitly to use proper font.
10:09 Changeset [31441] by rwlbuis@webkit.org
  • 8 edits
    2 adds in trunk

Reviewed by Oliver.

http://bugs.webkit.org/show_bug.cgi?id=17633
SVG: modifying x & y attribute of text element from JS fails

Make SVG text relayout when x, y attribute is changed from js.

08:25 Changeset [31440] by rwlbuis@webkit.org
  • 2 edits in trunk/LayoutTests

Reviewed by Adam Roben.

Fix wrong id.

03/29/08:

21:58 Changeset [31439] by mjs@apple.com
  • 8 edits in trunk/WebCore

2008-03-28 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

  • yet still more bindings speedup


Make AtomicString straight from UString in handcoded bindings

  • bindings/js/JSElementCustom.cpp: (WebCore::JSElement::setAttribute): (WebCore::JSElement::setAttributeNS):
  • dom/Document.cpp: (WebCore::Document::createElement):
  • dom/Document.h:
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement):
  • html/HTMLDocument.h:
19:21 Changeset [31438] by weinig@apple.com
  • 10 edits in trunk/WebCore

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix for <rdar://problem/5828873>

Since NSURL is allowing invalid urls to be loaded, we need to
check the URL validity at the ResourceHandle level and fire off
a cannotShowURL error.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::cannotShowURLError):
  • loader/FrameLoader.h:
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::cannotShowURLError): (WebCore::ResourceLoader::wasBlocked): (WebCore::ResourceLoader::cannotShowURL):
  • loader/ResourceLoader.h:
  • platform/KURL.h: (WebCore::KURL::isValid):
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): (WebCore::ResourceHandle::scheduleFailure): (WebCore::ResourceHandle::fireFailure): (WebCore::portAllowed):
  • platform/network/ResourceHandle.h: (WebCore::ResourceHandle::):
  • platform/network/ResourceHandleClient.h: (WebCore::ResourceHandleClient::cannotShowURL):
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
18:47 Changeset [31437] by darin@apple.com
  • 3 edits in trunk/WebCore

2008-03-29 Darin Adler <darin@apple.com>

Reviewed by Mitz.

  • more bindings speedup

When I changed the temporary variables to be UString that means that the
valueToString functions also need to return UString to avoid converting
from UString to String twice.

  • bindings/js/kjs_binding.cpp: (WebCore::valueToStringWithNullCheck): Changed return value to UString. (WebCore::valueToStringWithUndefinedOrNullCheck): Ditto.
  • bindings/js/kjs_binding.h: Ditto.
10:52 Changeset [31436] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-03-29 Darin Adler <darin@apple.com>

Reviewed by Sam.

  • DerivedSources.make: Removed temporary remove-stray-JSRGBColor build rule.
10:51 Changeset [31435] by darin@apple.com
  • 21 edits in trunk/WebCore

2008-03-29 Darin Adler <darin@apple.com>

Reviewed by Sam.

  • tweak handling of the class attribute to speed up code that sets it but never needs to parse it

6% speedup of Acid3 test 26

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRules): Change to use non-virtual classNames function since the hasClass bit can only be set for a StyledElement. (WebCore::CSSStyleSelector::checkOneSelector): Ditto. Also streamlined the code a bit for the tag matching as well.
  • dom/ClassNames.cpp: (WebCore::hasNonASCIIOrUpper): Added. This function does what other callers seem to want isLower() to do. We should merge this with isLower() in a subsequent cleanup pass. (WebCore::ClassNamesData::createVector): Renamed from parseClassAttribute. Turns the string into a vector. (WebCore::ClassNamesData::containsAll): Added. Used by getElementsByClassName.
  • dom/ClassNames.h: Added a separate ClassNameData class so we could hold the string and case folding flag as well as the vector. Changed ClassNames to have a set function rather than a parseClassAttribute function. Removed the "static" from isClassWhitespace. There's no reason to ask for internal linkage.
  • dom/ClassNodeList.cpp: (WebCore::ClassNodeList::ClassNodeList): Use constructor instead of the parseClassAttribute function. (WebCore::ClassNodeList::nodeMatches): Get rid of unnneeded isElementNode check, since hasClass will only be true for StyledElement nodes. Use the new containsAll function in ClassNames instead of having a loop here.
  • dom/ClassNodeList.h: Removed unneeded forward declaration.
  • dom/Document.cpp: Removed unneeded include.
  • dom/Element.cpp: (WebCore::Element::cloneNode): Changed code to copy attributes to use a function call instead of the assignment operator. This paves the way to making the function more efficient, using a virtual function. (WebCore::Element::setAttributeMap): Updated for PassRefPtr and for name change (element -> m_element). (WebCore::Element::createAttributeMap): Changed to use create function instead of calling the constructor directly.
  • dom/Element.h: Removed unneeded virtual getClassNames function. Changed the argument to setAttributeMap to be a PassRefPtr.
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::NamedAttrMap): Updated for name change (element -> m_element). (WebCore::NamedAttrMap::getNamedItem): Ditto. (WebCore::NamedAttrMap::removeNamedItem): Ditto. (WebCore::NamedAttrMap::setNamedItem): Ditto. (WebCore::NamedAttrMap::item): Ditto. (WebCore::NamedAttrMap::detachFromElement): Ditto. (WebCore::NamedAttrMap::setAttributes): Renamed this from the assignment operator. (WebCore::NamedAttrMap::addAttribute): Ditto. (WebCore::NamedAttrMap::removeAttribute): Ditto. (WebCore::NamedAttrMap::isReadOnlyNode): Ditto.
  • dom/NamedAttrMap.h: Removed the copy constructor and assignment operator and added a new function, setAttributes, possibly to be made virtual in the future. Made isReadOnlyNode non-virtual. Renamed element -> m_element. Made constructor protected and added a create function.
  • dom/NamedMappedAttrMap.cpp: (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Changed constructor parameter to take a StyledElement. (WebCore::NamedMappedAttrMap::setClass): Changed to use the new set function.
  • dom/NamedMappedAttrMap.h: Made constructor private and added a create function. Replaced theparseClassAttribute function with clearClass and setClass functions. Replaced the getClassNames function with a classNames function returning a reference instead of a pointer.
  • dom/NamedNodeMap.h: Changed to start refcount at 1 instead of 0. Removed unneeded virtual function isReadOnlyNode.
  • dom/StyledElement.cpp: (WebCore::StyledElement::parseMappedAttribute): Rewrote class attribute handling to use new function names and took out uneeded special case for null attribute. (WebCore::StyledElement::createAttributeMap): Changed to use create function instead of a direct call to new.
  • dom/StyledElement.h: Replaced the virtual getClassNames function with a non-virtual inline classNames function.
  • html/HTMLElement.cpp: (WebCore::HTMLElement::cloneNode): Changed code to copy attributes to use a function call instead of the assignment operator.
  • html/HTMLTokenizer.cpp: (WebCore::Token::addAttribute): Use create function instead of a a direct call to new.
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): Use RefPtr and the new create function. (WebCore::HTMLViewSourceDocument::addViewSourceToken): Ditto. (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto. (WebCore::HTMLViewSourceDocument::addLine): Ditto. (WebCore::HTMLViewSourceDocument::addText): Ditto. (WebCore::HTMLViewSourceDocument::addLink): Ditto.
  • html/HTMLViewSourceDocument.h: Ditto.
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Changed code to copy attributes to use a function call instead of the assignment operator. (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Ditto.
08:17 Changeset [31434] by weinig@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Brady Eidson.

Fix crash when canceling a resource load while port blocked failure
timer is going.

Test: fast/loader/cancel-load-during-port-block-timer.html

  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::scheduleBlockedFailure): (WebCore::ResourceHandle::fireBlockedFailure):
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): Make the Timer a member variable of ResourceHandleInternal so that it can be canceled if the ResourceHandle is destroyed.

LayoutTests:

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Brady Eidson.

Test for crash when canceling a resource load while port blocked failure
timer is going

  • fast/loader/cancel-load-during-port-block-timer-expected.txt: Added.
  • fast/loader/cancel-load-during-port-block-timer.html: Added.
01:18 Changeset [31433] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Oliver Hunt.

<rdar://problem/5829556> REGRESSION: Leak in KJS::initializeThreading()

  • kjs/InitializeThreading.cpp: (KJS::initializeThreading): There is no guarantee that initializeThreading() is called only once; check that the mutex hasn't been already allocated.
01:15 squirrelfish edited by ggaren@apple.com
(diff)
01:13 Changeset [31432] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-03-29 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Mark the register file.


It's a conservative mark for now, but once registers are typed, we can
do an exact mark.


1.4% regression regardless of whether we actually do the marking.
GCC is is worth every penny.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Most of the changes here are just for the fact that "registers" is a pointer now.
  • kjs/JSGlobalObject.cpp: The global object owns the register file now.
00:25 Changeset [31431] by oliver@apple.com
  • 5 edits in trunk

Bug 17924: Crash in KJS::ConstDeclNode::evaluate with |with| and |const|
<http://bugs.webkit.org/show_bug.cgi?id=17924>
<rdar://problem/5806933>

Reviewed by Geoff.

It turns out this is trivially avoidable if we just match firefox's
semantics and ensure that an assignment in a const declaration always
writes to the variable object.

03/28/08:

23:46 squirrelfish edited by ggaren@apple.com
(diff)
23:45 squirrelfish edited by ggaren@apple.com
(diff)
21:29 Changeset [31430] by oliver@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

Bug 18204: SquirrelFish: continue/break do not correctly handle scope popping
<http://bugs.webkit.org/show_bug.cgi?id=18204>

Reviewed by Maciej.

We now track the scope depth as part of a loop context, and add an
extra instruction op_jump_scopes that is used to perform a jump across
dynamic scope boundaries.

20:38 Changeset [31429] by slewis@apple.com
  • 3 edits in trunk/WebCore

2008-03-28 Stephanie <slewis@apple.com>

Fix 64bit build

  • WebCore.LP64.exp:
  • loader/archive/cf/LegacyWebArchiveMac.mm: (WebCore::createResourceResponseFromMacArchivedData):
20:31 Changeset [31428] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-28 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for ConditionalNode.

  • kjs/nodes.cpp: (KJS::ConditionalNode::emitCode):
  • kjs/nodes.h:
20:28 Changeset [31427] by sfalken@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Steve Falkenburg <sfalken@apple.com>

Enabled LTCG on files within "page".

Rubber stamped by Oliver.

  • WebCore.vcproj/WebCore.vcproj:
20:07 Changeset [31426] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix a percentage background position regression from r31389

Test: fast/backgrounds/background-position-1.html

  • rendering/Length.h: (WebCore::Length::calcValue): Divide by 100. (WebCore::Length::calcMinValue): Ditto.

LayoutTests:

Reviewed by Dave Hyatt.

  • pixel test for a percentage background position regression from r31389
  • fast/backgrounds/background-position-1.html: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.checksum: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.png: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.txt: Added.
19:21 Changeset [31425] by hyatt@apple.com
  • 1 edit in trunk/WebCore/rendering/RenderBlock.cpp

Oops. Back out unintentional change to RenderBlock.cpp

19:21 Changeset [31424] by hyatt@apple.com
  • 7 edits in trunk/WebCore

2008-03-28 David Hyatt <hyatt@apple.com>

Back out the Ahem font antialiasing hack, since it is now no longer required for LCD antialiased text
to match the reference rendering on Acid 3.

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawGlyphs):
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs):
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformInit):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionNewFloats):
17:51 Changeset [31423] by beidson@apple.com
  • 8 edits
    2 deletes in trunk/WebKit

WebKit:

2008-03-28 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

Remove WebArchiver.h/mm

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

Remove WebArchiver.h/mm

  • WebView/WebArchiver.h: Removed.
  • WebView/WebArchiver.mm: Removed.
  • DOM/WebDOMOperations.mm:
  • WebCoreSupport/WebDragClient.mm:
  • WebCoreSupport/WebEditorClient.mm:
  • WebView/WebDataSource.mm:
  • WebView/WebHTMLView.mm:
17:49 Changeset [31422] by sfalken@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebKitLibraries

Merged fix from r31420.

17:40 Changeset [31421] by beidson@apple.com
  • 5 edits in trunk/WebKit/mac

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore

  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::dataForArchivedSelection):
  • WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
  • WebView/WebArchiver.mm: Ditto
  • WebView/WebHTMLView.mm: (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
17:35 Changeset [31420] by sfalken@apple.com
  • 2 edits in trunk/WebKitLibraries

Versioning.

17:18 Changeset [31419] by beidson@apple.com
  • 6 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

More Kit->Core WebArchive changes.

Create an archive from the current selection in a frame

  • WebCore.base.exp:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::createFromSelection):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

More Kit->Core WebArchive changes.

Create an archive from the current selection in a frame

  • WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off easily in a followup
17:14 Changeset [31418] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Kevin McCullough <kmccullough@apple.com>

  • Somehow managed to duplicate code :(
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading):
17:04 Changeset [31417] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-03-28 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Responding to feedback, added some comments, fixed up a few names, and
clarified that "locals" always means all local variables, functions,
and parameters.

17:01 Changeset [31416] by ggaren@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

2008-03-28 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Added support for "this".


Supply an implicit "this" value as the first argument to every function.
Alias the "this" keyword to that argument.


1% regression overall, 2.5% regression on empty function calls. Seems
like a reasonable cost for now, since we're doing more work.
(Eventually, we might decide to create a version of op_call specialized
for a known null "this" value.)

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCall):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/CommonIdentifiers.cpp: (KJS::CommonIdentifiers::CommonIdentifiers):
  • kjs/CommonIdentifiers.h:
  • kjs/nodes.cpp: (KJS::ThisNode::emitCode): (KJS::FunctionCallResolveNode::emitCode):
  • kjs/nodes.h:
16:50 Changeset [31415] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Kevin McCullough <kmccullough@apple.com>

  • Missed some changes in previous checkin.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Get identifier from synchronous loader. (WebCore::XMLHttpRequest::didFinishLoading):
16:28 Changeset [31414] by kmccullough@apple.com
  • 7 edits in trunk/WebCore

2008-03-28 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

-<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
-<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
-<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)

  • Send the XMLHttpRequest data to the Inspector Controller.
  • loader/FrameLoader.cpp: Return the identifier for this resource since we need it in the XHR case. (WebCore::FrameLoader::loadResourceSynchronously):
  • loader/FrameLoader.h: Ditto.
  • page/InspectorController.cpp: (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): We only need the data since the type will be XHR and the encoding is not used (we decoded earlier). (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): Locking is necessary when setting and clearing the KJS::UString::Rep. (WebCore::InspectorResource::setXMLHttpRequestProperties): (WebCore::InspectorResource::sourceString): Return the decoded source. (WebCore::addSourceToFrame): No longer do the decoding here, it has been encapsulated in the InspectorResource. (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  • page/InspectorController.h: Pass a UString instead of copying to a WebCore::String. In case we never ask for the string's contents this will save us an extra copy.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): In the synchronous load case we normally do not keep the identifier but we need it to find the InspectorResource in order to tell it that it was loaded via XHR. (WebCore::XMLHttpRequest::didFinishLoading): Tell the InspectorController that its resource was loaded via XHR.
  • xml/XMLHttpRequest.h: Ditto.
16:28 Changeset [31413] by slewis@apple.com
  • 2 edits in trunk/LayoutTests

2008-03-28 Stephanie Lewis <slewis@apple.com>

Update Windows Skipped list. Bugs filed.

  • platform/win/Skipped:
16:11 Changeset [31412] by beidson@apple.com
  • 10 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

WebArchive saga continues - Can now make archives from ranges in WebCore

Again, previous layout test coverage exercised this code

  • WebCore.base.exp:
  • editing/markup.cpp: (WebCore::createFullMarkup): Added a "markup from range" variant that copies the previous WebKit implementation
  • editing/markup.h:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

WebArchive saga continues - Can now make archives from ranges in WebCore

  • DOM/WebDOMOperations.mm: (-[DOMRange webArchive]): (-[DOMRange markupString]):
  • WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
  • WebView/WebArchiver.mm:
15:39 Changeset [31411] by oliver@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

Bug 18192: Squirrelfish needs support for break and continue
<http://bugs.webkit.org/show_bug.cgi?id=18192>

Reviewed by Geoff

Added a loop context stack to the code generator to provide the
correct jump labels for continue and goto. Added logic to the
currently implemented loop constructs to manage entry and exit
from the loop contexts. Finally, implemented codegen for break
and continue (and a pass through for LabelNode)

15:09 Changeset [31410] by slewis@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Stephanie Lewis <slewis@apple.com>

windows build fix.

  • platform/win/MainThreadWin.cpp: (WebCore::initializeThreadingAndMainThread):
14:29 Changeset [31409] by beidson@apple.com
  • 8 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

More Kit->Core webarchive code movement

  • WebCore.base.exp:
  • editing/markup.cpp: (WebCore::createFullMarkup): Replacement for [DOMNode markupString], creating full markup at this node including the document type string, which the WebKit implementation did indirectly
  • editing/markup.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

More Kit->Core webarchive code movement

  • DOM/WebDOMOperations.mm: (-[DOMNode markupString]): Call createFullMarkup() instead
  • WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
  • WebView/WebFrameInternal.h: Ditto
14:01 Changeset [31408] by mrowe@apple.com
  • 5 edits
    2 adds in branches/Safari-3-1-branch

Merge r31071.

14:01 Changeset [31407] by mrowe@apple.com
  • 2 edits
    2 adds in branches/Safari-3-1-branch/WebCore

Merge r31358.

14:00 Changeset [31406] by mrowe@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebCore

Merge r31336.

13:56 Changeset [31405] by darin@apple.com
  • 10 edits in trunk/WebCore

2008-03-28 Darin Adler <darin@apple.com>

Reviewed by Maciej.

  • cut down on copying and refcount churn a little by using references a bit more for KURL and String
  • bindings/js/JSXMLHttpRequest.cpp: (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Use const KURL& instead of KURL.
  • css/StyleSheet.h: (WebCore::StyleSheet::href): Return const String& instead of String. (WebCore::StyleSheet::title): Ditto.
  • dom/Document.cpp: (WebCore::Document::completeURL): Use const KURL* for a local variable instead of KURL to avoid copying the KURL.
  • dom/Element.cpp: (WebCore::Element::baseURI): Use const KURL& instead of KURL.
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::hostname): Ditto.
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed): Ditto.
  • html/HTMLKeygenElement.cpp: Removed unneeded include of KURL.
  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): Get rid of temporary KURL.
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::createForFrame): Use const KURL& instead of KURL.
13:21 Changeset [31404] by ap@webkit.org
  • 14 edits
    3 adds in trunk

Reviewed by Sam Weinig.

Fix a dtoa thread safety issue.

WebCore can call kjs_strtod without holding JS lock, but we didn't have thread safety
compiled in for dtoa.

This is a 0.5% regression on SunSpider, which Sam Weinig has volunteered to cover with
his recent improvement.

  • kjs/dtoa.cpp: (Bigint::Balloc): (Bigint::Bfree): Changed to use fastMalloc/fastDelete - they are much faster than the dtoa custom version was in the presence of locking (but somewhat slower in single-threaded case). (Bigint::pow5mult): Got rid of the dreaded double-checked locking anti-pattern (had to restructure the code to avoid significant performance implications). (Bigint::lshift): Rewrote to avoid an allocation, if possible.

(Bigint::rv_alloc):
(Bigint::kjs_freedtoa):
(Bigint::kjs_dtoa):
Check for USE(MULTIPLE_THREADS), not dtoa legacy MULTIPLE_THREADS.

  • kjs/InitializeThreading.cpp: Added. (KJS::initializeThreading):
  • kjs/InitializeThreading.h: Added. Initialize threading at KJS level, if enabled.
  • kjs/dtoa.h: Expose dtoa mutex for KJS::initializeThreading.
  • kjs/testkjs.cpp: (kjsmain): Call initializeThreading.
  • wtf/Threading.h: Removed a using directive for WTF::initializeThreading - it is only to be called from KJS::initializeThreading, and having it in the global namespace is useless.
13:02 Changeset [31403] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Maciej, landed by Brady

Correct build regression (http://bugs.webkit.org/show_bug.cgi?id=18148)

  • platform/graphics/win/GraphicsContextCairoWin.cpp: (WebCore::GraphicsContext::getWindowsContext): (WebCore::GraphicsContext::releaseWindowsContext):
13:01 Changeset [31402] by beidson@apple.com
  • 4 edits in trunk/WebKit/mac

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller

  • WebView/WebArchiver.h:
  • WebView/WebArchiver.mm:
  • WebView/WebDataSource.mm: (-[WebDataSource webArchive]):
12:57 Changeset [31401] by beidson@apple.com
  • 3 edits in trunk/WebKit/mac

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Remove unused [WebArchiver archiveNode:], made obsolete in r31400

  • WebView/WebArchiver.h:
  • WebView/WebArchiver.mm:
12:47 Changeset [31400] by beidson@apple.com
  • 7 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

"Yet another transitional step" to empty out WebKit-based code for archiving.

With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
entirely within WebCore, and opens the door to saving WebArchives on Windows.

This is another "zero behavior change" patch, and current editing/ and webarchive/ layout tests
covered the relevant code

  • WebCore.base.exp:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

"Yet another transitional step" to empty out WebKit-based code for archiving.

With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
entirely within WebCore, and opens the door to saving WebArchives on Windows.

  • DOM/WebDOMOperations.mm:
  • WebView/WebArchiver.mm: (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
11:26 Changeset [31399] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-03-28 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18061
PlatformScrollBarGtk attempts to allocate negative width and/or height for widgets

Missing clampNegativeToZero() call meant that we tried to allocate widgets with negative width and/or height.

  • platform/gtk/PlatformScrollBarGtk.cpp: (PlatformScrollbar::geometryChanged):
10:53 Changeset [31398] by beidson@apple.com
  • 6 edits
    1 add in trunk

JavaScriptCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Export Unicode/UTF8.h and convertUTF16ToUTF8() for more flexible conversion in WebCore

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Using convertUTF16ToUTF8() from WTF, add a helper function that gives you a UTF8 SharedBuffer
created from a String.

  • ForwardingHeaders/wtf/unicode/UTF8.h: Added.
  • platform/text/PlatformString.h:
  • platform/text/String.cpp: (WebCore::utf8Buffer):
10:37 Changeset [31397] by darin@apple.com
  • 3 edits in trunk/WebCore

2008-03-28 Darin Adler <darin@apple.com>

Reviewed by Adam.

  • eliminate a tiny bit of unnecessary refcount churn
  • bindings/js/JSEventTargetBase.cpp: (WebCore::eventNameForPropertyToken): Return const AtomicString&.
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBase::getValueProperty): Update for above change. (WebCore::JSEventTargetBase::putValueProperty): Ditto.
10:03 Changeset [31396] by darin@apple.com
  • 3 edits in trunk/LayoutTests

2008-03-28 Darin Adler <darin@apple.com>

Reviewed by Sam.

  • fast/encoding/invalid-xml-expected.txt: Update to reflect a true success.
  • fast/encoding/resources/invalid-xml.js: Eliminate race condition by not ending the test until the js-test-post.js script has loaded.
09:26 Changeset [31395] by ap@webkit.org
  • 3 edits in trunk/LayoutTests

Rubber-stamped by Brady.

Enable server-side includes via AddHandler, hopefully making Apache 1.3 happy.

  • http/tests/misc/.htaccess:
  • http/tests/misc/resources/acid3/.htaccess:
09:16 Changeset [31394] by darin@apple.com
  • 3 edits in trunk/WebKitSite

2008-03-28 Darin Adler <darin@apple.com>

  • building/build.html: Add another mention of using the Cygwin shell.
  • building/tools.html: Fix a typo on the name Cygwin.
07:15 Changeset [31393] by ap@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

Not reviewed.

Enable mod_include for acid3.html - the previous check-in only had it in resources
subdirectory.

  • http/tests/misc/.htaccess: Added.
02:44 Changeset [31392] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

Fix the Qt build.

  • rendering/Length.h: Include wtf/MathExtras.h for round().
02:23 Changeset [31391] by eric@webkit.org
  • 1 edit
    23 adds in trunk/LayoutTests

Reviewed by mjs.

Add Acid3 test as an http test
http://bugs.webkit.org/show_bug.cgi?id=18176

  • http/tests/misc/acid3-expected.checksum: Added.
  • http/tests/misc/acid3-expected.png: Added.
  • http/tests/misc/acid3-expected.txt: Added.
  • http/tests/misc/acid3.html: Added.
  • http/tests/misc/resources/acid3/.htaccess: Added.
  • http/tests/misc/resources/acid3/empty.css: Added.
  • http/tests/misc/resources/acid3/empty.html: Added.
  • http/tests/misc/resources/acid3/empty.png: Added.
  • http/tests/misc/resources/acid3/empty.txt: Added.
  • http/tests/misc/resources/acid3/empty.xml: Added.
  • http/tests/misc/resources/acid3/font.svg: Added.
  • http/tests/misc/resources/acid3/font.ttf: Added.
  • http/tests/misc/resources/acid3/instructions.inc: Added.
  • http/tests/misc/resources/acid3/reference.html: Added.
  • http/tests/misc/resources/acid3/reference.png: Added.
  • http/tests/misc/resources/acid3/support-a.png.404: Added.
  • http/tests/misc/resources/acid3/support-b.png: Added.
  • http/tests/misc/resources/acid3/support-c.png: Added.
  • http/tests/misc/resources/acid3/svg.xml: Added.
  • http/tests/misc/resources/acid3/xhtml.1: Added.
  • http/tests/misc/resources/acid3/xhtml.2: Added.
  • http/tests/misc/resources/acid3/xhtml.3: Added.
01:54 Changeset [31390] by hyatt@apple.com
  • 5 adds in trunk/LayoutTests

Add layout tests for background position rounding.

01:53 Changeset [31389] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-03-28 David Hyatt <hyatt@apple.com>

Fix a bug where background-position truncates instead of rounding when it evaluates to fractional
pixel values. This matches other browsers.

Reviewed by maciej

Added fast/backgrounds/background-position-rounding.html

  • rendering/Length.h: (WebCore::Length::calcValue): (WebCore::Length::calcMinValue):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundImageGeometry):

03/27/08:

23:41 Changeset [31388] by mrowe@apple.com
  • 5 edits in trunk

2008-03-27 Darin Adler <darin@apple.com>

Reviewed by Mark Rowe.

<rdar://problem/5826236> Regular expressions with large nested repetition counts can have their
compiled length calculated incorrectly.

  • pcre/pcre_compile.cpp: (multiplyWithOverflowCheck): (calculateCompiledPatternLength): Check for overflow when dealing with nested repetition counts and bail with an error rather than returning incorrect results.

2008-03-27 Mark Rowe <mrowe@apple.com>

Reviewed by Adam Roben.

Tests for <rdar://problem/5826236> Regular expressions with large nested repetition counts can have their
compiled length calculated incorrectly.

  • fast/js/regexp-overflow-expected.txt:
  • fast/js/resources/regexp-overflow.js:
22:49 Changeset [31387] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix. Return a default value for operator == when !USE(WXGC) (not implemented in that case).

22:42 Changeset [31386] by mjs@apple.com
  • 2 edits in trunk/WebCore

2008-03-27 Maciej Stachowiak <mjs@apple.com>

  • fix build
  • svg/SVGGlyphMap.h: (WebCore::GlyphMapNode::create):
22:37 Changeset [31385] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-03-27 Brady Eidson <beidson@apple.com>

Forgot a small requested change before committing

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::mainResource):
22:33 Changeset [31384] by beidson@apple.com
  • 10 edits in trunk

WebCore:

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
as the push to core-ify WebArchives continues.

This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data.
WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources
(as in "while archiving a page") are accepting of null or empty data.

This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::archiveResourceForURL): Make this const (WebCore::DocumentLoader::mainResource): (WebCore::DocumentLoader::subresource): Make this const and relocate (WebCore::DocumentLoader::getSubresources):
  • loader/DocumentLoader.h:

WebKit/mac:

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
as the push to core-ify WebArchives continues.

This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data.
WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources
(as in "while archiving a page") are accepting of null or empty data.

This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.

  • WebView/WebDataSource.mm: (-[WebDataSource mainResource]): Call DocumentLoader implementation (-[WebDataSource subresources]): Ditto
  • WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
  • WebView/WebFrameInternal.h:

LayoutTests:

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Updated results, as we now more consistently archive empty frames/empty resources

  • webarchive/archive-empty-frame-source-expected.txt:
22:25 Changeset [31383] by mjs@apple.com
  • 2 edits in trunk/WebCore

2008-03-27 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

  • fixed many buildbot leaks in glyph map code
  • svg/SVGGlyphMap.h: (WebCore::GlyphMapNode::create): Use explicit create pattern, to avoid overreffing and therefore leaking these objects. (WebCore::SVGGlyphMap::add): Call create instead of using new.
20:39 Changeset [31382] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for UnaryPlusNode, NegateNode, BitwiseNotNode and LogicalNotNode.

  • VM/CodeBlock.cpp: (KJS::printUnaryOp): (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitToJSNumber): (KJS::CodeGenerator::emitNegate): (KJS::CodeGenerator::emitBitNot): (KJS::CodeGenerator::emitNot):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::UnaryPlusNode::emitCode): (KJS::NegateNode::emitCode): (KJS::BitwiseNotNode::emitCode): (KJS::LogicalNotNode::emitCode):
  • kjs/nodes.h:
20:37 Changeset [31381] by mjs@apple.com
  • 2 edits in trunk/WebCore

2008-03-27 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Oliver.

  • re-fix Acid3, some code was incorrectly moved when fixing the Qt build
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
20:06 Changeset [31380] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Add support for LogicalAndNode and LogicalOrNode.

  • kjs/nodes.cpp: (KJS::LogicalAndNode::emitCode): (KJS::LogicalOrNode::emitCode):
  • kjs/nodes.h:
20:02 squirrelfish edited by oliver@apple.com
(diff)
20:01 squirrelfish edited by oliver@apple.com
(diff)
19:52 Changeset [31379] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Sam Weinig <sam@webkit.org>

Clean up code and debug output.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
19:09 Changeset [31378] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Geoffrey Garen <ggaren@apple.com>

Moved an ASSERT to a more logical place.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
18:10 Changeset [31377] by beidson@apple.com
  • 3 edits in trunk/WebKit/mac

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam

Change the "init from WebCore resource" version of WebResource to take PassRefPtr
(more efficient)

  • WebView/WebResource.mm: (-[WebResource _initWithCoreResource:]):
  • WebView/WebResourceInternal.h:
15:14 Changeset [31376] by hausmann@webkit.org
  • 3 edits in trunk/WebCore

Fix compilation against Qt 4.4 and one missing SVG_FONTS #ifdef.

14:44 Changeset [31375] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Add emitCode support for InstanceOfNode.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitInstanceOf):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::InstanceOfNode::emitCode):
  • kjs/nodes.h:
14:37 Changeset [31374] by hausmann@webkit.org
  • 11 edits in trunk/WebCore

Fix the Qt build and the build without ENABLE(SVG_FONTS)

13:58 Changeset [31373] by oliver@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

Bug 18142: squirrelfish needs to support dynamic scoping/with
<http://bugs.webkit.org/show_bug.cgi?id=18142>

Reviewed by Maciej

Add support for dynamic scoping and add code to handle 'with'
statements.

12:37 Changeset [31372] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for NullNode, FalseNode, TrueNode, IfNode, IfElseNode, DoWhileNode and WhileNode

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump): Dump op_jfalse opcode.
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitJumpIfFalse): Identical to emitJumpIfTrue except it emits the op_jfalse opcode. (KJS::CodeGenerator::emitLoad): Add and emitLoad override for booleans.
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute): Adds execution of op_jfalse. It is identical to op_jtrue, except the the condition is reversed.
  • VM/Opcode.h: Add op_jfalse.
  • kjs/nodes.cpp: (KJS::NullNode::emitCode): Added. (KJS::FalseNode::emitCode): Added. (KJS::TrueNode::emitCode): Added. (KJS::IfNode::emitCode): Added. (KJS::IfElseNode::emitCode): Added. (KJS::DoWhileNode::emitCode): Added. (KJS::WhileNode::emitCode): Added.
  • kjs/nodes.h:
03:56 Changeset [31371] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/WebCore.base.exp

Removed whitespace that crept in from r31357.

00:12 Changeset [31370] by timothy@apple.com
  • 4 edits
    7 moves in trunk/WebCore

2008-03-26 Timothy Hatcher <timothy@apple.com>

Rename some Inspector files to facilitate the up-coming UI refresh changes.

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

Rubber-stamped by Adam Roben.

  • WebCore.vcproj/WebCore.vcproj:
  • page/inspector/Console.js: Copied from page/inspector/ConsolePanel.js.
  • page/inspector/ConsolePanel.js: Removed.
  • page/inspector/DocumentPanel.js: Removed.
  • page/inspector/ElementsPanel.js: Copied from page/inspector/DocumentPanel.js.
  • page/inspector/FontPanel.js: Removed.
  • page/inspector/FontView.js: Copied from page/inspector/FontPanel.js.
  • page/inspector/ImagePanel.js: Removed.
  • page/inspector/ImageView.js: Copied from page/inspector/ImagePanel.js.
  • page/inspector/NetworkPanel.js: Removed.
  • page/inspector/ResourcePanel.js: Removed.
  • page/inspector/ResourceView.js: Copied from page/inspector/ResourcePanel.js.
  • page/inspector/ResourcesPanel.js: Copied from page/inspector/NetworkPanel.js.
  • page/inspector/SourcePanel.js: Removed.
  • page/inspector/SourceView.js: Copied from page/inspector/SourcePanel.js.
  • page/inspector/WebKit.qrc:
  • page/inspector/inspector.html:
Note: See TracTimeline for information about the timeline view.