Timeline


and

12/29/08:

23:54 Changeset [39516] by oliver@apple.com

Yet another attempt to fix Tiger.

Reviewed by NOBODY(Build fix)

23:46 Changeset [39515] by oliver@apple.com

Tiger build fix (correct this time)

Reviewed by NOBODY(build fix)

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

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=23023
Remove incomplete support for opportunistic appcache entries

No change in behavior, thus no test.

  • loader/appcache/ApplicationCacheResource.h: (WebCore::ApplicationCacheResource::Type): Removed Opportunistic bit, will re-use when schema version changes.
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
  • loader/appcache/ApplicationCacheResource.cpp: (WebCore::ApplicationCacheResource::dumpType):
23:42 Changeset [39513] by cwzwarich@webkit.org

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

Rubber-stamped by Alexey Proskuryakov.

Revert r39509, because kjsyydebug is used in the generated code if YYDEBUG is 1.

  • parser/Grammar.y:
23:39 Changeset [39512] by oliver@apple.com

Tiger build fix

Reviewed by NOBODY(build fix)

23:33 Changeset [39511] by krit@webkit.org

2008-12-29 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

Add arcTo support for Cairo. This is needed by Canvas.
Cairo has no native support for arcTo. We have to make our
own implementation.

[Canvas] Cairo needs arcTo
https://bugs.webkit.org/show_bug.cgi?id=23003

  • platform/graphics/cairo/PathCairo.cpp: (WebCore::Path::addArcTo):
23:21 Changeset [39510] by oliver@apple.com

<rdar://problem/6358108> Insecure randomness in Math.random() leads to user tracking

Reviewed by Mark Rowe

Switch to arc4random on PLATFORM(DARWIN), this is ~1.5x slower than random(), but the
it is still so fast that there is no fathomable way it could be a bottleneck for anything.

randomNumber is called in two places

  • During form submission where it is called once per form
  • Math.random in JSC. For this difference to show up you have to be looping on a cached local copy of random, for a large (>10000) calls.

No change in SunSpider.

22:15 Changeset [39509] by cwzwarich@webkit.org

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

Rubber-stamped by Sam Weinig.

Remove unused kjsyydebug #define.

  • parser/Grammar.y:
22:15 Changeset [39508] by oliver@apple.com

Bug 23030: Cannot setTransform with a non-invertible ctm

Reviewed by Cameron Zwarich.

Removed a series of unnecessary and incorrect checks for an invertible
transform.

Test: fast/canvas/canvas-set-properties-with-non-invertible-ctm.html

21:37 Changeset [39507] by cwzwarich@webkit.org

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

Reviewed by Oliver Hunt and Sam Weinig.

Bug 23029: REGRESSION (r39337): jsfunfuzz generates identical test files
<https://bugs.webkit.org/show_bug.cgi?id=23029>
<rdar://problem/6469185>

The unification of random number generation in r39337 resulted in random()
being initialized on Darwin, but rand() actually being used. Fix this by
making randomNumber() use random() instead of rand() on Darwin.

  • wtf/RandomNumber.cpp: (WTF::randomNumber):
21:10 Changeset [39506] by oliver@apple.com

2008-12-29 Josh Roesslein <jroesslein@gmail.com>

Reviewed by Oliver Hunt.

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

Context menu rendering error when full page zoomed

19:00 Changeset [39505] by weinig@apple.com

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

Fix buildbots.

  • runtime/Structure.cpp:
18:05 Changeset [39504] by weinig@apple.com

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

Reviewed by Mark Rowe.

Add some basic memory statistic logging for Node.

  • dom/Node.cpp: (WebCore::Node::dumpStatistics): (WebCore::Node::Node): (WebCore::Node::~Node): (WebCore::Node::setDocument):
  • dom/Node.h:
18:03 Changeset [39503] by weinig@apple.com

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

Reviewed by Anders Carlsson.

Remove one use of DeprecatedPtrList.

  • css/CSSRuleList.cpp: (WebCore::CSSRuleList::~CSSRuleList): (WebCore::CSSRuleList::length): (WebCore::CSSRuleList::item): (WebCore::CSSRuleList::deleteRule): (WebCore::CSSRuleList::append): (WebCore::CSSRuleList::insertRule):
  • css/CSSRuleList.h: Change m_lstCSSRules from using DeprecatedPtrList to a Vector. I measured no performance change and was comforted by the fact that we use a Vector for StyleList, which serves the exact same purpose.
16:28 Changeset [39502] by weinig@apple.com

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

Reviewed by Oliver Hunt.

Patch for https://bugs.webkit.org/show_bug.cgi?id=23026
Move the deleted offsets vector into the PropertyMap

