Timeline


and

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.

10/22/07:

23:45 Changeset [26913] by sfalken

Fix build.

  • plugins/win/PluginViewWin.cpp:
23:44 Changeset [26912] by darin

Reviewed by Maciej.

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

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

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

Build fix only, no review.

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

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

Build fix only, no review.

  • WebCore.xcodeproj/project.pbxproj: make sure DOMSVGAnimateElement.h is copied into headers.
23:07 Changeset [26909] by eseidel

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

21:19 Changeset [26908] by mjs

Reviewed by Review.


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


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


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

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

Reviewed by Maciej.

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

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

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

Gtk build fix.

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

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

Reviewed by hyatt.

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

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

Windows build fix

Reviewed by NOBODY.

  • Scripts/build-dumprendertree: Fix path to DumpRenderTree.sln.
17:28 Changeset [26902] by sfalken

New tag.

17:28 Changeset [26901] by sfalken

Bump versions for submit

17:26 Changeset [26900] by sfalken

Merged fix from r26898.

16:36 Changeset [26899] by darin

JavaScriptCore:

Reviewed by Geoff.

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

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

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

LayoutTests:

Reviewed by Geoff.

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

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

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

Reviewed by Anders.

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

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

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

Reviewed by Brady.

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

Add results for new layout tests for transforms.

14:32 Changeset [26895] by hyatt

Add two new layout tests for transforms.

14:29 Changeset [26894] by hyatt

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

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

Reviewed by Mitz Pettel

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

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

Reviewed by Oliver.


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

Reviewed by Eric Seidel.

Makes SunSpider 6% faster.

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

Reviewed by Darin.

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

Windows build fix

JavaScriptCore:

Windows build fix

Reviewed by NOBODY.

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

WebCore:

Windows build fix

Reviewed by NOBODY.

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

Reviewed by Simon.

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

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

09:29 QtWebKit edited by hausmann@webkit.org
(diff)
09:21 BuildingQtOnWindows edited by hausmann@webkit.org
(diff)
09:01 Changeset [26887] by hausmann

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

08:06 Changeset [26886] by alp

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

Reviewed by Nikolas Zimmermann.

Implement more GraphicsContextCairo stubs.

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

Fix warnings.

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

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

07:53 Changeset [26884] by hausmann

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

06:56 Changeset [26883] by bdash

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

Gtk build fix.

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

JavaScriptCore:

Reviewed by Maciej.

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

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

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

LayoutTests:

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

JavaScriptCore:

Reviewed by Mark Rowe.


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

  • Configurations/JavaScriptCore.xcconfig:

WebCore:

Reviewed by Mark Rowe.

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

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

WebKit:

Reviewed by Mark Rowe.


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

  • Configurations/WebKit.xcconfig:

WebKitTools:

Reviewed by Mark Rowe.


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

  • Scripts/build-webkit:
04:39 Changeset [26879] by hausmann

Build fix for the non-qmake builds.

04:28 Changeset [26878] by hausmann

Disable the database feature in the qmake build for now.

04:22 Changeset [26877] by hausmann

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

03:41 Changeset [26876] by alp

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

Reviewed by Mark Rowe.

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

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

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

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

02:35 Changeset [26875] by hausmann

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

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

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

needed for run-javascriptcore-tests on OSX.

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

as we do not have -rpath on OSX.

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

02:24 Changeset [26873] by hausmann

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

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

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

02:24 Changeset [26872] by hausmann

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

Make it actually localizable....

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

02:24 Changeset [26871] by hausmann

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

Adjust the code to obey the Coding Style.

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

02:24 Changeset [26870] by hausmann

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

Return a non empty string in more functions.

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

02:24 Changeset [26869] by hausmann

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

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

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

02:18 Changeset [26868] by hausmann

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

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

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

02:15 Changeset [26867] by alp

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

Reviewed by Mark Rowe.

Use the portable GLib time function.

Use event timestamps rather than the current time where available.

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

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

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

00:31 Changeset [26865] by hyatt

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

Reviewed by eric

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

10/21/07:

23:26 Changeset [26864] by bdash

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

Reviewed by Alp.

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

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

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

Reviewed by Alp.

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

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

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

Reviewed by mjs.

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

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

Reviewed by Mitz.

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

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

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

Reviewed by Mitz.

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

  • fast/js/kde/Array-expected.txt:
  • fast/js/kde/resources/Array.js: Update to cover sorting an empty array.
20:57 Changeset [26861] by sfalken

New tag.

20:57 Changeset [26860] by sfalken

Bump versions for submit

20:16 Changeset [26859] by bdash

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

Reviewed by Eric.

Fix run-javascriptcore-tests for Gtk.

  • Scripts/build-testkjs: testkjs is built by build-webkit for Gtk.
20:13 Changeset [26858] by mjs

Rubber stamped by Eric.


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

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

Build fix.

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

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

Reviewed by Mark Rowe.

Implement spelling and grammar mistake underlining with Pango/Cairo.

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

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

Reviewed by Adam.


  • rebalance new tests


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


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

This balances them with the existing tests.

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

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

Reviewed by Mark Rowe.

Cairo canvas fixes:

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

Delegate memory management of canvas images to Cairo.

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

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

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

13:35 Changeset [26852] by zimmermann

Reviewed by Eric.

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

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

11:40 Changeset [26851] by ddkilzer

