Timeline


and

09/30/08:

23:57 Changeset [37141] by mrowe@apple.com
  • 1 edit in trunk/WebCore/loader/CachedResource.cpp

A-Z.

23:53 Changeset [37140] by mrowe@apple.com
  • 4 edits in trunk

Add a leak counter for CachedResources since we've had two recent leaks involving them.

Reviewed by Dan Bernstein.

23:25 Changeset [37139] by mitz@apple.com
  • 4 edits
    2 moves in trunk/WebCore

Reviewed by Dave Hyatt.

If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
the font name in memory.

  • WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to OpenTypeUtilities.*.
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is used. (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path for fonts loaded using AddFontMemResourceEx. (WebCore::createFontCustomPlatformData): Added a call to renameAndActivateFont() if TTLoadEmbeddedFont fails. If TTLoadEmbeddedFont succeeds, set the font name to the null string, as fontPlatformData() will retrieve the name from the font reference.
  • platform/graphics/win/FontCustomPlatformData.h: (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a font name member.
  • platform/graphics/win/GetEOTHeader.cpp: Renamed.
  • platform/graphics/win/GetEOTHeader.h: Renamed.
  • platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp. (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor. (WebCore::BigEndianULong::BigEndianULong): Ditto. (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of the font data and modifies it to have the given name, then activates it using AddFontMemResourceEx.
  • platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
23:16 Changeset [37138] by oliver@apple.com
  • 5 edits in trunk/JavaScriptCore

Improve performance of CTI on windows.

Reviewed by Geoff Garen

Currently on platforms where the compiler doesn't allow us to safely
index relative to the address of a parameter we need to actually
provide a pointer to CTI runtime call arguments. This patch improves
performance in this case by making the CTI logic for restoring this
parameter much less conservative by only resetting it before we actually
make a call, rather than between each and every SF bytecode we generate
code for.

This results in a 3.6% on the v8 benchmark when compiled with MSVC.

23:09 Changeset [37137] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix many leaks seen on fast/backgrounds/svg-as-mask.html.

Reviewed by Dan Bernstein.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
with calls to removeClient when we're being destroyed.

22:45 Changeset [37136] by eric.carlson@apple.com
  • 4 edits
    4 adds in trunk

2008-09-30 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti

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

Fix loopstart and loopend default values.

Tests: media/loopend-limits.html

media/loopstart-limits.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value

2008-09-30 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti

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

Test default loopstart and loopend values.

  • media/loopend-limits-expected.txt: Added.
  • media/loopend-limits.html: Added.
  • media/loopstart-limits-expected.txt: Added.
  • media/loopstart-limits.html: Added.
  • media/video-test.js:
22:29 Changeset [37135] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Fix many leaks seen on fast/backgrounds/svg-as-background-1.html.

JavaScript wrappers were keeping DOM objects alive, which was leading to the SVG background image
being kept alive in the memory cache past our last attempt to empty the cache prior to quitting.
We need to empty the memory cache after forcing a JavaScript garbage collection to ensure that
any live JavaScript wrappers are collected and their corresponding DOM objects have a chance to be
torn down before we exit.

Rubber-stamped by Dan Bernstein.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(dumpRenderTree):
(main):

22:04 Changeset [37134] by kevino@webkit.org
  • 3 edits in trunk/WebCore

wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.

21:43 Changeset [37133] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • fix HTMLViewSourceDocument leaks by breaking a ref cycle which was fixed in r17249 and re-introduced in r31435.
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): (WebCore::HTMLViewSourceDocument::addSpanWithClassName): (WebCore::HTMLViewSourceDocument::addLine): (WebCore::HTMLViewSourceDocument::addLink):
  • html/HTMLViewSourceDocument.h:
19:57 Changeset [37132] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

  • track uses of "this", "with" and "catch" in the parser


Knowing this up front will be useful for future optimizations.


Perf and correctness remain the same.


  • kjs/NodeInfo.h:
  • kjs/grammar.y:
18:05 Changeset [37131] by kdecker@apple.com
  • 3 edits in trunk/WebKit/mac

Reviewed by Anders Carlsson.

Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine
ever supported it.


  • Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars.
  • Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks. Also removed many methods AGL/CGL support methods that are no longer necessary. (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code. (-[WebBaseNetscapePluginView restorePortState:]): Ditto. (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto. (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto. (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto. (-[WebBaseNetscapePluginView stop]): Ditto. (-[WebBaseNetscapePluginView dealloc]): Ditto. (-[WebBaseNetscapePluginView drawRect:]): (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto. (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto. (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL. (-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code. (-[WebBaseNetscapePluginView _viewHasMoved]): Ditto.
18:00 Changeset [37130] by dino@apple.com
  • 3 edits in trunk/LayoutTests

2008-09-30 Dean Jackson <dino@apple.com>

Reviewed by Simon Fraser.

Remove console output that can cause test to fail on slow
machines.

  • animations/transition-and-animation-2-expected.txt:
  • animations/transition-and-animation-2.html:
17:43 Changeset [37129] by simon.fraser@apple.com
  • 3 edits in trunk/WebKitTools

2008-09-30 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

Don't run pixel comparison for text-only tests.
https://bugs.webkit.org/show_bug.cgi?id=21124

  • DumpRenderTree/mac/DumpRenderTree.mm: (dump):
  • Scripts/run-webkit-tests:
17:39 Changeset [37128] by weinig@apple.com
  • 24 edits in trunk/WebCore

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

Reviewed by Eric Seidel.

More for https://bugs.webkit.org/show_bug.cgi?id=21122
Autogenerate JS event listeners

  • Make EventListener getter/setters names in c++ files match those in JS (ie. onLoadListener -> onload).
  • Add standard way to access the frame associated with the EventTarget for EventListener lookup.
  • Autogenerate dispatchEvent, it wasn't doing anything custom.
  • bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::mark): (WebCore::JSDOMApplicationCache::addEventListener): (WebCore::JSDOMApplicationCache::removeEventListener): (WebCore::JSDOMApplicationCache::setOnchecking): (WebCore::JSDOMApplicationCache::onchecking): (WebCore::JSDOMApplicationCache::setOnerror): (WebCore::JSDOMApplicationCache::onerror): (WebCore::JSDOMApplicationCache::setOnnoupdate): (WebCore::JSDOMApplicationCache::onnoupdate): (WebCore::JSDOMApplicationCache::setOndownloading): (WebCore::JSDOMApplicationCache::ondownloading): (WebCore::JSDOMApplicationCache::setOnprogress): (WebCore::JSDOMApplicationCache::onprogress): (WebCore::JSDOMApplicationCache::setOnupdateready): (WebCore::JSDOMApplicationCache::onupdateready): (WebCore::JSDOMApplicationCache::setOncached): (WebCore::JSDOMApplicationCache::oncached):
  • bindings/js/JSEventTargetNodeCustom.cpp: (WebCore::JSEventTargetNode::addEventListener): (WebCore::JSEventTargetNode::removeEventListener): (WebCore::JSEventTargetNode::getListener): (WebCore::JSEventTargetNode::setListener):
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::mark): (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener): (WebCore::JSMessagePort::setOnmessage): (WebCore::JSMessagePort::onmessage): (WebCore::JSMessagePort::setOnclose): (WebCore::JSMessagePort::onclose):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::mark): (WebCore::JSXMLHttpRequest::onreadystatechange): (WebCore::JSXMLHttpRequest::setOnreadystatechange): (WebCore::JSXMLHttpRequest::onabort): (WebCore::JSXMLHttpRequest::setOnabort): (WebCore::JSXMLHttpRequest::onerror): (WebCore::JSXMLHttpRequest::setOnerror): (WebCore::JSXMLHttpRequest::onload): (WebCore::JSXMLHttpRequest::setOnload): (WebCore::JSXMLHttpRequest::onloadstart): (WebCore::JSXMLHttpRequest::setOnloadstart): (WebCore::JSXMLHttpRequest::onprogress): (WebCore::JSXMLHttpRequest::setOnprogress): (WebCore::JSXMLHttpRequest::addEventListener): (WebCore::JSXMLHttpRequest::removeEventListener):
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark): (WebCore::JSXMLHttpRequestUpload::onabort): (WebCore::JSXMLHttpRequestUpload::setOnabort): (WebCore::JSXMLHttpRequestUpload::onerror): (WebCore::JSXMLHttpRequestUpload::setOnerror): (WebCore::JSXMLHttpRequestUpload::onload): (WebCore::JSXMLHttpRequestUpload::setOnload): (WebCore::JSXMLHttpRequestUpload::onloadstart): (WebCore::JSXMLHttpRequestUpload::setOnloadstart): (WebCore::JSXMLHttpRequestUpload::onprogress): (WebCore::JSXMLHttpRequestUpload::setOnprogress): (WebCore::JSXMLHttpRequestUpload::addEventListener): (WebCore::JSXMLHttpRequestUpload::removeEventListener):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/EventTarget.h:
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::associatedFrame):
  • dom/EventTargetNode.h:
  • dom/EventTargetNode.idl:
  • dom/MessagePort.cpp: (WebCore::MessagePort::associatedFrame):
  • dom/MessagePort.h: (WebCore::MessagePort::setOnmessage): (WebCore::MessagePort::onmessage): (WebCore::MessagePort::setOnclose): (WebCore::MessagePort::onclose):
  • dom/MessagePort.idl:
  • loader/appcache/DOMApplicationCache.h: (WebCore::DOMApplicationCache::setOnchecking): (WebCore::DOMApplicationCache::onchecking): (WebCore::DOMApplicationCache::setOnerror): (WebCore::DOMApplicationCache::onerror): (WebCore::DOMApplicationCache::setOnnoupdate): (WebCore::DOMApplicationCache::onnoupdate): (WebCore::DOMApplicationCache::setOndownloading): (WebCore::DOMApplicationCache::ondownloading): (WebCore::DOMApplicationCache::setOnprogress): (WebCore::DOMApplicationCache::onprogress): (WebCore::DOMApplicationCache::setOnupdateready): (WebCore::DOMApplicationCache::onupdateready): (WebCore::DOMApplicationCache::setOncached): (WebCore::DOMApplicationCache::oncached): (WebCore::DOMApplicationCache::associatedFrame):
  • loader/appcache/DOMApplicationCache.idl:
  • svg/EventTargetSVGElementInstance.cpp: (WebCore::EventTargetSVGElementInstance::associatedFrame): (WebCore::EventTargetSVGElementInstance::addEventListener): (WebCore::EventTargetSVGElementInstance::removeEventListener): (WebCore::EventTargetSVGElementInstance::dispatchEvent):
  • svg/EventTargetSVGElementInstance.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::associatedFrame):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setOnreadystatechange): (WebCore::XMLHttpRequest::onreadystatechange): (WebCore::XMLHttpRequest::setOnabort): (WebCore::XMLHttpRequest::onabort): (WebCore::XMLHttpRequest::setOnerror): (WebCore::XMLHttpRequest::onerror): (WebCore::XMLHttpRequest::setOnload): (WebCore::XMLHttpRequest::onload): (WebCore::XMLHttpRequest::setOnloadstart): (WebCore::XMLHttpRequest::onloadstart): (WebCore::XMLHttpRequest::setOnprogress): (WebCore::XMLHttpRequest::onprogress):
  • xml/XMLHttpRequest.idl:
  • xml/XMLHttpRequestUpload.cpp: (WebCore::XMLHttpRequestUpload::associatedFrame):
  • xml/XMLHttpRequestUpload.h: (WebCore::XMLHttpRequestUpload::setOnabort): (WebCore::XMLHttpRequestUpload::onabort): (WebCore::XMLHttpRequestUpload::setOnerror): (WebCore::XMLHttpRequestUpload::onerror): (WebCore::XMLHttpRequestUpload::setOnload): (WebCore::XMLHttpRequestUpload::onload): (WebCore::XMLHttpRequestUpload::setOnloadstart): (WebCore::XMLHttpRequestUpload::onloadstart): (WebCore::XMLHttpRequestUpload::setOnprogress): (WebCore::XMLHttpRequestUpload::onprogress):
  • xml/XMLHttpRequestUpload.idl:
17:38 Changeset [37127] by darin@apple.com
  • 2 edits in trunk/WebCore

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

  • roll out assertion breaking regression tests
  • platform/ScrollView.cpp: (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion that fires in regression tests. Hyatt can add it back later. The assertion fires in the regression test because of layout that triggers repaint occuring during the process of removing a frame.
16:58 Changeset [37126] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Mark Rowe.

Add WebKitAvailability macros for JSObjectMakeArray, JSObjectMakeDate, JSObjectMakeError,
and JSObjectMakeRegExp

  • API/JSObjectRef.h:
16:46 Changeset [37125] by darin@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Geoff Garen.

Replaced the m_prev field of ExecState with a bit in the
call frame pointer to indicate "host" call frames.

  • VM/Machine.cpp: (JSC::makeHostCallFramePointer): Added. Sets low bit. (JSC::isHostCallFrame): Added. Checks low bit. (JSC::stripHostCallFrameBit): Added. Clears low bit. (JSC::Machine::unwindCallFrame): Replaced null check that was formerly used to detect host call frames with an isHostCallFrame check. (JSC::Machine::execute): Pass in a host call frame pointer rather than always passing 0 when starting execution from the host. This allows us to follow the entire call frame pointer chain when desired, or to stop at the host calls when that's desired. (JSC::Machine::privateExecute): Replaced null check that was formerly used to detect host call frames with an isHostCallFrame check. (JSC::Machine::retrieveCaller): Ditto. (JSC::Machine::retrieveLastCaller): Ditto. (JSC::Machine::callFrame): Removed the code to walk up m_prev pointers and replaced it with code that uses the caller pointer and uses the stripHostCallFrameBit function.
  • kjs/ExecState.cpp: Removed m_prev.
  • kjs/ExecState.h: Ditto.
16:24 Changeset [37124] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp

Fix Qt bustage.

16:21 Changeset [37123] by adele@apple.com
  • 19 edits
    8 adds in trunk

WebCore:

2008-09-30 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
<rdar://problem/6222134> add a way to set color for input placeholder text

Test: fast/forms/placeholder-pseudo-style.html

This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
input elements when they are displaying the placeholder text.

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
  • css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
  • css/html4.css: Add rule to make placeholder text default to darkGray.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible. (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility. (WebCore::HTMLInputElement::dispatchBlurEvent): ditto. (WebCore::HTMLInputElement::parseMappedAttribute): ditto. (WebCore::HTMLInputElement::setValue): ditto. (WebCore::HTMLInputElement::setValueFromRenderer): ditto. (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state. This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the renderer will just ask the node if it should draw the placeholder.
  • html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
  • rendering/RenderTextControl.cpp: (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color, just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast. If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme. (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none". This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which is called directly from updateFromElement. updateFromElement will immediately update the text displayed. (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed. (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
  • rendering/RenderTextControl.h:

LayoutTests:

2008-09-30 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Tests for https://bugs.webkit.org/show_bug.cgi?id=21227
<rdar://problem/6222134> add a way to set color for input placeholder text

  • fast/forms/password-placeholder-text-security.html: Added.
  • fast/forms/placeholder-pseudo-style.html: Added.
  • platform/mac/fast/forms/password-placeholder-text-security-expected.checksum: Added.
  • platform/mac/fast/forms/password-placeholder-text-security-expected.png: Added.
  • platform/mac/fast/forms/password-placeholder-text-security-expected.txt: Added.
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.checksum: Added.
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.png: Added.
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt: Added.

Updated results. The placeholder color is now reflected on the RenderTextControl, not just on an inner element.

  • platform/mac/fast/forms/input-disabled-color-expected.checksum:
  • platform/mac/fast/forms/input-disabled-color-expected.png:
  • platform/mac/fast/forms/input-disabled-color-expected.txt:
  • platform/mac/fast/forms/password-placeholder-expected.checksum:
  • platform/mac/fast/forms/password-placeholder-expected.png:
  • platform/mac/fast/forms/password-placeholder-expected.txt:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.checksum:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.png:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.txt:
16:19 Changeset [37122] by bdakin@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-09-30 Beth Dakin <bdakin@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
by failed allocation due to invalid counter/attr
and corresponding: <rdar://problem/6152371>

  • css/CSSParser.cpp: (WebCore::CSSParser::parseCounterContent): The spec indicates that only identifiers should be accepted here.

LayoutTests:

2008-09-30 Beth Dakin <bdakin@apple.com>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
by failed allocation due to invalid counter/attr
and corresponding: <rdar://problem/6152371>

  • fast/css/counters/counter-number-input-expected.txt: Added.
  • fast/css/counters/counter-number-input.html: Added.
15:33 Changeset [37121] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-09-30 Kevin McCullough <kmccullough@apple.com>

Reviewed by Oliver Hunt.

Bug 21255: console.profileEnd() without a console.profile() crashes the
web inspector

  • page/Console.cpp: (WebCore::Console::profileEnd):
15:31 Changeset [37120] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-09-30 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim Hatcher.

Bug 21252: calling console.profile() with a title that is 2 chars or
shorter does not linkify it

  • Previously we tried to not linkify very short URLs but since profile titles can be any length this is not always true.
  • page/inspector/inspector.js:
15:30 Changeset [37119] by mrowe@apple.com
  • 20 edits in tags/Safari-6528.4.1/WebCore/platform

Remove bogus executable bit from some source files.

15:28 Changeset [37118] by mrowe@apple.com
  • 20 edits in trunk/WebCore/platform

Remove bogus executable bit from some source files.

15:17 Changeset [37117] by cwzwarich@webkit.org
  • 7 edits
    3 adds in trunk

2008-09-30 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Move all detection of 'arguments' in a lexical scope to the parser, in
preparation for fixing

Bug 21123: using "arguments" in a function should not force creation of an activation object
<https://bugs.webkit.org/show_bug.cgi?id=21123>

JavaScriptCore:

  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator):
  • kjs/NodeInfo.h:
  • kjs/grammar.y:

LayoutTests:

  • fast/js/arguments-expected.txt:
  • fast/js/function-dot-arguments-expected.txt: Added.
  • fast/js/function-dot-arguments.html: Added.
  • fast/js/resources/arguments.js:
  • fast/js/resources/function-dot-arguments.js: Added.
14:46 Changeset [37116] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Not reviewed.

  • kjs/Shell.cpp: (runWithScripts): Fixed indentation.
14:34 Changeset [37115] by timothy@apple.com
  • 67 edits in trunk/WebCore/page/inspector/Images

Add the image/png mime-type to the Web Inspector images to make Mark and Dan happy.

14:31 Changeset [37114] by hyatt@apple.com
  • 2 edits in trunk/WebKit

Tweak the Gtk/Qt ChromeClient methods structurally to make sure immediate displays/flushes can happen even if the content doesn't change.

14:30 Changeset [37113] by hyatt@apple.com
  • 9 edits in trunk/WebCore

Eliminate the ScrollView update() method.

14:04 Changeset [37112] by mrowe@apple.com
  • 11 edits
    2 deletes in trunk

Roll out r37060 as it introduced many, many leaks.

13:57 Changeset [37111] by timothy@apple.com
  • 3 edits in trunk/WebCore

Focus the DOM tree in the Web Inspector when a node is inspected.
So when the search field has focus, the focus moves to the tree,
allowing the arrow keys work. This can happen when using the new
find in page feature.

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

Reviewed by Geoff Garen.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel): Set currentFocusElement to the main-panels element if the panel is visible. (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Remove a set of currentFocusElement since this moved.
  • page/inspector/inspector.js: (WebInspector.set currentFocusElement): Always focus the element. This ensures that when focus changes in the page and we don't catch it, we will still focus the elements even if we think it was already focused.
13:57 Changeset [37110] by timothy@apple.com
  • 8 edits in trunk/WebCore

Make the Web Inspector's toolbar icons darker when the mouse is
pressed on them. This matches the standard NSToolbar look.

https://bugs.webkit.org/show_bug.cgi?id=21249
rdar://problem/6033752

Reviewed by Adam Roben.

  • page/inspector/Images/databasesIcon.png:
  • page/inspector/Images/elementsIcon.png:
  • page/inspector/Images/profilesIcon.png:
  • page/inspector/Images/resourcesIcon.png:
  • page/inspector/Images/scriptsIcon.png:
  • page/inspector/Panel.js:
  • page/inspector/inspector.css:
13:56 Changeset [37109] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Fix qt bustage.

13:27 Changeset [37108] by mrowe@apple.com
  • 1 edit in tags/Safari-6528.4.1/JavaScriptCore/JavaScriptCore.exp

Build fix.

13:27 Changeset [37107] by mrowe@apple.com
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.exp

Build fix.

13:26 Changeset [37106] by kmccullough@apple.com
  • 5 edits in trunk/WebCore

2008-09-30 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim Hatcher.

Bug 21139: Profiler log message is wrong

  • Correctly fix =( Don't call _format twice.
  • page/Page.h:
  • page/inspector/Console.js:
  • page/inspector/ProfilesPanel.js:
  • page/inspector/inspector.js:
13:09 Changeset [37105] by hyatt@apple.com
  • 32 edits in trunk

Make ScrollView's updateContents method cross-platform.

12:42 Changeset [37104] by mrowe@apple.com
  • 3 edits in tags/Safari-6528.4.1/JavaScriptCore

Merge r37103.

12:38 Changeset [37103] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

Build fix.

Move InternalFunction::classInfo implementation into the .cpp file to
prevent the vtable for InternalFunction being generated as a weak symbol.
Has no effect on SunSpider.

Rubber-stamped by Sam Weinig.

  • kjs/InternalFunction.cpp:

(JSC::InternalFunction::classInfo):

  • kjs/InternalFunction.h:
12:29 Changeset [37102] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by Mark Rowe and Adam Roben.

No need to use pointers to store C++ objects as pointers in WebViewPrivate, we can just
store them directly.


  • Configurations/Base.xcconfig: Set GCC_OBJC_CALL_CXX_CDTORS to YES.


  • WebView/WebView.mm: (-[WebViewPrivate init]): (-[WebViewPrivate dealloc]): (-[WebViewPrivate finalize]): (-[WebView _preferencesChangedNotification:]): (-[WebView setApplicationNameForUserAgent:]): (-[WebView setCustomUserAgent:]): (-[WebView customUserAgent]): (-[WebView WebCore::_userAgentForURL:WebCore::]): (-[WebView _addObject:forIdentifier:]): (-[WebView _objectForIdentifier:]): (-[WebView _removeObjectForIdentifier:]):
11:05 Changeset [37101] by mrowe@apple.com
  • 4 edits in tags/Safari-6528.4.1

Versioning.

11:02 Changeset [37100] by mrowe@apple.com
  • 6 edits
    2 deletes in tags/Safari-6528.4.1

Merge r36902.

11:00 Changeset [37099] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.4.1

New tag.

10:58 Changeset [37098] by ap@webkit.org
  • 6 edits in trunk/WebCore

Non-Mac build fixes.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl:
  • webcore-base.bkl: Added DOMProtect.{cpp,h}.
10:40 Changeset [37097] by kdecker@apple.com
  • 2 edits in trunk/WebCore

Reviewed by John Sullivan.

  • bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
10:05 Changeset [37096] by jchaffraix@webkit.org
  • 11 edits in trunk/WebCore

2008-09-29 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Maciej Stachowiak.

Bug 21106: .in format discussed changes
https://bugs.webkit.org/show_bug.cgi?id=21106

  • Removed "cppNamespace" global parameter and hard-coded "WebCore" as it is the only namespace used.
  • Removed "generateFactory" and "generateWrapperFactory" parameters and re-introduced the command line options.
  • Cleaned up the output of make_names.pl (removed unneeded new line).
  • DerivedSources.make: Added factories command line options.
  • GNUmakefile.am: Ditto.
  • WebCore.pro: Ditto and removed some arguments that were migrated to the .in files.
  • dom/make_names.pl: Clean up (see above).
  • html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory" and "generateWrapperFactory" occurences.
  • html/HTMLTagNames.in: Ditto.
  • svg/svgattrs.in: Ditto.
  • svg/svgtags.in: Ditto.
  • svg/xlinkattrs.in: Ditto.
  • xml/xmlattrs.in: Ditto.
09:19 Changeset [37095] by cfleizach@apple.com
  • 5 edits
    2 adds in trunk

<rdar://problem/6255456> AX: <file> input button shouldn't have children exposed

08:52 Changeset [37094] by ap@webkit.org
  • 7 edits
    6 adds in trunk

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21213
MessagePort crash when GC collects an object with a pending close event

Test: fast/events/message-channel-gc-2.html

fast/events/message-channel-listener-circular-ownership.html

  • bindings/DOMProtect.cpp: Added. (WebCore::gcProtectDOMObject): (WebCore::gcUnprotectDOMObject):
  • bindings/DOMProtect.h: Added. Added an abstraction for GC protection to avoid the need to call JS bindings code from DOM objects directly.
  • dom/MessagePort.cpp: (WebCore::CloseMessagePortTimer::fired): (WebCore::MessagePort::queueCloseEvent): GC protect MessagePort wrapper while there is a pending close event. This may be necessary for message events, too, but that case is not a crasher, and actually behaves to the letter of the current HTML5 text, so I'll consider it later.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::dropProtection): Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener): (WebCore::JSMessagePort::setOnmessage): (WebCore::JSMessagePort::setOnclose): Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark): While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not from XMLHttpRequest.
07:17 Changeset [37093] by aroben@apple.com
  • 2 edits in trunk/WebCore

Windows build fix

  • DerivedSources.cpp: Add JSEventTargetNode.cpp.
00:42 Changeset [37092] by hyatt@apple.com
  • 2 edits in trunk/WebCore/platform

Fix gtk qt bustage.

00:10 Changeset [37091] by cwzwarich@webkit.org
  • 1 edit in trunk/JavaScriptCore/ChangeLog

2008-09-30 Cameron Zwarich <zwarich@apple.com>

Not reviewed.

Add the performance improvement to the ChangeLog entry for r37050.

  • ChangeLog
00:01 Changeset [37090] by weinig@apple.com
  • 12 edits
    4 adds
    3 deletes in trunk/WebCore

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

Reviewed by Tim Hatcher.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
Autogenerate JS event listeners

  • Generate EventTargetNode.
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSEventListener.cpp:
  • bindings/js/JSEventTarget.cpp: Added. (WebCore::toJS):
  • bindings/js/JSEventTarget.h: Added.
  • bindings/js/JSEventTargetBase.cpp: Removed.
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSEventTargetNode.cpp: Removed.
  • bindings/js/JSEventTargetNode.h: Removed.
  • bindings/js/JSEventTargetNodeCustom.cpp: Added. (WebCore::JSEventTargetNode::addEventListener): (WebCore::JSEventTargetNode::removeEventListener): (WebCore::JSEventTargetNode::dispatchEvent): (WebCore::JSEventTargetNode::getListener): (WebCore::JSEventTargetNode::setListener): (WebCore::JSEventTargetNode::pushEventHandlerScope):
  • bindings/js/JSEventTargetSVGElementInstance.cpp: (WebCore::): (WebCore::JSEventTargetSVGElementInstancePrototype::self): (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot): (jsEventTargetAddEventListener): (jsEventTargetRemoveEventListener): (jsEventTargetDispatchEvent):
  • bindings/js/JSEventTargetSVGElementInstance.h: (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype): (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/EventTargetNode.idl: Added.

09/29/08:

18:31 Changeset [37089] by mjs@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-09-29 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin Adler.



It's pretty common in real-world code (and on some of the v8
benchmarks) to append a number to a string, so I made this one of
the fast cases, and also added support to UString to do it
directly without allocating a temporary UString.


~1% speedup on v8 benchmark.

  • VM/Machine.cpp: (JSC::jsAddSlowCase): Make this NEVER_INLINE because somehow otherwise the change is a regression. (JSC::jsAdd): Handle number + string special case. (JSC::Machine::cti_op_add): Integrate much of the logic of jsAdd to avoid exception check in the str + str, num + num and str + num cases.
  • kjs/ustring.cpp: (JSC::expandedSize): Make this a non-member function, since it needs to be called in non-member functions but not outside this file. (JSC::expandCapacity): Ditto. (JSC::UString::expandCapacity): Call the non-member version. (JSC::createRep): Helper to make a rep from a char*. (JSC::UString::UString): Use above helper. (JSC::concatenate): Guts of concatenating constructor for cases where first item is a UString::Rep, and second is a UChar* and length, or a char*. (JSC::UString::append): Implement for cases where first item is a UString::Rep, and second is an int or double. Sadly duplicates logic of UString::from(int) and UString::from(double).
  • kjs/ustring.h:
18:14 Changeset [37088] by darin@apple.com
  • 10 edits in trunk

JavaScriptCore:

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

Reviewed by Sam Weinig.

  • JavaScriptCore.exp: Updated since JSGlobalObject::init no longer takes a parameter.
  • VM/Machine.cpp: (JSC::Machine::execute): Removed m_registerFile argument for ExecState constructors.
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate): Removed globalThisValue argument for ExecState constructor.
  • kjs/ExecState.cpp: (JSC::ExecState::ExecState): Removed globalThisValue and registerFile arguments to constructors.
  • kjs/ExecState.h: Removed m_globalThisValue and m_registerFile data members.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): Removed globalThisValue argument for ExecState constructor.
  • kjs/JSGlobalObject.h: (JSC::JSGlobalObject::JSGlobalObject): Got rid of parameter for the init function.

WebCore:

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

Reviewed by Sam Weinig.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument for base class constructor.
18:03 Changeset [37087] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Rubber-stamped by Cameron Zwarich.


Fixed https://bugs.webkit.org/show_bug.cgi?id=21225
Machine::retrieveLastCaller should check for a NULL codeBlock


In order to crash, you would need to call retrieveCaller in a situation
where you had two host call frames in a row in the register file. I
don't know how to make that happen, or if it's even possible, so I don't
have a test case -- but better safe than sorry!

  • VM/Machine.cpp: (JSC::Machine::retrieveLastCaller):
17:46 Changeset [37086] by ggaren@apple.com
  • 13 edits
    2 copies
    6 adds in trunk

JavaScriptCore:

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

Reviewed by Cameron Zwarich.


Store the callee ScopeChain, not the caller ScopeChain, in the call frame
header. Nix the "scopeChain" local variable and ExecState::m_scopeChain, and
access the callee ScopeChain through the call frame header instead.

Profit: call + return are simpler, because they don't have to update the
"scopeChain" local variable, or ExecState::m_scopeChain.


Because CTI keeps "r" in a register, reading the callee ScopeChain relative
to "r" can be very fast, in any cases we care to optimize.

0% speedup on empty function call benchmark. (5.5% speedup in bytecode.)
0% speedup on SunSpider. (7.5% speedup on controlflow-recursive.)
2% speedup on SunSpider --v8.
2% speedup on v8 benchmark.

  • VM/CTI.cpp: Changed scope chain access to read the scope chain from the call frame header. Sped up op_ret by changing it not to fuss with the "scopeChain" local variable or ExecState::m_scopeChain.
  • VM/CTI.h: Updated CTI trampolines not to take a ScopeChainNode* argument, since that's stored in the call frame header now.
  • VM/Machine.cpp: Access "scopeChain" and "codeBlock" through new helper functions that read from the call frame header. Updated functions operating on ExecState::m_callFrame to account for / take advantage of the fact that Exec:m_callFrame is now never NULL.


Fixed a bug in op_construct, where it would use the caller's default
object prototype, rather than the callee's, when constructing a new object.

  • VM/Machine.h: Made some helper functions available. Removed ScopeChainNode* arguments to a lot of functions, since the ScopeChainNode* is now stored in the call frame header.
  • VM/RegisterFile.h: Renamed "CallerScopeChain" to "ScopeChain", since that's what it is now.
  • kjs/DebuggerCallFrame.cpp: Updated for change to ExecState signature.
  • kjs/ExecState.cpp:
  • kjs/ExecState.h: Nixed ExecState::m_callFrame, along with the unused isGlobalObject function.
  • kjs/JSGlobalObject.cpp:
  • kjs/JSGlobalObject.h: Gave the global object a fake call frame in which to store the global scope chain, since our code now assumes that it can always read the scope chain out of the ExecState's call frame.

JavaScriptGlue:

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

Not reviewed.


Forwarding headers to fix the build.

  • ForwardingHeaders/kjs/CTI.h: Copied from ForwardingHeaders/kjs/ExecState.h.
  • ForwardingHeaders/kjs/ustring.h: Copied from ForwardingHeaders/kjs/ExecState.h.
  • ForwardingHeaders/masm: Added.
  • ForwardingHeaders/masm/X86Assembler.h: Added.
  • ForwardingHeaders/profiler: Added.
  • ForwardingHeaders/profiler/Profiler.h: Added.

LayoutTests:

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

Reviewed by Cameron Zwarich.


Test case for which prototype is used when calling "new" across windows.

  • fast/js/construct-global-object-expected.txt: Added.
  • fast/js/construct-global-object.html: Added.
17:42 Changeset [37085] by hyatt@apple.com
  • 4 edits
    1 add in trunk/WebCore

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

Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
(Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)

Reviewed by Sam Weinig

  • WebCore.xcodeproj/project.pbxproj:
  • page/Chrome.h:
  • platform/HostWindow.h: Added. (WebCore::HostWindow::HostWindow): (WebCore::HostWindow::~HostWindow):
17:17 Changeset [37084] by kdecker@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Anders Carlsson.

  • bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
16:42 Changeset [37083] by mitz@apple.com
  • 5 edits in trunk

WebCore:

Reviewed by Adam Roben.

  • WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added. (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being unloaded, to avoid calling uxtheme.dll functions after that library has been unloaded.
  • rendering/RenderThemeWin.h:

WebKit/win:

Reviewed by Adam Roben.

  • WebKit/win part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
  • WebKitDLL.cpp: (DllMain): Call RenderThemeWin::setWebKitIsBeingUnloaded() when WebKit is being unloaded.
16:10 Changeset [37082] by cfleizach@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas

15:50 Changeset [37081] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

15:49 Changeset [37080] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.4

New tag.

15:34 Changeset [37079] by timothy@apple.com
  • 6 edits in trunk/WebCore

Makes the node highlight always show up when hovering a node in
the Web Inspector now that the highlight does not scroll to reveal
the node. Also adds a hover effect in the inspector when hovering
causes a highlight in the page. This ties the user hovering action
to the highlight so it is clear what causes the highlight to appear.

Also the highlight now temporarily shows up for 2 seconds after
selecting a node in the DOM tree. So arrowing around in the tree
will show the node on the page, providing feedback to the user.

Plus fixes an issue where quickly moving away from hovering
a node would keep showing the page highlight. This was happening
in breadcrumbs and the DOM tree.

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

Reviewed by Kevin McCullough.

  • page/inspector/Console.js: (WebInspector.Console.prototype._mouseOverNode): Added. Used for hovering DOM nodes in the console. (WebInspector.Console.prototype._mouseOutOfNode): Ditto. (WebInspector.Console.prototype._formatnode): Use the new event listeners and add a class name to the anchor element.
  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel): Add new event listeners to the crumbs element to do the node hovering highlight. (WebInspector.ElementsPanel.prototype.hide): (WebInspector.ElementsPanel.prototype.reset): (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs): (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs): (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
  • page/inspector/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): Show the node hishlight for 2 seconds then restore the highlight to the current hovered node. (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the hovered node and set the hovered state on the tree element. (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the hovered node to null and removed the hovered state from the previous hovered tree element. (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds the hovered class to the list item. (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
  • page/inspector/inspector.css:
  • page/inspector/inspector.js: (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon based on the showingDOMNodeHighlight property of 50ms or 500ms. This causes the highlight to change sooner if there is one already showing and appear later if there isn't one showing. This is like tooltips, hovering a node for 500ms will cause highlight then mousing between nodes will keep the highlight and change to the new node. (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and always reset the timeout so continuous mousing does not keep flasshing the highlight on the screen. (WebInspector._updateHoverHighlight): Removed the alt key check and added the showingDOMNodeHighlight property. (WebInspector.documentKeyDown): Removed the alt key check. (WebInspector.documentKeyUp): Ditto. (WebInspector.reset): Clear the hoveredDOMNode.
15:04 Changeset [37078] by simon.fraser@apple.com
  • 3 edits in trunk/WebCore

2008-09-29 Simon Fraser <simon.fraser@apple.com>

Reviewed by Anders Carlsson

Fix RenderStyle leak in animation code, and assert that
keyframe resolution in CSSStyleSelector is not going to clobber
m_style.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::~KeyframeAnimation):
14:31 Changeset [37077] by simon.fraser@apple.com
  • 14 edits
    2 adds in trunk

2008-09-29 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt

Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
Rewrite keyframe resolution to be like styleForElement()

Test: animations/lineheight-animation.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::addKeyframeStyle): (WebCore::CSSStyleSelector::~CSSStyleSelector): (WebCore::CSSStyleSelector::keyframeStylesForAnimation): (WebCore::CSSRuleSet::addRulesFromSheet): (WebCore::CSSStyleSelector::mapAnimationName):
  • css/CSSStyleSelector.h:
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateKeyframeAnimations):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::KeyframeAnimation): (WebCore::KeyframeAnimation::animate): (WebCore::KeyframeAnimation::hasAnimationForProperty): (WebCore::KeyframeAnimation::sendAnimationEvent): (WebCore::KeyframeAnimation::overrideAnimations): (WebCore::KeyframeAnimation::resumeOverriddenAnimations): (WebCore::KeyframeAnimation::affectsProperty): (WebCore::KeyframeAnimation::validateTransformFunctionList):
  • page/animation/KeyframeAnimation.h:
  • rendering/style/Animation.cpp: (WebCore::Animation::animationsMatch):
  • rendering/style/Animation.h:
  • rendering/style/KeyframeList.cpp: (WebCore::KeyframeList::~KeyframeList): (WebCore::KeyframeList::clear): (WebCore::KeyframeList::insert):
  • rendering/style/KeyframeList.h: (WebCore::KeyframeValue::KeyframeValue): (WebCore::KeyframeList::KeyframeList): (WebCore::KeyframeList::operator!=): (WebCore::KeyframeList::animationName): (WebCore::KeyframeList::addProperty): (WebCore::KeyframeList::containsProperty): (WebCore::KeyframeList::beginProperties): (WebCore::KeyframeList::endProperties): (WebCore::KeyframeList::isEmpty): (WebCore::KeyframeList::size): (WebCore::KeyframeList::beginKeyframes): (WebCore::KeyframeList::endKeyframes):
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareNonInheritedData.cpp:
  • rendering/style/StyleRareNonInheritedData.h:
14:24 Changeset [37076] by simon.fraser@apple.com
  • 4 edits
    2 adds in trunk

2008-09-29 Chris Marrin <cmarrin@apple.com>

Reviewed by Eric Seidel

Clean up fix in PropertyWrapperGetter::equals
https://bugs.webkit.org/show_bug.cgi?id=21011

Test: transitions/override-transition-crash.html

  • page/animation/AnimationBase.cpp: (WebCore::PropertyWrapperGetter::equals):
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateTransitions):
14:21 Changeset [37075] by simon.fraser@apple.com
  • 6 edits
    2 adds in trunk

2008-09-29 Chris Marrin <cmarrin@apple.com>

Reviewed by Eric Seidel

https://bugs.webkit.org/show_bug.cgi?id=21001
Starting transition after animation, when animation
is finished, transition is wrong.

Test: animations/transition-and-animation-2.html

  • page/animation/AnimationBase.h:
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateTransitions): (WebCore::CompositeAnimation::updateKeyframeAnimations): (WebCore::CompositeAnimation::resetTransitions): (WebCore::CompositeAnimation::cleanupFinishedAnimations):
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::ImplicitAnimation): (WebCore::ImplicitAnimation::~ImplicitAnimation): (WebCore::ImplicitAnimation::animate): (WebCore::ImplicitAnimation::reset):
  • page/animation/ImplicitAnimation.h:
14:18 Changeset [37074] by simon.fraser@apple.com
  • 6 edits
    2 adds in trunk

2008-09-29 Chris Marrin <cmarrin@apple.com>

Reviewed by Sam Weinig

https://bugs.webkit.org/show_bug.cgi?id=20921
-webkit-animation-timing-function: inside of keyframes is ignored

Test: animations/keyframe-timing-functions.html

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::progress):
  • page/animation/AnimationBase.h:
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::animate):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::animate):
14:09 Changeset [37073] by simon.fraser@apple.com
  • 1 edit
    5 adds in trunk/LayoutTests

2008-09-29 Chris Marrin <cmarrin@apple.com>

Reviewed by Darin Adler

Testcase for crash when parsing keyframes from an @imported
CSS file
https://bugs.webkit.org/show_bug.cgi?id=20855

  • animations/import-crash-expected.txt: Added.
  • animations/import-crash.html: Added.
  • animations/import-expected.txt: Added.
  • animations/import.html: Added.
  • animations/resources/keyframes.css: Added.
14:04 Changeset [37072] by mitz@apple.com
  • 2 edits in trunk/WebCore

Windows build fix, take 3

13:57 Changeset [37071] by mitz@apple.com
  • 2 edits in trunk/WebCore

Windows build fix, take 2

13:52 Changeset [37070] by mitz@apple.com
  • 2 edits in trunk/WebCore

Windows build fix

13:09 Changeset [37069] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

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

Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
It's silly that the code was this fragile, but for now just put the check back in.

Reviewed by Dan Bernstein

  • platform/ScrollView.cpp: (WebCore::ScrollView::setScrollbarModes):
12:49 Changeset [37068] by cwzwarich@webkit.org
  • 5 edits in trunk/JavaScriptCore

2008-09-29 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Sam Weinig.

Remove the isActivationObject() virtual method on JSObject and use
StructureID information instead. This should be slightly faster, but
isActivationObject() is only used in assertions and unwinding the stack
for exceptions.

  • VM/Machine.cpp: (JSC::depth): (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_ret_activation):
  • kjs/JSActivation.cpp:
  • kjs/JSActivation.h:
  • kjs/JSObject.h:
12:46 Changeset [37067] by hyatt@apple.com
  • 8 edits in trunk/WebCore

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

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

Make setScrollPosition and scroll() cross-platform.

Reviewed by Anders

  • platform/ScrollView.cpp: (WebCore::ScrollView::setScrollPosition): (WebCore::ScrollView::scroll):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformSetScrollPosition): (WebCore::ScrollView::platformScroll):
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetScrollPosition): (WebCore::ScrollView::platformScroll):
12:09 Changeset [37066] by kmccullough@apple.com
  • 3 edits in trunk/WebCore

