Timeline



Dec 28, 2008:

5:35 PM Changeset in webkit [39497] by cwzwarich@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Sam Weinig.

Bug 23016: JavaScriptDebugServer::recompileAllJSFunctions() should not execute JS while reparsing all functions
<https://bugs.webkit.org/show_bug.cgi?id=23016>
<rdar://problem/6425077>

JavaScriptDebugServer::recompileAllJSFunctions() calls sourceParsed() while
reparsing all JS functions, which will execute JS in the inspector. Depending
on the order in which functions are recompiled, a function could have a new
body but other functions that have not been recompiled could have an optimized
(in the sense of inline caching) call to it, bypassing the check of whether or
not there is generated bytecode. This leads to a crash caused by accessing
indices off of a null pointer.

To fix the problem, simply delay calling sourceParsed() until after all functions
have been reparsed. The crash isn't 100% reproducible, but on the one test case
I have, this makes it impossible to reproduce after a large number of attempts,
when it used to happen every few attempts.

  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
4:25 PM Changeset in webkit [39496] by Nikolas Zimmermann
  • 3 edits in trunk/WebCore

Rubber-stamped by Antti Koivisto.
Oops, remove some last minute ASSERTS that are obviously wrong.

4:16 PM Changeset in webkit [39495] by Nikolas Zimmermann
  • 10 edits
    1 add in trunk/WebCore

Reviewed by Antti Koivisto.

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

Don't rely on HTMLFormControlElement in RenderTextControl.

Introduce an abstract FormControlElement class, containing the
valueMatchesRenderer/setValueMatchesRenderer, the only HTMLFormControlElement
specific methods that RenderTextControl relies on.

This makes it possible for WML to reuse RenderTextControl.
RenderTextControlSingleLine still relies on HTMLInputElement,
this will change if WMLInputElement is introduced.

1:33 PM Changeset in webkit [39494] by cwzwarich@webkit.org
  • 3 edits in trunk/WebCore

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

Reviewed by Darin Adler.

Bug 23006: Many Loader::Host member functions are not safe to use reentrantly
<https://bugs.webkit.org/show_bug.cgi?id=23006>
<rdar://problem/6216106>

Many Loader::Host member functions set m_processingResource to true when they
begin processing a resource and set it to false when they are done. Thanks to
JavaScript and the web inspector, almost anything can happen during the
processing of a resource, including these functions being called reentrantly,
which is unsafe due to this way of using m_processingResource.

This can theoretically cause a Loader::Host to be used after it is freed,
because when Loader::servedPendingRequests() is called, it will free Hosts
that have m_processingResource set to false.

To fix this, we replace m_processingResource with m_numResourcesProcessing,
which is incremented and decremented using a helper object, ProcessingResource.

There are no occurrences of crashes caused by this bug that are reproducible
by multiple people, but this fixes the problem of m_processingResource being
set to false while a Host is still alive.

  • loader/loader.cpp: (WebCore::Loader::Host::Host): (WebCore::Loader::Host::didFinishLoading): Change to use ProcessingResource instead of manually setting m_processingResource. (WebCore::Loader::Host::didFail): Ditto. (WebCore::Loader::Host::didReceiveData): Ditto.
  • loader/loader.h: (WebCore::Loader::Host::ProcessingResource::ProcessingResource): Added. (WebCore::Loader::Host::ProcessingResource::~ProcessingResource): Added. (WebCore::Loader::Host::processingResource): Change to use m_numResourcesProcessing instead of just getting m_processingResource.
11:40 AM Changeset in webkit [39493] by ap@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23007
REGRESSION: Timer-related crash when closing Web Inspector

Test: fast/dom/Window/remove-timeout-crash.html

  • bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::fired): Besides deleting the timer, make sure to remove it from a Document map.
9:19 AM Changeset in webkit [39492] by ap@webkit.org
  • 3 edits
    4 adds in trunk

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=23012
Bring application cache manifest parsing up to date

Test: http/tests/appcache/manifest-parsing.html

  • loader/appcache/ManifestParser.cpp: (WebCore::Mode): Added a constant for unknown sections, which are ignored when parsing. This is necessary for future extensions. (WebCore::parseManifest): Parse unknown sections correctly. Ignore trailing tokens in supported sections.