WebKitSite:

Reviewed by Darin.

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

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

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

Reviewed by Alp.

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

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

Reviewed by Maciej.


Speeds up SunSpider by 10%.

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

WebCore:

Reviewed by Dave Hyatt.

Test: fast/text/word-space.html

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

LayoutTests:

Reviewed by Dave Hyatt.

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

10/20/07:

23:48 Changeset [26845] by hyatt

Add new transforms directory along with an initial layout test.

23:44 Changeset [26844] by hyatt

Add new transforms directory along with an initial layout test.

23:39 Changeset [26843] by hyatt

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

Reviewed by olliej

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

Reviewed by Adam.

Add basic @font-face to the Web Inspector.

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

Reviewed by Mark Rowe.

Fixes:

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

WebCore:

Reviewed by Dave Hyatt.

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

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

LayoutTests:

Reviewed by Dave Hyatt.

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

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

Reviewed by aroben.

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

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

Reviewed by darin.


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

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

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

Reviewed by Dave Hyatt.

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

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

Reviewed by Mark.

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


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

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

Reviewed by Maciej.

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

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

  • platform/gtk/WheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent):
15:43 Changeset [26834] by mjs

Fix reviewer in ChangeLog.

15:42 Changeset [26833] by mjs

Reviewed by Eric.

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


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


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

Reviewed by Maciej.

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

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

Reviewed by Eric.

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

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

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

Reviewed by Tim Hatcher.

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

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

  • page/inspector/DatabasePanel.js:
11:57 Changeset [26829] by pewtermoose

Windows build fix

11:25 Changeset [26828] by bdash

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

Rubber-stamped by Adam.

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

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

Reviewed by Maciej.

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

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

WebKitTools:

Reviewed by Tim Hatcher.

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

LayoutTests:

Reviewed by Tim Hatcher.

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

Reviewed by Eric.

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

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

Reviewed by Alp.

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

JavaScriptCore:

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

WebCore:

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

WebKit/gtk:

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

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

Reviewed by Alp.

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

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

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

Reviewed by Eric.

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

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

Reviewed by Eric.

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

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

04:17 Changeset [26820] by bdash

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

Reviewed by Alp.

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

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

Reviewed by Oliver.

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

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

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

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

03:37 Changeset [26818] by aroben

Fix typo

03:30 Changeset [26817] by aroben

Make the notes sticky!

Reviewed by Mark.

  • misc/DatabaseExample.html:
  • misc/deleteButton.tiff: Added.
  • misc/deleteButtonPressed.tiff: Added.
03:20 Changeset [26816] by bdash

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

Reviewd by Darin.

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

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

Fix the Qt build.

01:51 Changeset [26814] by mjs

Reviewed by Nikolas.


  • Rebalance test complexity.


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


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

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


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

Reviewed by Oliver.


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

Rubber stamped by Hyatt.


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

Reviewed by Maciej Stachowiak.

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


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

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

10/19/07:

22:37 Changeset [26810] by alp

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

Reviewed by Oliver.

GTK+ build fix enabling the new local database storage feature.
There is also a prospective Qt build fix.

22:20 Changeset [26809] by ggaren

Added Bugzilla link to ChangeLog

22:18 Changeset [26808] by ggaren

Reviewed by Darin Adler.


To improve encapsulation, moved processDeclarations call into
FunctionBodyNode::execute. Also marked processDeclarations
ALWAYS_INLINE, since it has only 1 caller now. This is a .71% speedup
on command-line JS iBench.

  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): (KJS::GlobalFuncImp::callAsFunction):
  • kjs/function.h:
  • kjs/interpreter.cpp: (KJS::Interpreter::evaluate):
  • kjs/nodes.cpp: (FunctionBodyNode::execute):
  • kjs/nodes.h:
21:39 JavaScript performance improvement ideas edited by mjs@apple.com
(diff)
21:35 JavaScript performance improvement ideas edited by mjs@apple.com
(diff)
21:10 Changeset [26807] by aroben

Merge r26766

21:08 Changeset [26806] by andrew

Reviewed by Brady Eidson.

Mac build fix.

  • WebCore.xcodeproj/project.pbxproj:
20:09 Changeset [26805] by oliver

Updating window properties to include new features from HTML5 database support

RS=Mark

  • fast/dom/Window/window-properties-expected.txt:
19:20 Changeset [26804] by thatcher

Reviewed by Mark Rowe.

Fix a couple of exceptions for first time users.

  • misc/DatabaseExample.html:
18:48 Changeset [26803] by alp

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

Reviewed by Oliver.

Use platform colors for text selection.
Update the cache when the GTK style is changed.

  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): (WebCore::RenderThemeGtk::gtkStyleSet): (WebCore::RenderThemeGtk::gtkEntry):
  • platform/gtk/RenderThemeGtk.h:
18:18 Changeset [26802] by adele

WebCore:

Reviewed by Beth.

Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com

Test: fast/forms/menulist-no-overflow.html

  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists.

LayoutTests:

Reviewed by Beth.

Test for <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com

  • fast/forms/menulist-no-overflow.html: Added.
  • platform/mac/fast/forms/menulist-no-overflow-expected.checksum: Added.
  • platform/mac/fast/forms/menulist-no-overflow-expected.png: Added.
  • platform/mac/fast/forms/menulist-no-overflow-expected.txt: Added.
