Timeline


and

11/24/08:

23:23 Changeset [38747] by cwzwarich@webkit.org

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

Reviewed by Geoff Garen.

Bug 13790: Function declarations are not treated as statements (used to affect starcraft2.com)
<https://bugs.webkit.org/show_bug.cgi?id=13790>

Modify the parser to treat function declarations as statements,
simplifying the grammar in the process. Technically, according to the
grammar in the ECMA spec, function declarations are not statements and
can not be used everywhere that statements can, but it is not worth the
possibility compatibility issues just to stick to the spec in this case.

JavaScriptCore:

  • parser/Grammar.y:
  • parser/Nodes.cpp: (JSC::FuncDeclNode::emitBytecode): Avoid returning ignoredResult() as a result, because it causes a crash in DoWhileNode::emitBytecode().

LayoutTests:

  • fast/js/function-declaration-statement-expected.txt: Added.
  • fast/js/function-declaration-statement.html: Added.
  • fast/js/resources/function-declaration-statement.js: Added.
22:47 Changeset [38746] by darin@chromium.org

2008-11-24 Darin Fisher <darin@chromium.org>

Reviewed by Geoffrey Garen.

https://bugs.webkit.org/show_bug.cgi?id=22465
Define KURL::copy() and use it in WorkerThread.cpp

  • dom/WorkerThread.cpp: (WebCore::WorkerThread::WorkerThread):
  • platform/KURL.cpp: (WebCore::KURL::copy):
  • platform/KURL.h:
22:10 Changeset [38745] by ggaren@apple.com

2008-11-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Unroll the regexp matching loop by 1. 10% speedup on simple matching
stress test. No change on SunSpider.


(I decided not to unroll to arbitrary levels because the returns diminsh
quickly.)

  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateJumpIfEndOfInput): (JSC::WREC::Generator::generateJumpIfNotEndOfInput):
  • wrec/WRECGenerator.h:
  • wrec/WRECParser.h: (JSC::WREC::Parser::error): (JSC::WREC::Parser::parsePattern):
19:43 Changeset [38744] by zimmermann@webkit.org

Reviewed by Sam Weinig.

Name enum values in a style guide compatible way.
Allow WMLIntrinsicEvent inclusion, without needing other includes.

19:36 Changeset [38743] by zimmermann@webkit.org

Reviewed by Sam Weinig.

Add wmlPageStateForDocument() helper function and use it in some places.

19:16 Changeset [38742] by antti@apple.com

Fix ChangeLog spelling plus credit weinig.

19:11 Changeset [38741] by antti@apple.com

2008-11-24 Antti Koivisto <antti@apple.com>

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=22214
Keep dead resourcs in memory cache in purgeable memory.
<rdar://problem/6333088>


OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory
areas as less important. Under memory pressure system can steal pages that have
been marked purgeable for (hopefully) better uses. This is ideal for caches.


Only resources larger than 16KB will be moved to the purgsable memory.

  • WebCore.base.exp:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/Cache.cpp: (WebCore::Cache::requestResource): (WebCore::Cache::requestUserCSSStyleSheet): (WebCore::Cache::resourceForURL): (WebCore::Cache::pruneDeadResources): (WebCore::Cache::TypeStatistic::addResource): (WebCore::Cache::getStatistics): (WebCore::Cache::dumpStats):
  • loader/Cache.h: (WebCore::Cache::TypeStatistic::TypeStatistic):
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::allClientsRemoved): (WebCore::CachedCSSStyleSheet::sheetText):
  • loader/CachedCSSStyleSheet.h:
  • loader/CachedImage.cpp: (WebCore::CachedImage::addClient): (WebCore::CachedImage::image): (WebCore::CachedImage::imageSize): (WebCore::CachedImage::imageRect): (WebCore::CachedImage::destroyDecodedData):
  • loader/CachedResource.cpp: (WebCore::CachedResource::addClient): (WebCore::CachedResource::makePurgeable): (WebCore::CachedResource::isPurgeable): (WebCore::CachedResource::wasPurged):
  • loader/CachedResource.h: (WebCore::CachedResource::data):
  • loader/CachedScript.cpp: (WebCore::CachedScript::allClientsRemoved): (WebCore::CachedScript::script): (WebCore::CachedScript::destroyDecodedData):
  • platform/PurgeableBuffer.h: Added. (WebCore::PurgeableBuffer::create): (WebCore::PurgeableBuffer::size): (WebCore::PurgeableBuffer::): (WebCore::PurgeableBuffer::purgePriority): (WebCore::PurgeableBuffer::isPurgeable): (WebCore::PurgeableBuffer::~PurgeableBuffer): (WebCore::PurgeableBuffer::data): (WebCore::PurgeableBuffer::setPurgePriority): (WebCore::PurgeableBuffer::wasPurged): (WebCore::PurgeableBuffer::makePurgeable):
  • platform/SharedBuffer.cpp: (WebCore::SharedBuffer::~SharedBuffer): (WebCore::SharedBuffer::adoptPurgeableBuffer): (WebCore::SharedBuffer::size): (WebCore::SharedBuffer::data): (WebCore::SharedBuffer::append): (WebCore::SharedBuffer::clear): (WebCore::SharedBuffer::releasePurgeableBuffer):
  • platform/SharedBuffer.h: (WebCore::SharedBuffer::hasPurgeableBuffer):
  • platform/cf/SharedBufferCF.cpp:
  • platform/mac/PurgeableBufferMac.cpp: Added. (WebCore::PurgeableBuffer::PurgeableBuffer): (WebCore::PurgeableBuffer::~PurgeableBuffer): (WebCore::PurgeableBuffer::create): (WebCore::PurgeableBuffer::makePurgeable): (WebCore::PurgeableBuffer::wasPurged): (WebCore::PurgeableBuffer::setPurgePriority): (WebCore::PurgeableBuffer::data):
18:20 Changeset [38740] by darin@chromium.org

2008-11-24 Darin Fisher <darin@chromium.org>

Fix bustage.

  • History/WebHistory.mm:
17:53 Changeset [38739] by darin@chromium.org

2008-11-24 Darin Fisher <darin@chromium.org>

Fix bustage.

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

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setSelectTrailingWhitespaceEnabled):
17:45 Changeset [38738] by darin@chromium.org

2008-11-24 Darin Fisher <darin@chromium.org>

Fix bustage.

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

  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::isSelectTrailingWhitespaceEnabled):
  • WebCoreSupport/EditorClientQt.h:
17:33 Changeset [38737] by dino@apple.com

2008-11-24 Dean Jackson <dino@apple.com>

Document the work-in-progress proposed extensions to
CSS 3 Media Queries.

  • specs/MediaQueriesExtensions.html: Added.
  • specs/index.html:
16:23 Changeset [38736] by zimmermann@webkit.org

Reviewed by George Staikos & Eric Seidel.

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

Regenerate WML layout test results after implementing WML specific <card> handling:
Only the first <card> element should be visible after loading the document, others
can be shown by using the <go> task element.

16:18 Changeset [38735] by darin@chromium.org

2008-11-24 Glenn Wilson <gwilson@chromium.org>

Reviewed by Alexey Proskuryakov.

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

Added support for clients that wish to disable smart insert/delete
and enable the "trailing whitespace selection" work-around.

Tests: editing/selection/doubleclick-whitespace.html

  • editing/Editor.cpp: (WebCore::Editor::selectTrailingWhitespaceEnabled):
  • editing/Editor.h:
  • editing/Selection.cpp: (WebCore::Selection::includeTrailingWhitespace):
  • editing/Selection.h:
  • loader/EmptyClients.h: (WebCore::EmptyEditorClient::selectTrailingWhitespaceEnabled):
  • page/EditorClient.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::selectClosestWordFromMouseEvent):
16:04 Changeset [38734] by zimmermann@webkit.org

Not reviewed. Forgot to include WMLPageState.h in last commit.

16:02 Changeset [38733] by zimmermann@webkit.org

Reviewed by Oliver Hunt & Eric Seidel.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22431

Implement WMLAccessElement. It just propogates two attributes values to WMLPageState.

15:32 Changeset [38732] by darin@apple.com

WebCore:

2008-11-24 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::updateGlobalHistory): Remove argument.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::updateHistoryForStandardLoad): Don't pass the URL. (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
  • loader/FrameLoaderClient.h: Remove argument.