2008-09-29 Kevin McCullough <kmccullough@apple.com>

Reviewed by Oliver.

Bug 21139: Profiler log message is wrong

  • Because _format was called twice the number in the log was incremented too many times, but we were passing it around in the link the whole time
  • page/inspector/ProfilesPanel.js:
  • page/inspector/inspector.js:
12:09 Changeset [37065] by weinig@apple.com
  • 6 edits in trunk/WebCore

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

Reviewed by Cameron Zwarich.

Autogenerate EventListeners, addEventListener and removeEventListener
for JSDOMWindow.

  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::onwebkitanimationstart): (WebCore::JSDOMWindow::setOnwebkitanimationstart): (WebCore::JSDOMWindow::onwebkitanimationiteration): (WebCore::JSDOMWindow::setOnwebkitanimationiteration): (WebCore::JSDOMWindow::onwebkitanimationend): (WebCore::JSDOMWindow::setOnwebkitanimationend): (WebCore::JSDOMWindow::onwebkittransitionend): (WebCore::JSDOMWindow::setOnwebkittransitionend): (WebCore::JSDOMWindow::addEventListener): (WebCore::JSDOMWindow::removeEventListener): (WebCore::JSDOMWindow::setListener): (WebCore::JSDOMWindow::getListener):
  • bindings/scripts/CodeGeneratorJS.pm:
  • page/DOMWindow.idl:
