Timeline


and

12/10/08:

22:27 Changeset [39198] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-12-10 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

Bug 22734: Debugger crashes when stepping into a function call in a return statement
<https://bugs.webkit.org/show_bug.cgi?id=22734>
<rdar://problem/6426796>

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): The DebuggerCallFrame uses the 'this' value stored in a callFrame, so op_convert_this should be emitted at the beginning of a function body when generating bytecode with debug hooks.
  • debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::thisObject): The assertion inherent in the call to asObject() here is valid, because any 'this' value should have been converted to a JSObject*.
20:35 Changeset [39197] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-10 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Port more of the JIT to use the MacroAssembler interface.


Everything in the main pass, bar a few corner cases (operations with required
registers, or calling convention code). Slightly refactors array creation,
moving the offset calculation into the callFrame into C code (reducing code
planted).

Overall this appears to be a 1% win on v8-tests, due to the smaller immediates
being planted (in jfalse in particular).

  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_new_array):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter):
18:42 Changeset [39196] by zimmermann@webkit.org
  • 5 edits in trunk/LayoutTests

Rubber-stamped by George Staikos.
Update WML pixel test results, after adding <template> support.

18:41 Changeset [39195] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-12-10 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Implement support for NPN_PostURL/NPN_PostURLNotify in WebKit.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: Add stopAllStreams.


  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::stopAllStreams): Factored out this from ::destroy.


(WebKit::NetscapePluginInstanceProxy::destroy):
Call stopAllStreams().


(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
Ditto.


(WebKit::NetscapePluginInstanceProxy::loadURL):
Handle post being true. This code has been copied from WebNetscapePluginView.mm (for now).

18:34 Changeset [39194] by zimmermann@webkit.org
  • 18 edits
    2 adds in trunk

Reviewed by Eric Seidel and George Staikos.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22799

Add WML <template> support. The <template> element is specified at deck-level
and declares a template for all <card> elements in the document.

18:14 Changeset [39193] by oliver@apple.com
  • 2 edits in trunk/WebCore

2008-12-09 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler.

Fix memory leak - need to call stopActiveDOMObjects
when cached pages get destroyed.
https://bugs.webkit.org/show_bug.cgi?id=22753

  • dom/Document.cpp: (WebCore::Document::detach):
17:55 Changeset [39192] by simon.fraser@apple.com
  • 2 edits in trunk/WebCore

2008-12-10 Simon Fraser <simon.fraser@apple.com>

Reviewed by Antti Koivisto

<rdar://problem/6431224>

When updating the value of a slider, don't mark the parents
as needing layout, because the size of the slider can never
change. This fixes full-page repaints in some cases.

  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::updateFromElement):
17:51 Changeset [39191] by beidson@apple.com
  • 8 edits in trunk

WebKitTools:
2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin


Implement the new policy delegate (including navigation type and permissive mode) for DRT/win

  • DumpRenderTree/win/DumpRenderTree.cpp:
  • DumpRenderTree/win/DumpRenderTreeWin.h:


  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setCustomPolicyDelegate):


  • DumpRenderTree/win/PolicyDelegate.cpp: (PolicyDelegate::PolicyDelegate): (PolicyDelegate::decidePolicyForNavigationAction):
  • DumpRenderTree/win/PolicyDelegate.h: (PolicyDelegate::setPermissive):

LayoutTests:
2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Most of these policy delegate related tests will now pass with accompanying DRT changes.


  • platform/win/Skipped:
17:49 Changeset [39190] by pol@apple.com
  • 3 edits in trunk/LayoutTests

2008-12-10 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Darin Adler.

Replaced outdated reference image for svg/webarchive/svg-cursor-subresources.svg

https://bugs.webkit.org/show_bug.cgi?id=22801

  • platform/mac/svg/webarchive/svg-cursor-subresources-expected.checksum:
  • platform/mac/svg/webarchive/svg-cursor-subresources-expected.png:
17:25 Changeset [39189] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

2008-12-10 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Move two NSData category methods to WebNSDataExtras.m.


  • Misc/WebNSDataExtras.h:
  • Misc/WebNSDataExtras.m: (-[NSData _web_startsWithBlankLine]): (-[NSData _web_locationAfterFirstBlankLine]):
  • Plugins/WebNetscapePluginView.mm:
17:01 Changeset [39188] by ddkilzer@apple.com
  • 1 edit in trunk/LayoutTests/platform/win/Skipped

Updated Radar bug reference.

16:48 Changeset [39187] by pol@apple.com
  • 39 edits in trunk/LayoutTests

2008-12-10 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Darin Adler.

Rewrote animations/animation-test-helpers.js to take advantage of the pauseAnimationAtTimeOnElementWithId()
API when available in DRT.

Updated all animations tests that check for values of animated CSS properties to use these new helper functions.

https://bugs.webkit.org/show_bug.cgi?id=22796

  • animations/animation-test-helpers.js: (isCloseEnough): (checkExpectedValue): (endTest): (startTest): (runAnimationTest):
  • animations/big-rotation-expected.txt:
  • animations/big-rotation.html:
  • animations/change-keyframes-expected.txt:
  • animations/change-keyframes-name-expected.txt:
  • animations/change-keyframes-name.html:
  • animations/change-keyframes.html:
  • animations/change-one-anim-expected.txt:
  • animations/change-one-anim.html:
  • animations/generic-from-to-expected.txt:
  • animations/generic-from-to.html:
  • animations/import-expected.txt:
  • animations/import.html:
  • animations/keyframe-timing-functions-expected.txt:
  • animations/keyframe-timing-functions.html:
  • animations/keyframes-comma-separated-expected.txt:
  • animations/keyframes-comma-separated.html:
  • animations/keyframes-expected.txt:
  • animations/keyframes-from-missing.html:
  • animations/keyframes-out-of-order-expected.txt:
  • animations/keyframes-out-of-order.html:
  • animations/keyframes-to-missing.html:
  • animations/keyframes.html:
  • animations/lineheight-animation-expected.txt:
  • animations/lineheight-animation.html:
  • animations/matrix-anim-expected.txt:
  • animations/matrix-anim.html:
  • animations/multiple-animations-expected.txt:
  • animations/multiple-animations.html:
  • animations/multiple-keyframes-expected.txt:
  • animations/multiple-keyframes.html:
  • animations/transition-and-animation-1-expected.txt:
  • animations/transition-and-animation-1.html:
  • animations/transition-and-animation-2-expected.txt:
  • animations/transition-and-animation-2.html:
  • animations/width-using-ems-expected.txt:
  • animations/width-using-ems.html:
  • platform/win/Skipped:
16:00 Changeset [39186] by alice.liu@apple.com
  • 6 edits
    2 adds in trunk

WebCore:

2008-12-10 Alice Liu <alice.liu@apple.com>

Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685

Reviewed by Darin Adler.

  • manual-tests/drag-image-to-desktop.html: Added.

LayoutTests:

2008-12-10 Alice Liu <alice.liu@apple.com>

Adding tweak to .conf files needed for
WebCore/manual-tests/drag-image-to-desktop.html

Reviewed by Darin Adler.

  • http/conf/apache2-debian-httpd.conf:
  • http/conf/apache2-httpd.conf:
  • http/conf/cygwin-httpd.conf:
  • http/conf/httpd.conf:
  • http/tests/misc/resources/generatedimage.bat: Added.
15:57 Changeset [39185] by alice.liu@apple.com
  • 17 edits
    3 adds in trunk

WebCore:

2008-12-10 Alice Liu <alice.liu@apple.com>

fixed https://bugs.webkit.org/show_bug.cgi?id=20685

Reviewed by Darin Adler.

Manual test case is manual-tests/drag-image-to-desktop.html

Added new files to projects

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • page/DragController.cpp: (WebCore::DragController::startDrag):
  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedImageMIMETypesForEncoding):

These changes add a method to obtain the extension for an image

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::filenameExtension):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h: (WebCore::Image::filenameExtension):
  • platform/graphics/ImageSource.h:
  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::filenameExtension):
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::filenameExtension):

These changes added a utility that returns the preferred extension for a UTI

  • platform/graphics/cg/ImageSourceCG.h: Added.
  • platform/graphics/cg/ImageSourceCGMac.mm: Added. (WebCore::MIMETypeForImageSourceType): (WebCore::preferredExtensionForImageSourceType):
  • platform/graphics/cg/ImageSourceCGWin.cpp: Added. (WebCore::MIMETypeForImageSourceType): (WebCore::preferredExtensionForImageSourceType):
  • platform/mac/MIMETypeRegistryMac.mm: moved getMIMETypeForUTI to ImageSourceCGMac.mm

Ask image for its file extension instead of relying on MIME type and file path

  • platform/win/ClipboardWin.cpp: (WebCore::createGlobalImageFileDescriptor):

Remove extraneous code from getPreferredExtensionForMIMEType.
Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp

  • platform/win/MIMETypeRegistryWin.cpp: (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):

WebKit/mac:

2008-12-10 Alice Liu <alice.liu@apple.com>

fixed https://bugs.webkit.org/show_bug.cgi?id=20685

Reviewed by Darin Adler.

  • Misc/WebNSPasteboardExtras.mm: Ask image for its file extension instead of falling back on MIME type and file path. Also moved this code to before setting the pasteboard data so as not to set any if no extension can be determined. (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
  • WebView/WebHTMLView.mm: Fixed a separate but related long-standing bug of how the filename for the promised drag data is determined by asking the image for a proper file extension. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
13:33 Changeset [39184] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-10 Sam Weinig <sam@webkit.org>

Fix non-JIT builds.

  • bytecode/CodeBlock.h:
12:57 Changeset [39183] by simon.fraser@apple.com
  • 2 edits in trunk/WebCore

2008-12-10 Simon Fraser <simon.fraser@apple.com>

Potential build fix. The forward declaration of FloatPoint should
be inside the WebCore namespace.

  • platform/graphics/FloatPoint3D.h:
12:05 Changeset [39182] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-10 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

<rdar://problem/6428332> Remove the CTI return address table from CodeBlock

Step 2:

Convert the return address table from a HashMap to a sorted Vector. This
reduces the size of the data structure by ~4.5MB on Membuster head.

SunSpider reports a 0.5% progression.

  • bytecode/CodeBlock.cpp: (JSC::sizeInBytes): Generic method to get the cost of a Vector. (JSC::CodeBlock::dumpStatistics): Add dumping of member sizes.
  • bytecode/CodeBlock.h: (JSC::PC::PC): Struct representing NativePC -> VirtualPC mappings. (JSC::getNativePC): Helper for binary chop. (JSC::CodeBlock::getBytecodeIndex): Used to get the VirtualPC from a NativePC using a binary chop of the pcVector. (JSC::CodeBlock::pcVector): Accessor.
  • interpreter/Interpreter.cpp: (JSC::vPCForPC): Use getBytecodeIndex instead of jitReturnAddressVPCMap().get(). (JSC::Interpreter::cti_op_instanceof): Ditto. (JSC::Interpreter::cti_op_resolve): Ditto. (JSC::Interpreter::cti_op_resolve_func): Ditto. (JSC::Interpreter::cti_op_resolve_skip): Ditto. (JSC::Interpreter::cti_op_resolve_with_base): Ditto. (JSC::Interpreter::cti_op_throw): Ditto. (JSC::Interpreter::cti_op_in): Ditto. (JSC::Interpreter::cti_vm_throw): Ditto.
  • jit/JIT.cpp: (JSC::JIT::privateCompile): Reserve exact capacity and fill the pcVector.
12:03 Changeset [39181] by simon.fraser@apple.com
  • 3 edits in trunk/WebCore

2008-12-10 Simon Fraser <simon.fraser@apple.com>

Reviewed by Sam Weinig

https://bugs.webkit.org/show_bug.cgi?id=22793

Cleanup FloatPoint3D: inline the getters and setters,
fix a potential divide-by-zero in normalize(), and add
a FloatPoint constructor.

11:18 Changeset [39180] by jchaffraix@webkit.org
  • 14 edits in trunk/WebCore

2008-12-10 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
https://bugs.webkit.org/show_bug.cgi?id=22665

  • Removed setCreatedByParser from style and link elements.
  • Removed XMLTokenizer::eventuallyMarkAsCreatedByParser.
  • dom/XMLTokenizer.cpp:
  • dom/XMLTokenizer.h:
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::startElementNs):
  • dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::parseStartElement):
  • html/HTMLElementFactory.cpp: (WebCore::linkConstructor): (WebCore::styleConstructor):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::HTMLLinkElement):
  • html/HTMLLinkElement.h:
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::HTMLStyleElement):
  • html/HTMLStyleElement.h:
  • html/HTMLTagNames.in:
  • svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::SVGStyleElement):
  • svg/SVGStyleElement.h:
  • svg/svgtags.in:
10:58 Changeset [39179] by ggaren@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

2008-12-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam :( Weinig.


Added a test for http://trac.webkit.org/changeset/39162.

  • fast/regex/malformed-escapes-expected.txt: Added.
  • fast/regex/malformed-escapes.html: Added.
  • fast/regex/resources/malformed-escapes.js: Added.
10:37 Changeset [39178] by beidson@apple.com
  • 31 edits
    4 adds in trunk

WebCore:

2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> -
Dialog when going back to a page from whence you submitted a form

http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to
http requests, which caused the networking layer to have an incomplete set of headers
just before consulting the Policy Delegate. This caused a cache miss and incorrectly made
us believe we'd be resubmitting the form.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): Being careful to maintain the new behavior required by the Origin header mechanism as discussed in bug 22194, restore the previous behavior of setting all the headers before the networking layer is asked about the cache lookup.

WebKitTools:

2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Change the custom policy delegate to actually allow navigation for tests that need it.
The new behavior is opt-in and doesn't require any changes in old tests.

  • DumpRenderTree/LayoutTestController.cpp: (setCustomPolicyDelegateCallback): Allow for a second boolean argument to set the permissive flag on the custom policy delegate, which will be false by default to maintain original behavior.
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setCustomPolicyDelegate):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setCustomPolicyDelegate): Partially stubbed out for now.
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setCustomPolicyDelegate): Still stubbed out, but with new param.
  • DumpRenderTree/mac/PolicyDelegate.h:
  • DumpRenderTree/mac/PolicyDelegate.mm: (-[PolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): If the permissive flag is set, allow the navigation. (-[PolicyDelegate setPermissive:]): Change the behavior between "use" and "ignore" - allowing navigation or not.

LayoutTests:

2008-12-10 Brady Eidson <beidson@apple.com>

Reviewed by Darin

New layout tests for testing the fix for https://bugs.webkit.org/show_bug.cgi?id=22194:

  • http/tests/navigation/post-goback-repost-policy-expected.txt: Added.
  • http/tests/navigation/post-goback-repost-policy.html: Added.
  • http/tests/navigation/resources/goback-with-policydelegate.html: Added.
  • http/tests/navigation/resources/post-target-policy-test.html: Added.

Updated layout test results for the new "custom policy delegate" mechanism:

  • fast/encoding/mailto-always-utf-8-expected.txt:
  • fast/forms/mailto/advanced-get-expected.txt:
  • fast/forms/mailto/advanced-put-expected.txt:
  • fast/forms/mailto/get-multiple-items-expected.txt:
  • fast/forms/mailto/get-multiple-items-text-plain-expected.txt:
  • fast/forms/mailto/get-multiple-items-x-www-form-urlencoded-expected.txt:
  • fast/forms/mailto/get-non-ascii-always-utf-8-expected.txt:
  • fast/forms/mailto/get-non-ascii-expected.txt:
  • fast/forms/mailto/get-non-ascii-text-plain-expected.txt:
  • fast/forms/mailto/get-non-ascii-text-plain-latin-1-expected.txt:
  • fast/forms/mailto/get-overwrite-query-expected.txt:
  • fast/forms/mailto/post-append-query-expected.txt:
  • fast/forms/mailto/post-multiple-items-expected.txt:
  • fast/forms/mailto/post-multiple-items-multipart-form-data-expected.txt:
  • fast/forms/mailto/post-multiple-items-text-plain-expected.txt:
  • fast/forms/mailto/post-multiple-items-x-www-form-urlencoded-expected.txt:
  • fast/forms/mailto/post-text-plain-expected.txt:
  • fast/forms/mailto/post-text-plain-with-accept-charset-expected.txt:
  • http/tests/security/feed-urls-from-remote-expected.txt:

Skip the new test on Windows until the policy delegate can be enhanced there:

  • platform/win/Skipped: (It is already implicitly skipped for qt and gtk)
10:27 Changeset [39177] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-12-10 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Timothy Hatcher.

Add back ability to end all profiling via console by invoking profileEnd
with no arguments.

  • page/Console.cpp: (WebCore::Console::profileEnd): Removed title null-checking and

subsequent early exit.

10:00 Changeset [39176] by pol@apple.com
  • 4 edits
    4 adds in trunk

2008-12-10 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Darin Adler.

KeyframeAnimation::animate() needs to compute the elapsed animation time
properly taking into account its paused state.

https://bugs.webkit.org/show_bug.cgi?id=22773

Test: animations/animation-drt-api-multiple-keyframes.html

  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::animate):
09:18 Changeset [39175] by simon.fraser@apple.com
  • 6 edits in trunk/WebCore

2008-12-10 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

Part of
https://bugs.webkit.org/show_bug.cgi?id=22570

Rename methods on RenderLayer for clarity:

clearClipRects -> clearClipRectsIncludingDescendants
clearClipRect -> clearClipRects

09:06 Changeset [39174] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix after the script call stack/frame additions.

08:41 Changeset [39173] by zecke@webkit.org
  • 14 edits in trunk/WebKit/qt

2008-12-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

API changes discussed with Simon Hausmann, Tor Arne
Vestbø, Ariya Hidayat...

  • Api/qwebdatabase.cpp: (QWebDatabase::fileName): (QWebDatabase::removeDatabase):
  • Api/qwebdatabase.h:
  • Api/qwebframe.cpp: (QWebFrame::scroll): (QWebFrame::scrollPosition): (QWebFrame::setScrollPosition):
  • Api/qwebframe.h:
  • Api/qwebpage.cpp: (QWebPage::setContentEditable): (QWebPage::isContentEditable): (QWebPage::extension):
  • Api/qwebpage.h:
  • Api/qwebsecurityorigin.cpp:
  • Api/qwebsettings.cpp: (QWebSettingsPrivate::apply): (QWebSettings::QWebSettings):
  • Api/qwebsettings.h:
  • QtLauncher/main.cpp: (MainWindow::setEditable):
  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::exceededDatabaseQuota): (WebCore::ChromeClientQt::runOpenPanel):
  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::isEditable):
  • tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::database):
08:35 Changeset [39172] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-12-10 Srinivasa Rao M. Hamse <msrinirao@gmail.com>

Reviewed by Holger Freyther.

F1-F12 key mappings for WebKit Gtk Port

  • platform/gtk/KeyEventGtk.cpp: (WebCore::windowsKeyCodeForKeyEvent):
08:06 Changeset [39171] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-12-10 Enrico Ros <enrico.ros@m31.com>

Reviewed by Simon Hausmann.

Fix the Qt build when SVG is disabled. A broken dependancy caused
unnecessary rebuilds even with no changes.

07:59 Changeset [39170] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-12-09 Balazs Kelemen <Kelemen.Balazs.3@stud.u-szeged.hu>

Reviewed by Simon Hausmann.

Extended QtLauncher so now it can load pages from an url list
one by one. This can be useful for testing purposes (eq. leak hunting).
The -r option activates this feature.

https://bugs.webkit.org/show_bug.cgi?id=20932

04:49 Changeset [39169] by ap@webkit.org
  • 3 edits
    6 adds in trunk

2008-12-10 Hironori Bono <hbono@chromium.org>

Reviewed by Alexey Proskuryakov.

Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
https://bugs.webkit.org/show_bug.cgi?id=21820

<rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
<rdar://problem/5702038> Backspace removes Thai Character in wrong sequence

Tests: editing/deleting/delete-ligature-001.html

editing/deleting/delete-ligature-002.html
editing/deleting/delete-ligature-003.html

  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character of a ligature which consists of multiple Unicode characters when deleting it with a backspace key.
04:23 Changeset [39168] by ap@webkit.org
  • 3 edits in trunk

2008-12-10 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22177
Fix the windows build by removing calls to notifyFormStateChanged
where they didn't appear in the original reviewed patch.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::type): (WebCore::HTMLInputElement::attach):
01:10 Changeset [39167] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-12-10 Simon Hausmann <hausmann@webkit.org>

Fix the Qt build, added const to Node* parameter after change
in signature.

00:15 Changeset [39166] by ap@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Rubber-stamped by Maciej Stachowiak.

<rdar://problem/5959165> Crash in a number of iExploder tests in WebCore::CachedImage::notifyObservers

Add a test for a crash that is no longer reproducible.

  • fast/css/mask-missing-image-crash-expected.txt: Added.
  • fast/css/mask-missing-image-crash.html: Added.

12/09/08:

23:59 Changeset [39165] by ap@webkit.org
  • 2 edits
    1 move in trunk

Rubber-stamped by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=19762
Crash in svg/webarchive/svg-cursor-subresources.svg

  • svg/webarchive/svg-cursor-subresources.svg: Copied from LayoutTests/svg/webarchive/svg-cursor-subresources.svg-disabled.
  • svg/webarchive/svg-cursor-subresources.svg-disabled: Removed. Re-enabling the test.
23:54 Changeset [39164] by ggaren@apple.com
  • 4 edits
    1 copy
    2 adds in trunk

JavaScriptCore:

2008-12-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Added WREC support for an assertion followed by a quantifier. Fixed
PCRE to match.

  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parseParentheses): Throw away the quantifier, since it's meaningless. (Firefox does the same.)
  • pcre/pcre_compile.cpp: (compileBranch): ditto.