WebKit/gtk:

2008-11-24 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::updateGlobalHistory): Remove argument.
  • WebCoreSupport/FrameLoaderClientGtk.h: Ditto.

WebKit/mac:

2008-11-24 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebFrameLoaderClient.h: Remove argument.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): Get the URL from the DocumentLoader, just as we do the title and the failure flag.

WebKit/qt:

2008-11-24 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::updateGlobalHistory): Get the URL from the DocumentLoader.
  • WebCoreSupport/FrameLoaderClientQt.h: Remove argument.

WebKit/win:

2008-11-24 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): Get the URL from the DocumentLoader, just as we do the title and the failure flag.
  • WebCoreSupport/WebFrameLoaderClient.h: Remove argument.

WebKit/wx:

2008-11-24 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • WebKitSupport/FrameLoaderClientWx.cpp: (WebCore::FrameLoaderClientWx::updateGlobalHistory): Remove argument.
  • WebKitSupport/FrameLoaderClientWx.h: Ditto.
15:28 Changeset [38731] by darin@chromium.org

2008-11-24 Darin Fisher <darin@chromium.org>

Fix bustage.

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

  • Api/qwebframe.cpp: (QWebFrame::evaluateJavaScript):
15:12 Changeset [38730] by darin@chromium.org

2008-11-24 Finnur Thorarinsson <finnur.webkit@gmail.com>

Reviewed by Darin Adler.

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

Add plumbing for tickmark support for the scrollbars. The painting code
for the scrollbar just needed to call paintTickmarks at the right time
and a default no-op implementation is provided, which the ports will
need to override.

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint):
  • platform/ScrollbarThemeComposite.h: (WebCore::ScrollbarThemeComposite::paintTickmarks):
15:07 Changeset [38729] by darin@chromium.org

2008-11-24 Darin Fisher <darin@chromium.org>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=22448
Create an abstraction for JSC::SourceCode

  • WebCore.vcproj/WebCore.vcproj:
  • bindings/js/CachedScriptSourceProvider.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptSourceCode.h: Added. (WebCore::ScriptSourceCode::ScriptSourceCode): (WebCore::ScriptSourceCode::length): (WebCore::ScriptSourceCode::jsSourceCode):
  • bindings/js/WorkerScriptController.cpp: (WebCore::Workevn ScriptController::evaluate):
  • bindings/js/WorkerScriptController.h:
  • dom/ScriptElement.cpp: (WebCore::ScriptElement::insertedIntoDocument): (WebCore::ScriptElement::childrenChanged): (WebCore::ScriptElementData::evaluateScript): (WebCore::ScriptElementData::notifyFinished):
  • dom/ScriptElement.h:
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
  • dom/WorkerThread.h:
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::notifyFinished):
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::endElementNs):
  • dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::parseEndElement):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::scriptExecution): (WebCore::HTMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeScript):
  • loader/FrameLoader.h:
14:48 Changeset [38728] by darin@apple.com

WebCore:

2008-11-24 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • WebCore.base.exp: Exported new function.
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::urlForHistoryReflectsFailure): Added.
  • loader/DocumentLoader.h: Ditto.

WebKit/mac:

2008-11-24 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

Last time around I did this only for the back/forward list and missed the
global history list.

  • History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:wasFailure:]): Added wasFailure argument. Set the flag on the newly created history item. Also eliminated the use of autorelease on the added-items array.
  • History/WebHistoryInternal.h: Ditto.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): Added code to check for failure and pass the argument in to WebHistory. Given that this function gets other data from the DocumentLoader, I think we should get rid of the KURL argument, but that's a separate issue so I don't do it in this patch.

WebKit/win:

2008-11-24 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

Last time around I did this only for the back/forward list and missed the
global history list.

  • Interfaces/IWebHistoryItemPrivate.idl: Added setLastVisitWasFailure.
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): Added code to check for failure and pass the argument in to WebHistory.
  • WebHistory.cpp: (WebHistory::addItem): Added wasFailure argument. Set the flag on the newly created history item.
  • WebHistory.h: Ditto.
  • WebHistoryItem.cpp: (WebHistoryItem::setLastVisitWasFailure): Added.
  • WebHistoryItem.h: Ditto.
14:46 Changeset [38727] by beidson@apple.com

Update radar in an old Changelog entry to be "more correct"

14:33 Changeset [38726] by cfleizach@apple.com

Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class

14:31 Changeset [38725] by mrowe@apple.com

Tag the Safari 3.2.1 release.

JavaScriptCore, JavaScriptGlue and WebCore are unchanged from Safari 3.2. WebKit is WebKit-x525.27.1.

13:54 Changeset [38724] by simon.fraser@apple.com

2008-11-24 Simon Fraser <simon.fraser@apple.com>

Fix Windows build: selectionRect() -> selectionBounds().

  • page/win/FrameCGWin.cpp: (WebCore::imageFromSelection):
13:42 Changeset [38723] by simon.fraser@apple.com

2008-11-24 Simon Fraser <simon.fraser@apple.com>

Fix call to Frame::selectionBounds in Windows build.

  • WebView.cpp: (WebView::selectionRect):
13:40 Changeset [38722] by darin@chromium.org

2008-11-24 Glenn Wilson <gwilson@chromium.org>

Reviewed by Darin Adler.

http://bugs.webkit.org/show_bug.cgi?id=18703
"Changing the 'size' property on a text input does not affect its length"

Text fields would not repaint themselves after having their "size"
attributes modified. This fix tells the object to recalculate its
width and repaint itself when its "size" attribute is parsed.

Test: fast/js/text-field-resize.html

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute):
13:35 Changeset [38721] by simon.fraser@apple.com

2008-11-24 Simon Fraser <simon.fraser@apple.com>

Fix call to Frame::selectionBounds in Tiger build.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
13:25 Changeset [38720] by ggaren@apple.com

2008-11-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Removed some unnecessary "Generator::" prefixes.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateReturnSuccess): (JSC::WREC::Generator::generateSaveIndex): (JSC::WREC::Generator::generateIncrementIndex): (JSC::WREC::Generator::generateLoopIfNotEndOfInput): (JSC::WREC::Generator::generateReturnFailure):
13:21 Changeset [38719] by simon.fraser@apple.com

2008-11-24 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433

Make RenderView::selectionRect() private to cause compile-time
errors if someone tries to call it.

  • rendering/RenderView.h:
13:20 Changeset [38718] by ggaren@apple.com

2008-11-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Made a bunch of WREC::Parser functions private, and added an explicit
"reset()" function, so a parser can be reused.

  • wrec/WRECParser.h: (JSC::WREC::Parser::Parser): (JSC::WREC::Parser::generator): (JSC::WREC::Parser::ignoreCase): (JSC::WREC::Parser::multiline): (JSC::WREC::Parser::recordSubpattern): (JSC::WREC::Parser::numSubpatterns): (JSC::WREC::Parser::parsePattern): (JSC::WREC::Parser::parseAlternative): (JSC::WREC::Parser::reset):
12:16 Changeset [38717] by dino@apple.com

2008-11-21 Dean Jackson <dino@apple.com>

CSSAnimation.html:

  • animation-name should accept IDENT not <string>
  • animation-play-state marked as "about to be removed"
  • more description of when an animation is applied, that they snapshot keyframes and values as they start and how they need to be removed to reset.

CSSTransitions.html:

  • list of animatable properties and how to animate property types.
  • specify that values for bezier points outside of [0,1] are invalid.

CSSTransforms.html:

  • split into 2d and 3d specifications
  • transform-origin now matches background-position definition.
  • describe how to animate between lists of transforms

CSSTransforms3D.html

  • new specification which is the 3d parts of transforms
  • perspective must be > 0
  • perspective-origin also matches background-position
  • describe how to animate between lists of transforms, but this time in 3d which is harder.
11:58 Changeset [38716] by simon.fraser@apple.com

2008-11-24 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

Rename RenderView::selectionRect() to selectionBounds(), to remove
longstanding ambiguity with the base class selectionRect() method.
Do the same on Frame for consistency with RenderView. Assert
that RenderView::selectionRect() is never called.

11:41 Changeset [38715] by christian@webkit.org