09:08 Changeset [37064] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-09-29 Gunnar Sletta <gunnar@trolltech.com>

Reviewed by Simon

Compile on windows using MSVC 2005

For the PCH We need to define _WIN32_WINNT and include windows.h early on,
otherwise we'll miss several functions.

09:03 Changeset [37063] by darin@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-29 Peter Gal <galpeter@inf.u-szeged.hu>

Reviewed and tweaked by Darin Adler.

Fix build for non-all-in-one platforms.

  • kjs/StringPrototype.cpp: Added missing ASCIICType.h include.
07:55 Changeset [37062] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-29 Bradley T. Hughes <bradley.hughes@nokia.com>

Reviewed by Simon.

Fix compilation with icpc

05:47 Changeset [37061] by hausmann@webkit.org
  • 139 edits in trunk

2008-09-29 Thiago Macieira <thiago.macieira@nokia.com>

Reviewed by Simon.

Changed copyright from Trolltech ASA to Nokia.

Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.

04:48 Changeset [37060] by jchaffraix@webkit.org
  • 11 edits
    2 adds in trunk

WebCore:

2008-09-26 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 5727: We want to evaluate scripts in viewless documents
https://bugs.webkit.org/show_bug.cgi?id=5727

Add the posibility to evaluate script or fetch resources on viewless
document using the EmptyClient workaround.