LayoutTests:

2008-12-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Added a test for an assertion followed by a quantifier.

  • fast/regex/quantified-assertions-expected.txt: Added.
  • fast/regex/quantified-assertions.html: Added.
  • fast/regex/resources/quantified-assertions.js: Copied from fast/regex/resources/alternative-length-miscalculation.js.
22:48 Changeset [39163] by abarth@webkit.org
  • 4 edits in trunk/WebCore

2008-12-09 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

Add ScriptController::updateSecurityOrigin to notify the bindings
that a document's securityOrigin has been updated. This is used by
V8 to update its security context.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::updateSecurityOrigin):
  • bindings/js/ScriptController.h:
  • dom/Document.cpp: (WebCore::Document::setDomain):
20:59 Changeset [39162] by ggaren@apple.com
  • 12 edits in trunk

JavaScriptCore:

2008-12-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

In preparation for compiling WREC without PCRE:


Further relaxed WREC's parsing to be more web-compatible. Fixed PCRE to
match in cases where it didn't already.


Changed JavaScriptCore to report syntax errors detected by WREC, rather
than falling back on PCRE any time WREC sees an error.


  • pcre/pcre_compile.cpp: (checkEscape): Relaxed parsing of \c and \N escapes to be more web-compatible.


  • runtime/RegExp.cpp: (JSC::RegExp::RegExp): Only fall back on PCRE if WREC has not reported a syntax error.
  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp): Fixed some error reporting to match PCRE.
  • wrec/WRECParser.cpp: Added error messages that match PCRE.

(JSC::WREC::Parser::consumeGreedyQuantifier):
(JSC::WREC::Parser::parseParentheses):
(JSC::WREC::Parser::parseCharacterClass):
(JSC::WREC::Parser::parseNonCharacterEscape): Updated the above functions to
use the new setError API.

(JSC::WREC::Parser::consumeEscape): Relaxed parsing of \c \N \u \x \B
to be more web-compatible.

(JSC::WREC::Parser::parseAlternative): Distinguish between a malformed
quantifier and a quantifier with no prefix, like PCRE does.

(JSC::WREC::Parser::consumeParenthesesType): Updated to use the new setError API.

  • wrec/WRECParser.h: (JSC::WREC::Parser::error): (JSC::WREC::Parser::syntaxError): (JSC::WREC::Parser::parsePattern): (JSC::WREC::Parser::reset): (JSC::WREC::Parser::setError): Store error messages instead of error codes, to provide for exception messages. Use a setter for reporting errors, so errors detected early are not overwritten by errors detected later.

LayoutTests:

2008-12-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Updated regular expression layout tests to be agnostic between WREC
and PCRE quirks. Also, updated results to match new, more web-compatible
regular expression parsing.

  • fast/js/regexp-charclass-crash-expected.txt:
  • fast/js/regexp-charclass-crash.html:
  • fast/js/regexp-no-extensions-expected.txt:
  • fast/js/resources/regexp-no-extensions.js:
  • fast/regex/test1-expected.txt:
20:22 Changeset [39161] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-09 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Use va_args to access cti function arguments.
https://bugs.webkit.org/show_bug.cgi?id=22774

This may be a minor regression, but we'll take the hit if so to reduce fragility.

  • interpreter/Interpreter.cpp:
  • interpreter/Interpreter.h:
17:42 Changeset [39160] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Fix gdb-safari on Tiger.

gdb on Tiger does not take the -arch flag, so do not pass it.

Rubber-stamped by Ada Chan.

17:35 Changeset [39159] by pam@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

2008-12-09 David Levin <levin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=22512

Add a test to check for checks when attaching an event to a document created by
'document.implementation.createDocument'.

  • fast/events/create-document-crash-on-attach-event-expected.txt: Added.
  • fast/events/create-document-crash-on-attach-event.html: Added.
  • fast/events/resources/create-document-crash-on-attach-event.js: Added. (doc.onload):
17:28 Changeset [39158] by pam@chromium.org
  • 1 edit
    5 adds in trunk/LayoutTests

2008-12-09 David Levin <levin@chromium.org>

Reviewed by Eric Seidel.

Add a test to check the event order for context clicks on Windows.

https://bugs.webkit.org/show_bug.cgi?id=22505

  • platform/win/fast/events/context-click-events-expected.txt: Added.
  • platform/win/fast/events/context-click-events.html: Added.
  • platform/win/fast/events/resources: Added.
  • platform/win/fast/events/resources/TEMPLATE.html: Added.
  • platform/win/fast/events/resources/context-click-events.js: Added. (clickHandler): (traceMouseEvent):
16:39 Changeset [39157] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-09 Sam Weinig <sam@webkit.org>

Reviewed twice by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22752
Clear SymbolTable after codegen for Function codeblocks that
don't require an activation

This is a ~1.5MB improvement on Membuster-head.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics): Add logging of non-empty symbol tables and total size used by symbol tables.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): Clear the symbol table here.
16:26 Changeset [39156] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-09 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Remove unnecessary extra lookup when throwing an exception.
We used to first lookup the target offset using getHandlerForVPC
and then we would lookup the native code stub using
nativeExceptionCodeForHandlerVPC. Instead, we can just pass around
the HandlerInfo.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::handlerForVPC): Return the HandlerInfo.
  • bytecode/CodeBlock.h: Remove nativeExceptionCodeForHandlerVPC.
  • interpreter/Interpreter.cpp: (JSC::Interpreter::throwException): Return a HandlerInfo instead of and Instruction offset. (JSC::Interpreter::privateExecute): Get the offset from HandlerInfo. (JSC::Interpreter::cti_op_throw): Get the native code from the HandleInfo. (JSC::Interpreter::cti_vm_throw): Ditto.
  • interpreter/Interpreter.h:
16:14 Changeset [39155] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-09 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Fix typecast.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
16:13 Changeset [39154] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2008-12-09 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Implement software rendering of hosted plug-ins.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInvalidateRect): New MiG function. This is called by the plug-in host when it has drawn something.


  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): Create a software renderer.


(-[WebHostedNetscapePluginView destroyPlugin]):
Destroy the software renderer.


(-[WebHostedNetscapePluginView drawRect:]):
Draw using the software renderer.


  • Plugins/Hosted/WebKitPluginClient.defs: Add InvalidateRect.
16:11 Changeset [39153] by eric@webkit.org
  • 4 edits in trunk

No review, build fix only.

Fix a few config issues to let the Chromium Windows WebCore build get further.

  • WebCore.scons:
16:01 Changeset [39152] by brettw@chromium.org
  • 16 edits in trunk

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=22177

Add a callback on ChromeClient that the state of form elements on
the page has changed. This is to allow clients implementing session
saving to know when the current state is dirty.

15:51 Changeset [39151] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-12-09 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Make sure to pause null events for hosted plug-ins as well.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
15:49 Changeset [39150] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-12-09 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy): Unfortunately we can't use a libdispatch source right now, because of <rdar://problem/6393180>.
15:36 Changeset [39149] by weinig@apple.com
  • 6 edits in trunk/WebCore

2008-12-09 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix intermittent crash in buildbot. The CSSCursorImageValues and
SVGCursorElements held onto raw SVGElement pointers without any
guarantee that the element is still around.

We did not fix the design that resulted in this issue, we just fixed
the pointer lifetimes.

  • css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer. (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element is destroyed.
  • css/CSSCursorImageValue.h: Added removeReferencedElement.
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers. (WebCore::SVGCursorElement::addClient): Set up a back pointer. (WebCore::SVGCursorElement::removeClient): Zero out the back pointer.
  • svg/SVGElement.cpp: (WebCore::SVGElement::SVGElement): Initialize back pointers to zero. (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value to remove the element from their sets.
  • svg/SVGElement.h: (WebCore::SVGElement::setCursorElement): Added. (WebCore::SVGElement::setCursorImageValue): Added.
15:33 Changeset [39148] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

No review, build fix only.

Add ExecutableAllocator files missing from Scons build.

15:11 Changeset [39147] by darin@chromium.org
  • 2 edits in trunk/WebKit/cf

2008-12-09 Dimitri Glazkov <dglazkov@chromium.org>

Fix bustage.

  • WebCoreSupport/WebInspectorClientCF.cpp:
14:36 Changeset [39146] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-12-09 David Hyatt <hyatt@apple.com>

Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning
frame/iframe. If any of them set a custom style, it will be used. The scrollbars do not update dynamically
yet as you switch from page to page (until they are destroyed and recreated).

Reviewed by Adele

  • page/FrameView.cpp: (WebCore::FrameView::createScrollbar):
14:02 Changeset [39145] by timothy@apple.com
  • 3 edits in trunk/WebKit/mac

Implement a few methods needed to keep Dictionary.app working on Leopard.

<rdar://problem/6002160> Internal changes to WebKit in Safari 4
Developer Preview might break Dictionary

Reviewed by Dan Bernstein.

  • WebView/WebFrame.mm: (-[WebFrame convertNSRangeToDOMRange:]): Added. Calls _convertNSRangeToDOMRange. (-[WebFrame convertDOMRangeToNSRange:]): Added. Calls _convertDOMRangeToNSRange.
  • WebView/WebHTMLView.mm: (-[WebHTMLView _bridge]): Added. Returns the WebFrame, which has the methods that Dictionary.app is using.
13:46 Changeset [39144] by darin@chromium.org
  • 7 edits in trunk/WebCore

2008-12-09 Ojan Vafai <ojan@chromium.org>

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=22689
Match Firefox button metrics on Windows.

  • rendering/RenderButton.cpp: (WebCore::RenderButton::addChild): (WebCore::RenderButton::styleDidChange): (WebCore::RenderButton::setupInnerStyle):
  • rendering/RenderButton.h:
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustButtonInnerStyle):
  • rendering/RenderTheme.h:
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::adjustSliderThumbSize): (WebCore::RenderThemeWin::adjustButtonInnerStyle):
  • rendering/RenderThemeWin.h:
12:43 Changeset [39143] by darin@chromium.org
  • 1 edit
    4 adds in trunk/WebCore

2008-12-09 Darin Fisher <darin@chromium.org>

Fixes bustages.

https://bugs.webkit.org/show_bug.cgi?id=22631
Adding missing files from previous commit.

  • bindings/js/ScriptCallFrame.cpp: Added. (WebCore::ScriptCallFrame::ScriptCallFrame): (WebCore::ScriptCallFrame::~ScriptCallFrame): (WebCore::ScriptCallFrame::argumentAt):
  • bindings/js/ScriptCallFrame.h: Added. (WebCore::ScriptCallFrame::functionName): (WebCore::ScriptCallFrame::sourceURL): (WebCore::ScriptCallFrame::lineNumber): (WebCore::ScriptCallFrame::argumentCount):
  • bindings/js/ScriptCallStack.cpp: Added. (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::~ScriptCallStack): (WebCore::ScriptCallStack::at): (WebCore::ScriptCallStack::size): (WebCore::ScriptCallStack::initialize):
  • bindings/js/ScriptCallStack.h: Added. (WebCore::ScriptCallStack::state):