2008-11-24 Christian Dywan <christian@twotoasts.de>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=17122
[GTK] Bad font default settings

  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): Use default font size 12 instead of 10
11:29 Changeset [38714] by jchaffraix@webkit.org

2008-11-19 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
https://bugs.webkit.org/show_bug.cgi?id=22441

  • Make HTMLElementFactory::createHTMLElement take a QualifiedName instead of an AtomicString.
  • Updated the elements' constructors and the callers to reflect the previous change.
  • dom/Document.cpp: (WebCore::Document::createElement):
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement):
  • html/HTMLElement.cpp: (WebCore::HTMLElement::cloneNode):
  • html/HTMLElementFactory.cpp: (WebCore::htmlConstructor): (WebCore::headConstructor): (WebCore::bodyConstructor): (WebCore::baseConstructor): (WebCore::linkConstructor): (WebCore::metaConstructor): (WebCore::styleConstructor): (WebCore::titleConstructor): (WebCore::frameConstructor): (WebCore::framesetConstructor): (WebCore::iframeConstructor): (WebCore::formConstructor): (WebCore::buttonConstructor): (WebCore::inputConstructor): (WebCore::isindexConstructor): (WebCore::fieldsetConstructor): (WebCore::keygenConstructor): (WebCore::labelConstructor): (WebCore::legendConstructor): (WebCore::optgroupConstructor): (WebCore::optionConstructor): (WebCore::selectConstructor): (WebCore::textareaConstructor): (WebCore::dlConstructor): (WebCore::ulConstructor): (WebCore::olConstructor): (WebCore::dirConstructor): (WebCore::menuConstructor): (WebCore::liConstructor): (WebCore::blockquoteConstructor): (WebCore::divConstructor): (WebCore::headingConstructor): (WebCore::hrConstructor): (WebCore::paragraphConstructor): (WebCore::preConstructor): (WebCore::basefontConstructor): (WebCore::fontConstructor): (WebCore::modConstructor): (WebCore::anchorConstructor): (WebCore::imageConstructor): (WebCore::mapConstructor): (WebCore::areaConstructor): (WebCore::canvasConstructor): (WebCore::appletConstructor): (WebCore::embedConstructor): (WebCore::objectConstructor): (WebCore::paramConstructor): (WebCore::scriptConstructor): (WebCore::tableConstructor): (WebCore::tableCaptionConstructor): (WebCore::tableColConstructor): (WebCore::tableRowConstructor): (WebCore::tableCellConstructor): (WebCore::tableSectionConstructor): (WebCore::brConstructor): (WebCore::quoteConstructor): (WebCore::marqueeConstructor): (WebCore::audioConstructor): (WebCore::videoConstructor): (WebCore::sourceConstructor): (WebCore::HTMLElementFactory::createHTMLElement):
  • html/HTMLElementFactory.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::getNode):
11:21 Changeset [38713] by ap@webkit.org

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

Reviewed by Alexey Proskuryakov.

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

Correct bad default constructor for Cairo FontPlatformData so that
the m_scaledFont member is initialized. Previously this would be
set to 0xbaadf00d, which would result in infinite loops while
attempting to deal with the font cache.

  • platform/graphics/win/FontPlatformData.h: (WebCore::FontPlatformData::FontPlatformData): Initialize m_scaledFont to 0
10:37 Changeset [38712] by simon.fraser@apple.com

2008-11-24 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

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

Add script that attempts to detect virtual methods
whose signatures differ only by constness (which can
indicate a programming error).

  • Scripts/detect-mismatched-virtual-const: Added.
10:21 Changeset [38711] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22455
Add support for Worker.terminate()

Test: fast/workers/worker-terminate.html

  • dom/Worker.idl:
  • dom/Worker.cpp:
  • dom/Worker.h: Added terminate().
  • dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate):
  • dom/WorkerMessagingProxy.cpp: (WebCore::MessageWorkerTask::performTask): Don't dispatch messages if the worker was asked to terminate (this is not mentioned in draft spec, but makes sense anyway). (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): The proxy now remembers if it was asked to terminate in m_askedToTerminate member variable. Also, changed m_unconfirmedMessageCount to only track messages that were posted to worker thread, avoiding a leak if the script could not be loaded. (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): Return early if terminating. (WebCore::WorkerMessagingProxy::workerThreadCreated): Stop the thread if already asked for. (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Even if worker context was destroyed, the worker object may still be alive now, so don't delete self in this case. (WebCore::WorkerMessagingProxy::terminate): Stop the thread if it was already created, or remember to stop it when it is created. (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): Don't track activity if the thread asked to stop anyway. (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): Ditto.
  • dom/WorkerThread.cpp:
  • dom/WorkerThread.h: Fixed a race condition in stop().
09:04 Changeset [38710] by zecke@webkit.org

[Gtk+] Implement TestNetscapePlugin for Gtk+ port.

LayoutTests:
2008-11-24 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Holger Freyther.

Some tests in plugins/ directory now pass.

  • platform/gtk/Skipped:

WebCore/ChangeLog:
2008-11-24 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Mark Rowe.

[Gtk+] Add configure option to enable Web Workers and enable it by default

Add --enable-workers to the buildsystem (used by build-webkit) add
the to be build files to the GNUmakefile.am and change build-webkit
to enable Web Workers by default.

  • GNUmakefile.am:

WebKit/gtk/ChangeLog
2008-11-24 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Holger Freyther.

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

Implement a semi-private function for adding a directory to
PluginDatabase's paths.

  • webkit/webkitprivate.h:
  • webkit/webkitwebsettings.cpp: (_WebKitWebSettingsPrivate::webkit_web_settings_add_extra_plugin_directory):

WebKitTools/ChangeLog
2008-11-24 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Holger Freyther.

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

[Gtk+] Implement TestNetscapePlugin for Gtk+ port and add it to the
build.

  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
  • DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp:
  • DumpRenderTree/gtk/DumpRenderTree.cpp: (setDefaultsToConsistentStateValuesForTesting):
  • DumpRenderTree/gtk/TestNetscapePlugin/ForwardingHeaders/WebKit/npapi.h: Added.
  • DumpRenderTree/gtk/TestNetscapePlugin/ForwardingHeaders/WebKit/npfunctions.h: Added.
  • DumpRenderTree/gtk/TestNetscapePlugin/ForwardingHeaders/WebKit/npruntime.h: Added.
  • GNUmakefile.am:
06:42 Changeset [38709] by ap@webkit.org

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=22428
xmlhttprequest-onProgress-open-should-zero-length.html fails intermittently

  • http/tests/xmlhttprequest/resources/big-response.php: Reduce the size of big response to make the test faster, but practically guarantee that the response will be delivered in many chunks.
  • http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html: Made the test more reliable by comparing final response position with known resource size.
06:40 Changeset [38708] by ap@webkit.org

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=22439
Won't load stylesheets with filenames less than 2 characters long in xhtml.

Test: http/tests/misc/single-character-pi-stylesheet.xhtml

  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet): Fix up the logic.
05:07 Changeset [38707] by zecke@webkit.org

The "WARNING" should not be there, remove it. There was no need to add a test case.

05:01 Changeset [38706] by zecke@webkit.org

[Gtk+] We are passing all but one worker test. Enable them.

We fail on fast/workers/worker-location.html due some weird
issue with the bidi resolver "skipping" whitespace at the end
of the line.

04:56 Changeset [38705] by zecke@webkit.org

[Gtk+] Add configure option to enable Web Workers and enable it by default

Add --enable-workers to the buildsystem (used by build-webkit) add
the to be build files to the GNUmakefile.am and change build-webkit
to enable Web Workers by default.

03:54 Changeset [38704] by ap@webkit.org

Build fix (for Windows Cairo port?)

  • page/DOMWindow.idl: Ese ENABLE_CHANNEL_MESSAGING instead of ENABLE(CHANNEL_MESSAGING), as the ENABLE macro is not available in idls.
03:12 Changeset [38703] by barraclough@apple.com

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

Rubber stamped by Mark Rowe.

Add test cases to ensure the PIC trampolines for prototype and prototype chain
accesses properly check for JSImmediate values, rather than segfaulting.

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

  • fast/js/pic/cached-prototype-then-immediate-expected.txt: Added.
  • fast/js/pic/cached-prototype-then-immediate.html: Added.
