Timeline


and

12/11/08:

23:51 Changeset [39228] by slewis@apple.com

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

Reviewed by Geoff Garen

Account for the size of the response and request headers as well as other overhead
when calculating the size a resource takes up in the cache. Halts unbounded
growth in the cache. Reduced stress test memory high water marks by > 50%.

Uses estimates gathered from the stress test to set the overhead size.
A version of the patch was created that calculated most of the sizes, but it was
decided that the patch was still at a basic level an estimate. What gains it made
in accuracy was offset by the complexity involved in creating and updating the
estimate.

  • loader/Cache.cpp: (WebCore::Cache::resourceAccessed): (WebCore::Cache::TypeStatistic::addResource): (WebCore::Cache::dumpLRULists):
  • loader/CachedResource.cpp: (WebCore::CachedResource::overheadSize):
  • loader/CachedResource.h: (WebCore::CachedResource::size):
23:28 Changeset [39227] by cwzwarich@webkit.org

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

Rubber-stamped by Mark Rowe.

Roll out r39212 due to assertion failures during layout tests, multiple
layout test failures, memory leaks, and obvious incorrectness.

WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences fullDocumentTeardownEnabled]):
  • WebView/WebPreferencesPrivate.h:

WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:
  • WebPreferences.h:

WebKitTools:

  • DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting):
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
  • DumpRenderTree/win/DumpRenderTree.cpp: (resetWebViewToConsistentStateBeforeTesting):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::pauseTransitionAtTimeOnElementWithId):

LayoutTests:

  • security/override-preferences-2-expected.txt: Removed.
  • security/override-preferences-2.html: Removed.
  • security/override-preferences-expected.txt: Removed.
  • security/override-preferences.html: Removed.
  • security/override-zzz-reset-expected.txt: Removed.
  • security/override-zzz-reset.html: Removed.
20:20 Changeset [39226] by barraclough@apple.com

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

Reviewed by Oliver Hunt.

Remove CTI_ARGUMENTS mode, use va_start implementation on Windows,
unifying JIT callback (cti_*) argument access on OS X & Windows

No performance impact.

  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::emitCTICall):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
  • wtf/Platform.h:
18:02 Changeset [39225] by zimmermann@webkit.org

Reviewed by Holger Freyther.

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

Add <wml> image element support. Based on HTML/SVGImage{Element/Loader}, with
the only difference that WML defines a second source attribute 'localsrc', that
takes precedence over the 'src' attribute. If loading the 'localsrc' attribute
fails, the user agent should try loading the 'src' attribute. If both fail the
'alt' fallback content will be used - just like in HTML.

Fixes: fast/wml/img-localsrc.wml (<img> and 'localsrc' attribute)

fast/wml/img-src-localsrc-alt.wml ('localsrc'/'src' fallback handling)
fast/wml/img-src.wml (<img> and 'src' attribute)

17:15 Changeset [39224] by slewis@apple.com

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

Fix build.

  • WebView/WebView.mm:
17:01 Changeset [39223] by zecke@webkit.org

Make webkit_web_view_set_window_features internal

Calling this method will not result in a notify::window-features
signal being emitted. This would allow replacing a
WebKitWebWindowFeature on a WebKitWebView without anyone noticing
and the client code would monitor the wrong object.

16:37 Changeset [39222] by zecke@webkit.org

2008-12-11 Daniel Macks <dmacks@netspace.org>

Reviewed by Darin Adler.

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

Put libtool macro files in subdir that it wants.

  • GNUmakefile.am:
  • configure.ac:
16:37 Changeset [39221] by zecke@webkit.org

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

Reviewed by Darin Adler.

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

Do not run into the WebCore::DocumentLoader::updateLoading
ASSERT on Gtk+/CURL when trying to load tests from our LayoutTests.

Do not call setPrimaryLoadComplete when the
activeDocumentLoader has already been replaced. This can happen
when a script executed from within FramerLoader::didFinishLoading will
navigate to another URL.