Test: fast/loader/viewless-document.html

  • dom/Document.h: (WebCore::Document::setFrame): Method to set the Document's Frame, added a warning that it should be used under special circumstances.
  • dom/ScriptElement.cpp: (WebCore::ScriptElementData::requestScript): If the frame is empty (viewless document), get a dummy Frame to be able to evalute the script. (WebCore::ScriptElementData::evaluateScript): Ditto.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Take a bool to toogle empty Document creation.

(WebCore::FrameLoader::fakeLoad): Fake remote resource load.

(WebCore::FrameLoader::createDummyFrame):

  • loader/FrameLoader.h:
  • page/Frame.cpp: (WebCore::Frame::isDummyFrame): (WebCore::Frame::setIsDummyFrame): (WebCore::Frame::setDocument):

(WebCore::FramePrivate::FramePrivate): Added m_isDummyFrame.
(WebCore::FramePrivate::~FramePrivate): We have to free the Page if it is a dummyFrame
(a dummyFrame own its Page).

  • page/Frame.h:
  • page/FramePrivate.h:
  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::SVGImage): (WebCore::SVGImage::dataChanged): Use the dummy Frame work-around.
  • svg/graphics/SVGImage.h: Removed unused members.

LayoutTests:

2008-09-26 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.


Bug 5727: We want to evaluate scripts in viewless documents
https://bugs.webkit.org/show_bug.cgi?id=5727


  • fast/loader/viewless-document-expected.txt: Added.
  • fast/loader/viewless-document.html: Added.


04:46 QtWebKitContrib edited by ariya.hidayat@trolltech.com
(diff)
04:24 QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
04:24 QtWebKitJournal created by ariya.hidayat@trolltech.com
04:14 QtWebKitTodo edited by ariya.hidayat@trolltech.com
(diff)
02:03 Changeset [37059] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>

Reviewed by Simon

Fix compilation with gcc 4.3

gcc 4.3 is stricter and ctype.h isn't getting included

automatically here by dependencies. So do it directly.

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

2008-09-29 Morten Sørvig <msorvig@trolltech.com>

Reviewed by Simon.

Fix compilation with Qt/Mac without plugins.

02:02 Changeset [37057] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-29 Simon Hausmann <hausmann@webkit.org>

Reviewed by Lars.

Don't accidentially install libJavaScriptCore.a for the build inside
Qt.

01:20 Changeset [37056] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
In the few places that we call .upper() in WebCore the strings represent things like
tag and attribute names, which are nearly always going to be ASCII.

Reviewed by Sam Weinig.

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
in to Unicode::toLower the second time.
(WebCore::StringImpl::upper):

01:19 Changeset [37055] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
rather than String::operator+=.

Reviewed by Sam Weinig.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::cssText):

01:19 Changeset [37054] by mrowe@apple.com
  • 3 edits in trunk/WebCore

Speed up computedStyle.getPropertyValue('color') by 4.5x.

Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
as it avoids many memory reallocations.

This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
unrelated properties on an element.

Reviewed by Oliver Hunt.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
and use appendNumber rather than the String::number in order to cut down on memory allocations.

  • platform/text/PlatformString.h:

(WebCore::appendNumber): A helper function for formatting an unsigned character as a number
into a Vector<UChar>.

09/28/08:

21:17 Changeset [37053] by weinig@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix spelling

21:16 Changeset [37052] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Anders Carlsson.

Remove spurious call to lower().

  • css/MediaQueryEvaluator.cpp: (WebCore::MediaQueryEvaluator):
20:41 Changeset [37051] by weinig@apple.com
  • 3 edits in trunk/WebCore

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

Reviewed by Dan Bernstein.

Use a CaseFoldingHash instead of calling lower on family strings.

  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): (WebCore::CSSFontSelector::getFontData):
  • css/CSSFontSelector.h:
20:04 Changeset [37050] by cwzwarich@webkit.org
  • 18 edits in trunk/JavaScriptCore

2008-09-28 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 21200: Allow direct access to 'arguments' without using op_resolve
<https://bugs.webkit.org/show_bug.cgi?id=21200>