02:59 Changeset [38702] by mrowe@apple.com

Let gdb-safari accept the --debug and --release options once more.

Reviewed by Alexey Proskuryakov.

  • Scripts/gdb-safari:
02:28 Changeset [38701] by barraclough@apple.com

tyop fix in jsc Changelog

02:14 Changeset [38700] by barraclough@apple.com

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

Reviewed by Camron Zwarich.

Implement repatching for get by id chain.
Previously the access is performed in a function stufb, in the reptach form
the trampoline is not called to; instead the hot patch is relinkde to jump
directly to the trampoline, if it fails it will jump to the slow case.

https://bugs.webkit.org/show_bug.cgi?id=22449
3% progression on deltablue.

  • jit/JIT.cpp: (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain):
00:09 Changeset [38699] by hausmann@webkit.org

2008-11-24 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Simon Hausmann.

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

Various small compilation fixes to make the Qt port of WebKit
compile on Windows CE.

  • config.h: Don't set _CRT_RAND_S for CE, it's not available.
  • jsc.cpp: Disabled use of debugger includes for CE. It does not have the debugging functions.
  • runtime/DateMath.cpp: Use localtime() on Windows CE.
  • wtf/Assertions.cpp: Compile on Windows CE without debugger.
  • wtf/Assertions.h: Include windows.h before defining ASSERT.
  • wtf/MathExtras.h: Include stdlib.h instead of xmath.h.
  • wtf/Platform.h: Disable ERRNO_H and detect endianess based on the Qt endianess. On Qt for Windows CE the endianess is defined by the vendor specific build spec.
  • wtf/Threading.h: Use the volatile-less atomic functions.
  • wtf/dtoa.cpp: Compile without errno.
  • wtf/win/MainThreadWin.cpp: Don't include windows.h on CE after Assertions.h due to the redefinition of ASSERT.

11/23/08:

22:04 Changeset [38698] by darin@chromium.org

2008-11-22 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22421
Added ScriptValue to Visual Studio and XCode projects.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
22:01 Changeset [38697] by barraclough@apple.com

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

Reviewed by Camron Zwarich.

Replace accidentally deleted immediate check from get by id chain trampoline.
https://bugs.webkit.org/show_bug.cgi?id=22413

  • jit/JIT.cpp: (JSC::JIT::privateCompileGetByIdChain):
14:19 Changeset [38696] by zecke@webkit.org

Add gtk-doc configuration/source for the WebKit/Gtk+ Reference Manual

These files will be used by gtk-doc to generate the documentation. They
contain information how to group the symbols of our API, which objects
to inspect during the generation of the manual and how to display the
manual.

14:18 Changeset [38695] by zecke@webkit.org

Make gtk-doc happy with the existing API documentation

  • Mark the *Private pointers in the struct private
  • Use Returns: where gtk-doc wants us to
  • Fix the parameters to make gtk-doc happy
  • Fix signal references
00:21 Changeset [38694] by jmalonzo@webkit.org

2008-11-23 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Holger Freyther. Landed by Jan Alonzo.

Get SVG tests tested on GTK port.

  • Scripts/webkitdirs.pm:

11/22/08:

10:47 Changeset [38693] by zimmermann@webkit.org

Reviewed by Holger Freyther.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426

Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used.

08:37 Changeset [38692] by zimmermann@webkit.org

Reviewed by Holger Freyther.

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

Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation.
Activate code handling <setvar> registration in WMLTaskElement.

07:39 Changeset [38691] by zimmermann@webkit.org

Not reviewed. Forgot to include WMLPageState.* in the last commit.

11/21/08:

23:46 Changeset [38690] by ap@webkit.org

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=22400
Add a stress test for concurrent JS execution

  • fast/workers/resources/stress-js-execution.js: Added.
  • fast/workers/stress-js-execution-expected.txt: Added.
  • fast/workers/stress-js-execution.html: Added. Tests that the basics don't cause a crash.
23:42 Changeset [38689] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22397
Worker threads are not destroyed if running a JS loop

Since the event loop is not ever entered again in this case, the fix necessarily involves
some shared data hackery.

  • dom/WorkerThread.cpp: (WebCore::WorkerThread::stop):
  • dom/WorkerThread.h: Added a stop() method, which asks the thread to exit as soon as possible. In the future, it may need to abort other kinds of synchronous processing, such as importScripts or XHR.
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::WorkerScriptController): (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::forbidExecution):
  • bindings/js/WorkerScriptController.h: Added a forbidExecution() method, which interrupts currently running JS, and makes any future calls to evaluate() return immediately.
  • dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed): Call WorkerThread::stop().
19:34 Changeset [38688] by barraclough@apple.com

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

Reviewed by Oliver Hunt.

Add (really) polymorphic caching for get by id self.
Very similar to caching of prototype accesses, described below.

Oh, also, probably shouldn't have been leaking those structure list objects.


4% preogression on deltablue.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::derefStructures): (JSC::PrototypeStructureList::derefStructures):
  • bytecode/Instruction.h:
  • bytecode/Opcode.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): (JSC::Interpreter::cti_op_get_by_id_self_fail):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::patchGetByIdSelf):
  • jit/JIT.h: (JSC::JIT::compileGetByIdSelfList):
19:24 Changeset [38687] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Maintain an EditCommand stack in WebFramePrivate, and expose Undo and
Redo in wxWebView.

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

19:21 Changeset [38686] by kevino@webkit.org

forgot to update the date when preparing the patch.

19:08 Changeset [38685] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Improve wx image drawing performance considerably when using wxGraphicsContext
by avoiding unnecessary copies and drawing.

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

18:27 Changeset [38684] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Implementation of AffineTransform::mapRect for wx.

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

17:50 Changeset [38683] by justin.garcia@apple.com

WebCore:

2008-11-21 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text


Change link editing behavior to match TextEdit and MS Word when editing before and after
a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we
used to, so it's difficult to get out of link editing mode):
When inserting before or after a link, always insert content outside of the link. This
makes it impossible to get stuck in link editing mode, while making it slightly more
difficult to edit link labels. WebKit editors that care about this can add UI for editing
link labels, like GMail and GoogleDocs have done. We never actually had any bugs complaining
about how it was difficult to edit link labels at the start/end, the code was just introduced
with another bug fix without much thought.


Don't remember removed links anymore, no other editor does this and it made it
difficult/impossible to get out of link editing mode. This code was added to fix
<rdar://problem/4069359>, which is fixed instead by removing the styles from an
enclosing anchor element from those styles that we remember when we delete content.

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
  • editing/CompositeEditCommand.h:
  • editing/DeleteSelectionCommand.cpp: (WebCore::removeEnclosingAnchorStyle): (WebCore::DeleteSelectionCommand::saveTypingStyleState): (WebCore::DeleteSelectionCommand::doApply):
  • editing/DeleteSelectionCommand.h:
  • editing/EditCommand.cpp: (WebCore::EditCommand::apply):
  • editing/Editor.cpp: (WebCore::Editor::appliedEditing):
  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::prepareForTextInsertion): (WebCore::InsertTextCommand::input):
  • editing/RemoveFormatCommand.cpp: (WebCore::RemoveFormatCommand::doApply):
  • editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):
  • editing/SelectionController.h:

LayoutTests:

2008-11-21 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.


<rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text


Removed tests for behaviors that we're no longer interested in:

  • editing/deleting/delete-link-1.html: Removed.
  • platform/mac/editing/deleting/delete-link-1-expected.checksum: Removed.
  • platform/mac/editing/deleting/delete-link-1-expected.png: Removed.
  • platform/mac/editing/deleting/delete-link-1-expected.txt: Removed.
  • editing/execCommand/19653-4-expected.txt: Removed.
  • editing/execCommand/19653-4.html: Removed.


Reflects new behavior (don't remember removed anchors):

  • platform/mac/editing/deleting/5168598-expected.txt:


Reflects new behavior. Also made this test cross-platform:

  • editing/inserting/insert-before-link-1-expected.txt: Added.
  • editing/inserting/insert-before-link-1.html:
  • platform/mac/editing/inserting/insert-before-link-1-expected.checksum: Removed.
  • platform/mac/editing/inserting/insert-before-link-1-expected.png: Removed.
  • platform/mac/editing/inserting/insert-before-link-1-expected.txt: Removed.
17:48 Changeset [38682] by ggaren@apple.com

2008-11-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed many crashes seen 'round the world (but only in release builds).


Update outputParameter offset to reflect slight re-ordering of push
instructions in r38669.

  • wrec/WRECGenerator.cpp:
17:38 Changeset [38681] by alice.liu@apple.com

2008-11-21 Alice Liu <alice.liu@apple.com>

Rubber-stamped by Dan Bernstein.

fixed <rdar://6340771> crashing on print preview

  • platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContext::drawWindowsBitmap):