12:25 Changeset [39142] by darin@chromium.org
  • 19 edits in trunk

2008-12-09 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Timothy Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=22631
Streamline Console.cpp, abstract out the use of JSC::ExecState and
JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack
abstractions.

  • GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build
  • WebCore.pro: Added ScriptCallFrame and ScriptCallStack to build
  • WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and ScriptCallStack to project
  • WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and ScriptCallStack to project
  • bindings/js/JSConsoleCustom.cpp: Remove custom bindings.
  • bindings/js/ScriptCallFrame.cpp: Added. (WebCore::ScriptCallFrame::ScriptCallFrame): (WebCore::ScriptCallFrame::~ScriptCallFrame): (WebCore::ScriptCallFrame::argumentAt):
  • bindings/js/ScriptCallFrame.h: Added. (WebCore::ScriptCallFrame::functionName): (WebCore::ScriptCallFrame::sourceURL): (WebCore::ScriptCallFrame::lineNumber): (WebCore::ScriptCallFrame::argumentCount):
  • bindings/js/ScriptCallStack.cpp: Added. (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::~ScriptCallStack): (WebCore::ScriptCallStack::at): (WebCore::ScriptCallStack::size): (WebCore::ScriptCallStack::initialize):
  • bindings/js/ScriptCallStack.h: Added. (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::~ScriptCallStack): (WebCore::ScriptCallStack::state): (WebCore::ScriptCallStack::at): (WebCore::ScriptCallStack::size): (WebCore::ScriptCallStack::initialize):
  • bindings/js/ScriptString.h: Added missing PlatformString include. (WebCore::ScriptString::ScriptString): Added default constructor. (WebCore::ScriptString::operator==): Added equality operator. (WebCore::ScriptString::operator!=):
  • bindings/js/ScriptValue.cpp: Added isNull and isUndefined. (WebCore::ScriptValue::isNull): (WebCore::ScriptValue::isUndefined):
  • bindings/js/ScriptValue.h: Added isNull and isUndefined
  • bindings/scripts/CodeGeneratorJS.pm: Add handling for CustomArgumentHandling attribute.
  • inspector/InspectorController.cpp: Refactored to use ScriptCallFrame and ScriptCallStack. (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::InspectorController::addMessageToConsole): (WebCore::InspectorController::startGroup): (WebCore::InspectorController::addScriptConsoleMessage): (WebCore::InspectorController::count): (WebCore::InspectorController::startTiming): (WebCore::InspectorController::stopTiming):
  • inspector/InspectorController.h: Refactored to use ScriptCallFrame and ScriptCallStack.
  • inspector/front-end/Console.js: Modified to use argument value itself rather than f.name for stack trace.
  • page/Console.cpp: Refactored to use ScriptCallFrame and ScriptCallStack. (WebCore::getFirstArgumentAsString): (WebCore::Console::addMessage): (WebCore::Console::debug): (WebCore::Console::error): (WebCore::Console::info): (WebCore::Console::log): (WebCore::Console::dir): (WebCore::Console::dirxml): (WebCore::Console::trace): (WebCore::Console::assertCondition): (WebCore::Console::count): (WebCore::Console::profile): (WebCore::Console::profileEnd): (WebCore::Console::time): (WebCore::Console::timeEnd): (WebCore::Console::group): (WebCore::Console::warn):
  • page/Console.h:
  • page/Console.idl: Removed Custom attributes, added CustomArgumentHandling attributes, and tweaked argument defs.
11:19 Changeset [39141] by cwzwarich@webkit.org
  • 5 edits in trunk/JavaScriptCore

2008-12-08 Judit Jasz <jasy@inf.u-szeged.hu>

Reviewed and tweaked by Cameron Zwarich.

Bug 22352: Annotate opcodes with their length
<https://bugs.webkit.org/show_bug.cgi?id=22352>

  • bytecode/Opcode.cpp:
  • bytecode/Opcode.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
10:42 Changeset [39140] by darin@apple.com
  • 7 edits in trunk/WebCore

2008-12-09 Darin Adler <darin@apple.com>

Try to fix non-Mac builds.

  • GNUmakefile.am: Added NavigatorBase.
  • WebCore.pro: Ditto.
  • WebCore.scons: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCoreSources.bkl: Ditto.

Unrelated tweak sitting in my tree.

  • bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method.
10:38 Changeset [39139] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-12-09 Darin Adler <darin@apple.com>

Try to fix Tiger build.

  • platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain.
09:58 Changeset [39138] by ap@webkit.org
  • 17 edits
    7 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22719
Implement Navigator object in Workers

Test: fast/workers/worker-navigator.html

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj: Added WorkerNavigator sources.
  • bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator): Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec, but it is not the same interface that is available on Windows).
  • dom/Worker.cpp: (WebCore::Worker::notifyFinished):
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext): (WebCore::WorkerContext::navigator):
  • dom/WorkerContext.h: (WebCore::WorkerContext::create):
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::create): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::workerThread):
  • dom/WorkerThread.h: Pass a pre-computed user agent string into worker, because it cannot call a client method directly, and pre-computing is easier than sending a synchronous message to the main thread.
  • page/Navigator.cpp:
  • page/Navigator.h:
  • page/NavigatorBase.cpp: Added.
  • page/NavigatorBase.h: Added. Factor out common (and uncommon, but very similar) functionality into a base class.
  • page/WorkerNavigator.cpp: Added.
  • page/WorkerNavigator.h: Added.
  • page/WorkerNavigator.idl: Added. Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator.
  • platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier): Make networkStateNotifier() static constructor thread safe. The object is created on the thread it is first called from, while callbacks are registered on the main thread. Calls to onLine() from other threads are safe, because it is just loading a boolean.
  • platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier): Schedule notifications on main event loop, not the current one.
09:53 Changeset [39137] by pam@chromium.org
  • 2 edits in trunk/LayoutTests

2008-12-09 Pamela Greene <pam@chromium.org>

Submitted without review.
Corrected results so the test passes.

  • fast/events/special-key-events-in-input-text-expected.txt:
08:42 QtWebKitGitInstructions edited by hausmann@webkit.org
(diff)
08:40 Changeset [39136] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

008-12-09 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon Hausmann.

Fix the documentation of the localStorageDatabasePath setters/getters.

06:50 Changeset [39135] by zimmermann@webkit.org
  • 2 edits in trunk/WebCore

Rubber-stamped by Alexey Proskuryakov.
Forgot to update Qt/WML build - add some new files to the build.

06:48 Changeset [39134] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fixed more ChangeLog dates.

06:42 Changeset [39133] by zimmermann@webkit.org
  • 16 edits
    2 moves
    13 adds in trunk

Reviewed by Alexey Proskuryakov.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22637

Implement the GET method for WMLGoElement, and some test covering it's behaviour.
Update all build systems supporting WML that haven't been updated since a while.

Add WMLPostField stub implementation, needed for implementing POST method.

Tests: wml/go-task-get-method-external-deck-with-href.html

wml/go-task-get-method-external-deck.html
wml/go-task-get-method-same-deck.html

02:13 Changeset [39132] by hausmann@webkit.org
  • 4 edits in trunk/WebKit/qt

2008-12-08 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon Hausmann.

Multiple files support for the file chooser.

  • Api/qwebpage.cpp: (QWebPage::chooseFiles):
  • Api/qwebpage.h:
  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::runOpenPanel):

12/08/08:

23:48 Changeset [39131] by ap@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

2008-12-08 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=22710
Verifies that active timeout does not cause memory leak.

  • fast/dom/Window/resources/long_timeout.html: Added.
  • fast/dom/Window/timeout-released-on-close-expected.txt: Added.
  • fast/dom/Window/timeout-released-on-close.html: Added.
23:24 Changeset [39130] by ggaren@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Implemented more of the relaxed and somewhat weird rules for deciding
how to interpret a non-pattern-character.


  • wrec/Escapes.h: (JSC::WREC::Escape::): (JSC::WREC::Escape::Escape): Eliminated Escape::None because it was unused. If you see an '
    ', it's either a valid escape or an error.
  • wrec/Quantifier.h: (JSC::WREC::Quantifier::Quantifier):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): Renamed "noMaxSpecified" to "Infinity", since that's what it means.
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::consumeGreedyQuantifier): Re-wrote {n,m} parsing rules because they were too strict before. Added support for backtracking in the case where the {n,m} fails to parse as a quantifier, and yet is not a syntax error.

(JSC::WREC::Parser::parseCharacterClass):
(JSC::WREC::Parser::parseNonCharacterEscape): Eliminated Escape::None,
as above.

(JSC::WREC::Parser::consumeEscape): Don't treat ASCII and _ escapes
as syntax errors. See fast/regex/non-pattern-characters.html.


  • wrec/WRECParser.h: (JSC::WREC::Parser::SavedState::SavedState): (JSC::WREC::Parser::SavedState::restore): Added a state backtracker, since parsing {n,m} forms requires backtracking if the form turns out not to be a quantifier.
23:07 Changeset [39129] by ggaren@apple.com
  • 2 edits in trunk/WebKitTools

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Added a shortcut for --jsDriver-args, which I use a lot.

  • Scripts/run-javascriptcore-tests:
22:47 Changeset [39128] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Refactored WREC parsing so that only one piece of code needs to know
the relaxed and somewhat weird rules for deciding how to interpret a
non-pattern-character, in preparation for implementing those rules.