The assertion is caused by existing tests (e.g.
fast/history/clicked-link-is-visited.html) reproducing this with
network backends not equal to curl is tough or maybe not
even possible.

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setPrimaryLoadComplete):
16:20 Changeset [39220] by slewis@apple.com

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

Reviewed by Oliver Hunt.

Empty Web cache before quitting a debug build in order
to report accurate CachedResource leaks.

  • WebView/WebView.mm: (-[WebView _close]):
15:42 Changeset [39219] by zimmermann@webkit.org

Reviewed by Eric Seidel.

  • Remove some dead, commented-out code from WMLAElement.
  • Add missing virtual destructor for <noop>, as suggested by Alexey.
  • Refactor addHTMLAlignment in a static helper function to share with WML.
14:33 Changeset [39218] by oliver@apple.com

<rdar://problem/6302405> Crash (null-deref) when using :before pseudoselector with content CSS rule in SVG
<https://bugs.webkit.org/show_bug.cgi?id=22804>

Reviewed by Adele Peterson.

This issue was caused by css generated content resulting in non-svg flowboxes
being injected into SVG content. As SVG spec does not describe behaviour in
this case, and neither Opera nor Firefox displays such generated content, so
now we make svg text layout and rendering just ignore any such content.

Test: svg/css/crash-css-generated-content.xhtml

13:56 Changeset [39217] by cwzwarich@webkit.org

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

Reviewed by Dave Hyatt.

Bug 21256: REGRESSION (r36906): horizontally repeating image leaves ghosts when vertical scrolling
<https://bugs.webkit.org/show_bug.cgi?id=21256>
<rdar://problem/6362978>

The ScrollView refactoring in r36906 caused the ScrollView and the
platform widget to disagree about whether optimizing scrolling via
blitting is allowed. The easiest way to fix this is to make ScrollView
simply ask the platform widget whether this is safe on platforms that
are affected.

It is not possible to write a layout test for this bug because it
involves the back/forward cache.

  • platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::setCanBlitOnScroll): (WebCore::ScrollView::canBlitOnScroll): (WebCore::ScrollView::platformSetCanBlitOnScroll): (WebCore::ScrollView::platformCanBlitOnScroll):
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformSetCanBlitOnScroll): (WebCore::ScrollView::platformCanBlitOnScroll):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetCanBlitOnScroll): (WebCore::ScrollView::platformCanBlitOnScroll):
13:27 Changeset [39216] by andersca@apple.com

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

Fix Tiger build.

  • Misc/WebNSDataExtras.h:
13:26 Changeset [39215] by andersca@apple.com

WebKit/mac:

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

Reviewed by Cameron Zwarich.

https://bugs.webkit.org/show_bug.cgi?id=22797
REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html

Make sure to protect the stream because destroyStream can otherwise cause it to be deleted.


  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::destroyStreamWithReason):

LayoutTests:

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

Reviewed by Cameron Zwarich.

https://bugs.webkit.org/show_bug.cgi?id=22797
REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html


  • http/tests/plugins/get-url-expected.txt: Added.
  • http/tests/plugins/get-url.html: Added.
12:44 Changeset [39214] by zimmermann@webkit.org

Reviewed by Eric Seidel.
Fix typo in doctype (correct wapforum.org URL)

11:16 Changeset [39213] by zecke@webkit.org

2008-12-11 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

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

Correct build break due to malformed XML in Visual Studio project
following @r39205 change.

  • WebCore.vcproj/WebCore.vcproj: Correct file entry so project loads.
11:10 Changeset [39212] by eric@webkit.org

2008-12-10 Glenn Wilson <gwilson@google.com>

Reviewed by Adam Roben.

Added new methods for overriding default WebPreference values
and for resetting preferences to their defaults.
https://bugs.webkit.org/show_bug.cgi?id=20534

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences resetToDefaults]): new method (-[WebPreferences overridePreference:flag:]): new method
  • WebView/WebPreferencesPrivate.h: new method signatures