16:11 Changeset [38680] by darin@chromium.org

2008-11-21 Darin Fisher <darin@chromium.org>

Reviewed by Geoffrey Garen.

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

Abstract away JSC
usage in WebCore/xml
  • bindings/js/ScriptString.h: Added. (WebCore::ScriptString::ScriptString): (WebCore::ScriptString::operator JSC::UString): (WebCore::ScriptString::isNull): (WebCore::ScriptString::size): (WebCore::ScriptString::operator=): (WebCore::ScriptString::operator+=):
  • inspector/InspectorController.cpp: (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): (WebCore::InspectorResource::setXMLHttpRequestProperties): (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  • inspector/InspectorController.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseText): (WebCore::XMLHttpRequest::clearResponse): (WebCore::XMLHttpRequest::dropProtection): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didReceiveData):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setLastSendURL):
14:54 Changeset [38679] by weinig@apple.com

2008-11-21 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Destroy script decoded data on a zero-delay timer after
decoding. This means we now have no decoded script data
at the end of Membuster.

  • loader/CachedScript.cpp: (WebCore::CachedScript::CachedScript): (WebCore::CachedScript::allClientsRemoved): (WebCore::CachedScript::script): (WebCore::CachedScript::decodedDataDeletionTimerFired):
  • loader/CachedScript.h:
14:49 Changeset [38678] by simon.fraser@apple.com

2008-11-21 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

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

RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
maximalOutlineSize(), since a child might have an outline which projects
outside the parent overflowRect().

We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
so that it is valid for these repaints.

Test: fast/repaint/outline-child-repaint.html

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange): (WebCore::RenderBox::absoluteClippedOverflowRect):
14:03 Changeset [38677] by jmalonzo@webkit.org

2008-11-21 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk, Qt, and Wx build fix.

Add LinkHash.cpp in the build scripts.
Add LinkHash.h to Gtk's build script.

LinkHash.cpp/h was introduced in r38661.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCoreSources.bkl:
13:40 Changeset [38676] by weinig@apple.com

2008-11-21 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
Be more eager in destroying script decoded data

Destroy the decoded data when all clients are removed from a CachedScript.

  • loader/CachedScript.cpp: (WebCore::CachedScript::allClientsRemoved):
  • loader/CachedScript.h: (WebCore::CachedScript::allClientsRemoved):
13:34 Changeset [38675] by ggaren@apple.com

2008-11-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more RegExp refactoring.


Deployed a helper function for reading the next character. Used the "link
vector of jumps" helper in a place I missed before.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateLoadCharacter): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary):
  • wrec/WRECGenerator.h:
13:26 Changeset [38674] by cwzwarich@webkit.org

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

Reviewed by Sam Weinig.

Add a test for <rdar://problem/4268912>, which was fixed in r13294 (!!).

  • fast/js/resources/string-sort.js:
  • fast/js/string-sort-expected.txt:
13:20 Changeset [38673] by ap@webkit.org

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=22402
Replace abort() with CRASH()

  • wtf/Assertions.h: Added a different method to crash, which should work even is 0xbbadbeef is a valid memory address.
  • runtime/Collector.cpp:
  • wtf/FastMalloc.cpp:
  • wtf/FastMalloc.h:
  • wtf/TCSpinLock.h: Replace abort() with CRASH().
12:09 Changeset [38672] by ap@webkit.org

Reverted fix for bug 22042 (Replace abort() with CRASH()), because it was breaking
FOR_EACH_OPCODE_ID macro somehow, making Safari crash.

12:01 Changeset [38671] by dino@apple.com

2008-11-21 Pierre-Olivier Latour <pol@apple.com>

WebKit/mac:

Reviewed by Dan Bernstein.

WebKit should be using Device RGB colorspace everywhere for
consistency.

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

  • WebView/WebHTMLView.mm: (-[WebHTMLView _dragImageForURL:withLabel:]): (-[WebHTMLView _colorAsString:]):

WebCore:

Reviewed by Dan Bernstein.

WebKit should be using Device RGB colorspace everywhere for
consistency.

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

  • page/mac/AccessibilityObjectWrapper.mm: (CreateCGColorIfDifferent):
  • platform/graphics/mac/ColorMac.h:
  • platform/graphics/mac/ColorMac.mm: (WebCore::nsColor): (+[WebCoreControlTintObserver controlTintDidChange]):
  • rendering/RenderThemeMac.mm: (WebCore::convertNSColorToColor): (WebCore::menuBackgroundColor):

LayoutTests:

Reviewed by Dan Bernstein.

WebKit should be using Device RGB colorspace everywhere for
consistency.

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

  • platform/mac/fast/text/attributed-substring-from-range-001-expected.txt:
11:32 Changeset [38670] by jchaffraix@webkit.org

2008-11-20 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 22388: Add JSInterfaceName to the .in files
https://bugs.webkit.org/show_bug.cgi?id=22388

Add JSInterfaceName that is similar to interfaceName but
for the JS wrappers. JSInterfaceName is always equal to interfaceName
unless explicitly set.

  • dom/make_names.pl:
  • html/HTMLTagNames.in:
  • svg/svgtags.in:
11:31 Changeset [38669] by ggaren@apple.com

2008-11-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more RegExp refactoring.


Moved all assembly from WREC.cpp into WRECGenerator helper functions.
This should help with portability and readability.


Removed ASSERTs after calls to executableCopy(), and changed
executableCopy() to ASSERT instead.

  • assembler/X86Assembler.h: (JSC::X86Assembler::executableCopy):
  • jit/JIT.cpp: (JSC::JIT::privateCompile): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::privateCompileCTIMachineTrampolines): (JSC::JIT::privateCompilePatchGetArrayLength):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateReturnSuccess): (JSC::WREC::Generator::generateSaveIndex): (JSC::WREC::Generator::generateIncrementIndex): (JSC::WREC::Generator::generateLoopIfNotEndOfInput): (JSC::WREC::Generator::generateReturnFailure):
  • wrec/WRECGenerator.h:
  • wrec/WRECParser.h: (JSC::WREC::Parser::ignoreCase): (JSC::WREC::Parser::generator):
11:27 Changeset [38668] by ap@webkit.org

2008-11-21 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Alexey Proskuryakov.

Debug WebKit crashes on launch because of threading not being initialized early enough.

  • WebKitClassFactory.cpp: (WebKitClassFactory::WebKitClassFactory): Call JSC::InitializeThreading().
11:25 Changeset [38667] by dino@apple.com

2008-11-21 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Add missing reference images for tests added as part of
https://bugs.webkit.org/show_bug.cgi?id=21261

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

  • platform/mac/animations/animation-drt-api-expected.checksum: Added.
  • platform/mac/animations/animation-drt-api-expected.png: Added.
  • platform/mac/transitions/transition-drt-api-expected.checksum: Added.
  • platform/mac/transitions/transition-drt-api-expected.png: Added.
11:07 Changeset [38666] by ap@webkit.org

Build fix.

  • wtf/Assertions.h: Use ::abort for C++ code.
10:49 Changeset [38665] by ap@webkit.org

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=22402
Replace abort() with CRASH()

  • wtf/Assertions.h: Added abort() after an attempt to crash for extra safety.
  • runtime/Collector.cpp:
  • wtf/FastMalloc.cpp:
  • wtf/FastMalloc.h:
  • wtf/TCSpinLock.h: Replace abort() with CRASH().
10:44 Changeset [38664] by weinig@apple.com

2008-11-21 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
Be more eager in destroying script decoded data