Also, implemented the relaxed and somewhat weird rules for '}' and ']'.

  • wrec/WREC.cpp: Reduced the regular expression size limit. Now that WREC handles ']' properly, it compiles fast/js/regexp-charclass-crash.html, which makes it hang at the old limit. (The old limit was based on the misimpression that the same value in PCRE limited the regular expression pattern size; in reality, it limited the expected compiled regular expression size. WREC doesn't have a way to calculate an expected compiled regular expression size, but this should be good enough.)
  • wrec/WRECParser.cpp: (JSC::WREC::parsePatternCharacterSequence): Nixed this function because it contained a second copy of the logic for handling non-pattern-characters, which is about to get a lot more complicated.

(JSC::WREC::PatternCharacterSequence::PatternCharacterSequence):
(JSC::WREC::PatternCharacterSequence::size):
(JSC::WREC::PatternCharacterSequence::append):
(JSC::WREC::PatternCharacterSequence::flush): Helper object for generating
an optimized sequence of pattern characters.

(JSC::WREC::Parser::parseNonCharacterEscape): Renamed to reflect the fact
that the main parseAlternative loop handles character escapes.

(JSC::WREC::Parser::parseAlternative): Moved pattern character sequence
logic from parsePatternCharacterSequence to here, using
PatternCharacterSequence to help with the details.

  • wrec/WRECParser.h: Updated for renames.
22:46 Changeset [39127] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

Reviewed by Geoff Garen.

<rdar://problem/6166088> Give JSGlobalContextCreate a behavior that is concurrency aware,
and un-deprecate it

  • API/JSContextRef.cpp: (JSGlobalContextCreate):
  • API/JSContextRef.h: Use a unique context group for the context, unless the application was linked against old JavaScriptCore.
22:29 Changeset [39126] by mitz@apple.com
  • 2 edits in trunk/WebKit/win

Reviewed by Adam Roben.

  • Fix nightly builds
  • Interfaces/IWebViewPrivate.idl: Moved globalHistoryItem() to the end, so that it comes after all methods used by Safari 3.2.1.
22:23 Changeset [39125] by ggaren@apple.com
  • 3 edits in trunk/LayoutTests

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed js-test-pre.js to print a meaningful, complete sentence when
exception tests fail.

  • fast/js/const-expected.txt: Updated test for new results.
  • fast/js/resources/js-test-pre.js: (shouldThrow):
21:34 Changeset [39124] by slewis@apple.com
  • 2 edits in trunk/WebKitTools

2008-12-08 Stephanie Lewis <slewis@apple.com>

Fix Tiger build.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
21:27 Changeset [39123] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-08 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Fix for <rdar://problem/6428332> Remove the CTI return address table from CodeBlock

Step 1:

Remove use of jitReturnAddressVPCMap when looking for vPC to store Structures
in for cached lookup. Instead, use the offset in the StructureStubInfo that is
already required.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics): Fix extraneous semicolon.
  • interpreter/Interpreter.cpp: (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::Interpreter::cti_op_get_by_id_proto_list):
  • jit/JIT.h: (JSC::JIT::compileGetByIdSelf): (JSC::JIT::compileGetByIdProto): (JSC::JIT::compileGetByIdChain): (JSC::JIT::compilePutByIdReplace): (JSC::JIT::compilePutByIdTransition):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength): Remove extra call to getStubInfo. (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace):
20:54 Changeset [39122] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-08 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Port the op_j?n?eq_null JIT code generation to use the MacroAssembler,
and clean up slightly at the same time. The 'j' forms currently compare,
then set a register, then compare again, then branch. Branch directly on
the result of the first compare.

Around a 1% progression on deltablue, crypto & early boyer, for about 1/2%
overall on v8-tests.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdSlowCase):
18:10 Changeset [39121] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-12-08 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Expand MacroAssembler to support more operations, required by the JIT.

Generally adds more operations and permutations of operands to the existing
interface. Rename 'jset' to 'jnz' and 'jnset' to 'jz', which seem clearer,
and require that immediate pointer operands (though not pointer addresses to
load and store instructions) are wrapped in a ImmPtr() type, akin to Imm32().

No performance impact.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::): (JSC::MacroAssembler::ImmPtr::ImmPtr): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::and32): (JSC::MacroAssembler::or32): (JSC::MacroAssembler::sub32): (JSC::MacroAssembler::xor32): (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::load32): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::poke): (JSC::MacroAssembler::move): (JSC::MacroAssembler::testImm32): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::jb32): (JSC::MacroAssembler::jePtr): (JSC::MacroAssembler::je32): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jne32): (JSC::MacroAssembler::jnzPtr): (JSC::MacroAssembler::jnz32): (JSC::MacroAssembler::jzPtr): (JSC::MacroAssembler::jz32): (JSC::MacroAssembler::joSub32): (JSC::MacroAssembler::jump): (JSC::MacroAssembler::sete32): (JSC::MacroAssembler::setne32): (JSC::MacroAssembler::setnz32): (JSC::MacroAssembler::setz32):
  • assembler/X86Assembler.h: (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::andl_i8r): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::cmpl_mr): (JSC::X86Assembler::cmpl_i8m): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::testl_i32m): (JSC::X86Assembler::xorl_i32r): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::modRm_opmsib):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitPutCTIArgConstant): (JSC::JIT::emitPutCTIParam): (JSC::JIT::emitPutImmediateToCallFrameHeader): (JSC::JIT::emitInitRegister): (JSC::JIT::checkStructure): (JSC::JIT::emitJumpIfJSCell): (JSC::JIT::emitJumpIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum):
18:01 Changeset [39120] by pol@apple.com
  • 2 edits in trunk/LayoutTests

2008-12-08 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Increase timeout in video-paint-test.js so that <video> tests pass on the Tiger pixel bot which is slower
than the Leopard one.

https://bugs.webkit.org/show_bug.cgi?id=22742

  • media/video-paint-test.js: (init):
17:10 Changeset [39119] by ggaren@apple.com
  • 4 edits
    3 adds in trunk

JavaScriptCore:

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed a bug where WREC would allow a quantifier whose minimum was
greater than its maximum.


  • wrec/Quantifier.h: (JSC::WREC::Quantifier::Quantifier): ASSERT that the quantifier is not backwards.


  • wrec/WRECParser.cpp: (JSC::WREC::Parser::consumeGreedyQuantifier): Verify that the minimum is not greater than the maximum.

LayoutTests:

2008-12-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Added a test for interesting uses of non-pattern-characters in regular
expressions.

  • fast/regex/non-pattern-characters-expected.txt: Added.
  • fast/regex/non-pattern-characters.html: Added.
  • fast/regex/resources/non-pattern-characters.js: Added.
17:09 Changeset [39118] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix only, no review.

17:07 Changeset [39117] by andersca@apple.com
  • 12 edits in trunk/WebKit/mac

2008-12-08 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

More work towards getting NPN_GetURL working.


  • Plugins/Hosted/HostedNetscapePluginStream.h: Inherit from NetscapePlugInStreamLoaderClient.


(WebKit::HostedNetscapePluginStream::streamID):

  • Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::startStream): Keep track of the resposne URL and the MIME type. Pass the response URL to the plug-in host.


(WebKit::HostedNetscapePluginStream::didFinishLoading):
Disconnect the stream.


(WebKit::HostedNetscapePluginStream::start):
Create a plug-in stream loader and start loading.


(WebKit::HostedNetscapePluginStream::stop):
Cancel the load.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL): Fix the parameter order.


(WKPCCancelLoadURL):
New function that cancels a load of a stream with a given reason.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::destroy): Stop the streams.


(WebKit::NetscapePluginInstanceProxy::pluginStream):
Return a plug-in stream given a stream ID.


(WebKit::NetscapePluginInstanceProxy::disconnectStream):
Remove the stream from the streams map.


(WebKit::NetscapePluginInstanceProxy::loadRequest):
Create a stream and load it.


  • Plugins/Hosted/WebKitPluginClient.defs: Add CancelLoadURL.


  • Plugins/Hosted/WebKitPluginHost.defs: Add responseURL to StartStream.


  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView pluginPackage]): Move this down to the base class from WebNetscapePluginView.


  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm:
17:06 Changeset [39116] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-08 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Patch for https://bugs.webkit.org/show_bug.cgi?id=22716
<rdar://problem/6428315>
Add RareData structure to CodeBlock for infrequently used auxiliary data
members.

Reduces memory on Membuster-head by ~.5MB

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::dumpStatistics): (JSC::CodeBlock::mark): (JSC::CodeBlock::getHandlerForVPC): (JSC::CodeBlock::nativeExceptionCodeForHandlerVPC): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::numberOfExceptionHandlers): (JSC::CodeBlock::addExceptionHandler): (JSC::CodeBlock::exceptionHandler): (JSC::CodeBlock::addFunction): (JSC::CodeBlock::function): (JSC::CodeBlock::addUnexpectedConstant): (JSC::CodeBlock::unexpectedConstant): (JSC::CodeBlock::addRegExp): (JSC::CodeBlock::regexp): (JSC::CodeBlock::numberOfImmediateSwitchJumpTables): (JSC::CodeBlock::addImmediateSwitchJumpTable): (JSC::CodeBlock::immediateSwitchJumpTable): (JSC::CodeBlock::numberOfCharacterSwitchJumpTables): (JSC::CodeBlock::addCharacterSwitchJumpTable): (JSC::CodeBlock::characterSwitchJumpTable): (JSC::CodeBlock::numberOfStringSwitchJumpTables): (JSC::CodeBlock::addStringSwitchJumpTable): (JSC::CodeBlock::stringSwitchJumpTable): (JSC::CodeBlock::evalCodeCache): (JSC::CodeBlock::createRareDataIfNecessary):
16:35 Changeset [39115] by pkasting@chromium.org
  • 4 edits in trunk

JavaScriptCore:

2008-11-26 Peter Kasting <pkasting@google.com>

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=16814
Allow ports to disable ActiveX->NPAPI conversion for Media Player.
Improve handling of miscellaneous ActiveX objects.

  • wtf/Platform.h: Add another ENABLE(...).

WebCore:

2008-11-26 Peter Kasting <pkasting@google.com>

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=16814
Allow ports to disable ActiveX->NPAPI conversion for Media Player.
Improve handling of miscellaneous ActiveX objects.

  • rendering/RenderPartObject.cpp: (WebCore::mapClassIdToServiceType): (WebCore::shouldUseChildEmbedOfObject): (WebCore::RenderPartObject::updateWidget):
16:15 Changeset [39114] by darin@apple.com
  • 13 edits
    1 copy
    7 adds in trunk

WebCore:

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

Reviewed by John Sullivan.

Tests: editing/execCommand/enabling-and-selection-2.html

editing/execCommand/enabling-and-selection.html

  • editing/EditorCommand.cpp: Updated table to use these functions by their new names. (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm. An invisible selection with a position that selects no characters doesn't count as a visible selection. (WebCore::enabledVisibleSelectionAndMark): Ditto.

WebKitTools:

2008-12-08 Darin Adler <darin@apple.com>

Reviewed by John Sullivan.

  • DumpRenderTree/LayoutTestController.cpp: (isCommandEnabledCallback): Added. (LayoutTestController::staticFunctions): Added "isCommandEnabled".
  • DumpRenderTree/LayoutTestController.h: Ditto.
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::isCommandEnabled): Ditto.
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (-[CommandValidationTarget initWithAction:]): Added. Used to get the command validation system to tell us if a comment is enabled. (-[CommandValidationTarget action]): Ditto. (-[CommandValidationTarget tag]): Ditto. (LayoutTestController::isCommandEnabled): Ditto.
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::isCommandEnabled): Ditto.

LayoutTests:

2008-12-08 Darin Adler <darin@apple.com>

Reviewed by John Sullivan.

  • editing/execCommand/enabling-and-selection-2-expected.txt: Added.
  • editing/execCommand/enabling-and-selection-2.html: Added.
  • editing/execCommand/enabling-and-selection-expected.txt: Added.
  • editing/execCommand/enabling-and-selection.html: Added.
  • editing/execCommand/resources: Added.
  • editing/execCommand/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
  • editing/execCommand/resources/enabling-and-selection-2.js: Added.
  • editing/execCommand/resources/enabling-and-selection.js: Added.
  • fast/canvas/canvas-setTransform.html: Let make-js-test-wrappers update this.
  • fast/canvas/canvas-strokeRect.html: Ditto.
  • platform/qt/Skipped: Added enabling-and-selection-2 to the skipped list.
  • platform/win/Skipped: Ditto.