Saves 3 words per Structure.

  • runtime/PropertyMapHashTable.h:
  • runtime/Structure.cpp: (JSC::Structure::addPropertyTransition): (JSC::Structure::changePrototypeTransition): (JSC::Structure::getterSetterTransition): (JSC::Structure::toDictionaryTransition): (JSC::Structure::fromDictionaryTransition): (JSC::Structure::copyPropertyTable): (JSC::Structure::put): (JSC::Structure::remove): (JSC::Structure::rehashPropertyMapHashTable):
  • runtime/Structure.h: (JSC::Structure::propertyStorageSize):
13:42 Changeset [39501] by adele@apple.com

2008-12-29 Adele Peterson <adele@apple.com>

Reviewed by Brady Eidson.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21797
<rdar://problem/6310682> REGRESSION: Crash in CFHTTPCookieStorageCopy beneath WebCore::cookies() when
running fast/dom/document-attribute-js-null.html and http/tests/security/cookies/create-document.html


Return early if the document is trying to get or set a cookie with an empty cookie url.

  • dom/Document.cpp: (WebCore::Document::cookie): (WebCore::Document::setCookie):
12:30 Changeset [39500] by ap@webkit.org

Index: LayoutTests/ChangeLog
===================================================================
--- LayoutTests/ChangeLog (revision 39499)
+++ LayoutTests/ChangeLog (working copy)
@@ -1,3 +1,12 @@
+2008-12-29 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by NOBODY (OOPS!).
+
+ Fix Windows svn update - replace a file with a semicolon in its name with an Apache rewrite.
+
+ * http/tests/appcache/resources/.htaccess: Added.
+ * http/tests/appcache/resources/UNKNOWN_SECTION:: Removed.
+

2008-12-29 Glenn Wilson <gwilson@chromium.org>


Reviewed by Darin Adler.

Index: LayoutTests/http/tests/appcache/resources/.htaccess
===================================================================
--- LayoutTests/http/tests/appcache/resources/.htaccess (revision 0)
+++ LayoutTests/http/tests/appcache/resources/.htaccess (revision 0)
@@ -0,0 +1,2 @@
+RewriteEngine on
+RewriteRule UNKNOWN_SECTION: simple.txt [L,NS]
Index: LayoutTests/http/tests/appcache/resources/UNKNOWN_SECTION:
===================================================================

11:22 Changeset [39499] by pam@chromium.org

2008-12-29 Glenn Wilson <gwilson@chromium.org>

Reviewed by Darin Adler.
Landed by Pamela Greene.

Added new layout tests verifying that using a locally-scoped
variable in an event handler of a form takes precedence over
names of items in that form.

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

  • fast/forms/var-name-conflict-in-form-event-handler-expected.txt: Added.
  • fast/forms/var-name-conflict-in-form-event-handler.html: Added.
03:08 Changeset [39498] by cwzwarich@webkit.org

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

Reviewed by Oliver Hunt.

Change code using m_body.get() as a boolean to take advantage of the
implicit conversion of RefPtr to boolean.

  • runtime/JSFunction.cpp: (JSC::JSFunction::~JSFunction):

12/28/08:

17:35 Changeset [39497] by cwzwarich@webkit.org

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):
16:25 Changeset [39496] by zimmermann@webkit.org

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

16:16 Changeset [39495] by zimmermann@webkit.org

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.

13:33 Changeset [39494] by cwzwarich@webkit.org

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 Changeset [39493] by ap@webkit.org

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.
09:19 Changeset [39492] by ap@webkit.org

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.
09:12 Changeset [39491] by ap@webkit.org

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/
05:54 Changeset [39490] by zimmermann@webkit.org

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.

02:05 Changeset [39489] by ap@webkit.org

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):
00:52 Changeset [39488] by cwzwarich@webkit.org

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.

12/27/08:

18:54 Changeset [39487] by mrowe@apple.com

<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.

00:30 Changeset [39486] by ap@webkit.org

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:

12/26/08:

13:31 Changeset [39485] by ap@webkit.org

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:
13:19 Changeset [39484] by antti@apple.com

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):
13:01 Changeset [39483] by weinig@apple.com

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

Reviewed by Alexey Proskuryakov.

Remove unused method.

  • runtime/Structure.h: Remove mutableTypeInfo.
12:00 Changeset [39482] by ap@webkit.org

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 Changeset [39481] by mitz@apple.com

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 Changeset [39480] by ap@webkit.org

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 Changeset [39479] by simon.fraser@apple.com

2008-12-26 Simon Fraser <simon.fraser@apple.com>

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 Changeset [39478] by ap@webkit.org

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.
09:40 Changeset [39477] by ap@webkit.org

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.
03:03 Changeset [39476] by ap@webkit.org

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:
00:46 Changeset [39475] by ap@webkit.org

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.

12/25/08:

13:12 Changeset [39474] by ap@webkit.org

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.
06:18 Changeset [39473] by antti@apple.com

2008-12-25 Antti Koivisto <antti@apple.com>

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):
02:55 Changeset [39472] by ap@webkit.org

Qt build fix.

  • WebCore.pro: Added ThreadGlobalData.cpp.
Note: See TracTimeline for information about the timeline view.