Allow fast access to the 'arguments' object by adding an extra slot to
the callframe to store it.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::registerFor):
  • VM/CodeGenerator.h: (JSC::CodeGenerator::registerFor):
  • VM/Machine.cpp: (JSC::Machine::initializeCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h:
  • VM/Opcode.h:
  • VM/RegisterFile.h: (JSC::RegisterFile::):
  • kjs/JSActivation.cpp: (JSC::JSActivation::mark): (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):
  • kjs/NodeInfo.h:
  • kjs/Parser.cpp: (JSC::Parser::didFinishParsing):
  • kjs/Parser.h: (JSC::Parser::parse):
  • kjs/grammar.y:
  • kjs/nodes.cpp: (JSC::ScopeNode::ScopeNode): (JSC::ProgramNode::ProgramNode): (JSC::ProgramNode::create): (JSC::EvalNode::EvalNode): (JSC::EvalNode::create): (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::create):
  • kjs/nodes.h: (JSC::ScopeNode::usesArguments):
19:45 Changeset [37049] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Add an ASCII fast-path to toLowerCase and toUpperCase.

The fast path speeds up the common case of an ASCII-only string by up to 60% while adding a less than 5% penalty
to the less common non-ASCII case.

This also removes stringProtoFuncToLocaleLowerCase and stringProtoFuncToLocaleUpperCase, which were identical
to the non-locale variants of the functions. toLocaleLowerCase and toLocaleUpperCase now use the non-locale
variants of the functions directly.

Reviewed by Sam Weinig.

  • kjs/StringPrototype.cpp:

(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):

19:00 Changeset [37048] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Speed up parseInt and parseFloat.

Repeatedly indexing into a UString is slow, so retrieve a pointer into the underlying buffer once up front
and use that instead. This is a 7% win on a parseInt/parseFloat micro-benchmark.

Reviewed by Cameron Zwarich.

16:57 Changeset [37047] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

Bug 21185: resolve-ChangeLogs should be able to fix poorly merged ChangeLog entries after a git svn rebase

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

Reviewed by Adam.

Scripts/resolve-ChangeLogs: Added new -ffix-merge switch that

will attempt to reapply the last commit to a ChangeLog file such
that the ChangeLog entry appears at the top of the file.
(findChangeLog): Added prototype and moved method below the exit
statement.
(fixMergedChangeLog): Added. Method to fix incorrectly merged
ChangeLog entries.

16:31 Changeset [37046] by timothy@apple.com
  • 9 edits in trunk

Improves the Web Inspector node highlight so it does not scroll to reveal the node in the page.

WebCore:

2008-09-28 Timothy Hatcher <timothy@apple.com>

Remove the scrollIntoViewIfNeeded() call when drawing the
Inspector node highlight.

<rdar://problem/6115804> Don't scroll when highlighting (21000)
https://bugs.webkit.org/show_bug.cgi?id=21000

Reviewed by Dan Bernstein.

  • page/InspectorController.cpp: (WebCore::InspectorController::drawNodeHighlight):

WebKit/mac:

2008-09-28 Timothy Hatcher <timothy@apple.com>

Improves the Web Inspector node highlight so it does not scroll
to reveal the node in the page. This makes the highlight less
invasive and causes less things to change on screen. Also makes
the highlight redraw when the WebView draws, so it stays current
if the node changes on the page for any reason.

<rdar://problem/6115804> Don't scroll when highlighting (21000)
https://bugs.webkit.org/show_bug.cgi?id=21000

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController highlightNode:]): Call setNeedsDisplay:YES if there is an existing highlight. (-[WebInspectorWindowController didAttachWebNodeHighlight:]): Set the current highlight node on the inspected WebView. (-[WebInspectorWindowController willDetachWebNodeHighlight:]): Set the current highlight node on the inspected WebView to nil.
  • WebInspector/WebNodeHighlight.m: (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Disable screen updates until flush for the inspected window. Invalidate the whole highlight view since we don't know the rect that needs updated since the highlight can be larger than the highlighted element due to the margins and other factors.
  • WebInspector/WebNodeHighlightView.m:
  • WebView/WebHTMLView.mm: (-[WebHTMLView drawSingleRect:]): Call setNeedsUpdateInTargetViewRect: on the current highlight node.
  • WebView/WebView.mm: (-[WebViewPrivate dealloc]): Release the current highlight node. (-[WebView setCurrentNodeHighlight:]): Set the current highlight node. (-[WebView currentNodeHighlight]): Return the current highlight node.
  • WebView/WebViewInternal.h:
12:58 Changeset [37045] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
changed.

Reviewed by Dan Bernstein

  • platform/mac/ScrollbarThemeMac.mm: (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
12:52 Changeset [37044] by timothy@apple.com
  • 2 edits in trunk/WebCore

Clear the current search results in the Inspector when
the search query is less than 3 characters long. Incremental
searches only occur for 3 characters or longer, but deleting
under this limit would not clear the results unless the whole
query was deleted.

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

Reviewed by Dan Bernstein.

  • page/inspector/inspector.js: (WebInspector.performSearch): Check for short queries in the if statement that triggers the clear.
12:41 Changeset [37043] by mitz@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix typo noticed by Hyatt in review, which I forgot to fix before checking in.

12:38 Changeset [37042] by mitz@apple.com
  • 4 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and overlayLength parameters. (WebCore::EOTStream::read): Added code to overlay the the m_overlayLength bytes starting at m_overlayDst with the same number of bytes from m_overlaySrc. (WebCore::createFontCustomPlatformData): Changed to get overlay parameters from getEOTHeader.
  • platform/graphics/win/GetEOTHeader.cpp: (WebCore::getEOTHeader): Added code to specify overlaying of the family name with the prefix of the full name if they differ, because that such a difference causes TTLoadEmbeddedFont to fail.
  • platform/graphics/win/GetEOTHeader.h:
12:17 QtWebKitTodo edited by hausmann@webkit.org
(diff)
11:57 Changeset [37041] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-09-28 Simon Hausmann <hausmann@webkit.org>

Reviewed by David Hyatt.

Ensure the mainThreadIdentifier is set as well as other bits and pieces of
the threading machinery, by calling JSC::initializeThreading().

11:56 Changeset [37040] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-28 Simon Hausmann <hausmann@webkit.org>

Reviewed by David Hyatt.

In Qt's initializeThreading re-use an existing thread identifier for the main
thread if it exists.

currentThread() implicitly creates new identifiers and it could be that
it is called before initializeThreading().

11:48 QtWebKitGitInstructions edited by hausmann@webkit.org
Update to the current branch situation (diff)
11:43 QtWebKitTodo edited by hausmann@webkit.org
Cleanups and start of 4.5 plan (diff)
11:22 Changeset [37039] by ddkilzer@apple.com
  • 2 edits in trunk/WebKit/mac

Fix build warning in WebDefaultUIDelegate.m

Reviewed by Dan Bernstein.

This fixes a warning noticed by the clang static analyzer:
.../WebDefaultUIDelegate.m: In function ‘-[WebDefaultUIDelegate webViewFirstResponder:]’:
.../WebDefaultUIDelegate.m:92: warning: initialization from distinct Objective-C type

Note that this doesn't actually cause any change in behavior since
the gcc compiler ignores the semi-colon anyway.

  • DefaultDelegates/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webViewFirstResponder:]): Removed semi-colon from method signature.
06:23 Changeset [37038] by ap@webkit.org
  • 6 edits in trunk

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=20366
Reproducible test failure for editing/undo/undo-iframe-location-change.html

This does not fix the problem, but makes the test more predictable by using iframe onload.
Also, makes the test runnable in browser. Turns out that the test reliably fails there too,
even without any special steps needed in DRT.

  • editing/undo/undo-iframe-location-change-expected.txt:
  • editing/undo/undo-iframe-location-change.html:
  • ChangeLog-2007-10-14: Added bug URLs for a patch that included this test.

WebCore:

  • ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
02:35 Changeset [37037] by darin@apple.com
  • 28 edits in trunk/WebCore

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

Reviewed by Sam Weinig (except for a few comment and header tweaks).

Speeds up Dromaeo a bit less than 1%.

  • bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of Node.h now that some inlines are in there.
  • dom/Attr.h: Override both the virtual and non-virtual name functions.
  • dom/ChildNodeList.cpp: (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
  • dom/ChildNodeList.h: Ditto.
  • dom/ClassNodeList.cpp: (WebCore::ClassNodeList::nodeMatches): Ditto.
  • dom/ClassNodeList.h: Ditto.
  • dom/Document.h: Put the Node::isDocumentNode() function's inline definition here where it can see the Document class definition.
  • dom/DynamicNodeList.cpp: (WebCore::DynamicNodeList::length): Changed to pass an Element. (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto. (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto. (WebCore::DynamicNodeList::itemWithName): Ditto.
  • dom/DynamicNodeList.h: Ditto.
  • dom/Element.cpp: Removed virtualHasTagName.
  • dom/Element.h: Made localName, prefix, namespaceURI, and styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName, virtualNamespaceURI, and removed virtualHasTagName. Put the Node::hasTagName, Node::hasAttributes, and Node::attributes functions' inline definitions here where they can see the Element class definition.
  • dom/NameNodeList.cpp: (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
  • dom/NameNodeList.h: Ditto.
  • dom/Node.cpp: (WebCore::Node::virtualPrefix): Renamed from prefix. (WebCore::Node::virtualLocalName): Renamed from localName. (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI. (WebCore::Node::styleForRenderer): Handle the Element case here.
  • dom/Node.h: Removed definition of hasTagName that calls virtual, since we now have a non-virtual version. Made hasAttributes, attributes, remove, localName, namespaceURI, prefix, isDocumentNode, and styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName, and virtualNamespaceURI. Removed isMalformed and setMalformed, which are used only on HTMLFormElement objects.
  • dom/TagNodeList.cpp: (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
  • dom/TagNodeList.h: Ditto.
  • html/HTMLAnchorElement.cpp: Added a comment.
  • html/HTMLFormControlElement.cpp: Ditto.
  • html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex function. Marked tabIndex function virtual explicitly for clarity.
  • html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex function. Marked isFocusable function virtual explicitly for clarity.
  • html/HTMLElement.h: Marked tabIndex function virtual explicitly for clarity.
  • html/HTMLFormControlElement.h: Ditto.
  • html/HTMLFormElement.h: Made isMalformed non-virtual.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement pointer to call localName since that one does not need to call a virtual function.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before calling isMalformed. We already did a tag name check so we know it's an HTMLFormELement.
  • xml/XPathUtil.cpp: (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls to nodeType(), since it's a virtual function.
02:33 Changeset [37036] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/wx/MouseWheelEventWx.cpp

Fix wx bustage.

01:52 Changeset [37035] by hyatt@apple.com
  • 7 edits in trunk/WebCore

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

Make frameRectsChanged() cross-platform on ScrollView.

Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::frameRectsChanged):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
01:36 Changeset [37034] by oliver@apple.com
  • 2 edits in trunk/WebCore

Bug 21141: REGRESSION: Exception messages for user entered commands are poor
<https://bugs.webkit.org/show_bug.cgi?id=21141>

Reviewed by Maciej Stachowiak.

The bug repsonsible for this was the the JSInspectedObjectWrapper instances
were not initialising their StructureID's to indicate that the wrapper
overrides hasInstance, etc. The solution is simply to use the createStructureID
helper on JSQuarantinedObjectWrapper to create a correct StructureID.

01:30 Changeset [37033] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/webkit/webkitwebview.cpp

Fix GTK bustage.

01:29 Changeset [37032] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
terms of lines.

Reviewed by Oliver Hunt

  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchWheelEvent):
01:21 Changeset [37031] by hyatt@apple.com
  • 16 edits in trunk/WebCore

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

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

Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
on ScrollView to be cross-platform.

Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
events are now pixel wheel events.

Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
(1) Page scrolling has been corrected to be properly detected (on Windows
page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
you could page scroll horizontally.
(2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
This caused the scroll amount for page scrolling to be way too large on layers.

Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.

Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).

Reviewed by Oliver Hunt

  • editing/EditorCommand.cpp: (WebCore::verticalScrollDistance):
  • page/EventHandler.cpp: (WebCore::scrollAndAcceptEvent): (WebCore::EventHandler::handleWheelEvent):
  • platform/PlatformWheelEvent.h: (WebCore::): (WebCore::PlatformWheelEvent::pos): (WebCore::PlatformWheelEvent::globalPos): (WebCore::PlatformWheelEvent::deltaX): (WebCore::PlatformWheelEvent::deltaY): (WebCore::PlatformWheelEvent::granularity): (WebCore::PlatformWheelEvent::x): (WebCore::PlatformWheelEvent::globalX): (WebCore::PlatformWheelEvent::ignore): (WebCore::PlatformWheelEvent::horizontalLineMultiplier): (WebCore::PlatformWheelEvent::verticalLineMultiplier):
  • platform/ScrollView.cpp: (WebCore::ScrollView::wheelEvent):
  • platform/Scrollbar.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/gtk/WheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  • platform/mac/ScrollViewMac.mm:
  • platform/mac/WheelEventMac.mm: (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/qt/WheelEventQt.cpp:
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/win/WheelEventWin.cpp: (WebCore::PlatformWheelEvent::horizontalLineMultiplier): (WebCore::PlatformWheelEvent::verticalLineMultiplier): (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): (WebCore::ScrollView::wheelEvent):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateScrollInfoAfterLayout):

09/27/08:

22:38 Changeset [37030] by eric.carlson@apple.com
  • 5 edits in trunk/WebCore

2008-09-27 Eric Carlson <eric.carlson@apple.com>

Reviewed by Sam Weinig.

fix https://bugs.webkit.org/show_bug.cgi?id=20994
<rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned


HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
all unsigned media attributes from string with toUInt() instead of toInt().


  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::videoWidth): (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl. (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return unsigned value. (WebCore::HTMLVideoElement::height): Ditto. (WebCore::HTMLVideoElement::setWidth): take unsigned value. (WebCore::HTMLVideoElement::setHeight): Ditto.
  • html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
  • html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
21:59 Changeset [37029] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/mac/WheelEventMac.mm

Fix indentation error from bug 17589 fix made in WheelEventMac.mm

21:57 Changeset [37028] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/PlatformWheelEvent.h

It's SENSITIVE. SENSITIVE. Not SENSIBLE.

21:40 Changeset [37027] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes an exception when typing a command in the Console.

Reviewed by Oliver Hunt.

  • page/inspector/Console.js: (WebInspector.Console.prototype.addMessage): Null check this.previosMessage.
21:40 Changeset [37026] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a bug where the Profiles panel sidebar would be empty
after closing and reopening the Web Inspector.

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

Reviewed by Sam Weinig.

  • page/inspector/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.reset): Don't call populateInterface, it is called automatically. (WebInspector.ProfilesPanel.prototype._populateProfiles): Return early if the sidebar is already populated.
21:38 Changeset [37025] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Fix for line step being too small on Windows.

20:51 Changeset [37024] by hyatt@apple.com
  • 7 edits in trunk/WebCore

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

Make the scrollbarUnderMouse method cross-platform.

Reviewed by Sam Weinig

  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollbarUnderMouse):
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
18:50 Changeset [37023] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Gtk+ build fix.

18:49 Changeset [37022] by zecke@webkit.org
  • 5 edits in trunk

/
2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=20287
[Gtk] disable plugins for gtk/directfb target

Introduce WTF_PLATFORM_X11 for X11 builds.
Also use target-specific packages when building the port

  • configure.ac: Do not check for cairo-ft for directfb builds.

WebCore
2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=20287
[Gtk] disable plugins for gtk/directfb target

Introduce WTF_PLATFORM_X11 for X11 builds.
Also use target-specific packages when building the port

  • platform/gtk/PlatformScreenGtk.cpp:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::getValueStatic): (WebCore::PluginView::getValue): (WebCore::PluginView::init):
18:08 Changeset [37021] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebView.cpp

Missed WebKit single line change.

18:07 Changeset [37020] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.cpp

Oops. Checked in stale file.

18:07 Changeset [37019] by hyatt@apple.com
  • 12 edits in trunk/WebCore

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

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

Make scrollbar suppression and resizer avoidance cross-platform.

Reviewed by Anders

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::transitionToCommitted):
  • page/FrameView.cpp: (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::clear): (WebCore::FrameView::layout): (WebCore::FrameView::restoreScrollbar): (WebCore::FrameView::windowResizerRect):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::resizerOverlapsContent): (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount): (WebCore::ScrollView::setParent): (WebCore::ScrollView::setScrollbarsSuppressed): (WebCore::ScrollView::platformSetScrollbarsSuppressed):
  • platform/ScrollView.h: (WebCore::ScrollView::scrollbarsSuppressed): (WebCore::ScrollView::windowResizerRect):
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::setFrameRect): (WebCore::Scrollbar::setParent):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::paint):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::platformSetScrollbarsSuppressed): (WebCore::ScrollView::setScrollPosition):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::frameRectsChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::paint):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::paint):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16:58 Changeset [37018] by timothy@apple.com
  • 1 edit in trunk/LayoutTests/fast/dom/Window/window-properties-expected.txt