16:14 Changeset [39113] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-08 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Add dumping of CodeBlock member structure usage.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics):
  • bytecode/EvalCodeCache.h: (JSC::EvalCodeCache::isEmpty):
16:11 Changeset [39112] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

Remove duplicate entries from WebCore project.

Reviewed by Eric Seidel.

Bug 22555: Sort "children" sections in Xcode project files.
<https://bugs.webkit.org/show_bug.cgi?id=22555>

Recipe for removing duplicates:
$ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj
$ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj

  • WebCore.xcodeproj/project.pbxproj: Removed duplicates.
16:06 Changeset [39111] by jchaffraix@webkit.org
  • 10 edits in trunk/WebCore

2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
https://bugs.webkit.org/show_bug.cgi?id=22665

Remove setCreatedByParser from the script elements (HTML and SVG).

  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed call to setCreatedByParser for the 2 elements.
  • dom/make_names.pl: Modified to call the constructor with the createByParser parameter if 'constructorNeedsCreatedByParser' is set.


  • html/HTMLElementFactory.cpp: (WebCore::scriptConstructor):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::HTMLScriptElement):
  • html/HTMLScriptElement.h:
  • html/HTMLTagNames.in: Added constructorNeedsCreatedByParser to script.
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::SVGScriptElement):
  • svg/SVGScriptElement.h:
  • svg/svgtags.in: Added constructorNeedsCreatedByParser to script.
16:03 Changeset [39110] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-12-08 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22739
Test the sequence of keyboard events generated for a keypress.

  • fast/events/special-key-events-in-input-text-expected.txt: Added.
  • fast/events/special-key-events-in-input-text.html: Added.
16:01 Changeset [39109] by ddkilzer@apple.com
  • 15 edits in trunk

Bug 22555: Sort "children" sections in Xcode project files

<https://bugs.webkit.org/show_bug.cgi?id=22555>

Reviewed by Eric Seidel.

JavaScriptCore:

JavaScriptGlue:

  • JavaScriptGlue.xcodeproj/project.pbxproj: Sorted.

WebCore:

  • WebCore.xcodeproj/project.pbxproj: Sorted.
  • manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted.

WebKit:

  • WebKit.xcodeproj/project.pbxproj: Sorted.

WebKitExamplePlugins:

  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj: Sorted.

WebKitTools:

  • DrawTest/DrawTest.xcodeproj/project.pbxproj: Sorted.
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Sorted.
  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj: Sorted.
15:57 Changeset [39108] by darin@apple.com
  • 2 edits in trunk/WebKit

2008-12-08 Darin Adler <darin@apple.com>

  • StringsNotToBeLocalized.txt: Updated for recent changes.
15:44 Changeset [39107] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

Bug 22555: Sort "children" sections in Xcode project files

<https://bugs.webkit.org/show_bug.cgi?id=22555>

Reviewed by Timothy Hatcher.

  • Scripts/sort-Xcode-project-file: By popular request, don't sort the mainGroup in the project (the list of items below the top-level project file).
15:42 Changeset [39106] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-12-08 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

Enable Pan scrolling only when building on PLATFORM(WIN_OS)
Previously platforms like Apple Windows WebKit, Cairo Windows WebKit,
Wx and Chromium were enabling it explicitly, now we just turn it on
for all WIN_OS, later platforms can turn it off as needed on Windows
(or turn it on under Linux, etc.)
https://bugs.webkit.org/show_bug.cgi?id=22698

  • wtf/Platform.h:
15:42 Changeset [39105] by eric@webkit.org
  • 7 edits in trunk/WebCore

2008-12-08 Tony Chang <tony@chromium.org>

Reviewed by Eric Seidel.

Add a bool to GraphicsContext so that shadows can ignore
transformations. This is needed by HTML canvas element
where the spec says shadows are applied w/o transformations.
https://bugs.webkit.org/show_bug.cgi?id=22580

No functional changes, thus no tests.

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setShadow): (WebCore::CanvasRenderingContext2D::applyShadow):
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createImageBuffer):
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextPrivate.h: (WebCore::GraphicsContextState::GraphicsContextState):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setPlatformShadow):
15:18 Changeset [39104] by jchaffraix@webkit.org
  • 10 edits
    10 adds in trunk

WebCore:

2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 17897: Not Rendering Images Imported from XHTML Document
<rdar://problem/5827614>

When we were loading document with XMLHttpRequest that contained images, the images
would not be fetched as they would not be displayed. However if we inserted such
an image element into a rendered document, we would not fetch the image and thus never
display it.

Now we check if the image has been loaded when we insert an HTMLImageElement into a
document.
To enable this, the image loader has an error flag. To avoid doing several attempts
when we know that the image is in error, we store the failed URL.
However Firefox and Opera ignore errors when the 'src' attribute changes and thus
we also have an updateFromElementIgnoringPreviousError to match the other browser.

Tests: http/tests/misc/image-blocked-src-change.html

http/tests/misc/image-blocked-src-no-change.html
http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg
http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html

  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::parseMappedAttribute): Ditto. (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have an image.


  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
  • loader/ImageLoader.cpp: (WebCore::ImageLoader::setImage): Added an assertion. (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying multiple errors in the console for a single image load).

(WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error
before calling updateFromElement.

(WebCore::ImageLoader::notifyFinished): Added an assertion.

  • loader/ImageLoader.h:
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError.

LayoutTests:

2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Tests cases for bug 17897: Not Rendering Images Imported from XHTML Document
<rdar://problem/5827614>

  • xmlhttprequest-image-not-loaded*: test that an image loaded by an XMLHttpRequest and inserted into a XHTML or SVG Document is properly rendered.
  • image-blocked-src-change.html and image-blocked-src-no-change.html: test that an image that was in error is responding to src attribute change (whether it does really change the url or not).
  • http/tests/misc/image-blocked-src-change-expected.txt: Added.
  • http/tests/misc/image-blocked-src-change.html: Added.
  • http/tests/misc/image-blocked-src-no-change-expected.txt: Added.
  • http/tests/misc/image-blocked-src-no-change.html: Added.
  • http/tests/xmlhttprequest/resources/load-icon.svg: Added.
  • http/tests/xmlhttprequest/resources/load-icon.xhtml: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html: Added.
14:36 Changeset [39103] by hyatt@apple.com
  • 5 edits in trunk/WebCore

2008-12-08 David Hyatt <hyatt@apple.com>

Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create
custom CSS scrollbars.

Reviewed by Eric Seidel

  • page/FrameView.cpp: (WebCore::FrameView::createScrollbar):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::setHasHorizontalScrollbar): (WebCore::ScrollView::setHasVerticalScrollbar): (WebCore::ScrollView::createScrollbar):
  • platform/ScrollView.h:
13:40 Changeset [39102] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-08 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Add basic memory statistics dumping for CodeBlock.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpStatistics): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::~CodeBlock):
  • bytecode/CodeBlock.h:
13:39 Changeset [39101] by mrowe@apple.com
  • 1 edit
    2 moves in trunk/LayoutTests

Disable the WML tests since no platforms build with WML enabled by default and the test failures are annoying.

Rubber-stamped by Sam Weinig.

  • wml/variable-reference-invalid-character.html-disabled: Renamed from LayoutTests/wml/variable-reference-invalid-character.html.
  • wml/variable-reference-valid.html-disabled: Renamed from LayoutTests/wml/variable-reference-valid.html.
13:18 Changeset [39100] by mitz@apple.com
  • 11 edits in trunk

WebCore:

Reviewed by John Sullivan.

  • WebCore part of tracking the global history item for a WebView
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's global history item to the current back/forward list item, respecting private browsing mode. (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this case. (WebCore::FrameLoader::goToItem): Ditto in this case. (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load creates a new global history item, set the page's global history item to it. (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
  • page/Page.cpp: (WebCore::Page::setGlobalHistoryItem): Added this setter.
  • page/Page.h: Added a m_globalHistoryItem data member. (WebCore::Page::globalHistoryItem): Added this getter.

WebKit/mac:

Reviewed by John Sullivan.

  • WebKit/mac part of tracking the global history item for a WebView
  • WebView/WebView.mm: (-[WebView _globalHistoryItem]): Added. Returns the page's global history item.
  • WebView/WebViewPrivate.h:

WebKit/win:

Reviewed by John Sullivan.

  • WebKit/win part of tracking the global history item for a WebView
  • Interfaces/IWebViewPrivate.idl: Declared globalHistoryItem()
  • WebView.cpp: (WebView::globalHistoryItem): Added. Gets the page's global history item.
  • WebView.h:
11:28 Changeset [39099] by antti@apple.com
  • 2 edits in trunk/WebCore

2008-12-08 Antti Koivisto <antti@apple.com>

Reviewed by Dave Kilzer.

A few stylistic fixes suggested by Dave Kilzer.

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::create):
10:36 Changeset [39098] by ap@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22737
Try debug version when locating CFNetwork

  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::findCFNetworkModule): (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction): (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
  • platform/network/win/CookieJarCFNetWin.cpp: (WebCore::findCFNetworkModule): (WebCore::findIsHTTPOnlyFunction):
10:13 Changeset [39097] by darin@chromium.org
  • 14 edits in trunk

2008-12-08 Aaron Boodman <aa@chromium.org>

Reviewed by Stephanie Lewis.

https://bugs.webkit.org/show_bug.cgi?id=22301
Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedParsing):
08:56 Changeset [39096] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-12-08 Simon Hausmann <simon.hausmann@nokia.com>

Fix the Linux build with newer gcc/glibc.

08:53 Changeset [39095] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-12-08 Simon Hausmann <simon.hausmann@nokia.com>

Fix the build with Qt on Windows.

05:38 Changeset [39094] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-12-08 Trenton Schulz <trenton.schulz@nokia.com>

Rubber-stamped by Tor Arne Vestbø.

Fix build warning on Mac

02:42 Changeset [39093] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

Fix the Qt build

02:35 Changeset [39092] by oliver@apple.com
  • 3 edits
    2 adds in trunk

Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
<rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)

Reviewed by Alexey Proskuryakov.

This regression was caused by r39059 replacing the protector on the active
animation with a protector on just the composition. It turns out that both
protectors are necessary.

Test: transitions/transition-duration-cleared-in-transitionend-crash.html

00:54 Changeset [39091] by ap@webkit.org
  • 9 edits
    2 deletes in trunk/WebCore

2008-12-08 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22732
Remove unused files PausedTimeouts.h,.cpp
The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: These are build files which had PausedTimeouts referenced.
  • bindings/js/PausedTimeouts.cpp: Removed.
  • bindings/js/PausedTimeouts.h: Removed.
  • bindings/js/ScriptController.cpp: Removed '#include'
  • page/Chrome.cpp: Removed '#include' and unused variable.

