⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Apr 19, 2009:

11:25 PM Changeset in webkit [42668] by adele@apple.com
  • 2 edits in trunk/WebKit/mac

2009-04-19 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/6804809> REGRESSION: In Mail, Home and End do not scroll message

If no scrolling occurs, call tryToPerform on the next responder. Then our WebResponderChainSink
will correctly detect if no responders handle the selector.

  • WebView/WebFrameView.mm: (-[WebFrameView _scrollToBeginningOfDocument]): (-[WebFrameView _scrollToEndOfDocument]): (-[WebFrameView scrollToBeginningOfDocument:]): (-[WebFrameView scrollToEndOfDocument:]): (-[WebFrameView scrollLineUp:]): (-[WebFrameView scrollLineDown:]):
10:47 PM Changeset in webkit [42667] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • maybe fix release builds
  • dom/ScriptElement.cpp: (WebCore::ScriptElementData::notifyFinished):
10:27 PM Changeset in webkit [42666] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • fix release builds
  • dom/Document.cpp: (WebCore::Document::executeScriptSoonTimerFired):
9:20 PM Changeset in webkit [42665] by mitz@apple.com
  • 12 edits
    3 adds in trunk

WebCore:

Reviewed by Mark Rowe.

  • fix <rdar://problem/6734365> REGRESSION eBay "Save this search" link does nothing the second time search results are opened

Test: fast/dom/HTMLScriptElement/nested-execution.html

Instead of executing scripts as soon as they finish loading, which may
happen synchronously during execution of another script, defer their
execution until the next run loop iteration, using a queue that is
similar to the HTML5 notion of the "list of scripts that will execute as
soon as possible", and in my testing was consistent with how Firefox
behaved.

  • dom/Document.cpp: (WebCore::Document::Document): Initialize m_executeScriptSoonTimer. (WebCore::Document::~Document): deref() script elements in m_scriptsToExecuteSoon. (WebCore::Document::executeScriptSoonTimerFired): Added. Executes the scripts in m_scriptsToExecuteSoon and deref()s them. (WebCore::Document::executeScriptSoon): Added. Appends to m_scriptsToExecuteSoon and ref()s the script element, which keeps the ScriptElementData alive as well.
  • dom/Document.h:
  • dom/ScriptElement.cpp: (WebCore::ScriptElementData::ScriptElementData): Initialize m_requested. (WebCore::ScriptElementData::requestScript): Set m_requested to true, to prevent further load requests. (WebCore::ScriptElementData::execute): Added. Moved the code from notifyFinished() which should not execute synchronously here, to be called by the Document on a 0-interval timer. (WebCore::ScriptElementData::notifyFinished): Moved the code to dispatch events and evaluate the script, which should not execute synchronously, out of here. (WebCore::ScriptElementData::ignoresLoadRequest): Changed to test for m_requested instead of m_cachedScript, because the latter is cleared before the script is evaluated.
  • dom/ScriptElement.h:

LayoutTests:

Reviewed by Mark Rowe.

  • test and updated tests for <rdar://problem/6734365> eBay "Save this search" link does nothing the second time search results are opened
  • fast/dom/HTMLScriptElement/nested-execution-expected.txt: Added.
  • fast/dom/HTMLScriptElement/nested-execution.html: Added.
  • fast/dom/HTMLScriptElement/resources/nested-execution.js: Added.
  • fast/dom/HTMLScriptElement/script-reexecution.html:
  • fast/dom/HTMLScriptElement/script-set-src.html:
  • fast/dom/script-element-gc.html:
  • fast/loader/local-JavaScript-from-local.html:
  • svg/dom/SVGScriptElement/script-reexecution.svg:
  • svg/dom/SVGScriptElement/script-set-href.svg:
6:31 PM Changeset in webkit [42664] by oliver@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/6127705> Excessive memory consumption on image load failure

Reviewed by Antti Koivisto and Darin Adler

When we fail to decode an image we clear most of the image data, but not the
input data itself, which can be backed by a CFData object that itself holds onto
a few hundred Kbs of memory. This patch merely ensures that this buffer gets
cleared.

4:38 PM Changeset in webkit [42663] by Darin Adler
  • 2 edits in trunk/WebKit

2009-04-19 Darin Adler <Darin Adler>

  • StringsNotToBeLocalized.txt: Updated for recent changes.
3:54 PM Changeset in webkit [42662] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-04-19 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Better fix for JSStringCreateWithCFString hardening.

  • API/JSStringRefCF.cpp: (JSStringCreateWithCFString):
3:48 PM Changeset in webkit [42661] by Darin Adler
  • 1 edit in trunk/WebCore/ChangeLog