9:12 AM Changeset in webkit [39491] by ap@webkit.org
  • 9 edits
    2 moves
    7 adds in trunk/LayoutTests

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=23009
Add a test for application cache offline operation

  • http/tests/resources/network-simulator.php: A proxy script to simulate a network connection that can go offline, using an infinite redirect loop in offline mode to generate an error.
  • http/tests/appcache/offline-access-expected.txt: Added.
  • http/tests/appcache/offline-access.html: Added.
  • http/tests/appcache/resources/offline-access-frame.html: Added.
  • http/tests/appcache/resources/offline-access.js: Added.
  • http/tests/appcache/resources/offline-access.manifest: Added. Test that an application loads successfully from cache.
  • http/tests/resources: Added.
  • http/tests/resources/portabilityLayer.php: Copied from LayoutTests/http/tests/xmlhttprequest/resources/portabilityLayer.php.
  • http/tests/resources/reset-temp-file.php: Copied from LayoutTests/http/tests/xmlhttprequest/resources/reset-temp-file.php.
  • http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-header.html:
  • http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html:
  • http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-timeout.html:
  • http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:
  • http/tests/xmlhttprequest/resources/portabilityLayer.php: Removed.
  • http/tests/xmlhttprequest/resources/reset-temp-file.php: Removed.
  • http/tests/appcache/resources/fail-on-update.php: Moved some common scripts from xmlhttprequest/resources/ to resources/
5:54 AM Changeset in webkit [39490] by Nikolas Zimmermann
  • 13 edits
    4 adds in trunk/WebCore

Reviewed by Darin Adler.

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

RenderTextControl heavily depends on HTMLInputElement & HTMLTextAreaElement.
It handles multi & single line text control rendering in one class. Split up
in two new classes: RenderTextControlSingleLine & RenderTextControlMultiLine.

This has several benefits - code is more readable now, the memory usage
for RenderTextControlMultiLine is reduced, as all stuff related to search fields
lives in RenderTextControlSingleLine, and it's easier to introduce an
abstraction for input/textarea-like elements for other HTML flavours like WML.

2:05 AM Changeset in webkit [39489] by ap@webkit.org
  • 8 edits in trunk/WebCore

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

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22755
Prepare to add create/remove timeout methods to JSWorkerContext by moving
timer-specific code from JSDOMWindowBase to DOMTimer.
Moved everything JS-related from DOMTimer to ScheduledAction.
Now ScheduledAction is what it wanted to be all the time: a JS engine-specific
container for timer callback that knows how to invoke it.
DOMTimer is not anymore JS-specific.

This is mostly moving the code around. No intended functional changes.

  • bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::DOMTimer): (WebCore::DOMTimer::~DOMTimer): (WebCore::DOMTimer::install): (WebCore::DOMTimer::removeById): (WebCore::DOMTimer::fired): (WebCore::DOMTimer::stop):
  • bindings/js/DOMTimer.h:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::installTimeout): (WebCore::JSDOMWindowBase::removeTimeout):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
  • bindings/js/ScheduledAction.h:
  • dom/Document.cpp: (WebCore::Document::addTimeout):
12:52 AM Changeset in webkit [39488] by cwzwarich@webkit.org
  • 3 edits
    2 adds in trunk

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

Reviewed by Oliver Hunt.

Bug 22840: REGRESSION (r38349): Gmail doesn't load with profiling enabled
<https://bugs.webkit.org/show_bug.cgi?id=22840>
<rdar://problem/6468077>

JavaScriptCore:

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitNewArray): Add an assertion that the range of registers passed to op_new_array is sequential. (JSC::BytecodeGenerator::emitCall): Correct the relocation of registers when emitting profiler hooks so that registers aren't leaked. Also, add an assertion that the 'this' register is always ref'd (because it is), remove the needless protection of the 'this' register when relocating, and add an assertion that the range of registers passed to op_call for function call arguments is sequential. (JSC::BytecodeGenerator::emitConstruct): Correct the relocation of registers when emitting profiler hooks so that registers aren't leaked. Also, add an assertion that the range of registers passed to op_construct for function call arguments is sequential.

LayoutTests:

  • fast/profiler/call-register-leak-expected.txt: Added.
  • fast/profiler/call-register-leak.html: Added.

Dec 27, 2008:

6:54 PM Changeset in webkit [39487] by mrowe@apple.com
  • 13 edits
    1 add in trunk/JavaScriptCore

<rdar://problem/6467376> Race condition in WTF::currentThread can lead to a thread using two different identifiers during its lifetime

If a newly-created thread calls WTF::currentThread() before WTF::createThread calls establishIdentifierForPthreadHandle
then more than one identifier will be used for the same thread. We can avoid this by adding some extra synchronization
during thread creation that delays the execution of the thread function until the thread identifier has been set up, and
an assertion to catch this problem should it reappear in the future.

Reviewed by Alexey Proskuryakov.

  • wtf/Threading.cpp: Added.