18:06 Changeset [26801] by andersca

Reviewed by Brady.

Move some SQL-related classes to platform/sql.


  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/icon/SQLDatabase.cpp: Removed.
  • loader/icon/SQLDatabase.h: Removed.
  • loader/icon/SQLStatement.cpp: Removed.
  • loader/icon/SQLStatement.h: Removed.
  • loader/icon/SQLTransaction.cpp: Removed.
  • loader/icon/SQLTransaction.h: Removed.
  • platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp.
  • platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h.
  • platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp.
  • platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h.
  • platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp.
  • platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h.
17:49 Changeset [26800] by andersca

Reviewed by Brady.


Make example actually work.


  • misc/DatabaseExample.html:
17:45 Changeset [26799] by andersca

WebCore:

Reviewed by Adam.

Update to match the latest version of the spec. Now, executeSQL takes an array
of SQL parameters instead of them being passed as arguments.


  • bindings/js/JSDatabaseCustom.cpp: (WebCore::JSDatabase::executeSql):
  • page/inspector/DatabasePanel.js:
  • storage/Database.idl:

WebKitSite:

Reviewed by Adam.

Update example.


  • misc/DatabaseExample.html:
17:38 Changeset [26798] by kmccullo

Reviewed by Adam.

  • This change should be identical but for some reason was not working on my machine.
  • Scripts/prepare-ChangeLog:
17:22 Changeset [26797] by beidson

WebCore:

Reviewed by Tim

Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(

  • storage/Database.cpp: (WebCore::Database::performOpenAndVerify):
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::DatabaseTracker):

WebKitSite:

Reviewed by Tim

Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(

  • misc/DatabaseExample.html:
16:57 Changeset [26796] by andersca

Release build fix.


  • WebCore.vcproj/WebCore.vcproj:
16:42 Changeset [26795] by sfalken

New tag.

16:42 Changeset [26794] by sfalken

Bump versions for submit

16:37 Changeset [26793] by beidson

Remove stray printfs

  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::~Document):
16:36 Changeset [26792] by andersca

Reviewed by Brady.

Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not
already been locked, so lock the mutex first.


  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::databaseThread):
16:34 Changeset [26791] by beidson

Better build fix

  • loader/icon/SQLDatabase.cpp: (WebCore::SQLDatabase::authorizerFunction): Definite works by 3.3.13
16:25 Changeset [26790] by beidson

Build fix

  • loader/icon/SQLDatabase.cpp: (WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were added to SQLite, but I know they were by 3.4.0
15:55 Changeset [26789] by sfalken

New tag.

15:55 Changeset [26788] by sfalken

Bump versions for submit

15:50 Changeset [26787] by beidson

JavaScriptCore:

2007-10-19 Brady Eidson <beidson@apple.com>

Reviewed by Sam

Queue -> Deque! and small style tweaks

  • JavaScriptCore.vcproj/WTF/WTF.vcproj:
  • JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
  • wtf/Deque.h: Added. (WTF::DequeNode::DequeNode): (WTF::Deque::Deque): (WTF::Deque::~Deque): (WTF::Deque::size): (WTF::Deque::isEmpty): (WTF::Deque::append): (WTF::Deque::prepend): (WTF::Deque::first): (WTF::Deque::last): (WTF::Deque::removeFirst): (WTF::Deque::clear):
  • wtf/Queue.h: Removed.

2007-10-19 Brady Eidson <beidson@apple.com>

Reviewed by Oliver

Added a simple LinkedList based Queue to wtf
We can make a better, more sophisticated an efficient one later, but have
needed one for some time, now!

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • wtf/Queue.h: Added. (WTF::QueueNode::QueueNode): (WTF::Queue::Queue): (WTF::Queue::~Queue): (WTF::Queue::size): (WTF::Queue::isEmpty): (WTF::Queue::append): (WTF::Queue::prepend): (WTF::Queue::first): (WTF::Queue::last): (WTF::Queue::removeFirst): (WTF::Queue::clear):

WebCore:
2007-10-19 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Windows specific changes, as well as renaming Queue -> Deque

  • ForwardingHeaders/wtf/Deque.h: Added.
  • ForwardingHeaders/wtf/Queue.h: Removed.
  • platform/win/FileSystemWin.cpp: (WebCore::fileSize): (WebCore::fileExists): (WebCore::deleteFile): (WebCore::pathByAppendingComponent): (WebCore::fileSystemRepresentation): (WebCore::makeAllDirectories): (WebCore::homeDirectoryPath):
  • storage/Database.h:
  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::documentGoingAway): (WebCore::DatabaseThread::databaseGoingAway): (WebCore::DatabaseThread::dispatchNextTaskIdentifier): (WebCore::DatabaseThread::scheduleTask): (WebCore::DatabaseThread::scheduleImmediateTask):
  • storage/DatabaseThread.h:

2007-10-19 Brady Eidson <beidson@apple.com>

Reviewed by Tim and Anders

Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/)

The specification is still in flux but the fundamentals are pretty solid and we can start using and testing
this implementation even while filing bugs to track changes in the spec as it becomes more final