12/07/08:

22:58 Changeset [39090] by simon.fraser@apple.com
  • 5 edits
    2 adds in trunk

2008-12-07 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

https://bugs.webkit.org/show_bug.cgi?id=22594

Fix issues which break reading inline style for -webkit-transition
and -webkit-transform-origin.

Test: fast/css/transform-inline-style.html

  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition so that these shorthand properties are returned correctly.
  • css/CSSParser.cpp: (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues with the correct CSSValueAll and CSSValueNone identifiers, not the RenderStyle-level cAnimateAll, cAnimateNone.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
20:16 Changeset [39089] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix non-WREC builds

17:29 Changeset [39088] by antti@apple.com
  • 3 edits in trunk/WebCore

2008-12-07 Antti Koivisto <antti@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22717
Make CSS values use less memory


Share CSSPrimitiveValue objects for commonly used values including

  • idents
  • colors
  • small integers


This reduces the amount CSSPrimitiveValue instances by > 80%.

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create):
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::create):
17:28 Changeset [39087] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Put ENABLE(ASSEMBLER) guards around use of ExecutableAllocator in global data
Correct Qt and Gtk project files

17:27 Changeset [39086] by antti@apple.com
  • 8 edits in trunk/WebCore

2008-12-07 Antti Koivisto <antti@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22717
Make CSS values use less memory

Get CSSValues off from the common StyleBase base class. They don't
need a parent pointer or anything else there and there is no real
reason to have them in same data structures with other CSSOM objects.


Disabled (instead of refactoring around the lack of common base) the ability
to have style declaration blocks as CSS variable values. They don't exist in
the spec so I wasn't sure if they have future or not. It would not be hard to
get them back. CSS variables are in any case an experimental feature and
not enabled by default.

  • css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit):
  • css/CSSParser.cpp: (WebCore::CSSParser::addVariableDeclarationBlock):
  • css/CSSParser.h:
  • css/CSSValue.h: (WebCore::CSSValue::~CSSValue): (WebCore::CSSValue::parserValue):
  • css/CSSVariablesDeclaration.cpp: (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration): (WebCore::CSSVariablesDeclaration::getVariableValue): (WebCore::CSSVariablesDeclaration::removeVariable): (WebCore::CSSVariablesDeclaration::addParsedVariable): (WebCore::CSSVariablesDeclaration::getParsedVariable): (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
  • css/CSSVariablesDeclaration.h: (WebCore::CSSVariablesDeclaration::create):
  • css/StyleBase.h:
16:39 Changeset [39085] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Add new files to other projects.

Reviewed by NOBODY (Build fix).

16:35 Changeset [39084] by oliver@apple.com
  • 2 edits
    1 move in trunk/JavaScriptCore

Rename ExecutableAllocatorMMAP to the more sensible ExecutableAllocatorPosix

Rubber stamped by Mark Rowe.

15:55 Changeset [39083] by oliver@apple.com
  • 27 edits
    4 adds in trunk/JavaScriptCore

<rdar://problem/6309878> Need more granular control over allocation of executable memory (21783)
<https://bugs.webkit.org/show_bug.cgi?id=21783>

Reviewed by Cameron Zwarich and Sam Weinig

Add a new allocator for use by the JIT that provides executable pages, so
we can get rid of the current hack that makes the entire heap executable.

1-2% progression on SunSpider-v8, 1% on SunSpider. Reduces memory usage as well!

11:16 Changeset [39082] by zecke@webkit.org
  • 3 edits
    2 adds in trunk

[Gtk+] Use glib's unit test facilities to test the WebKit/Gtk+ API

https://bugs.webkit.org/show_bug.cgi?id=22491

Add the skeleton to WebKit/gtk/tests and integrate that into the
buildsystem. Testing support was added in glib 2.16. For versions
using glib < 2.16 we compile an empty application.

10:41 Changeset [39081] by zecke@webkit.org
  • 2 edits in trunk

[GTK] Define ENABLE_JIT_OPTIMIZE_CALL, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS, ENABLE_JIT_OPTIMIZE_ARITHMETIC

When building the jit on i*86 also enable the above optimizations.

01:23 Changeset [39080] by krit@webkit.org
  • 3 edits
    3 adds in trunk

2008-12-07 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

WebCore:

Add gradient and pattern support for strokeRect on canvas/Cg.

Canvas strokeRect() doesn't support gradients
https://bugs.webkit.org/show_bug.cgi?id=19790

Test: fast/canvas/canvas-strokeRect.html

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::strokeRect):

LayoutTests:

Tests strokeRect with patterns and gradients.

  • fast/canvas/canvas-strokeRect-expected.txt: Added.
  • fast/canvas/canvas-strokeRect.html: Added.
  • fast/canvas/resources/canvas-strokeRect.js: Added.

12/06/08:

23:48 Changeset [39079] by krit@webkit.org
  • 9 edits
    3 adds in trunk

2008-12-06 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

WebCore:

Add support for setTransform() in canvas.

<canvas> lacks transform() and setTransform()
https://bugs.webkit.org/show_bug.cgi?id=16604

Test: fast/canvas/canvas-setTransform.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::State::State): (WebCore::CanvasRenderingContext2D::setStrokeStyle): (WebCore::CanvasRenderingContext2D::setFillStyle): (WebCore::CanvasRenderingContext2D::scale): (WebCore::CanvasRenderingContext2D::rotate): (WebCore::CanvasRenderingContext2D::translate): (WebCore::CanvasRenderingContext2D::transform): (WebCore::CanvasRenderingContext2D::setTransform): (WebCore::CanvasRenderingContext2D::beginPath): (WebCore::CanvasRenderingContext2D::closePath): (WebCore::CanvasRenderingContext2D::moveTo): (WebCore::CanvasRenderingContext2D::lineTo): (WebCore::CanvasRenderingContext2D::quadraticCurveTo): (WebCore::CanvasRenderingContext2D::bezierCurveTo): (WebCore::CanvasRenderingContext2D::arcTo): (WebCore::CanvasRenderingContext2D::arc): (WebCore::CanvasRenderingContext2D::rect): (WebCore::CanvasRenderingContext2D::fill): (WebCore::CanvasRenderingContext2D::stroke): (WebCore::CanvasRenderingContext2D::clip): (WebCore::CanvasRenderingContext2D::isPointInPath): (WebCore::CanvasRenderingContext2D::clearRect): (WebCore::CanvasRenderingContext2D::fillRect): (WebCore::CanvasRenderingContext2D::strokeRect): (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::drawImageFromRect): (WebCore::CanvasRenderingContext2D::willDraw): (WebCore::CanvasRenderingContext2D::drawTextInternal):
  • html/CanvasRenderingContext2D.h:
  • html/CanvasRenderingContext2D.idl:
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::baseTransform):
  • html/HTMLCanvasElement.h:
  • platform/graphics/ImageBuffer.h: (WebCore::ImageBuffer::baseTransform):

LayoutTests:

Added tests for canvas's setTransform() and updated an existing one.

  • fast/canvas/canvas-setTransform-expected.txt: Added.
  • fast/canvas/canvas-setTransform.html: Added.
  • fast/canvas/resources/canvas-setTransform.js: Added.
  • fast/dom/Window/window-properties-expected.txt:
22:15 Changeset [39078] by simon.fraser@apple.com
  • 3 edits
    4 adds in trunk

2008-12-06 Simon Fraser <simon.fraser@apple.com>

Reviewed by Antti Koivisto, Dan Bernstein

https://bugs.webkit.org/show_bug.cgi?id=22088

Fix logic related to repainting when transform changes:
If an object has a layer, and the transform changes, then we need
to do a repaintIncludingDescendants(), not just a repaint.

Test: fast/repaint/transform-repaint-descendants.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange):
20:20 Changeset [39077] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-12-06 Sam Weinig <sam@webkit.org>

Fix the Gtk build.

  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath):
18:05 Changeset [39076] by antti@apple.com
  • 2 edits in trunk/WebCore

2008-12-06 Antti Koivisto <antti@apple.com>

Reviewed by Darin Adler.

Also copy m_implicit field. Darin wanted this change commited separately.

  • css/CSSProperty.h: (WebCore::CSSProperty::operator=):
17:40 Changeset [39075] by antti@apple.com
  • 14 edits in trunk

WebCore:

2008-12-06 Antti Koivisto <antti@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22379
Make CSSOM use less memory


Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.


Taught setter functions to use existing slots to avoid memory moves, plus some
other optimizations.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): (WebCore::CSSMutableStyleDeclaration::operator=): (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue): (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty): (WebCore::CSSMutableStyleDeclaration::removeProperty): (WebCore::CSSMutableStyleDeclaration::getPropertyPriority): (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand): (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit): (WebCore::CSSMutableStyleDeclaration::setProperty): (WebCore::CSSMutableStyleDeclaration::setPropertyInternal): (WebCore::CSSMutableStyleDeclaration::setStringProperty): (WebCore::CSSMutableStyleDeclaration::setImageProperty): (WebCore::CSSMutableStyleDeclaration::parseDeclaration): (WebCore::CSSMutableStyleDeclaration::addParsedProperties): (WebCore::CSSMutableStyleDeclaration::addParsedProperty): (WebCore::CSSMutableStyleDeclaration::setLengthProperty): (WebCore::CSSMutableStyleDeclaration::length): (WebCore::CSSMutableStyleDeclaration::item): (WebCore::CSSMutableStyleDeclaration::cssText): (WebCore::CSSMutableStyleDeclaration::setCssText): (WebCore::CSSMutableStyleDeclaration::merge): (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): (WebCore::CSSMutableStyleDeclaration::copy): (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
  • css/CSSMutableStyleDeclaration.h: (WebCore::CSSMutableStyleDeclarationConstIterator::operator*): (WebCore::CSSMutableStyleDeclarationConstIterator::operator->): (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=): (WebCore::CSSMutableStyleDeclarationConstIterator::operator==): (WebCore::CSSMutableStyleDeclaration::create): (WebCore::CSSMutableStyleDeclaration::begin): (WebCore::CSSMutableStyleDeclaration::end): (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator): (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator): (WebCore::CSSMutableStyleDeclarationConstIterator::operator=): (WebCore::CSSMutableStyleDeclarationConstIterator::operator++): (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
  • css/CSSProperty.h: (WTF::):
  • css/CSSStyleDeclaration.cpp: (WebCore::CSSStyleDeclaration::diff): (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::resolveVariablesForDeclaration): (WebCore::CSSStyleSelector::keyframeStylesForAnimation): (WebCore::CSSStyleSelector::applyDeclarations):
  • dom/EventTarget.h:
  • editing/ApplyStyleCommand.cpp: (WebCore::StyleChange::init): (WebCore::ApplyStyleCommand::isHTMLStyleNode): (WebCore::ApplyStyleCommand::removeHTMLFontStyle): (WebCore::ApplyStyleCommand::removeCSSStyle):
  • editing/Editor.cpp: (WebCore::Editor::selectionStartHasStyle): (WebCore::updateState):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::handleStyleSpans):
  • editing/markup.cpp: (WebCore::appendStartMarkup):

LayoutTests:

2008-12-06 Antti Koivisto <antti@apple.com>

Reusing property slots changed property ordering in this text.

  • editing/pasteboard/5780697-2-expected.txt:
17:07 Changeset [39074] by simon.fraser@apple.com
  • 3 edits in trunk/LayoutTests

2008-12-06 Simon Fraser <simon.fraser@apple.com>

Update expected image now that the caret renders in transformed
content.

https://bugs.webkit.org/show_bug.cgi?id=15671

  • platform/mac/fast/forms/search-transformed-expected.checksum:
  • platform/mac/fast/forms/search-transformed-expected.png:
17:03 Changeset [39073] by simon.fraser@apple.com
  • 3 edits
    4 adds in trunk

2008-12-06 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

https://bugs.webkit.org/show_bug.cgi?id=15739

When painting the selection on a replaced element, paint
using local coordinates so that the selection is correctly
painted for transformed elements.

Test: fast/replaced/selection-rect-transform.html

  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint):