(WTF::NewThreadContext::NewThreadContext):
(WTF::threadEntryPoint):
(WTF::createThread): Add cross-platform createThread function that delays the execution of the thread function until
after the thread identifier has been set up.

  • wtf/Threading.h:
  • wtf/ThreadingGtk.cpp:

(WTF::establishIdentifierForThread):
(WTF::createThreadInternal):

  • wtf/ThreadingNone.cpp:

(WTF::createThreadInternal):

  • wtf/ThreadingPthreads.cpp:

(WTF::establishIdentifierForPthreadHandle):
(WTF::createThreadInternal):

  • wtf/ThreadingQt.cpp:

(WTF::identifierByQthreadHandle):
(WTF::establishIdentifierForThread):
(WTF::createThreadInternal):

  • wtf/ThreadingWin.cpp:

(WTF::storeThreadHandleByIdentifier):
(WTF::createThreadInternal):

Add Threading.cpp to the build.

12:30 AM Changeset in webkit [39486] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

Suggested by Dave Levin.

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

Another attempt to fix the failing XHR tests on Tiger buildbot: make file_put_contents
portable implementation return a result.

  • http/tests/xmlhttprequest/resources/portabilityLayer.php:

Dec 26, 2008:

1:31 PM Changeset in webkit [39485] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

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

Reviewed by Alexey Proskuryakov.

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

Remove ensureTrailingSlash from appcache test.

  • http/tests/appcache/resources/fail-on-update.php:
1:19 PM Changeset in webkit [39484] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-12-26 Zalan Bujtas <zbujtas@gmail.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22999
Check if database thread exists.

  • storage/Database.cpp: (WebCore::Database::openAndVerifyVersion): (WebCore::Database::markAsDeletedAndClose): (WebCore::Database::tableNames):
1:01 PM Changeset in webkit [39483] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Alexey Proskuryakov.

Remove unused method.

  • runtime/Structure.h: Remove mutableTypeInfo.
12:00 PM Changeset in webkit [39482] by ap@webkit.org
  • 6 edits in trunk/LayoutTests

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

Reviewed by Alexey Proskuryakov.

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

Attempt to fix the failiing XHR tests on tiger buildbot.
Remove the no longer needed ensureTrailingSlash function.

  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
  • http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:
  • http/tests/xmlhttprequest/resources/portabilityLayer.php: Make sys_get_temp_dir() return "/tmp" when it can't find the temp directory through other means.
  • http/tests/xmlhttprequest/resources/reset-temp-file.php:
11:54 AM Changeset in webkit [39481] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Sam Weinig.

  • fix <rdar://problem/6467608> lastVisitWasFailure flag persists in global history after a successful visit
  • History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:wasFailure:]): Changed to always update the wasFailure flag on the HistoryItem.
11:05 AM Changeset in webkit [39480] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

Reviewed by Anders Carlsson.

Fix a layout test that was broken by the previous appcache commit
(it only passed every other time as a result).

  • http/tests/appcache/fail-on-update.html:
10:59 AM Changeset in webkit [39479] by Simon Fraser
  • 5 edits in trunk/LayoutTests

2008-12-26 Simon Fraser <Simon Fraser>

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

Update more svg-as-image test results affected by the fix
for SVGImage drawing.

  • platform/mac/fast/borders/svg-as-border-image-2-expected.checksum:
  • platform/mac/fast/borders/svg-as-border-image-2-expected.png:
  • platform/mac/fast/borders/svg-as-border-image-expected.checksum:
  • platform/mac/fast/borders/svg-as-border-image-expected.png:
10:52 AM Changeset in webkit [39478] by ap@webkit.org
  • 3 edits
    3 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23001
A call to applicationCache.update() from a cached event listener should be ignored

Test: http/tests/appcache/idempotent-update.html

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Only reset m_status after dispatching events.
9:40 AM Changeset in webkit [39477] by ap@webkit.org
  • 4 edits
    16 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22997
ASSERTION FAILED: !m_resources.contains(url) in ApplicationCache::addResource()

Tests: http/tests/appcache/top-frame-1.html

http/tests/appcache/top-frame-2.html
http/tests/appcache/top-frame-3.html
http/tests/appcache/top-frame-4.html

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheForMainRequest): Fixed one more instance of top level frame being used for caching purposes.
3:03 AM Changeset in webkit [39476] by ap@webkit.org
  • 3 edits in trunk/LayoutTests

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

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22950
Added more logging to reset-temp-file to help expose potential issues that could cause test failures (on the tiger buildbot).

If there are issues in reset-temp-file, they are printed from the test access-control-basic-allow-preflight-cache.html

  • http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html:
  • http/tests/xmlhttprequest/resources/reset-temp-file.php:
12:46 AM Changeset in webkit [39475] by ap@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22987
Fix for broken test editing/execCommand/5763082.html

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::mergeIdenticalElements): Used local RefPtr to hold onto function parameter across multiple calls.

Dec 25, 2008:

1:12 PM Changeset in webkit [39474] by ap@webkit.org
  • 7 edits
    5 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22993
Application cache shouldn't be inherited by subframes

<rdar://problem/6284708> AppCache crashes in ApplicationCacheResource::addType()
This crash happened because main resource for subframe was looked up in top frame's
appcache. If not for the spec change, it could have been fixed by preventing the load
altogether.

Test: http/tests/appcache/foreign-iframe-main.html
I intend to write additional tests for the behavior change.

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
  • loader/DocumentLoader.h: (WebCore::DocumentLoader::applicationCache):
  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::load):
  • loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::associatedCache): Removed DocumentLoader::topLevelApplicationCache(), and changed callers accordingly.
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL): Removed checks for the frame being top-level one, now that subframes are cached independently.
6:18 AM Changeset in webkit [39473] by Antti Koivisto
  • 6 edits in trunk/WebCore

2008-12-25 Antti Koivisto <Antti Koivisto>

Reviewed by Oliver Hunt.

<rdar://problem/6465669> Frequent !isPurgeable() assertion in WebCore::CachedResource::addClient


Disallow turning resources that are being revalidated to purgable state.


No test, the condition is difficult to produce in DRT.

  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::allClientsRemoved):
  • loader/CachedImage.cpp: (WebCore::CachedImage::destroyDecodedData):
  • loader/CachedResource.cpp: (WebCore::CachedResource::isSafeToMakePurgeable): (WebCore::CachedResource::makePurgeable):
  • loader/CachedResource.h:
  • loader/CachedScript.cpp: (WebCore::CachedScript::destroyDecodedData):
2:55 AM Changeset in webkit [39472] by ap@webkit.org
  • 2 edits in trunk/WebCore

Qt build fix.

  • WebCore.pro: Added ThreadGlobalData.cpp.

Dec 24, 2008:

9:26 PM Changeset in webkit [39471] by mrowe@apple.com
  • 3 edits in trunk/WebKitTools

Move the guts of determineCurrentSVNRevision to VCSUtils as svnRevisionForDirectory,
and make it work for git too.

Reviewed by Timothy Hatcher.

  • Scripts/VCSUtils.pm:
  • Scripts/webkitdirs.pm:
4:42 PM Changeset in webkit [39470] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Build fix.

  • WebCore.base.exp: Remove a symbol from the export file now that it is no longer generated.
1:39 PM Changeset in webkit [39469] by Simon Fraser
  • 7 edits in trunk/LayoutTests

2008-12-24 Simon Fraser <Simon Fraser>

Reviewed by Oliver Hunt

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

Update more svg-as-image test results affected by the fix
for SVGImage drawing.

  • platform/mac/fast/images/svg-as-background-expected.checksum:
  • platform/mac/fast/images/svg-as-background-expected.png:
  • platform/mac/fast/images/svg-as-image-expected.checksum:
  • platform/mac/fast/images/svg-as-image-expected.png:
  • platform/mac/fast/images/svg-as-relative-image-expected.checksum:
  • platform/mac/fast/images/svg-as-relative-image-expected.png:
  • transforms/2d/compound-transforms-vs-containers.html:
10:08 AM Changeset in webkit [39468] by ap@webkit.org
  • 1 edit in trunk/LayoutTests/ChangeLog

Fix a typo in ChangeLog.

10:06 AM Changeset in webkit [39467] by ap@webkit.org
  • 3 edits
    2 moves in trunk/LayoutTests

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=22982
http/tests/navigation/post-goback-repost-policy.html fails on Tiger

Change resources that are accessed with POST form .html to .php. I don't know why Apache 2.0
had no problem with this.

  • http/tests/navigation/post-goback-repost-policy.html:
  • http/tests/navigation/resources/goback-with-policydelegate.html: Removed.
  • http/tests/navigation/resources/goback-with-policydelegate.php: Copied from LayoutTests/http/tests/navigation/resources/goback-with-policydelegate.html.
  • http/tests/navigation/resources/post-target-policy-test.html: Removed.
  • http/tests/navigation/resources/post-target-policy-test.php: Copied from LayoutTests/http/tests/navigation/resources/post-target-policy-test.html.
4:44 AM Changeset in webkit [39466] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Unreviewed build fix to find addSubresourceURL

This is needed to compile on WebKit/Gtk+

Note: See TracTimeline for information about the timeline view.