There are some implementation details in this patch that seem unused or useless, but they remain in place
while the spec is in flux and might go one way or another.

  • platform/Logging.cpp: Add StorageAPI logging channel
  • platform/Logging.h:
  • storage/Database.cpp: Added. (WebCore::Database::databaseInfoTableName): (WebCore::databaseVersionKey): (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API (WebCore::Database::Database): (WebCore::Database::~Database): (WebCore::Database::openAndVerifyVersion): (WebCore::retrieveTextResultFromDatabase): (WebCore::Database::getVersionFromDatabase): (WebCore::setTextValueInDatabase): (WebCore::Database::setVersionInDatabase): (WebCore::Database::databaseThreadGoingAway): May be removed in the future (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions (WebCore::Database::enableAuthorizer): (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker. The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future (WebCore::Database::resetAuthorizer): (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage (WebCore::Database::scheduleDatabaseCallback): (WebCore::Database::performOpenAndVerify): (WebCore::Database::performChangeVersion): (WebCore::Database::performExecuteSql): (WebCore::Database::performCloseTransaction): (WebCore::Database::performGetTableNames): (WebCore::Database::version): C++ version of the javascript API (WebCore::Database::changeVersion): Ditto (WebCore::Database::executeSql): Ditto (WebCore::Database::closeTransaction): Ditto (WebCore::Database::tableNames): For internal (WebInspector) use (WebCore::Database::deliverAllPendingCallbacks): (WebCore::Database::deliverPendingCallbacks):
  • storage/Database.h: Added. (WebCore::Database::databaseDebugName): For debug logging purposes
  • storage/Database.idl: Added.
  • storage/DatabaseAuthorizer.cpp: Added. The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as tracking when effects certain sql statements might have (such as increasing the size of the database) (WebCore::DatabaseAuthorizer::DatabaseAuthorizer): (WebCore::DatabaseAuthorizer::reset): (WebCore::DatabaseAuthorizer::createTable): (WebCore::DatabaseAuthorizer::createTempTable): (WebCore::DatabaseAuthorizer::dropTable): (WebCore::DatabaseAuthorizer::dropTempTable): (WebCore::DatabaseAuthorizer::allowAlterTable): (WebCore::DatabaseAuthorizer::createIndex): (WebCore::DatabaseAuthorizer::createTempIndex): (WebCore::DatabaseAuthorizer::dropIndex): (WebCore::DatabaseAuthorizer::dropTempIndex): (WebCore::DatabaseAuthorizer::createTrigger): (WebCore::DatabaseAuthorizer::createTempTrigger): (WebCore::DatabaseAuthorizer::dropTrigger): (WebCore::DatabaseAuthorizer::dropTempTrigger): (WebCore::DatabaseAuthorizer::createVTable): (WebCore::DatabaseAuthorizer::dropVTable): (WebCore::DatabaseAuthorizer::allowDelete): (WebCore::DatabaseAuthorizer::allowInsert): (WebCore::DatabaseAuthorizer::allowUpdate): (WebCore::DatabaseAuthorizer::allowRead): (WebCore::DatabaseAuthorizer::allowAnalyze): (WebCore::DatabaseAuthorizer::allowPragma): (WebCore::DatabaseAuthorizer::allowAttach): (WebCore::DatabaseAuthorizer::allowDetach): (WebCore::DatabaseAuthorizer::allowFunction): (WebCore::DatabaseAuthorizer::disable): (WebCore::DatabaseAuthorizer::enable): (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the WebKit meta info table as it should be invisible to scripts
  • storage/DatabaseAuthorizer.h: Added. (WebCore::DatabaseAuthorizer::lastActionWasInsert): (WebCore::DatabaseAuthorizer::lastActionIncreasedSize):
  • storage/DatabaseCallback.cpp: Added. Generic item to queue up for callbacks on the main thread for database activities that take place on a secondary thread (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback): (WebCore::DatabaseChangeVersionCallback::performCallback): (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback): (WebCore::DatabaseExecuteSqlCallback::performCallback):
  • storage/DatabaseCallback.h: Added. (WebCore::DatabaseCallback::~DatabaseCallback): (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback): (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback):
  • storage/DatabaseTask.h: Added. Generic work-item to be queued up on the background database thread (WebCore::DatabaseTask::isComplete): (WebCore::DatabaseOpenTask::exceptionCode): (WebCore::DatabaseOpenTask::openSuccessful): (WebCore::DatabaseTableNamesTask::tableNames):
  • storage/DatabaseTask.cpp: Added. (WebCore::DatabaseTask::DatabaseTask): (WebCore::DatabaseTask::~DatabaseTask): (WebCore::DatabaseTask::performTask): (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished synchronously (WebCore::DatabaseTask::waitForSynchronousCompletion):

(WebCore::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::DatabaseOpenTask::doPerformTask):

(WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask):
(WebCore::DatabaseExecuteSqlTask::doPerformTask):

(WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask):
(WebCore::DatabaseChangeVersionTask::doPerformTask):

(WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
(WebCore::DatabaseTableNamesTask::doPerformTask):

  • storage/DatabaseThread.cpp: Added. The current design is that each Document will have its own DatabaseThread. This makes scripts on each individual document more response at the cost of adding more threads and potentially creating concurrency issues when the same database is open twice from two different documents (WebCore::DatabaseThread::DatabaseThread): (WebCore::DatabaseThread::~DatabaseThread): (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database (WebCore::DatabaseThread::databaseThreadStart): (WebCore::DatabaseThread::databaseThread): (WebCore::DatabaseThread::dispatchNextTaskIdentifier): (WebCore::DatabaseThread::scheduleTask): (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when the main thread requires a task be performed synchronously (WebCore::DatabaseThread::wakeWorkThread):
  • storage/DatabaseThread.h: Added.
  • storage/DatabaseTracker.cpp: Added. The DatabaseTracker is the master management of all databases. It will keep track of the filename for a given unique database, keep track of the total disk usage per-origin, and policys per database/origin (WebCore::DatabaseTracker::setDatabasePath): (WebCore::DatabaseTracker::databasePath): (WebCore::DatabaseTracker::tracker): (WebCore::DatabaseTracker::DatabaseTracker): (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::populateOrigins): (WebCore::DatabaseTracker::origins): (WebCore::DatabaseTracker::databaseNamesForOrigin): (WebCore::DatabaseTracker::addDatabase): (WebCore::DatabaseTracker::deleteAllDatabases): (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin):
  • storage/DatabaseTracker.h: Added.
  • storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback (WebCore::SQLCallback::~SQLCallback):
  • storage/SQLCallback.idl: Added.
  • storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object (WebCore::SQLResultSet::SQLResultSet): (WebCore::SQLResultSet::insertId): (WebCore::SQLResultSet::rowsAffected): (WebCore::SQLResultSet::errorCode): (WebCore::SQLResultSet::error): (WebCore::SQLResultSet::rows): (WebCore::SQLResultSet::setInsertId): (WebCore::SQLResultSet::setRowsAffected): (WebCore::SQLResultSet::setErrorCode): (WebCore::SQLResultSet::setErrorMessage):
  • storage/SQLResultSet.h: Added.
  • storage/SQLResultSet.idl: Added.
  • storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object (WebCore::SQLResultSetRowList::length):
  • storage/SQLResultSetRowList.h: Added. (WebCore::SQLResultSetRowList::columnNames): (WebCore::SQLResultSetRowList::values): (WebCore::SQLResultSetRowList::addColumn): (WebCore::SQLResultSetRowList::addResult):
  • storage/SQLResultSetRowList.idl: Added.
  • storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback (WebCore::VersionChangeCallback::~VersionChangeCallback):
  • storage/VersionChangeCallback.idl: Added.

2007-10-19 Brady Eidson <beidson@apple.com>

Reviewed by Oliver + Same

Forwarding header for the new wtf/Queue.h

  • ForwardingHeaders/wtf/Queue.h: Added.

2007-10-19 Anders Carlsson <beidson@apple.com>

Reviewed by Sam Weinig

Most of the Javascript binding support for the Storage API

  • bindings/js/JSCustomSQLCallback.cpp: Added. (WebCore::JSCustomSQLCallback::JSCustomSQLCallback): (WebCore::JSCustomSQLCallback::handleEvent):
  • bindings/js/JSCustomSQLCallback.h: Added. Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches handleEvent to a JS function or a JS object with a handleEvent function.
  • bindings/js/JSCustomVersionChangeCallback.cpp: Added. (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback): (WebCore::JSCustomVersionChangeCallback::handleEvent):
  • bindings/js/JSCustomVersionChangeCallback.h: Added. Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches handleEvent to a JS function or a JS object with a handleEvent function.
  • bindings/js/JSDatabaseCustom.cpp: Added. (WebCore::JSDatabase::executeSql): Custom implementation of executeSql that takes an array of parameters.

(WebCore::JSDatabase::changeVersion):

Custom implementation of changeVersion.

  • bindings/js/JSSQLResultSetRowListCustom.cpp: Added. (WebCore::JSSQLResultSetRowList::item): Custom method that returns a JS object that corresponds to a given row in the database.
  • bindings/scripts/CodeGeneratorJS.pm:
  • page/DOMWindow.cpp: (WebCore::DOMWindow::openDatabase):
  • page/DOMWindow.h:
  • page/DOMWindow.idl: Add openDatabase implementation.

2007-10-19 Brady Eidson <beidson@apple.com>

Reviewed by Oliver

Added tons of utility to the FileSystem abstractions, including moving
some stuff over from IconDatabase

  • platform/FileSystem.h:
  • platform/cf/FileSystemCF.cpp: Added. (WebCore::fileSystemRepresentation):
  • platform/mac/FileSystemMac.mm:
  • platform/posix/FileSystemPOSIX.cpp: Added. (WebCore::fileExists): (WebCore::deleteFile): (WebCore::fileSize): (WebCore::pathByAppendingComponent): (WebCore::makeAllDirectories):

2007-10-19 Timothy Hatcher <timothy@apple.com>

Reviewed by Adam Roben

Preliminary Web Inspector support for the Storage API
(This patch does not include the support artwork)

  • page/InspectorController.cpp: (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): (WebCore::InspectorDatabaseResource::setScriptObject): (WebCore::databaseTableNames): Return the table names for a Database object. (WebCore::InspectorController::setWindowVisible): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::populateScriptResources): (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database. (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database. (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources. (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources(). (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources.
  • page/InspectorController.h:
  • page/inspector/Database.js: Added.
  • page/inspector/DatabasePanel.js: Added.
  • page/inspector/ResourceCategory.js: Make resource categories assume less about the resource.
  • page/inspector/inspector.css: Add styles for the database panel.
  • page/inspector/inspector.html: Include DatabasePanel.js
  • page/inspector/inspector.js: Support for adding and removing Database resources.

2007-10-19 Brady Eidson <beidson@apple.com>

Reviewed by Tim Hatcher

Added support for Chrome prompts required by the Storage API

  • page/Chrome.cpp: (WebCore::Chrome::runDatabaseSizeLimitPrompt):
  • page/Chrome.h:
  • page/ChromeClient.h:
  • platform/graphics/svg/SVGImageEmptyClients.h:

2007-10-19 Brady Eidson <beidson@apple.com>

Contributions and Review by Anders

Various SQLite tweaks in preparation for the storage API

  • loader/icon/SQLDatabase.cpp: (WebCore::SQLDatabase::~SQLDatabase): (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions (WebCore::SQLDatabase::setAuthorizer): (WebCore::SQLDatabase::lock): (WebCore::SQLDatabase::unlock):
  • loader/icon/SQLDatabase.h:
  • loader/icon/SQLStatement.cpp: (WebCore::SQLStatement::prepare): Switch to prepare16_v2 (WebCore::SQLStatement::bindDouble): Added (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later) (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements
  • loader/icon/SQLStatement.h: (WebCore::SQLStatement::isPrepared):
  • platform/sql/SQLAuthorizer.cpp: Added. Fully virtual interface to implement your own SQLite authorizer
  • platform/sql/SQLAuthorizer.h: Added. (WebCore::SQLAuthorizer::~SQLAuthorizer): (WebCore::SQLAuthorizer::createTable): (WebCore::SQLAuthorizer::createTempTable): (WebCore::SQLAuthorizer::dropTable): (WebCore::SQLAuthorizer::dropTempTable): (WebCore::SQLAuthorizer::allowAlterTable): (WebCore::SQLAuthorizer::createIndex): (WebCore::SQLAuthorizer::createTempIndex): (WebCore::SQLAuthorizer::dropIndex): (WebCore::SQLAuthorizer::dropTempIndex): (WebCore::SQLAuthorizer::createTrigger): (WebCore::SQLAuthorizer::createTempTrigger): (WebCore::SQLAuthorizer::dropTrigger): (WebCore::SQLAuthorizer::dropTempTrigger): (WebCore::SQLAuthorizer::createView): (WebCore::SQLAuthorizer::createTempView): (WebCore::SQLAuthorizer::dropView): (WebCore::SQLAuthorizer::dropTempView): (WebCore::SQLAuthorizer::createVTable): (WebCore::SQLAuthorizer::dropVTable): (WebCore::SQLAuthorizer::allowDelete): (WebCore::SQLAuthorizer::allowInsert): (WebCore::SQLAuthorizer::allowUpdate): (WebCore::SQLAuthorizer::allowTransaction): (WebCore::SQLAuthorizer::allowSelect): (WebCore::SQLAuthorizer::allowRead): (WebCore::SQLAuthorizer::allowAttach): (WebCore::SQLAuthorizer::allowDetach): (WebCore::SQLAuthorizer::allowReindex): (WebCore::SQLAuthorizer::allowAnalyze): (WebCore::SQLAuthorizer::allowFunction):
  • platform/sql/SQLValue.cpp: Added. Contains a value for a SQLite database that can be one of a few types. For now, just a String or a double (WebCore::SQLValue::SQLValue): (WebCore::SQLValue::string): (WebCore::SQLValue::number):
  • platform/sql/SQLValue.h: Added. (WebCore::SQLValue::): (WebCore::SQLValue::SQLValue): (WebCore::SQLValue::type):

2007-10-19 Brady Eidson <beidson@apple.com>

Reviewed by Maciej

Changed IconDatabase over to use new FileSystem apis

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open):

WebKit:

Reviewed by Tim Hatcher

Added support for Chrome prompts required by the Storage API
Added support API for future managing of databases from the WebKit client
Added preference and initialization for the databases path

  • Misc/WebDatabaseManager.h: Added. WebDatabaseManager is how a WebKit application can list and remove the current available databases
  • Misc/WebDatabaseManager.mm: Added. (+[WebDatabaseManager origins]): (+[WebDatabaseManager databasesWithOrigin:]): (+[WebDatabaseManager deleteAllDatabases]): (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]): (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]): (WebKitSetWebDatabasesPathIfNecessary): Setup the database path
  • Misc/WebDatabaseManagerPrivate.h: Added.
  • WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for an origin exceeding its size limit
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::runDatabaseSizeLimitPrompt):
  • WebKit.xcodeproj/project.pbxproj:
  • WebView/WebUIDelegate.h:
  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
  • WebView/WebViewInternal.h:

WebKitSite:

Reviewed by Tim Hatcher

Sample database API usage

  • misc/DatabaseExample.html: Added.

WebKit/win:

Reviewed by Anders

Keep windows building with new Chrome additions

  • WebChromeClient.cpp:
  • WebChromeClient.h:
15:21 Changeset [26786] by kmccullo

Reviewed by Oliver and Tim.

  • Made use of RetainPtr to avoid retain and release issues and moved the log function to DebuggerDocumentPlatform, which seems to be a more logical place for it to live.
  • Also moved knownServers from the ServerConnection to DebuggerApplication to match the Windows code and because it makes sense that a connection knows its own server but not all of them.
  • Drosera/mac/DebuggerClient.h: Moved the log function to DebuggerDocumentPlatform.
  • Drosera/mac/DebuggerClient.mm: Ditto. Also do not release the server Because it's owned by an own Ptr in DebuggerDocument. Also moved the call for the server name up from the ServerConnection class. (-[DebuggerClient dealloc]): (-[DebuggerClient webView:didReceiveTitle:forFrame:]): Moved the call for the server name up from the ServerConnection.
  • Drosera/mac/DebuggerDocumentPlatform.mm: Made the server an OwnPtr. (DebuggerDocument::platformPause): (DebuggerDocument::platformResume): (DebuggerDocument::platformStepInto): (DebuggerDocument::platformEvaluateScript): (DebuggerDocument::getPlatformCurrentFunctionStack): (DebuggerDocument::getPlatformLocalScopeVariableNamesForCallFrame): (DebuggerDocument::platformValueForScopeVariableNamed): (DebuggerDocument::platformLog): Log directly from here. No need to call DebuggerClient.
  • Drosera/mac/ServerConnection.h: Removed the knownServers function. The way I see it, a ServerConnection should only know about its connection and the group of all possible servers should be kept by the application.
  • Drosera/mac/ServerConnection.mm: Removed knownServer but added currentServerName, it makes sense that the connection should know that name. (-[ServerConnection currentServerName]):
15:00 Changeset [26785] by hyatt

Fix for ebay parser crash.

Reviewed by Beth

fast/invalid/table-residual-style-crash.html added as a test

  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
14:58 Changeset [26784] by hyatt

Add new layout test for parser crash.

14:25 Changeset [26783] by zimmermann

Reviewed by Anders.
Try to fix Qt/Win build slave, by including windows.h also on Qt/Win.

14:17 Changeset [26782] by weinig

Fix Windows, Qt and GTK builds.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
14:03 Changeset [26781] by zimmermann

Rubberstamped by Oliver.

Land tiger baseline matching my MBP, as discussed with Oliver.
Mostly differences regarding the size of "(" / ")" characters.

13:53 Changeset [26780] by weinig

WebCore:

Reviewed by Darin.

Encapsulate the same origin check into the new SecurityOrigin class.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/kjs_window.cpp: (KJS::Window::isSafeScript):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::defaultEventHandler):
  • dom/Document.h: (WebCore::Document::securityOrigin):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): (WebCore::FrameLoader::setOpener):
  • loader/FrameLoader.h:
  • platform/SecurityOrigin.cpp: Added. (WebCore::SecurityOrigin::SecurityOrigin): (WebCore::SecurityOrigin::clear): (WebCore::SecurityOrigin::isEmpty): (WebCore::SecurityOrigin::setForFrame): (WebCore::SecurityOrigin::setDomainFromDOM): (WebCore::SecurityOrigin::allowsAccessFrom): (WebCore::SecurityOrigin::isSecureTransitionTo):
  • platform/SecurityOrigin.h: Added.

LayoutTests:

Reviewed by Darin.

Update results after changing the warning message in isSafeScript to print the frame URL
rather than the security domain URL. This now also prints the warning when using data:
URLs because we no longer return early.

  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open-expected.txt:
13:04 Changeset [26779] by kmccullo

Reviewed by Adam.

  • Integrated changes from mac drosera. Recently I've encapsulated out the server connection object from the rest of Drosera because it is very platform dependent right now and RPC is not implemented on windows. This functionality, of communicating with the WebKit server is the next area I will be focusing on in Windows.
  • Other changes and cleanup were made to organize the code and add notes on which parts still need work. Also some mac code is added and commented out, to act as pseudocode for the logic of those parts.
  • Drosera/DebuggerDocument.h: Make the ServerConnection live in a smart pointer.
  • Drosera/config.h: Added whitespace.
  • Drosera/win/DebuggerApplication.cpp: Removed. The functionality of these files got moved into Drosera.h/cpp
  • Drosera/win/DebuggerApplication.h: Removed.
  • Drosera/win/DebuggerClient.cpp: Lots of cleanup and restructuring happened here to better match the logic flow of the same code on the mac side and to use the new ServerConnection class. (DebuggerClient::DebuggerClient): Constructor that takes a server name. (DebuggerClient::initWithServerName): Initializer that will set up the class to use a ServerConnection object. This was necessary so I could create a DebuggerClient without having to initilaize it at construction. (DebuggerClient::QueryInterface): Moved from Drosera.cpp, the Client will be the UIDelegate and FrameLoadDelegate. (DebuggerClient::AddRef): For IUnknown. (DebuggerClient::Release): For IUnknown. (DebuggerClient::didFinishLoadForFrame): Part of the FrameLoadDelegate this still needs to set the global context of the server, but IWebFrame does not have an accessor for the global context yet. (DebuggerClient::windowScriptObjectAvailable): Part of FrameLoadDelegate this is a pass through for the same function in the document. (DebuggerClient::didReceiveTitle): Unimplemented part of FrameLoadDelegate this would change the title of the window. (DebuggerClient::createWebViewWithRequest): Part of the FrameLoadDelegate. This is about new windows via Window.open() and how their delegates are set. (DebuggerClient::runJavaScriptAlertPanelWithMessage): Part of the UIDelegate. Just a debug function for printing messages.
  • Drosera/win/DebuggerClient.h: Moved functionality from Drosera.h because the Client should be the UIDelegate and FrameLoadDelegate to match the delegates on mac. (DebuggerClient::webViewLoaded): Added accessor method.
  • Drosera/win/DebuggerDocumentPlatform.cpp: Added. I had apperently forgotten to add this file before. This is where the platform dependent versions of the Documents functions live. Most of these are unimplemented because some piece of functionality does not exist on Windows yet. (DebuggerDocument::platformPause): (DebuggerDocument::platformResume): (DebuggerDocument::platformStepInto): (DebuggerDocument::platformEvaluateScript): (DebuggerDocument::getPlatformCurrentFunctionStack): (DebuggerDocument::getPlatformLocalScopeVariableNamesForCallFrame): (DebuggerDocument::platformValueForScopeVariableNamed): (DebuggerDocument::platformLog):
  • Drosera/win/Drosera.cpp: Removed UIDelegate and FrameLoadDelegate responsibilities becaue they belong in the Client. Also I laid the groundwork for attaching Drosera to a WebKit process (attachWndProc): Now if a server is selected the Client becomes it's delegate. (Drosera::Drosera): Added the construction of the Client and dictionary of server names. (Drosera::initUI): This is no longer the delegates, the Client is. (Drosera::webViewLoaded): Now asks the Client instead of holding local state. (Drosera::applicationDidFinishLaunching): Placeholder for needed notification registration when it's possible to implement. (Drosera::serverLoaded): Ditto (Drosera::serverUnloaded): Ditto (Drosera::attach): Attach Drosera to the WebKit server.
  • Drosera/win/Drosera.h: Ditto for Drosera.cpp comment. (Drosera::getInst): (Drosera::setInst): (Drosera::knownServers):
  • Drosera/win/Drosera.vcproj/Drosera.vcproj: Removed DebuggerApplication and added the ServerConnection.
  • Drosera/win/DroseraPrefix.h: Added an ifndef check.
  • Drosera/win/ServerConnection.cpp: Added. This is the interesting part Most of the functions are completely unimlemented because they cannot connect with the WebKit server, because one does not exist on Windows yet. (ServerConnection::initWithServerName): (ServerConnection::~ServerConnection): (ServerConnection::setGlobalContext): (ServerConnection::pause): (ServerConnection::resume): (ServerConnection::stepInto): (ServerConnection::switchToServerNamed): (ServerConnection::applicationTerminating): (ServerConnection::serverConnectionDidDie): (ServerConnection::currentFrame):
  • Drosera/win/ServerConnection.h: Added. Ditto. (ServerConnection::ServerConnection):
11:12 Changeset [26778] by aliceli1

Reviewed by Darin.

Fix for these broken layout tests on Windows:


fast/forms/focus-selection-input.html
fast/forms/focus-selection-textarea.html
fast/forms/select-accesskey.html


  • DumpRenderTree/win/EventSender.cpp: (keyDownCallback): correct the VK code for alt key.
11:05 Changeset [26777] by aliceli1

Reviewed by Darin.

  • DumpRenderTree/win/EventSender.cpp: (keyDownCallback): correct the VK code for alt key.
10:51 Changeset [26776] by sullivan

Reviewed by Tim Hatcher


  • fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
  • History/WebHistory.mm: (-[WebHistoryPrivate removeAllItems]): This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition to the other places where it's cleared.
10:33 Changeset [26775] by mitz

Rubber-stamped by Sam Weinig.

removing a commented-out test and a test that no longer fails

  • platform/mac-leopard/Skipped:
10:14 Changeset [26774] by ddkilzer

LayoutTests:

Reviewed by Darin.

Provide the functionality of js-test-post.js in a function named isSuccessfullyParsed().

  • fast/encoding/char-encoding.html: Updated to use js-test-post-function.js instead of local hack.
  • fast/js/resources/js-test-post-function.js: Copied from LayoutTests/fast/js/resources/js-test-post.js. Modified to create isSuccessfullyParsed() function.
08:13 Changeset [26773] by hausmann

Fix the Qt/Windows build: Added missing FontSelector.h include and re-order moc inclusion.

07:46 Changeset [26772] by hausmann

Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h.

07:14 Changeset [26771] by hausmann

Fix compilation on Windows when wchar_t is a typedef instead of a native type (triggered by -Zc:wchar_t-).
Don't provide the wchar_t overloads then as they conflict with the unsigned short ones.

04:28 Changeset [26770] by hausmann

Another build fix for the windows/qt build: Apply the same fix as in revision 26686 also to kjs/config.h to disable the disallowctype feature.

04:12 Changeset [26769] by hausmann

Fix the windows/qt build by including config.h first to fix wtf/MathExtras.h inclusion.

03:38 Changeset [26768] by hausmann

Fix the qt/windows build.

01:58 Changeset [26767] by eseidel

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

Reviewed by Mark Rowe.


Make the GtkLauncher code slightly more readable.

  • GtkLauncher/main.cpp: (setupMainMenu): Added. (setupMainWindowUI): Added. (main):
01:01 Changeset [26766] by mjs

Rubber stamped by Adam.


  • don't delay-load WebKit in DumpRenderTree.
  • DumpRenderTree/win/DumpRenderTree.vcproj:
00:44 Manual Testing created by oliver@apple.com
Random manual tests
Note: See TracTimeline for information about the timeline view.