2008-12-10 Glenn Wilson <gwilson@google.com>

Reviewed by Adam Roben.

Added support for overriding default preferences per-test.
https://bugs.webkit.org/show_bug.cgi?id=20534
Two new methods were added: resetToDefaults and overridePreference.

  • Interfaces/IWebPreferencesPrivate.idl: new method signatures
  • WebPreferenceKeysPrivate.h: added new key for internal state
  • WebPreferences.cpp: added new methods (WebPreferences::overridePreference): new method (WebPreferences::resetToDefaults): new method
  • WebPreferences.h: new method signatures

2008-12-10 Glenn Wilson <gwilson@google.com>

Reviewed by Adam Roben.

Changed LayoutTestController and DumpRenderTree to allow for manual
overriding of default preferences at test time. Also added support for
resetting the preferences after each test.
https://bugs.webkit.org/show_bug.cgi?id=20534

  • DumpRenderTree/LayoutTestController.cpp: Added callback method for overriding preferences
  • DumpRenderTree/LayoutTestController.h: Added signature for callback
  • DumpRenderTree/win/DumpRenderTree.cpp: Added calls to reset preferences after each test if necessary
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: Added JS override function
  • DumpRenderTree/mac/DumpRenderTree.mm: Added calls to reset preferences after each test if necessary
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: Added JS override function
08:24 Changeset [39211] by cmarrin@apple.com

Reviewed by Dave Hyatt.

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

This gets rid of the per-animation timers which were used when an animation
started, ended and looped. Their job is now done by the main AnimationController's
timer. It is now set to fire as needed. For instance, if there is a delay, it will
fire after the delay time and then every 30ms to run the animation. The start, loop
and end events are generated as needed during the firing of this timer.

I had to add one more bit of code. When animation timers used to fire the animation events.
This would always happen from the RunLoop, so any style changes that happened in the
event handler would get picked up on the next updateRendering() call. But now the start
event is generated during the styleIsAvailable() call, which is in the middle of the
updateRendering() cycle. And calling an event handler in the middle of updateRendering()
is not allowed and causes style changes to get missed. We already have a mechanism in
AnimationController to defer updateRendering() calls. So I added logic to defer all
event handling to there. Now, I put any request for event handling into a list and ask
for a deferred updateRendering() call. When that deferred timer fires, I go through that
list, send all the events and then call updateRendering().

07:57 Changeset [39210] by hausmann@webkit.org

2008-12-11 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Allow applications to save and restore their state between loads.

07:45 Changeset [39209] by hausmann@webkit.org

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

Fix the Qt build with an empty filenameExtension() implementation.

07:03 Changeset [39208] by zecke@webkit.org

Fix crash in the cairo implementation of the SVGPaintServer

For SVGFonts the RenderObject can be zero. The existing SVGFont
test cases is exposing this bug. Qt and other ports have fixed
this issue by adding null checks as well.

06:46 Changeset [39207] by zecke@webkit.org

2008-12-11 Holger Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

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

Make the Qt port follow the Win, Mac, Gtk+ port in regard to Font
handling. FontQt.cpp from now on is only implementing the complex path. Create
FontFallbackListQt.cpp and FontPlatformDataQt.cpp to work within
the framework set by the Font code.

Sharing the Font.cpp implementation allows the Qt port to support
the CSS font faces and SVG fonts.

Split out the Qt4.3 Font handling into FonQt43.cpp to allow to more
easily deprecate it.