Update a layout test result to add console.trace.

16:46 Changeset [37017] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Anders Carlsson.

Compile fix.

  • plugins/PluginView.cpp: (WebCore::PluginView::load):
16:23 Changeset [37016] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html

Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.

Rubber-stamped by Sam Weinig.

  • loader/CachedResource.cpp:

(WebCore::CachedResource::~CachedResource):

15:56 Changeset [37015] by zecke@webkit.org
  • 2 edits in trunk

2008-09-27 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=21174
[GTK][AUTOTOOLS] Enable large file support at configure time

  • configure.ac: Enable large file support with AC_SYS_LARGEFILE.
15:46 Changeset [37014] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[qt] Use QImageReader to figure out which image formats are supported

  • Qt can have many different plugins for different image formats. Instead of checking only for a few in WebCore use Qt to determine if this data can be treated as an image.
15:45 Changeset [37013] by zecke@webkit.org
  • 3 edits in trunk/WebCore

[qt] Clean the pattern code

  • Use save/restore on the painter after manipulating the pen/brush
  • Make the context and object null checking consistent. CG is using the object unconditionally so the Qt webkit platform can do the same.
  • Move code below the early exit. Only use the m_ownerElement before the early exit as the CG code is doing it.
15:18 Changeset [37012] by timothy@apple.com
  • 8 edits in trunk

Added support for console.trace.

JavaScriptCore:

2008-09-27 Keishi Hattori <casey.hattori@gmail.com>

Added Machine::retrieveCaller to the export list.

Reviewed by Kevin McCullough and Tim Hatcher.

WebCore:

2008-09-27 Keishi Hattori <casey.hattori@gmail.com>

Added support for console.trace.

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

Reviewed by Kevin McCullough and Tim Hatcher.

  • bindings/js/JSConsoleCustom.cpp: (WebCore::JSConsole::trace):
  • page/Console.cpp: (WebCore::Console::trace): Calls Machine::retrieveCaller to get a stack trace.
  • page/Console.h: (WebCore::): Added TraceMessageLevel.
  • page/Console.idl: Added console.trace.
  • page/inspector/Console.js: (ConsoleMessage): Added case for TraceMessageLevel.
15:18 Changeset [37011] by hyatt@apple.com
  • 2 edits in trunk/WebKit/mac

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

Fix for https://bugs.webkit.org/show_bug.cgi?id=21182

Make sure Mac null checks the view like the other platforms do now that Mac goes through WebCore
to call setAllowsScrolling.

Reviewed by Mark Rowe

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createFrame):
15:15 Changeset [37010] by hyatt@apple.com
  • 5 edits in trunk/WebKit

WebKit/qt:

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

Forgot to land renaming changes in WebKit.

  • Api/qwebframe.cpp: (QWebFrame::render): (QWebFrame::pos): (QWebFrame::geometry):
  • Api/qwebpage.cpp: (QWebPage::viewportSize): (QWebPage::setViewportSize):

WebKit/win:

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

Land the frameGeometry->frameRect changes that I forgot to land in WebKit.

  • Interfaces/IWebScrollBarPrivate.idl:
  • WebCoreSupport/EmbeddedWidget.cpp: (EmbeddedWidget::setFrameRect): (EmbeddedWidget::frameRectsChanged):
  • WebCoreSupport/EmbeddedWidget.h:
  • WebScrollBar.cpp: (WebScrollBar::setRect): (WebScrollBar::frameRect):
  • WebScrollBar.h:
14:30 Changeset [37009] by mitz@apple.com
  • 1 edit
    2 moves in trunk/LayoutTests

Rubber-stamped by Sam Weinig.

  • fix typo in test name
  • media/video-click-dblckick-standalone-expected.txt: Copied from media/video-click-dlbclick-standalone-expected.txt.
  • media/video-click-dblckick-standalone.html: Copied from media/video-click-dlbclick-standalone.html.
  • media/video-click-dlbclick-standalone-expected.txt: Removed.
  • media/video-click-dlbclick-standalone.html: Removed.
14:28 Changeset [37008] by andersca@apple.com
  • 7 edits
    2 adds in trunk

WebCore:

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

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21178
<rdar://problem/6248651>

Check if the plug-in is allowed to load the resource. This matches Firefox.

Test: http/tests/plugins/local-geturl-from-remote.html

  • plugins/PluginView.cpp: (WebCore::PluginView::load):

WebKit/mac:

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

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21178
<rdar://problem/6248651>

Check if the plug-in is allowed to load the resource. This matches Firefox.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):

WebKitTools:

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

Reviewed by Sam Weinig.


https://bugs.webkit.org/show_bug.cgi?id=21178
<rdar://problem/6248651>


Return the result value from getURL.


  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (getURL):

LayoutTests:

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

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21178
<rdar://problem/6248651>


Add tests.


  • http/tests/plugins/local-geturl-from-remote-expected.txt: Added.
  • http/tests/plugins/local-geturl-from-remote.html: Added.
14:13 Changeset [37007] by andersca@apple.com
  • 4 edits in trunk/WebKit/win

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

Fix build.

  • WebCoreSupport/EmbeddedWidget.cpp: (EmbeddedWidget::setFrameRect): (EmbeddedWidget::frameRectsChanged):
  • WebCoreSupport/EmbeddedWidget.h:
  • WebScrollBar.cpp: (WebScrollBar::setRect): (WebScrollBar::frameGeometry):
14:06 Changeset [37006] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-09-22 Dirk Schulze <vbs85@gmx.de>

Reviewed by Eric Seidel.

Added SVG pattern support to Qt.

[Qt] SVG patterns are missing
https://bugs.webkit.org/show_bug.cgi?id=20973

  • svg/graphics/qt/SVGPaintServerPatternQt.cpp: (WebCore::SVGPaintServerPattern::setup):
13:18 Changeset [37005] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixed a bug in the JS syntax highlighter with multiple line tokens.

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

Reviewed by Tim Hatcher.

  • page/inspector/SourceFrame.js: (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
13:18 Changeset [37004] by timothy@apple.com
  • 2 edits in trunk/WebCore

Change searching in the Profiles panel to not match the
Self and Total columns when there are no units. The only
column that is matched for unitless number searches is
now the Calls column.

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

Reviewed by Sam Weinig.

  • page/inspector/ProfileView.js: (WebInspector.ProfileView.prototype.performSearch):
12:56 Changeset [37003] by hyatt@apple.com
  • 11 edits in trunk/WebCore

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

Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.

Reviewed by Sam Weinig

  • platform/ScrollView.h:
  • platform/Widget.h: (WebCore::Widget::boundsRect): (WebCore::Widget::invalidate): (WebCore::Widget::frameRectsChanged):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollViewScrollbar::frameRectsChanged): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::frameRectsChanged):
  • platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::setFrameRect): (ScrollbarGtk::frameRectsChanged):
  • platform/gtk/ScrollbarGtk.h:
  • platform/gtk/WidgetGtk.cpp:
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::frameRectsChanged): (WebCore::ScrollView::updateScrollbars):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::frameRectsChanged):
  • plugins/PluginView.cpp: (WebCore::PluginView::frameRectsChanged):
  • plugins/PluginView.h:
12:49 Changeset [37002] by hausmann@webkit.org
  • 3 edits in trunk/WebCore

2008-09-27 Simon Hausmann <hausmann@webkit.org>

Refix the previous build fix to compile on non-Qt platforms, too.

12:15 Changeset [37001] by hausmann@webkit.org
  • 6 edits in trunk/WebCore

2008-09-27 Simon Hausmann <hausmann@webkit.org>

Fix compilation with gcc 4.3 (probably > 4.0)

11:32 Changeset [37000] by hausmann@webkit.org
  • 3 edits in trunk/WebKit/qt

2008-09-27 Simon Hausmann <hausmann@webkit.org>

Qt build fix - use frameRect instead of frameGeometry, adapt
to renamed scrollbar frameview methods.

10:41 Changeset [36999] by andersca@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Fix build.

  • VM/CTI.cpp: (JSC::):
10:20 Changeset [36998] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Added bug #

10:19 Changeset [36997] by ggaren@apple.com
  • 6 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.


Store the callee CodeBlock, not the caller CodeBlock, in the call frame
header. Nix the "codeBlock" local variable, and access the callee
CodeBlock through the call frame header instead.


Profit: call + return are simpler, because they don't have to update the
"codeBlock" local variable.


Because CTI keeps "r" in a register, reading the callee CodeBlock relative
to "r" can be very fast, in any cases we care to optimize. Presently,
no such cases seem important.


Also, stop writing "dst" to the call frame header. CTI doesn't use it.


21.6% speedup on empty function call benchmark.
3.8% speedup on SunSpider --v8.
2.1% speedup on v8 benchmark.
0.7% speedup on SunSpider (6% speedup on controlflow-recursive).


Small regression in bytecode, because currently every op_ret reads the
callee CodeBlock to check needsFullScopeChain, and bytecode does not
keep "r" in a register. On-balance, this is probably OK, since CTI is
our high-performance execution model. Also, this should go away once
we make needsFullScopeChain statically determinable at parse time.

  • VM/CTI.cpp: (JSC::CTI::compileOpCall): The speedup! (JSC::CTI::privateCompileSlowCases): ditto
  • VM/CTI.h: (JSC::): Fixed up magic trampoline constants to account for the nixed "codeBlock" argument. (JSC::CTI::execute): Changed trampoline function not to take a "codeBlock" argument, since codeBlock is now stored in the call frame header.


  • VM/Machine.cpp: Read the callee CodeBlock from the register file. Use a NULL CallerRegisters in the call frame header to signal a built-in caller, since CodeBlock is now never NULL.
  • VM/Machine.h: Made some stand-alone functions Machine member functions so they could call the private codeBlock() accessor in the Register class, of which Machine is a friend. Renamed "CallerCodeBlock" to "CodeBlock", since it's no longer the caller's CodeBlock.
  • VM/RegisterFile.h: Marked some methods const to accommodate a const RegisterFile* being passed around in Machine.cpp.
01:23 Changeset [36996] by jmalonzo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Qt build fix - rename frameGeometry to frameRect per r36995.

  • Api/qwebframe.cpp: (QWebFrame::render): (QWebFrame::pos): (QWebFrame::geometry):
01:01 Changeset [36995] by hyatt@apple.com
  • 31 edits in trunk/WebCore

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

Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.

Reviewed by Dan Bernstein

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::updateControlTints):
  • platform/ScrollView.h:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::Scrollbar): (WebCore::Scrollbar::paint): (WebCore::Scrollbar::setFrameRect):
  • platform/Scrollbar.h:
  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint):
  • platform/Widget.h: (WebCore::Widget::x): (WebCore::Widget::y): (WebCore::Widget::width): (WebCore::Widget::height): (WebCore::Widget::size): (WebCore::Widget::pos): (WebCore::Widget::resize): (WebCore::Widget::move):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollViewScrollbar::geometryChanged): (WebCore::ScrollView::update): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint):
  • platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::setFrameRect): (ScrollbarGtk::geometryChanged):
  • platform/gtk/ScrollbarGtk.h:
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::trackRect): (WebCore::ScrollbarThemeMac::paint):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint):
  • platform/qt/ScrollbarThemeQt.cpp: (WebCore::styleOptionSlider):
  • platform/qt/WidgetQt.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::invalidateItem): (WebCore::PopupMenu::valueChanged): (WebCore::PopupWndProc):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint):
  • platform/win/ScrollbarThemeSafari.cpp: (WebCore::ScrollbarThemeSafari::trackRect):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • plugins/PluginView.cpp: (WebCore::PluginView::setFrameRect):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::paint): (WebCore::PluginView::init):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::init):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::paintMissingPluginIcon): (WebCore::PluginView::paint): (WebCore::PluginView::init):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::positionOverflowControls):
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintScrollbar):
  • rendering/RenderPart.cpp: (WebCore::RenderPart::updateWidgetPosition):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): (WebCore::RenderWidget::updateWidgetPosition):
00:51 Changeset [36994] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/wx/ScrollViewWx.cpp