ooo

3:47 PM Changeset in webkit [42660] by Darin Adler
  • 5 edits in trunk/WebCore

2009-04-19 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Add hoooks so sudden termination will not cause loss of icons or local storage.
rdar://problem/5951701

  • loader/icon/IconDatabase.cpp: Marked various constants static to give them internal linkage. (WebCore::IconDatabase::IconDatabase): Added initial value for m_syncTimer. Removed unneeded initial value for m_defaultIconRecord. Changed assertion to work cross-platform. (WebCore::IconDatabase::wakeSyncThread): Added disableSuddenTermination, so we won't terminate until the sync thread has done its thing. (WebCore::IconDatabase::scheduleOrDeferSyncTimer): Added disableSuddenTermination, so we won't terminate if we have an outstanding sync timer. (WebCore::IconDatabase::syncTimerFired): Added enableSuddenTermination, to balance the one in scheduleOrDeferSyncTimer. (WebCore::IconDatabase::syncThreadMainLoop): Added enableSuddenTermination, to balance the one in wakeSyncThread. (WebCore::IconDatabase::deleteAllPreparedStatements): Use clear() instead of set(0).
  • loader/icon/IconDatabase.h: Use a Timer instead of an OwnPtr<Timer>.
  • storage/LocalStorageArea.cpp: (WebCore::LocalStorageArea::scheduleFinalSync): Added disableSuddenTermination. (WebCore::LocalStorageArea::scheduleItemForSync): Ditto. (WebCore::LocalStorageArea::scheduleClear): Ditto. (WebCore::LocalStorageArea::syncTimerFired): Added a disableSuddenTermination if we schedule a performSync callback for later and an unconditional enableSuddenTermination to balance the ones in the schedule calls above. (WebCore::LocalStorageArea::sync): Factored out the work of the sync function so it can continue to use early return idiom. (WebCore::LocalStorageArea::performSync): Added a call to enableSuddenTermination.
  • storage/LocalStorageArea.h: Added declaration of the sync function.
3:26 PM Changeset in webkit [42659] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-04-19 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/5860954>
Harden JSStringCreateWithCFString against malformed CFStringRefs.

  • API/JSStringRefCF.cpp: (JSStringCreateWithCFString):
10:05 AM Changeset in webkit [42658] by ddkilzer@apple.com
  • 8 edits in trunk

Make FEATURE_DEFINES completely dynamic

Reviewed by Darin Adler.

Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME
variables for each feature, making it possible to remove all
knowledge of FEATURE_DEFINES from build-webkit.

JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Extract a variable from FEATURE_DEFINES for each feature setting.

WebCore:

  • Configurations/FeatureDefines.xcconfig: Extract a variable from FEATURE_DEFINES for each feature setting.

WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Extract a variable from FEATURE_DEFINES for each feature setting.

WebKitTools:

  • Scripts/build-webkit: Define individual ENABLE_FEATURE_NAME variables instead of the whole FEATURE_DEFINES string when building with Xcode. Miscellaneous clean up:
  • Reordered/sorted command-line switch variables.
  • Reordered/sorted command-line switches in $usage.
  • Reordered/sorted command-line switches in GetOptions().
  • Defined $svgSupport to true if any --svg-feature switch is set in order to match "Implies SVG Support" claim.
  • Build JavaScriptGlue after JavaScriptCore again!
  • Fixed --[no-]geolocation for GTK+ port and sorted GTK+ command-line switches.
  • Added "exit 0" statement at the end of the script.
12:38 AM Changeset in webkit [42657] by ggaren@apple.com
  • 6 edits in trunk/WebCore

2009-04-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Alexey Proskuryakov.

More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
Unbounded memory growth when churning elements with anonymous event handler functions


Removed a little more complexity from event handler creation and destruction.


Removed the jsProtectedEventListeners, jsProtectedInlineEventListeners,
and jsInlineEventListeners maps, and all the code for managing them.


ProtectedEventListeners don't exist anymore, so they're easy to nix.


Inline EventListeners do still exist, but there's no reason to track
them in a map. The map exists to enable 'removeEventListener' to associate
a unique JSEventListener with a given JavaScript function. But the
'removeEventListener' API only works with non-inline event listeners!


  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): (WebCore::JSDOMGlobalObject::findJSEventListener): (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): (WebCore::JSDOMGlobalObject::createJSInlineEventListener):
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::clearJSFunctionInline):
  • bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::~JSLazyEventListener): (WebCore::JSLazyEventListener::parseCode):
  • bindings/scripts/CodeGeneratorJS.pm:

Apr 18, 2009:

11:42 PM Changeset in webkit [42656] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-04-18 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix typo. s/VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE/VM_MEMORY_JAVASCRIPT_CORE/

  • runtime/Collector.cpp: (JSC::allocateBlock): Fix bozo typo.
11:39 PM Changeset in webkit [42655] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • try to fix the Windows build
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::characterAfter):
11:29 PM Changeset in webkit [42654] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • revert the previous change, which was to a file that the Windows port does not even use
  • icu/unicode/utf16.h:
11:17 PM Changeset in webkit [42653] by Simon Fraser
  • 2 edits in trunk

Fix the dates in my Changelog entries

10:28 PM Changeset in webkit [42652] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Geoffrey Garen.

  • try to fix the Windows build
  • icu/unicode/utf16.h:
10:00 PM Changeset in webkit [42651] by Simon Fraser
  • 6 edits
    4 adds in trunk

2009-04-17 Simon Fraser <Simon Fraser>

Reviewed by Antti Koivisto.

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

When a <video> element gained a RenderLayer via opacity, reflection etc., the
layer hierarchy was not correctly updated because RenderMedia skipped a level
when asked for its children; it skipped m_controlsShadowRoot's renderer, which
actually has a layer.

Test: fast/layers/video-layer.html

  • rendering/MediaControlElements.cpp: (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Don't manually call setParent() on the renderer. It will happen later as a result of addChild().
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::createControlsShadowRoot): Add m_controlsShadowRoot's renderer as a child.
  • rendering/RenderMedia.h: (WebCore::RenderMedia::children): Now maintain a RenderObjectChildList, m_children, and remove the unneeded removeChild() method. Make the two children() methods inline.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::moveLayers): Assert if moveLayers() is called with an oldParent that is not the layer's actual parent (which would have revealed this bug).
9:58 PM Changeset in webkit [42650] by ggaren@apple.com
  • 3 edits in trunk/WebCore

2009-04-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Fixed a layout test failure, caused by my last check-in
(fast/dom/script-element-gc.html).

  • bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM):
  • html/HTMLScriptElement.h: (WebCore::HTMLScriptElement::haveFiredLoadEvent): Treat script elements just like image elements: if a script element is loading, mark its JS wrapper, even if the element is not in the document.
7:14 PM Changeset in webkit [42649] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-04-18 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Fix for <rdar://problem/6801555> Tag JavaScript memory on SnowLeopard

  • interpreter/RegisterFile.h: (JSC::RegisterFile::RegisterFile):
  • jit/ExecutableAllocatorFixedVMPool.cpp: (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
  • jit/ExecutableAllocatorPosix.cpp: (JSC::ExecutablePool::systemAlloc):
  • runtime/Collector.cpp: (JSC::allocateBlock):
6:40 PM Changeset in webkit [42648] by dimich@chromium.org
  • 3 edits
    2 adds in trunk/WebCore

2009-04-18 Jian Li <jianli@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25170
Upstream V8WorkerCustom.cpp and V8WorkerContextCustom.cpp for V8 bindings.

  • bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
  • bindings/v8/WorkerContextExecutionProxy.h:
  • bindings/v8/custom/V8WorkerContextCustom.cpp: Added.
  • bindings/v8/custom/V8WorkerCustom.cpp: Added.
6:40 PM Changeset in webkit [42647] by dimich@chromium.org
  • 3 edits
    2 moves in trunk/WebCore

2009-04-18 Jian Li <jianli@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/post_bug.cg://bugs.webkit.org/show_bug.cgi?id=25167
Change createHiddenXHRDependency and removeHiddenXHRDependency so that they can be used by other custom code in V8 bindings.

  • bindings/v8/V8Utilities.cpp: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.cpp. (WebCore::createHiddenDependency): (WebCore::removeHiddenDependency):
  • bindings/v8/V8Utilities.h: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.h.
  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::ACCESSOR_SETTER): (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: (WebCore::ACCESSOR_SETTER): (WebCore::CALLBACK_FUNC_DECL):
6:19 PM Changeset in webkit [42646] by ddkilzer@apple.com
  • 8 edits in trunk

2009-04-18 Drew Wilson <amw@apple.com>

<rdar://problem/6781407> VisiblePosition.characterAfter should return UChar32

Reviewed by Dan Bernstein.

JavaScriptCore:

  • wtf/unicode/icu/UnicodeIcu.h: (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic): Added.

WebCore:

No test case since there is no change in behavior.

  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::characterAfter): Now handles surrogate pairs correctly and returns a UChar32.
  • editing/VisiblePosition.h: (WebCore::VisiblePosition::characterBefore): Now returns a UChar32.
  • editing/visible_units.cpp: (WebCore::endOfFirstWordBoundaryContext): Renamed firstNonComplexContextLineBreak() to this. Changed it to use the generic requiresContextForWordBoundary() instead of hasLineBreakingPropertyComplexContext(). (WebCore::startOfLastWordBoundaryContext): Replaces lastNonComplexContextLineBreak(), but returns the offset of the character after the last character that does not require context for word breaking. Also changed to use requiresContextForWordBoundary(). (WebCore::previousBoundary): Updated for the above changes in names and semantics, and changed to use requiresContextForWordBoundary(). (WebCore::nextBoundary): Ditto. (WebCore::startWordBoundary): Ditto. (WebCore::endWordBoundary): Ditto. (WebCore::previousWordPositionBoundary): Ditto. (WebCore::nextWordPositionBoundary): Ditto.
  • platform/text/TextBoundaries.h: (WebCore::requiresContextForWordBoundary): Added.
  • platform/text/mac/TextBoundaries.mm:
6:00 PM Changeset in webkit [42645] by ggaren@apple.com
  • 3 edits
    3 adds in trunk

WebCore:

2009-04-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Fixed <rdar://problem/6797442> | https://bugs.webkit.org/show_bug.cgi?id=25285
REGRESSION (r42569): Profiles cannot be selected in inspector profiler


EventListeners are shared; RegisteredEventListeners are not. Therefore,
when a node wrapper needs to invalidate the node's JS event listeners,
it should invalidate its RegisteredEventListeners, not its EventListeners.
Otherwise, it might invalidate an EventListener shared by another node.

  • dom/RegisteredEventListener.h: (WebCore::invalidateEventListeners): ditto

LayoutTests:

2009-04-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Test for <rdar://problem/6797442> | https://bugs.webkit.org/show_bug.cgi?id=25285
REGRESSION (r42569): Profiles cannot be selected in inspector profiler

  • fast/events/event-listener-sharing-expected.txt: Added.
  • fast/events/event-listener-sharing.html: Added.
  • fast/events/resources/event-listener-sharing.js: Added. (gc): (clickHandler):
4:50 PM Changeset in webkit [42644] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-04-18 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Fix for <rdar://problem/5861045>
A little bit of hardening for UString.

  • runtime/UString.cpp: (JSC::concatenate): (JSC::UString::append):
3:50 PM Changeset in webkit [42643] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-04-18 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe and Dan Bernstein.

Fix for <rdar://problem/5861188>
A little bit of hardening for Vector.

  • wtf/Vector.h: (WTF::Vector<T, inlineCapacity>::append): (WTF::Vector<T, inlineCapacity>::insert):
1:29 PM Changeset in webkit [42642] by eric.carlson@apple.com
  • 11 edits in trunk

2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Mark Rowe.

<rdar://problem/6781295> video.buffered and video.seekable are not
the same.

  • WebCore.base.exp: Added wkQTMovieMaxTimeSeekable.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::maxTimeSeekable): Return wkQTMovieMaxTimeSeekable.
  • platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeSeekable.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.

2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Mark Rowe.

<rdar://problem/6781295> video.buffered and video.seekable are not
the same.

  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add wkQTMovieMaxTimeSeekable.

2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Mark Rowe.

<rdar://problem/6781295> video.buffered and video.seekable are not
the same.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
12:11 PM Changeset in webkit [42641] by eric.carlson@apple.com
  • 11 edits in trunk

2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Mark Rowe.

<rdar://problem/6747241> work around QTKit no longer reaching
QTMovieLoadStateComplete

  • WebCore.base.exp: Export wkQTMovieMaxTimeLoadedChangeNotification.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie): observe QTMovieMaxTimeLoadedChangeNotification. (WebCore::MediaPlayerPrivate::updateStates): compare duuration() with maxTimeLoaded() instead of using QTMovieLoadStateComplete to determine if a movie are fully loaded.
  • platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeLoadedChangeNotification.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.

2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Mark Rowe.

<rdar://problem/6747241> work around QTKit no longer reaching
QTMovieLoadStateComplete

  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Init the new WKSI exported symbol.
11:49 AM Changeset in webkit [42640] by justin.garcia@apple.com
  • 4 edits in trunk/LayoutTests

2009-04-18 Justin Garcia <justin.garcia@apple.com>

Updated test results for https://bugs.webkit.org/show_bug.cgi?id=25277

  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.checksum:
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.png:
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
4:49 AM Changeset in webkit [42639] by staikos@webkit.org
  • 6 edits in trunk

2009-04-18 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>

Reviewed by George Staikos.

Make WML work again, most regressions test were failing.

Note: See TracTimeline for information about the timeline view.