This commit is removing a lot of #ifdefs from Font.h as the Qt Font
implementation is now in line with the rest of WebCore.

  • WebCore.pro:
  • platform/graphics/Font.h: Remove #ifdefs (WebCore::Font::letterSpacing): (WebCore::Font::setLetterSpacing): (WebCore::Font::isPlatformFont):
  • platform/graphics/FontFallbackList.h:
  • platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::SimpleFontData): (WebCore::SimpleFontData::platformGlyphInit): There is no GlyphCache on Qt, move the initialisation over. (WebCore::SimpleFontData::~SimpleFontData):
  • platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::getQtFont):
  • platform/graphics/qt/FontCacheQt.cpp: (WebCore::FontCache::getCachedFontPlatformData): Remove unused parameter (WebCore::FontCache::releaseFontData): Add to build
  • platform/graphics/qt/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): (WebCore::FontCustomPlatformData::fontPlatformData): (WebCore::createFontCustomPlatformData):
  • platform/graphics/qt/FontCustomPlatformData.h:
  • platform/graphics/qt/FontFallbackListQt.cpp: Added. (WebCore::FontFallbackList::FontFallbackList): (WebCore::FontFallbackList::invalidate): (WebCore::FontFallbackList::releaseFontData): (WebCore::FontFallbackList::determinePitch): (WebCore::FontFallbackList::fontDataAt): (WebCore::FontFallbackList::fontDataForCharacters): (WebCore::FontFallbackList::setPlatformFont):
  • platform/graphics/qt/FontPlatformData.h: (WebCore::FontPlatformData::font): (WebCore::FontPlatformData::size):
  • platform/graphics/qt/FontPlatformDataQt.cpp: Added. (WebCore::FontPlatformData::FontPlatformData):
  • platform/graphics/qt/FontQt.cpp: (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::font):
  • platform/graphics/qt/FontQt43.cpp: Added. Moved Qt4.3 code from FontQt.cpp (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): (WebCore::Font::selectionRectForComplexText):
  • platform/graphics/qt/GlyphPageTreeNodeQt.cpp: (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): (WebCore::GlyphPageTreeNode::pruneTreeFontData):
  • platform/graphics/qt/SimpleFontDataQt.cpp: (WebCore::SimpleFontData::determinePitch): (WebCore::SimpleFontData::containsCharacters): (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformGlyphInit): (WebCore::SimpleFontData::platformDestroy):
  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::adjustButtonStyle): Avoid crashes.
06:14 Changeset [39206] by zecke@webkit.org

WebCorv
2008-12-11 Holger Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

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

For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
implementation. This is one of the reasons why the Qt port is currently not
using WebCore/platform/graphics/Font.cpp. By allowing to not use
the simple/fast-path the Qt port will be able to use it.

Introduce USE(FONT_FAST_PATH) and define it for every port but the
Qt one.

  • platform/graphics/Font.cpp: (WebCore::Font::drawText): (WebCore::Font::floatWidth): (WebCore::Font::selectionRectForText): (WebCore::Font::offsetForPosition):
  • platform/graphics/Font.h:

JavaScriptCore
2008-12-11 Holger Freyther <zecke@selfish.org>

Reviewed by Simon Hausmann.

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

For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
implementation. This is one of the reasons why the Qt port is currently not
using WebCore/platform/graphics/Font.cpp. By allowing to not use
the simple/fast-path the Qt port will be able to use it.

Introduce USE(FONT_FAST_PATH) and define it for every port but the
Qt one.

  • wtf/Platform.h: Enable USE(FONT_FAST_PATH)
03:18 Changeset [39205] by zecke@webkit.org

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

Reviewed by Darin Adler.

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

Split out the font fast path from Fast.cpp into FontFastPath.cpp. This
will allow the Qt port to share most of WebCore::Font
implementation but the fast path. Qt does not provide the API to get
individual Glyphs making the fast path hard to support.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • platform/graphics/Font.cpp:
  • platform/graphics/FontFastPath.cpp: Added. (WebCore::Font::glyphDataForCharacter):
03:15 Changeset [39204] by zecke@webkit.org

2008-12-04 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler and landed by Holger Freyther.

<https://bugs.webkit.org/show_bug.cgi?id=22648>
Fix threading on Qt-port and Gtk-port for Sampling tool.

  • wtf/ThreadingGtk.cpp: (WTF::waitForThreadCompletion):
  • wtf/ThreadingQt.cpp: (WTF::waitForThreadCompletion):