Fix wx bustage.

00:43 Changeset [36993] by hyatt@apple.com
  • 1 edit in trunk/WebCore/page/FocusController.cpp
00:43 Changeset [36992] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

<rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF

This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
access an actual member variable.

Reviewed by Dan Bernstein

  • page/FocusController.cpp: (WebCore::FocusController::setFocusedFrame):
00:38 Changeset [36991] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Attempt to fix QT Build. Not reviewed.

  • WebCore.pro: add -n WebCore parameter to create_hash_table

09/26/08:

23:48 Changeset [36990] by jmalonzo@webkit.org
  • 3 edits in trunk/WebCore

2008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>

Reviewed by Eric Seidel.

http://bugs.webkit.org/show_bug.cgi?id=18905
[GTK] Fix build with older pango (1.14.8)

  • platform/graphics/gtk/FontGtk.cpp:
  • platform/gtk/Language.cpp: (_pango_get_lc_ctype): (pango_language_get_default):
23:36 Changeset [36989] by jmalonzo@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-26 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix. Not reviewed.

Narrow-down the target of the JavaScriptCore .lut.h generator so
it won't try to create the WebCore .lut.hs.

  • GNUmakefile.am:
23:23 Changeset [36988] by hyatt@apple.com
  • 8 edits in trunk/WebCore

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

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

Make contentsToWindow/windowToContents cross-platform.

Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::windowToContents): (WebCore::ScrollView::contentsToWindow):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
23:15 Changeset [36987] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

GTK build fix.

  • GNUmakefile.am:
22:47 Changeset [36986] by pewtermoose@webkit.org
  • 6 edits in trunk

JavaScriptCore:

2008-09-26 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.

  • Configurations/JavaScriptCore.xcconfig:

WebKit/mac:

2008-09-26 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.

  • Configurations/WebKit.xcconfig:

WebKitTools:

2008-09-26 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.

  • Scripts/build-webkit:
22:26 Changeset [36985] by hyatt@apple.com
  • 10 edits in trunk/WebCore

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

Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.

Reviewed by Oliver Hunt

  • page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle):
  • page/FrameView.h:
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::isOffscreen):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::updateContents): (WebCore::ScrollView::isOffscreen):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::isOffscreen):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::isOffscreen):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::isOffscreen):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::willRenderImage):
22:24 Changeset [36984] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.h

Fix WIndows bustage.

21:44 Changeset [36983] by hyatt@apple.com
  • 3 edits in trunk/LayoutTests/platform/mac/editing/selection

Land new result.

21:43 Changeset [36982] by hyatt@apple.com
  • 16 edits in trunk

WebCore:

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

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

Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::setAllowsScrolling):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::setAllowsScrolling):
  • platform/ScrollView.h: (WebCore::ScrollView::allowsScrolling):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::wheelEvent):

WebKit/mac:

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

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

Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createFrame):
  • WebView/WebDynamicScrollBarsView.h:
  • WebView/WebDynamicScrollBarsView.m:
  • WebView/WebDynamicScrollBarsViewInternal.h:
  • WebView/WebFrameView.mm: (-[WebFrameView setAllowsScrolling:]): (-[WebFrameView allowsScrolling]):
20:23 Changeset [36981] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-26 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Anders Carlson.

Change the name 'sc' to 'scopeChainNode' in a few places.

  • kjs/nodes.cpp: (JSC::EvalNode::generateCode): (JSC::FunctionBodyNode::generateCode): (JSC::ProgramNode::generateCode):
20:22 Changeset [36980] by kevino@webkit.org
  • 7 edits in trunk

wx build fixes after Widget/ScrollView changes.

19:44 Changeset [36979] by timothy@apple.com
  • 1 edit
    2 adds in trunk/WebKitSite

Add screenshots of searching in the Web Inspector.

Not reviewed.

  • blog-files/inspector-searching-elements.png: Added.
  • blog-files/inspector-searching-profiles.png: Added.
19:44 Changeset [36978] by timothy@apple.com
  • 2 edits in trunk/WebCore

Allow searching for paths by always performing the
three search methods in the Elements panel and not
assume a search with a "/" is a XPath query.

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

Reviewed by Geoff Garen.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.performSearch):
19:36 Changeset [36977] by weinig@apple.com
  • 36 edits in trunk

JavaScriptCore:

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

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
Speedup static property get/put

Convert getting/setting static property values to use static functions
instead of storing an integer and switching in getValueProperty/putValueProperty.

  • kjs/JSObject.cpp: (JSC::JSObject::deleteProperty): (JSC::JSObject::getPropertyAttributes):
  • kjs/MathObject.cpp: (JSC::MathObject::getOwnPropertySlot):
  • kjs/NumberConstructor.cpp: (JSC::numberConstructorNaNValue): (JSC::numberConstructorNegInfinity): (JSC::numberConstructorPosInfinity): (JSC::numberConstructorMaxValue): (JSC::numberConstructorMinValue):
  • kjs/PropertySlot.h: (JSC::PropertySlot::):
  • kjs/RegExpConstructor.cpp: (JSC::regExpConstructorDollar1): (JSC::regExpConstructorDollar2): (JSC::regExpConstructorDollar3): (JSC::regExpConstructorDollar4): (JSC::regExpConstructorDollar5): (JSC::regExpConstructorDollar6): (JSC::regExpConstructorDollar7): (JSC::regExpConstructorDollar8): (JSC::regExpConstructorDollar9): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::RegExpConstructor::setInput): (JSC::RegExpConstructor::setMultiline): (JSC::RegExpConstructor::multiline):
  • kjs/RegExpConstructor.h:
  • kjs/RegExpObject.cpp: (JSC::regExpObjectGlobal): (JSC::regExpObjectIgnoreCase): (JSC::regExpObjectMultiline): (JSC::regExpObjectSource): (JSC::regExpObjectLastIndex): (JSC::setRegExpObjectLastIndex):
  • kjs/RegExpObject.h: (JSC::RegExpObject::setLastIndex): (JSC::RegExpObject::lastIndex): (JSC::RegExpObject::RegExpObjectData::RegExpObjectData):
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames):
  • kjs/create_hash_table:
  • kjs/lexer.cpp: (JSC::Lexer::lex):
  • kjs/lookup.cpp: (JSC::HashTable::createTable): (JSC::HashTable::deleteTable): (JSC::setUpStaticFunctionSlot):
  • kjs/lookup.h: (JSC::HashEntry::initialize): (JSC::HashEntry::setKey): (JSC::HashEntry::key): (JSC::HashEntry::attributes): (JSC::HashEntry::function): (JSC::HashEntry::functionLength): (JSC::HashEntry::propertyGetter): (JSC::HashEntry::propertyPutter): (JSC::HashEntry::lexerValue): (JSC::HashEntry::): (JSC::HashTable::entry): (JSC::getStaticPropertySlot): (JSC::getStaticValueSlot): (JSC::lookupPut):

WebCore:

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

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
Speedup static property get/put

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMBinding.cpp:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::getDOMConstructor): (WebCore::jsDOMWindowBaseCrypto): (WebCore::jsDOMWindowBaseEvent): (WebCore::jsDOMWindowBaseImage): (WebCore::jsDOMWindowBaseMessageChannel): (WebCore::jsDOMWindowBaseOption): (WebCore::jsDOMWindowBaseXMLHttpRequest): (WebCore::jsDOMWindowBaseAudio): (WebCore::jsDOMWindowBaseXSLTProcessor): (WebCore::jsDOMWindowBaseOnabort): (WebCore::jsDOMWindowBaseOnblur): (WebCore::jsDOMWindowBaseOnchange): (WebCore::jsDOMWindowBaseOnclick): (WebCore::jsDOMWindowBaseOndblclick): (WebCore::jsDOMWindowBaseOnerror): (WebCore::jsDOMWindowBaseOnfocus): (WebCore::jsDOMWindowBaseOnkeydown): (WebCore::jsDOMWindowBaseOnkeypress): (WebCore::jsDOMWindowBaseOnkeyup): (WebCore::jsDOMWindowBaseOnload): (WebCore::jsDOMWindowBaseOnmousedown): (WebCore::jsDOMWindowBaseOnmousemove): (WebCore::jsDOMWindowBaseOnmouseout): (WebCore::jsDOMWindowBaseOnmouseover): (WebCore::jsDOMWindowBaseOnmouseup): (WebCore::jsDOMWindowBaseOnMouseWheel): (WebCore::jsDOMWindowBaseOnreset): (WebCore::jsDOMWindowBaseOnresize): (WebCore::jsDOMWindowBaseOnscroll): (WebCore::jsDOMWindowBaseOnsearch): (WebCore::jsDOMWindowBaseOnselect): (WebCore::jsDOMWindowBaseOnsubmit): (WebCore::jsDOMWindowBaseOnbeforeunload): (WebCore::jsDOMWindowBaseOnunload): (WebCore::jsDOMWindowBaseOnWebKitAnimationStart): (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration): (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd): (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd): (WebCore::JSDOMWindowBase::getOwnPropertySlot): (WebCore::JSDOMWindowBase::put): (WebCore::setJSDOMWindowBaseOnabort): (WebCore::setJSDOMWindowBaseOnblur): (WebCore::setJSDOMWindowBaseOnchange): (WebCore::setJSDOMWindowBaseOnclick): (WebCore::setJSDOMWindowBaseOndblclick): (WebCore::setJSDOMWindowBaseOnerror): (WebCore::setJSDOMWindowBaseOnfocus): (WebCore::setJSDOMWindowBaseOnkeydown): (WebCore::setJSDOMWindowBaseOnkeypress): (WebCore::setJSDOMWindowBaseOnkeyup): (WebCore::setJSDOMWindowBaseOnload): (WebCore::setJSDOMWindowBaseOnmousedown): (WebCore::setJSDOMWindowBaseOnmousemove): (WebCore::setJSDOMWindowBaseOnmouseout): (WebCore::setJSDOMWindowBaseOnmouseover): (WebCore::setJSDOMWindowBaseOnmouseup): (WebCore::setJSDOMWindowBaseOnMouseWheel): (WebCore::setJSDOMWindowBaseOnreset): (WebCore::setJSDOMWindowBaseOnresize): (WebCore::setJSDOMWindowBaseOnscroll): (WebCore::setJSDOMWindowBaseOnsearch): (WebCore::setJSDOMWindowBaseOnselect): (WebCore::setJSDOMWindowBaseOnsubmit): (WebCore::setJSDOMWindowBaseOnbeforeunload): (WebCore::setJSDOMWindowBaseOnunload): (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart): (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration): (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd): (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd): (WebCore::setJSDOMWindowBaseEvent): (WebCore::setJSDOMWindowBaseAudio): (WebCore::setJSDOMWindowBaseImage): (WebCore::setJSDOMWindowBaseMessageChannel): (WebCore::setJSDOMWindowBaseOption): (WebCore::setJSDOMWindowBaseXMLHttpRequest): (WebCore::setJSDOMWindowBaseXSLTProcessor):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::nonCachingStaticCloseFunctionGetter): (WebCore::nonCachingStaticBlurFunctionGetter): (WebCore::nonCachingStaticFocusFunctionGetter): (WebCore::nonCachingStaticPostMessageFunctionGetter):
  • bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  • bindings/js/JSEventTargetBase.cpp:
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): (WebCore::JSEventTargetBasePrototype::classInfo):
  • bindings/js/JSEventTargetNode.cpp: (WebCore::): (WebCore::JSEventTargetNode::getOwnPropertySlot): (WebCore::JSEventTargetNode::put):
  • bindings/js/JSEventTargetNode.h: (WebCore::JSEventTargetNode::classInfo): (WebCore::JSEventTargetNode::prototypeClassName):
  • bindings/js/JSEventTargetSVGElementInstance.cpp: (WebCore::): (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot): (WebCore::JSEventTargetSVGElementInstance::put):
  • bindings/js/JSEventTargetSVGElementInstance.h: (WebCore::JSEventTargetSVGElementInstance::classInfo): (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
  • bindings/js/JSHTMLInputElementCustom.cpp: (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
  • bindings/js/JSHistoryCustom.cpp: (WebCore::nonCachingStaticBackFunctionGetter): (WebCore::nonCachingStaticForwardFunctionGetter): (WebCore::nonCachingStaticGoFunctionGetter): (WebCore::JSHistory::customGetOwnPropertySlot):
  • bindings/js/JSLocationCustom.cpp: (WebCore::nonCachingStaticReplaceFunctionGetter): (WebCore::nonCachingStaticReloadFunctionGetter): (WebCore::nonCachingStaticAssignFunctionGetter): (WebCore::JSLocation::customGetOwnPropertySlot): (WebCore::JSLocation::customPut):
  • bindings/scripts/CodeGeneratorJS.pm:
18:44 Changeset [36976] by barraclough@apple.com
  • 12 edits
    1 add in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak & Oliver Hunt.

Add support for reusing temporary JSNumberCells. This change is based on the observation
that if the result of certain operations is a JSNumberCell and is consumed by a subsequent
operation that would produce a JSNumberCell, we can reuse the object rather than allocating
a fresh one. E.g. given the expression ((a * b) * c), we can statically determine that
(a * b) will have a numeric result (or else it will have thrown an exception), so the result
will either be a JSNumberCell or a JSImmediate.

This patch changes three areas of JSC:

  • The AST now tracks type information about the result of each node.
  • This information is consumed in bytecode compilation, and certain bytecode operations now carry the statically determined type information about their operands.
  • CTI uses the information in a number of fashions:
    • Where an operand to certain arithmetic operations is reusable, it will plant code to try to perform the operation in JIT code & reuse the cell, where appropriate.
    • Where it can be statically determined that an operand can only be numeric (typically the result of another arithmetic operation) the code will not redundantly check that the JSCell is a JSNumberCell.
    • Where either of the operands to an add are non-numeric do not plant an optimized arithmetic code path, just call straight out to the C function.

+6% Sunspider (10% progression on 3D, 16% progression on math, 60% progression on access-nbody),
+1% v8-tests (improvements in raytrace & crypto)

  • VM/CTI.cpp: Add optimized code generation with reuse of temporary JSNumberCells.
  • VM/CTI.h:
  • kjs/JSNumberCell.h:
  • masm/X86Assembler.h:
  • VM/CodeBlock.cpp: Add type information to specific bytecodes.
  • VM/CodeGenerator.cpp:
  • VM/CodeGenerator.h:
  • VM/Machine.cpp:
  • kjs/nodes.cpp: Track static type information for nodes.
  • kjs/nodes.h:
  • kjs/ResultDescriptor.h: (Added)
  • JavaScriptCore.xcodeproj/project.pbxproj:
16:01 Changeset [36975] by alice.liu@apple.com
  • 2 edits in trunk/WebKitTools

2008-09-26 Alice Liu <alice.liu@apple.com>

Remove usage of atlstr.h and CString for VCExpress compatibility

Reviewed by Stephanie Lewis.

  • record-memory-win/main.cpp: (ProcessArgs): (UseImage): (QueryContinuously): (OneQuery): (OneQueryMP):
15:45 Changeset [36974] by staikos@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-26 Yichao Yin <yichao.yin@torchmobile.com.cn>

Reviewed by George Staikos, Maciej Stachowiak.

Add utility functions needed for upcoming WML code.

  • wtf/ASCIICType.h: (WTF::isASCIIPrintable):
15:43 Changeset [36973] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Darin Adler.


Reverted the part of r36614 that used static data because static data
is not thread-safe.

15:40 Changeset [36972] by ggaren@apple.com
  • 8 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.


Removed dynamic check for whether the callee needs an activation object.
Replaced with callee code to create the activation object.

0.5% speedup on SunSpider.
No change on v8 benchmark. (Might be a speedup, but it's in range of the
variance.)

0.7% speedup on v8 benchmark in bytecode.
1.3% speedup on empty call benchmark in bytecode.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): Added support for op_init_activation, the new opcode that specifies that the callee's initialization should create an activation object. (JSC::CTI::privateCompile): Removed previous code that did a similar thing in an ad-hoc way.
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump): Added a case for dumping op_init_activation.
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::generate): Added fixup code to change op_init to op_init_activation if necessary. (With a better parser, we would know which to use from the beginning.)
  • VM/Instruction.h: (JSC::Instruction::Instruction): (WTF::): Faster traits for the instruction vector. An earlier version of this patch relied on inserting at the beginning of the vector, and depended on this change for speed.
  • VM/Machine.cpp: (JSC::Machine::execute): Removed clients of setScopeChain, the old abstraction for dynamically checking for whether an activation object needed to be created. (JSC::Machine::privateExecute): ditto