Use a new CachedScriptSourceProvider to keep CachedScripts as
CachedScripts, even down into JSC. This has the added benefit
of showing the CachedScripts as live in the Caches window.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/CachedScriptSourceProvider.h: Added. (WebCore::CachedScriptSourceProvider::create): (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider): (WebCore::CachedScriptSourceProvider::getRange): (WebCore::CachedScriptSourceProvider::data): (WebCore::CachedScriptSourceProvider::length): (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): (WebCore::makeSource):
  • dom/ScriptElement.cpp: (WebCore::ScriptElementData::notifyFinished):
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::notifyFinished):
10:22 Changeset [38663] by brettw@chromium.org

Fix debug-only build bustage due to a typo in an assert, and add new
files to the Windows build.

10:22 Changeset [38662] by ggaren@apple.com

2008-11-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed wrec => generator.

  • wrec/WRECFunctors.cpp: (JSC::WREC::GeneratePatternCharacterFunctor::generateAtom): (JSC::WREC::GeneratePatternCharacterFunctor::backtrack): (JSC::WREC::GenerateCharacterClassFunctor::generateAtom): (JSC::WREC::GenerateCharacterClassFunctor::backtrack): (JSC::WREC::GenerateBackreferenceFunctor::generateAtom): (JSC::WREC::GenerateBackreferenceFunctor::backtrack): (JSC::WREC::GenerateParenthesesNonGreedyFunctor::generateAtom):
09:07 Changeset [38661] by brettw@chromium.org

Reviewed by Eric Seidel.

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

Factor out visited link hashing and types into a new file, LinkHash.
This also changes the hash type to 64 bits, but does not actually use
the extra bits yet.

08:47 Changeset [38660] by zimmermann@webkit.org

Reviewed by Alexey Proskuryakov.

No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.

07:25 Changeset [38659] by zimmermann@webkit.org

Reviewed by Alexey Proskuryakov.

Fix some coding style/formatting issues in WMLAElement.

07:20 Changeset [38658] by zimmermann@webkit.org

Reviewed by Alexey Proskuryakov.

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

Implement <anchor> support for WML, add WMLVariables file containing helper functions
for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.

06:30 Changeset [38657] by jchaffraix@webkit.org

2008-11-21 Julien Chaffraix <jchaffraix@pleyo.com>

Rubber-stamped by Alexey Proskuryakov.

Build fix when building without WORKERS on non-POSIX, non-WINDOWS
machine.

Spotted by Mario Bensi.

  • platform/text/TextCodecICU.cpp:
01:39 Changeset [38656] by ap@webkit.org

Fix ChangeLog typos.

11/20/08:

23:16 Changeset [38655] by weinig@apple.com

2008-11-20 Sam Weinig <sam@webkit.org>

Fix Qt build.

  • Api/qwebframe.cpp: (QWebFrame::evaluateJavaScript):
21:51 Changeset [38654] by weinig@apple.com

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

First step in https://bugs.webkit.org/show_bug.cgi?id=22394
Be more eager in destroying script decoded data

Pass data to be used in script execution around as JSC::SourceCode instead
of a source, url, and starting line.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/ScriptController.h:
  • bindings/js/StringSourceProvider.h: (WebCore::makeSource):
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • bindings/js/WorkerScriptController.h:
  • dom/ScriptElement.cpp: (WebCore::ScriptElement::insertedIntoDocument): (WebCore::ScriptElement::childrenChanged): (WebCore::ScriptElementData::evaluateScript): (WebCore::ScriptElementData::notifyFinished):
  • dom/ScriptElement.h:
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::notifyFinished):
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::endElementNs):
  • dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::parseEndElement):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::scriptExecution): (WebCore::HTMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeScript):
  • loader/FrameLoader.h:
21:35 Changeset [38653] by weinig@apple.com

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String

  • Use jsOwnedStringOrNull to avoid conversion to WebCore::String.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::responseText):
  • xml/XMLHttpRequest.idl:
21:04 Changeset [38652] by barraclough@apple.com

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

Reviewed by Darin Adler.

Add support for (really) polymorphic caching of prototype accesses.


If a cached prototype access misses, cti_op_get_by_id_proto_list is called.
When this occurs the Structure pointers from the instruction stream are copied
off into a new ProtoStubInfo object. A second prototype access trampoline is
generated, and chained onto the first. Subsequent missed call to
cti_op_get_by_id_proto_list_append, which append futher new trampolines, up to
PROTOTYPE_LIST_CACHE_SIZE (currently 4). If any of the misses result in an
access other than to a direct prototype property, list formation is halted (or
for the initial miss, does not take place at all).

Separate fail case functions are provided for each access since this contributes
to the performance progression (enables better processor branch prediction).

Overall this is a near 5% progression on v8, with around 10% wins on richards
and deltablue.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::derefStructures):
  • bytecode/Instruction.h: (JSC::ProtoStructureList::ProtoStubInfo::set): (JSC::ProtoStructureList::ProtoStructureList): (JSC::Instruction::Instruction): (JSC::Instruction::):
  • bytecode/Opcode.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_put_by_id_fail): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::Interpreter::cti_op_get_by_id_proto_list): (JSC::Interpreter::cti_op_get_by_id_proto_list_append): (JSC::Interpreter::cti_op_get_by_id_proto_list_full): (JSC::Interpreter::cti_op_get_by_id_proto_fail): (JSC::Interpreter::cti_op_get_by_id_chain_fail): (JSC::Interpreter::cti_op_get_by_id_array_fail): (JSC::Interpreter::cti_op_get_by_id_string_fail):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompileCTIMachineTrampolines): (JSC::JIT::privateCompilePatchGetArrayLength):
  • jit/JIT.h: (JSC::JIT::compileGetByIdProtoList):
17:57 Changeset [38651] by simon.fraser@apple.com

2008-11-20 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

When an non-layer object gained a transform, it would only repaint
the bounds of the new layer, which could result in redraw artifacts
if the new layer was smaller. So if we're gaining a transform, we
repaint.

Test: fast/repaint/change-transform.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange):
17:54 Changeset [38650] by adele@apple.com

2008-11-20 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/6111436> Support upload progress events on Windows

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::didSendBodyData): Added. (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.
17:53 Changeset [38649] by weinig@apple.com

2008-11-20 Sam Weinig <sam@webkit.org>

Try and fix the tiger build.

  • parser/Grammar.y:
17:37 Changeset [38648] by justin.garcia@apple.com

WebCore:

2008-11-20 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/2610675> Blank line that is quoted can't be deleted


If the caret is in an empty quoted paragraph, and either there is nothing before that
paragraph, or what is before is unquoted, and the user presses delete, unquote that
paragraph.

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added. Removes the line break that holds open an empty paragraph and then attempts to prune the blockquote(s) that held that line break in case they have been emptied out. Places a line break to create in empty unquoted paragraph in place of the quoted one that was removed.
  • editing/CompositeEditCommand.h:
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
  • editing/htmlediting.cpp: (WebCore::highestEnclosingNodeOfType): Added.
  • editing/htmlediting.h:

LayoutTests:

2008-11-20 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.


<rdar://problem/2610675> Blank line that is quoted can't be deleted

  • editing/deleting/2610675-1-expected.txt: Added.
  • editing/deleting/2610675-1.html: Added.
  • editing/deleting/2610675-2-expected.txt: Added.
  • editing/deleting/2610675-2.html: Added.
  • editing/deleting/2610675-3-expected.txt: Added.
  • editing/deleting/2610675-3.html: Added.
17:10 Changeset [38647] by eric@webkit.org

Reviewed by Darin Adler.

Make JavaScriptCore Chromium build under Windows (cmd only, cygwin almost works)
https://bugs.webkit.org/show_bug.cgi?id=22347

  • JavaScriptCore.scons:
  • parser/Parser.cpp: Add using std::auto_ptr since we use auto_ptr
17:06 Changeset [38646] by sfalken@apple.com

Fix build.


Reviewed by Sam Weinig.

  • parser/Parser.cpp: (JSC::Parser::reparse):
16:48 Changeset [38645] by simon.fraser@apple.com

2008-11-20 Dean Jackson <dino@apple.com>

Reviewed by Antti Koivisto

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

Make transition shorthand property accept transition-delay.

Test: transitions/transition-shorthand-delay.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseTransitionShorthand):
16:44 Changeset [38644] by simon.fraser@apple.com

2008-11-20 Dean Jackson <dino@apple.com>

Reviewed by Antti Koivisto

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

Make sure pauseTransition API takes transition delay into account.