02:22 Changeset [39203] by zecke@webkit.org

2008-12-11 Robert Carr <racarr@svn.gnome.org>

Reviewed by Holger Freyther.

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

Code in PlatformScreenGtk for screenDepth and screenRect can not
assume that the platformWindow for the widget has a valid "window"
member. For example in the case of, a new browser view opening as a
child of a GtkNotebook, but never being switched to, or manually
realized. Solve by using the toplevel window of the widget, rather
than the widget itself.

  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth): (WebCore::screenRect):
02:20 Changeset [39202] by vestbo@webkit.org

2008-12-08 Dean McNamee <deanm@chromium.org>

Reviewed by Darin Adler.

Always append a trailing slash when using PHP's sys_get_temp_dir().

This allows these tests to run on Linux, where this API returns the
directory without a trailing slash.

  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:
  • http/tests/xmlhttprequest/resources/portabilityLayer.php:
  • http/tests/xmlhttprequest/resources/reset-temp-file.php:
02:09 Changeset [39201] by vestbo@webkit.org

2008-12-08 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Darin Adler and Holger Freyther.

Make Widget::frameRectsChanged() and overrides non-const

This will hopefully allow us to get rid of some of the mutables in
the classes that react to the callback by changing their own state.

02:03 Changeset [39200] by zecke@webkit.org

Reimplement RenderTheme::caretBlinkInterval for Qt.

The QApplication::cursorFlashTime is in milliseconds and describes
the whole cycle while WebCore expects half a cycle.

00:27 Changeset [39199] by vestbo@webkit.org

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

Reviewed by Tor Arne Vestbø.

[Qt/Mac] Don't call HIGetScaleFactor() if we're not on Tiger or better

12/10/08:

22:27 Changeset [39198] by cwzwarich@webkit.org

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

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

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

18:41 Changeset [39195] by andersca@apple.com

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

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

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

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

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

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

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

Updated Radar bug reference.

16:48 Changeset [39187] by pol@apple.com

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

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

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

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

Fix non-JIT builds.

  • bytecode/CodeBlock.h:
12:57 Changeset [39183] by simon.fraser@apple.com

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

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

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

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

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

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

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

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

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

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

08:41 Changeset [39173] by zecke@webkit.org

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

No review, build fix only.

Add ExecutableAllocator files missing from Scons build.

15:11 Changeset [39147] by darin@chromium.org

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

Fix bustage.

  • WebCoreSupport/WebInspectorClientCF.cpp:
14:36 Changeset [39146] by hyatt@apple.com

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

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

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

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

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

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

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

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

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

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

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

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

Fixed more ChangeLog dates.

06:42 Changeset [39133] by zimmermann@webkit.org

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

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

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

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

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

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

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

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

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

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

Fix Tiger build.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
21:27 Changeset [39123] by weinig@apple.com

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

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

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

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

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

Build fix only, no review.

17:07 Changeset [39117] by andersca@apple.com

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

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

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

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

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

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

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

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

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

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

  • StringsNotToBeLocalized.txt: Updated for recent changes.
15:44 Changeset [39107] by ddkilzer@apple.com

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

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

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

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

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

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

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

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

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

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

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

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

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

Fix the build with Qt on Windows.

05:38 Changeset [39094] by vestbo@webkit.org

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

Fix the Qt build

02:35 Changeset [39092] by oliver@apple.com

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

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

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

Fix non-WREC builds

17:29 Changeset [39088] by antti@apple.com

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

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

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

Add new files to other projects.

Reviewed by NOBODY (Build fix).

16:35 Changeset [39084] by oliver@apple.com

Rename ExecutableAllocatorMMAP to the more sensible ExecutableAllocatorPosix

Rubber stamped by Mark Rowe.

15:55 Changeset [39083] by oliver@apple.com

<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

[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

[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

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