(JSC::Machine::cti_op_push_activation): Renamed this function from
cti_vm_updateScopeChain, and made it faster by removing the call to
setScopeChain.

  • VM/Machine.h:
  • VM/Opcode.h: Declared op_init_activation.
14:57 Changeset [36971] by hyatt@apple.com
  • 3 edits in trunk/WebKit/win

fix Win bustage.

14:53 Changeset [36970] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp

fix Win bustage.

14:45 Changeset [36969] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollViewWin.cpp

Fix Win bustage.

14:35 Changeset [36968] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/Api/qwebframe.cpp

Fix Qt bustage.

14:35 Changeset [36967] by kevino@webkit.org
  • 2 edits in trunk/WebKitTools

wx build fix. Update the version of libpng.

14:22 Changeset [36966] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Fix Qt bustage.

14:19 Changeset [36965] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

14:00 Changeset [36964] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix gtk bustage.

13:54 Changeset [36963] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp

Fix gtk bustage.

13:49 Changeset [36962] by hyatt@apple.com
  • 17 edits in trunk

WebCore:

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

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

Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
Eliminate the unused isScrollable() method.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::initScrollbars): (WebCore::FrameView::layout):
  • page/FrameView.h:
  • page/mac/WebCoreFrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::setScrollbarModes): (WebCore::ScrollView::scrollbarModes): (WebCore::ScrollView::platformSetScrollbarModes): (WebCore::ScrollView::platformScrollbarModes):
  • platform/ScrollView.h: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar): (WebCore::ScrollView::isScrollViewScrollbar): (WebCore::ScrollView::setHorizontalScrollbarMode): (WebCore::ScrollView::setVerticalScrollbarMode): (WebCore::ScrollView::horizontalScrollbarMode): (WebCore::ScrollView::verticalScrollbarMode): (WebCore::ScrollView::convertSelfToChild):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::isScrollViewScrollbar): (WebCore::ScrollView::paint): (WebCore::ScrollView::scroll):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformSetScrollbarModes): (WebCore::ScrollView::platformScrollbarModes):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar): (WebCore::ScrollView::invalidateScrollbars): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint): (WebCore::ScrollView::scroll):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling): (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling): (WebCore::ScrollView::suppressScrollbars): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint): (WebCore::ScrollView::scroll):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetScrollbarModes): (WebCore::ScrollView::platformScrollbarModes):

WebKit/mac:

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

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

More refactoring to make scrollbar modes cross-platform. Reduce the protocol that
WebDynamicScrollBarsView has to implement for communicating with WebCore to just three methods.

Reviewed by Sam Weinig

  • WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]): (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
  • WebView/WebDynamicScrollBarsViewInternal.h:
  • WebView/WebFrameView.mm: (-[WebFrameView setAllowsScrolling:]):
  • WebView/WebView.mm: (-[WebView setAlwaysShowVerticalScroller:]): (-[WebView setAlwaysShowHorizontalScroller:]):
13:47 Changeset [36961] by ddkilzer@apple.com
  • 7 edits in trunk

Fix Mac build with XPATH and XSLT disabled

WebCore:

Fix Mac build with XPATH and XSLT disabled

Reviewed by Alexey.

  • bindings/objc/DOMUtility.mm: (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to prevent an unused code warning.

WebKit/mac:

Fix Mac build with XSLT disabled

Reviewed by Alexey.

  • Misc/WebCache.mm: (+[WebCache statistics]): Populate xslStyleSheet statistics with zeros if XSLT is disabled.

WebKit/win:

Speculative Windows build fix with XSLT disabled

Reviewed by Alexey.

  • WebCache.cpp: (WebCache::statistics): Populate xslStyleSheet statistics with zeros if XSLT is disabled.
10:57 Changeset [36960] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-09-26 Kevin McCullough <kmccullough@apple.com>

Rubber stamped by Tim Hatcher.

Bug 21098: Crashing under Console::log

  • Speculative ASSERT to help find the problem.
  • page/InspectorController.cpp: (WebCore::ConsoleMessage::isEqual):
10:56 Changeset [36959] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[gtk+] Build fix for the latest ScrollView changes

10:27 Changeset [36958] by timothy@apple.com
  • 3 edits in trunk/WebCore

Fixes a bug where the console message repeat count would be wrong
when typing commands in between repeated messages.

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

Reviewed by Kevin McCullough.

  • page/InspectorController.cpp: (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel. (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
  • page/inspector/Console.js: (WebInspector.Console.prototype.addMessage): Remember the original repeat count for each message as totalRepeatCount, since we now modify repeatCount to mean repeats since previous console command. If repeatCountBeforeCommand is a number, subtract that value from the repeatCount. (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand and commandSincePreviousMessage properties.
10:26 Changeset [36957] by eric.carlson@apple.com
  • 17 edits in trunk/WebCore

2008-09-26 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti

https://bugs.webkit.org/show_bug.cgi?id=21116
<rdar://problem/5726325> Audio from <video> can still be heard after navigating
back to page with <video>, then closing tab

Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
deletion.

  • dom/Document.cpp: (WebCore::Document::documentWillBecomeInactive): (WebCore::Document::documentDidBecomeActive): (WebCore::Document::registerForDocumentActivationCallbacks): (WebCore::Document::unregisterForDocumentActivationCallbacks):
  • dom/Document.h:
  • dom/Element.h: (WebCore::Element::documentWillBecomeInactive): (WebCore::Element::documentDidBecomeActive):
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage):
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::~HTMLFormElement): (WebCore::HTMLFormElement::parseMappedAttribute): (WebCore::HTMLFormElement::documentDidBecomeActive): (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
  • html/HTMLFormElement.h:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement): (WebCore::HTMLInputElement::setInputType): (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::needsActivationCallback): (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded): (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded): (WebCore::HTMLInputElement::documentDidBecomeActive): (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
  • html/HTMLInputElement.h:
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): (WebCore::HTMLMediaElement::~HTMLMediaElement): (WebCore::HTMLMediaElement::documentWillBecomeInactive): (WebCore::HTMLMediaElement::documentDidBecomeActive):
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::inActiveDocument):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::opened):
  • page/Page.cpp: (WebCore::Page::~Page):
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControls):
  • rendering/RenderVideo.cpp: (WebCore::RenderVideo::updatePlayer):
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::~SVGSVGElement): (WebCore::SVGSVGElement::documentWillBecomeInactive): (WebCore::SVGSVGElement::documentDidBecomeActive):
  • svg/SVGSVGElement.h:
09:30 Changeset [36956] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon

Fix the build inside Qt, don't create faulty prl files for now.

06:17 Changeset [36955] by hausmann@webkit.org
  • 4 edits in trunk/WebCore

2008-09-26 Simon Hausmann <hausmann@webkit.org>

Fix compilation on Qt/Windows

  • Add WebCore/ to the include path so that config.h is found that enables JSC
  • Link against winmm for the multimedia timer functions
  • Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/ subdirectory
  • In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port but set m_window directly as setPlatformWidget takes a QWidget*.
04:53 Changeset [36954] by oliver@apple.com
  • 14 edits
    6 adds in trunk

Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
<https://bugs.webkit.org/show_bug.cgi?id=21054>

Reviewed by Maciej Stachowiak

This performance regression is actually just a symptom of a correctness
bug. The constructor objects for a number of properties that have security
checks on access were returning new objects each time. The most obvious
symptom of this bug is that window.Image != window.Image, etc.

The solution to this is to make sure we cache these constructors
in the same way as all the other DOM constructors. To achieve this
without causing any refcount cycles it is necessary to replace the
refcounted document pointer in the Image, MessageChannel, Option,
XMLHttpRequest, and Audio constructor objects with a reference to
the document's JS wrapper.

Tests: fast/dom/constructors-cached-navigate.html

fast/dom/constructors-cached.html

03:55 Changeset [36953] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-09-26 Simon Hausmann <hausmann@webkit.org>

Unreviewed one-liner build fix for the Qt/Windows build.

The build requires NPAPI support to be enabled, fix the condition in
the .pro file for that.

03:51 Changeset [36952] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-09-26 Trenton Schulz <twschulz@trolltech.com>

Reviewed by Simon.

Fix compilation with the Qt/Cocoa port.

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

2008-09-26 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

Fix compilation with VC9SP1, work around bug in TR1 library by
disabling it.

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

2008-09-26 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

Fix an lupdate() warning.

Don't use tr() in a class that is not a QObject, use
QCoreApplication::translate() directly.

02:36 Changeset [36949] by hausmann@webkit.org
  • 3 edits in trunk/WebKit/qt

2008-09-26 Ariya Hidayat <ahidayat@trolltech.com>

Reviewed by Simon.

Fixed potential crash when deleting QWebView instance.

When deleting the view, sets the page's view to NULL.
The reason is that the page is smart and its destructor might lead to a call
that operates on a view (which is in the process of being deleted).

02:36 Changeset [36948] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-09-26 Ariya Hidayat <ahidayat@trolltech.com>

Reviewed by Simon.

Fixed using modifiers to type special symbols (e.g '@','$') does not work on Mac OS X.

02:36 Changeset [36947] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-09-26 Håvard Wall <hwall@trolltech.com>

Reviewed by Simon.

Fix compilation with QT_NO_MESSAGEBOX

00:19 Changeset [36946] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage.

00:15 Changeset [36945] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/wx/ScrollViewWx.cpp

Fix wx bustage.

00:15 Changeset [36944] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.cpp

Fix Win, Gtk, Qt bustage.

00:07 Changeset [36943] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/Api/qwebframe.cpp

Fix Qt bustage.

00:03 Changeset [36942] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebView.cpp

Fix Win bustage.

Note: See TracTimeline for information about the timeline view.