Test: transitions/transition-drt-api-delay.html

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::pauseAtTime):
16:35 Changeset [38643] by cwzwarich@webkit.org

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

Reviewed by Sam Weinig.

Add some tests for issues found while developing reparsing of function
bodies. Also modify existing tests to be more robust in the face of
possible changes to parsing.

  • fast/js/arguments-expected.txt:
  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/arguments.js:
  • fast/js/resources/function-dot-arguments.js:
16:26 Changeset [38642] by simon.fraser@apple.com

2008-11-20 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

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

Implement getComputedStyle for animation properties. Remove individual
computed values for transform-origin-x, transform-origin-y, and just
return transform-origin instead. Return "none" for default animation-name,
and fix the initial value.

Tests: animations/computed-style.html

transforms/computed-style-origin.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::getTimingFunctionValue): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::initialAnimationName):
16:23 Changeset [38641] by ggaren@apple.com

2008-11-20 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

A little more RegExp refactoring.


Created a helper function in the assembler for linking a vector of
JmpSrc to a location, and deployed it in a bunch of places.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/X86Assembler.h: (JSC::X86Assembler::link):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::terminateAlternative): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECParser.cpp:
  • wrec/WRECParser.h: (JSC::WREC::Parser::consumeHex):
15:51 Changeset [38640] by pam@chromium.org

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22371
Add a test for accessing form element items by index.

  • fast/dom/HTMLFormElement/htmlformelement-indexed-getter-expected.txt: Added.
  • fast/dom/HTMLFormElement/htmlformelement-indexed-getter.html: Added.
15:47 Changeset [38639] by pam@chromium.org

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?22370
Add a test to check detectability of HTMLCollections.

  • fast/dom/htmlcollection-detectability-expected.txt: Added.
  • fast/dom/htmlcollection-detectability.html: Added.
15:33 Changeset [38638] by weinig@apple.com

2008-11-20 Sam Weinig <sam@webkit.org>

Fix non-mac builds.

  • parser/Lexer.cpp:
  • parser/Parser.cpp:
15:31 Changeset [38637] by pam@chromium.org

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22369
Add test cases covering more basic operations.

  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/function-dot-arguments.js: (basicTest): Added (lengthTest): Added
15:27 Changeset [38636] by pam@chromium.org

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22363
Add a test for DOM1 and DOM2 versions of add() on a select control.

  • fast/dom/dom-add-optionelement-expected.txt: Added.
  • fast/dom/dom-add-optionelement.html: Added.
15:23 Changeset [38635] by weinig@apple.com

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=22385
<rdar://problem/6390179>
Lazily reparse FunctionBodyNodes on first execution.

  • Saves 57MB on Membuster head.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): Remove vector shrinking since this is now handled by destroying the ScopeNodeData after generation.
  • parser/Grammar.y: Add alternate NoNode version of the grammar that does not create nodes. This is used to lazily create FunctionBodyNodes on first execution.
  • parser/Lexer.cpp: (JSC::Lexer::setCode): Fix bug where on reparse, the Lexer was confused about what position and length meant. Position is the current position in the original data buffer (important for getting correct line/column information) and length the end offset in the original buffer.
  • parser/Lexer.h: (JSC::Lexer::sourceCode): Positions are relative to the beginning of the buffer.
  • parser/Nodes.cpp: (JSC::ScopeNodeData::ScopeNodeData): Move initialization of ScopeNode data here. (JSC::ScopeNode::ScopeNode): Add constructor that only sets the JSGlobalData for FunctionBodyNode stubs. (JSC::ScopeNode::~ScopeNode): Release m_children now that we don't inherit from BlockNode. (JSC::ScopeNode::releaseNodes): Ditto. (JSC::EvalNode::generateBytecode): Only shrink m_children, as we need to keep around the rest of the data. (JSC::FunctionBodyNode::FunctionBodyNode): Add constructor that only sets the JSGlobalData. (JSC::FunctionBodyNode::create): Ditto. (JSC::FunctionBodyNode::generateBytecode): If we don't have the data, do a reparse to construct it. Then after generation, destroy the data. (JSC::ProgramNode::generateBytecode): After generation, destroy the AST data.
  • parser/Nodes.h: (JSC::ExpressionNode::): Add isFuncExprNode for FunctionConstructor. (JSC::StatementNode::): Add isExprStatementNode for FunctionConstructor. (JSC::ExprStatementNode::): Ditto. (JSC::ExprStatementNode::expr): Add accessor for FunctionConstructor. (JSC::FuncExprNode::): Add isFuncExprNode for FunctionConstructor

(JSC::ScopeNode::adoptData): Adopts a ScopeNodeData.
(JSC::ScopeNode::data): Accessor for ScopeNodeData.
(JSC::ScopeNode::destroyData): Deletes the ScopeNodeData.
(JSC::ScopeNode::setFeatures): Added.
(JSC::ScopeNode::varStack): Added assert.
(JSC::ScopeNode::functionStack): Ditto.
(JSC::ScopeNode::children): Ditto.
(JSC::ScopeNode::neededConstants): Ditto.
Factor m_varStack, m_functionStack, m_children and m_numConstants into ScopeNodeData.

  • parser/Parser.cpp: (JSC::Parser::reparse): Reparse the SourceCode in the FunctionBodyNode and set set up the ScopeNodeData for it.
  • parser/Parser.h:
  • parser/SourceCode.h: (JSC::SourceCode::endOffset): Added for use in the lexer.
  • runtime/FunctionConstructor.cpp: (JSC::getFunctionBody): Assuming a ProgramNode with one FunctionExpression in it, get the FunctionBodyNode. Any issues signifies a parse failure in constructFunction. (JSC::constructFunction): Make parsing functions in the form new Function(""), easier by concatenating the strings together (with some glue) and parsing the function expression as a ProgramNode from which we can receive the FunctionBodyNode. This has the added benefit of not having special parsing code for the arguments and lazily constructing the FunctionBodyNode's AST on first execution.
  • runtime/Identifier.h: (JSC::operator!=): Added.
15:23 Changeset [38634] by pam@chromium.org

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22359
Add test for document.write() with multiple parameters.

  • fast/dom/document_write_params-expected.txt: Added.
  • fast/dom/document_write_params.html: Added.
15:19 Changeset [38633] by pam@chromium.org

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22387
Add a test for HTMLOptionsCollection indexed getter and setter.

  • fast/dom/HTMLOptionElement/collection-setter-getter-expected.txt: Added.
  • fast/dom/HTMLOptionElement/collection-setter-getter.html: Added.
14:27 Changeset [38632] by weinig@apple.com

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Speedup the lexer to offset coming re-parsing patch.

  • .6% progression on Sunspider.
  • bytecompiler/SegmentedVector.h: (JSC::SegmentedVector::shrink): Fixed bug where m_size would not be set when shrinking to 0.
  • parser/Lexer.cpp: (JSC::Lexer::Lexer): (JSC::Lexer::isIdentStart): Use isASCIIAlpha and isASCII to avoid going into ICU in the common cases. (JSC::Lexer::isIdentPart): Use isASCIIAlphanumeric and isASCII to avoid going into ICU in the common cases (JSC::isDecimalDigit): Use version in ASCIICType.h. Inlining it was a regression. (JSC::Lexer::isHexDigit): Ditto. (JSC::Lexer::isOctalDigit): Ditto. (JSC::Lexer::clear): Resize the m_identifiers SegmentedVector to initial capacity
  • parser/Lexer.h: Remove unused m_strings vector. Make m_identifiers a SegmentedVector<Identifier> to avoid allocating a new Identifier* for each identifier found. The SegmentedVector is need so we can passes references to the Identifier to the parser, which remain valid even when the vector is resized. (JSC::Lexer::makeIdentifier): Inline and return a reference to the added Identifier.
14:02 Changeset [38631] by justin.garcia@apple.com

WebCore:

2008-11-20 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.


Preparation for:
<rdar://problem/2610675> Blank line that is quoted can't be deleted


To fix this we need to make changes to the code that creates selections to delete
when the user does a backward or forward delete with a caret selection. For certain
caret positions, we now want to remove something other than the standard "caret extended
backward/forward by one unit". The problem is that there were two pieces of code
responsible for doing this, one in Editor::deleteWithDirection, and another inside
TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent
addition (r19172), and adding it there caused regressions because it prevented the
code in deleteKeyPressed from ever running. The regressions were never caught because
JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.