14:31 Changeset [39072] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-12-06 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich,

Move CodeBlock constructor into the .cpp file.

Sunspider reports a .7% progression, but I can only assume this
is noise.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::CodeBlock):
  • bytecode/CodeBlock.h:
14:19 Changeset [39071] by weinig@apple.com
  • 8 edits
    2 copies in trunk/JavaScriptCore

2008-12-06 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Split JumpTable code into its own file.

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:
  • bytecode/JumpTable.cpp: Copied from bytecode/CodeBlock.cpp.
  • bytecode/JumpTable.h: Copied from bytecode/CodeBlock.h.
14:01 Changeset [39070] by weinig@apple.com
  • 19 edits in trunk/JavaScriptCore

2008-12-05 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22715
Encapsulate more CodeBlock members in preparation
of moving some of them to a rare data structure.

  • bytecode/CodeBlock.cpp: (JSC::locationForOffset): (JSC::printConditionalJump): (JSC::printGetByIdOp): (JSC::printPutByIdOp): (JSC::CodeBlock::printStructure): (JSC::CodeBlock::printStructures): (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::unlinkCallers): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures): (JSC::CodeBlock::mark): (JSC::CodeBlock::getHandlerForVPC): (JSC::CodeBlock::nativeExceptionCodeForHandlerVPC): (JSC::CodeBlock::lineNumberForVPC): (JSC::CodeBlock::expressionRangeForVPC): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::addCaller): (JSC::CodeBlock::removeCaller): (JSC::CodeBlock::isKnownNotImmediate): (JSC::CodeBlock::isConstantRegisterIndex): (JSC::CodeBlock::getConstant): (JSC::CodeBlock::isTemporaryRegisterIndex): (JSC::CodeBlock::getStubInfo): (JSC::CodeBlock::getCallLinkInfo): (JSC::CodeBlock::instructions): (JSC::CodeBlock::setJITCode): (JSC::CodeBlock::jitCode): (JSC::CodeBlock::ownerNode): (JSC::CodeBlock::setGlobalData): (JSC::CodeBlock::setThisRegister): (JSC::CodeBlock::thisRegister): (JSC::CodeBlock::setNeedsFullScopeChain): (JSC::CodeBlock::needsFullScopeChain): (JSC::CodeBlock::setUsesEval): (JSC::CodeBlock::usesEval): (JSC::CodeBlock::setUsesArguments): (JSC::CodeBlock::usesArguments): (JSC::CodeBlock::codeType): (JSC::CodeBlock::source): (JSC::CodeBlock::sourceOffset): (JSC::CodeBlock::addGlobalResolveInstruction): (JSC::CodeBlock::numberOfPropertyAccessInstructions): (JSC::CodeBlock::addPropertyAccessInstruction): (JSC::CodeBlock::propertyAccessInstruction): (JSC::CodeBlock::numberOfCallLinkInfos): (JSC::CodeBlock::addCallLinkInfo): (JSC::CodeBlock::callLinkInfo): (JSC::CodeBlock::numberOfJumpTargets): (JSC::CodeBlock::addJumpTarget): (JSC::CodeBlock::jumpTarget): (JSC::CodeBlock::lastJumpTarget): (JSC::CodeBlock::numberOfExceptionHandlers): (JSC::CodeBlock::addExceptionHandler): (JSC::CodeBlock::exceptionHandler): (JSC::CodeBlock::addExpressionInfo): (JSC::CodeBlock::numberOfLineInfos): (JSC::CodeBlock::addLineInfo): (JSC::CodeBlock::lastLineInfo): (JSC::CodeBlock::jitReturnAddressVPCMap): (JSC::CodeBlock::numberOfIdentifiers): (JSC::CodeBlock::addIdentifier): (JSC::CodeBlock::identifier): (JSC::CodeBlock::numberOfConstantRegisters): (JSC::CodeBlock::addConstantRegister): (JSC::CodeBlock::constantRegister): (JSC::CodeBlock::addFunction): (JSC::CodeBlock::function): (JSC::CodeBlock::addFunctionExpression): (JSC::CodeBlock::functionExpression): (JSC::CodeBlock::addUnexpectedConstant): (JSC::CodeBlock::unexpectedConstant): (JSC::CodeBlock::addRegExp): (JSC::CodeBlock::regexp): (JSC::CodeBlock::symbolTable): (JSC::CodeBlock::evalCodeCache): New inline setters/getters.

(JSC::ProgramCodeBlock::ProgramCodeBlock):
(JSC::ProgramCodeBlock::~ProgramCodeBlock):
(JSC::ProgramCodeBlock::clearGlobalObject):

  • bytecode/SamplingTool.cpp: (JSC::ScopeSampleRecord::sample): (JSC::SamplingTool::dump):
  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/Label.h:
  • interpreter/CallFrame.cpp:
  • interpreter/Interpreter.cpp:
  • jit/JIT.cpp:
  • jit/JITCall.cpp:
  • jit/JITInlineMethods.h:
  • jit/JITPropertyAccess.cpp:
  • parser/Nodes.cpp:
  • runtime/Arguments.h:
  • runtime/ExceptionHelpers.cpp:
  • runtime/JSActivation.cpp:
  • runtime/JSActivation.h:
  • runtime/JSGlobalObject.cpp: Change direct access to use new getter/setters.
11:58 Changeset [39069] by simon.fraser@apple.com
  • 37 edits
    4 adds in trunk

2008-12-06 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

https://bugs.webkit.org/show_bug.cgi?id=15671

Fix caret rendering to behave correctly with transforms:

  • Rename caretRect() methods to localCaretRect() and absoluteCaretBounds() as appropriate
  • Fix localCaretRect() methods to return a rect in the appropriate coordinates.
  • Pass tx, ty down through the paintCaret() methods, after fixing them up to account for differences between contents coords, and renderer-local coords (via RenderBlock::offsetForContents()).
  • Remove m_caretPositionOnLayout from SelectionController, and instead call invalidateSelection() from RenderLayer::scrollToOffset(), because we can no longer assume simple x/y offsets from scrolling with transforms.
  • Move the logic to compute which RenderObject actually paints the caret into SelectionController::caretRenderer(), rather than having it in RenderBlock.
  • SelectionController now computes and caches a local caret rect. For invalidation, it computes the absolute bounds of that (possibly transformed) local rect. The local rect is computed in the coordinate system of the RenderObject that will paint the caret (this may require offsetting from the actual renderer at the start of the selection).
  • Fix LayoutState(RenderObject* root) to take transforms into account
  • Make offsetFromContainer() a virtual method on RenderObject, and implement the RenderObject version. It's used to map from selection start renderer to caret renderer.

Test: fast/transforms/transformed-caret.html

09:20 Changeset [39068] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Added reference to bugs.webkit.org bug.

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

BUILD FIX for r39065: Forgot parentheses after "document".

Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
<https://bugs.webkit.org/show_bug.cgi?id=22666>

  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed document to document().
08:04 Changeset [39066] by ap@webkit.org
  • 2 edits in trunk/WebCore

2008-12-06 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22710
Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document

  • bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
03:54 Changeset [39065] by ddkilzer@apple.com
  • 43 edits in trunk

Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives

<https://bugs.webkit.org/show_bug.cgi?id=22666>

Reviewed by Darin Adler.

WebCore:

When creating a webarchive from WebCore::LegacyWebArchive::create(),
HashSet<String>, Vector<KURL> and Vector<String> were all used to
store a list of URLs for resources found in the document. Instead
use a single ListHashSet<KURL> to store the list and resolve the
relative URLs as they're added. We use a new inline method called
WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
to prevent "null" KURL objects from crashing in the KURL hashing
function.

  • WebCore.base.exp: Changed export of WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL> argument instead of a Vector<KURL>.
  • WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private header for use in WebKit.
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from addSubresourceURLStrings(). Changed to use ListHashSet<KURL> instead of HashSet<String>. Cleaned up code.
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
  • css/StyleSheet.h: (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
  • dom/Node.cpp: (WebCore::Node::getSubresourceURLs): Changed to use ListHashSet<KURL> instead of Vector<KURL>. Cleaned up code.
  • dom/Node.h: (WebCore::Node::getSubresourceURLs): Ditto. (WebCore::Node::addSubresourceAttributeURLs): Renamed from getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL> instead of Vector<String>. (WebCore::addSubresourceURL): Added. Safely adds new KURL objects to a ListHashSet<KURL> object. A "null" KURL object will cause the hash function to crash since it contains a null StringImpl. Used in Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in the style subsystem.
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::addSubresourceAttributeURLs): Renamed from getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL> instead of Vector<String>. Use WebCore::addSubresourceURL() to add new KURL objects.
  • dom/ProcessingInstruction.h: Ditto.
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLBodyElement.h: Ditto.
  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLEmbedElement.h: Ditto.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLImageElement.h: Ditto.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLInputElement.h: Ditto.
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLLinkElement.h: Ditto.
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLObjectElement.h: Ditto.
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLParamElement.h: Ditto.
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLScriptElement.h: Ditto.
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLStyleElement.h: Ditto.
  • html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLTableCellElement.h: Ditto.
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
  • html/HTMLTableElement.h: Ditto.
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Changed from using HashSet<String> to ListHashSet<KURL> for tracking unique subresources. Changed from using Vector<KURL> to ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs(). Cleaned up code.
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed from getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL> instead of Vector<String>. Use WebCore::addSubresourceURL() to add new KURL objects.
  • svg/SVGCursorElement.h: Ditto.
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGFEImageElement.h: Ditto.
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGImageElement.h: Ditto.
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
  • svg/SVGScriptElement.h: Ditto.

WebKit/mac:

  • DOM/WebDOMOperations.mm: (-[DOMNode _subresourceURLs]): Changed from using Vector<KURL> to ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs().
03:51 Changeset [39064] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fixed ChangeLog date.

Note: See TracTimeline for information about the timeline view.