This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
can handle it. That required moving code to handle the kill ring down into deleteKeyPressed.


Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the
discrepancies between the behavior of JS deletions and manual deletions, so that we
have better test coverage.

  • editing/Editor.cpp: (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead of checking for that periodically throughout the function. There's really nothing to be done if it's null anyway. Move kill ring code down into deleteKeyPressed.
  • editing/Editor.h:
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::TypingCommand): (WebCore::TypingCommand::deleteKeyPressed): (WebCore::TypingCommand::forwardDeleteKeyPressed): (WebCore::TypingCommand::doApply):
  • editing/TypingCommand.h: (WebCore::TypingCommand::create):

LayoutTests:

2008-11-20 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.


<rdar://problem/2610675> Blank line that is quoted can't be deleted


The old selection modification code for caret case deletions set the selection
about to be deleted on the frame, instead of just setting the endingSelection.

  • platform/mac/editing/deleting/delete-by-word-001-expected.txt:
  • platform/mac/editing/deleting/delete-by-word-002-expected.txt:
  • platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.txt:
  • platform/mac/editing/pasteboard/emacs-ctrl-a-k-y-expected.txt:
  • platform/mac/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
13:51 Changeset [38630] by weinig@apple.com

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Add isASCII to ASCIICType. Use coming soon!

  • wtf/ASCIICType.h: (WTF::isASCII):
13:41 Changeset [38629] by darin@apple.com

WebCore:

2008-11-20 Darin Adler <darin@apple.com>

Earlier version reviewed by Justin Garcia.

  • fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
  • editing/Editor.cpp: (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be handled even when the selection is not in an editable area. (WebCore::Editor::handleInputMethodKeydown): Ditto.
  • editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to allow use when there's a selection even if it's not in an editable area. This includes commands like shift-arrow keys to extend the slection, but not commands like arrow keys to move the insertion point.

WebKit/mac:

2008-11-20 Darin Adler <darin@apple.com>

Earlier version reviewed by Justin Garcia.

  • part of fix for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode Also resolves <rdar://problem/5000134>.
  • WebView/WebHTMLView.mm: Removed some unused code, and made the Tiger workaround for bug 3789278 be Tiger-only. (-[WebHTMLView resignFirstResponder]): Removed code setting unused resigningFirstResponder flag. (-[WebHTMLView _wantsKeyDownForEvent:]): Added. Returns YES. (-[WebHTMLView insertText:]): Don't try to insert text if the selection is not editable. We used to prevent even processing the input, but that's not practical since some commands need to work even in non-editable regions.

LayoutTests:

2008-11-20 Darin Adler <darin@apple.com>

  • update test result for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
  • editing/selection/selection-actions.html: Removed the actions that are supposed to modify selections now.
13:25 Changeset [38628] by weinig@apple.com

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Add OwnPtr constructor and OwnPtr::adopt that take an auto_ptr.

  • wtf/OwnPtr.h: (WTF::OwnPtr::OwnPtr): (WTF::OwnPtr::adopt):
12:52 Changeset [38627] by andersca@apple.com

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

Reviewed by Jon Honeycutt.

Move some frame/page checking code down to the base class.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView start]):
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView _createPlugin]):
12:36 Changeset [38626] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22380
Fix WorkerContext refcounting

  • dom/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext):
  • dom/WorkerContext.h: (WebCore::WorkerContext::script): (WebCore::WorkerContext::clearScript): Added a method to manually destroy WorkerSctriptController.
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Destroy WorkerScriptController to release any references to WorkerContext.
11:40 Changeset [38625] by jchaffraix@webkit.org

2008-11-19 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Last part of bug 21106: .in format discussed changes
https://bugs.webkit.org/show_bug.cgi?id=21106

  • Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.
  • Cleaned up additionnal function parameters that were unneeded.
  • dom/make_names.pl:
  • html/HTMLTagNames.in:
10:52 Changeset [38624] by cwzwarich@webkit.org

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

Reviewed by Geoff Garen.

Add tests for bug 22148: nytime.com page crashes browser during load
<https://bugs.webkit.org/show_bug.cgi?id=22148>

This bug was unknowingly fixed in r38322 by a rewrite of the recursion
limit code.

  • fast/js/deep-recursion-test-expected.txt:
  • fast/js/deep-recursion-test.html:
10:18 Changeset [38623] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22383
Worker tests spill error messages over to consequent tests

  • dom/Worker.cpp: (WebCore::Worker::Worker): Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL in this case, and there is no sense in starting a thread and trying to parse document source as JavaScript.
  • bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker): Return quickly if toString() raised an exception.
10:11 Changeset [38622] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22364
Crashes seen on Tiger buildbots due to worker threads exhausting pthread keys

  • runtime/Collector.cpp: (JSC::Heap::Heap): (JSC::Heap::destroy): (JSC::Heap::makeUsableFromMultipleThreads): (JSC::Heap::registerThread):
  • runtime/Collector.h: Pthread key for tracking threads is only created on request now, because this is a limited resource, and thread tracking is not needed for worker heaps, or for WebCore heap.
  • API/JSContextRef.cpp: (JSGlobalContextCreateInGroup): Call makeUsableFromMultipleThreads().
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::sharedInstance): Ditto.
  • runtime/JSGlobalData.h: (JSC::JSGlobalData::makeUsableFromMultipleThreads): Just forward the call to Heap, which clients need not know about, ideally.
09:38 Changeset [38621] by ggaren@apple.com

2008-11-20 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more WREC refactoring.


Removed the "Register" suffix from register names in WREC, and renamed:

currentPosition => index
currentValue => character
quantifierCount => repeatCount


Added a top-level parsePattern function to the WREC parser, which
allowed me to remove the error() and atEndOfPattern() accessors.


Factored out an MSVC customization into a constant.


Renamed nextLabel => beginPattern.

  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateBacktrack1): (JSC::WREC::Generator::generateBacktrackBackreference): (JSC::WREC::Generator::generateBackreferenceQuantifier): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::generateBackreference): (JSC::WREC::Generator::generateDisjunction): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECGenerator.h:
  • wrec/WRECParser.h: (JSC::WREC::Parser::parsePattern):
08:43 Changeset [38620] by simon.fraser@apple.com

2008-11-19 Simon Fraser <simon.fraser@apple.com>

Reviewed by Adele Peterson.

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

Fix the painting and event handling in transformed search fields.
When painting the cancel and results button parts, get the rect from AppKit
relative to the input bounds (rather than in absolute coords), then convert
it into the coords of the part's renderer (which is the one that is painting).
To do this we need to compute an offset relative to some container, so expose
a method on RenderObject for that.

Also fix the location at which the search popup shows up to take transforms
into account, and fix the math that is used to figure out if the search
results button, or the cancel button should get the mouse events.

Test: fast/forms/search-transformed.html

  • rendering/RenderBox.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::offsetFromContainer):
  • rendering/RenderObject.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::forwardEvent): (WebCore::RenderTextControl::showPopup):
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::convertToPaintingRect): (WebCore::RenderThemeMac::paintSearchFieldCancelButton): (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
05:50 Changeset [38619] by hausmann@webkit.org

Fix the previous submit and re-add accidential pcre/pcre.h inclusion

05:44 Changeset [38618] by hausmann@webkit.org

2008-11-20 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Simon Hausmann.

Steps towards making the the Qt port of WebKit compile on Windows CE

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

02:47 Changeset [38617] by antti@apple.com

2008-11-20 Antti Koivisto <antti@apple.com>

Reviewed by Maciej Stachowiak.

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


  • Shrink CSSProperty by half by using bitfields.
  • Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): (WebCore::CSSMutableStyleDeclaration::operator=):
  • css/CSSMutableStyleDeclaration.h: (WebCore::CSSMutableStyleDeclaration::setStrictParsing): (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
  • css/CSSProperty.h:
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::CSSStyleSheet):
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::setStrictParsing): (WebCore::CSSStyleSheet::useStrictParsing):
  • css/StyleBase.h: (WebCore::StyleBase::useStrictParsing): (WebCore::StyleBase::StyleBase):
Note: See TracTimeline for information about the timeline view.