Timeline



Apr 27, 2008:

11:57 PM Changeset in webkit [32611] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-04-27 Mark Rowe <mrowe@apple.com>

Reviewed by Maciej Stachowiak.

Fix crash inside PtrHash::hash when loading a page.

  • wtf/HashFunctions.h: Explicitly use the superclass implementation of hash to avoid infinite recursion.
11:49 PM Changeset in webkit [32610] by rwlbuis@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Adele.

https://bugs.webkit.org/show_bug.cgi?id=18652
onchange events don't seem to fire for input[type=range] controls.

Fire changeEvent when dragging the slider.

10:59 PM Changeset in webkit [32609] by Darin Adler
  • 42 edits in trunk

JavaScriptCore:

2008-04-25 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • fix <rdar://problem/5657459> REGRESSION: JavaScriptCore no longer builds with GCC 4.2 due to pointer aliasing warnings

Fix this by removing the HashTable optimizations that allowed us to share a back end
implementation between hash tables with integers, pointers, RefPtr, and String objects
as keys. The way it worked was incompatible with strict aliasing.

This increases code size. On Mac OS X we'll have to regenerate .order files to avoid
slowing down Safari startup times.

This creates a slight slowdown in SunSpider, mitigated by the following four speedups:

  • speed up array put slightly by moving a branch (was already done for get)
  • speed up symbol table access by adding a function named inlineGet to HashMap and using that in symbolTableGet/Put
  • speed up PropertyNameArray creation by reducing the amount of reference count churn and uniqueness checking when adding names and not doing any allocation at all when building small arrays
  • speed up conversion of strings to floating point numbers by eliminating the malloc/free of the buffer for the ASCII copy of the string; a way to make things even faster would be to change strtod to take a UTF-16 string

Note that there is considerable unused complexity now in HashSet/Map/Table to support
"storage types", which is no longer used. Will do in a separate patch.

  • API/JSCallbackObjectFunctions.h: (KJS::JSCallbackObject<Base>::getPropertyNames): Removed explicit cast to Identifier to take advantage of the new PropertyNameArray::add overload and avoid reference count churn.
  • API/JSObjectRef.cpp: (JSPropertyNameAccumulatorAddName): Ditto.
  • JavaScriptCore.exp: Updated PropertyNameArray::add entry point name.
  • kjs/JSVariableObject.cpp: Removed now-unneeded IdentifierRepHashTraits::nullRepPtr definition (see below). (KJS::JSVariableObject::getPropertyNames): Removed explicit cast to Identifier.
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTableGet): Use inlineGet for speed. Also changed to do early exit instead of nesting the body inside an if. (KJS::JSVariableObject::symbolTablePut): Ditto.
  • kjs/PropertyNameArray.cpp: (KJS::PropertyNameArray::add): Changed implementation to take a raw pointer instead of a reference to an identifier. Do uniqueness checking by searching the vector when the vector is short, only building the set once the vector is large enough.
  • kjs/PropertyNameArray.h: Added an overload of add for a raw pointer, and made the old add function call that one. Added an addKnownUnique function for use when the new name is known to be different from any other in the array. Changed the vector to have an inline capacity of 20.
  • kjs/SymbolTable.h: Changed IdentifierRepHash to inherit from the default hash for a RefPtr so we don't have to define so much. Added an overload of the hash function for a raw pointer as required by the new RefPtrHashMap. Got rid of the now-unneeded IdentifierRepHashTraits -- the default traits now work fine. Added a definition of empthValueIsZero to SymbolTableIndexHashTraits; not having it was incorrect, but harmless.
  • kjs/array_instance.cpp: (KJS::ArrayInstance::put): Move the maxArrayIndex check inside the branch that checks the index against the length, as done in the get function.
  • kjs/function.cpp: (KJS::globalFuncKJSPrint): Changed to use the new getCString instead of cstring.
  • kjs/internal.cpp: Removed printInfo debugging function, a client of cstring. If we need a debugging function we can easily make a better one and we haven't used this one in a long time.
  • kjs/internal.h: Ditto.
  • kjs/object.cpp: (KJS::JSObject::getPropertyNames): Removed explicit cast to Identifier.
  • kjs/property_map.cpp: (KJS::PropertyMap::getEnumerablePropertyNames): Ditto. Also added a special case for the case where the propertyNames array is empty -- in that case we know we're adding a set of names that are non-overlapping so we can use addKnownUnique.
  • kjs/ustring.cpp: (KJS::UString::getCString): Replaces cstring. Puts the C string into a CStringBuffer, which is a char Vector with an inline capacity. Also returns a boolean to indicate if the converion was lossy, which eliminates the need for a separate is8Bit call. (KJS::UString::toDouble): Changed to call getCString instead of cstring.
  • kjs/ustring.h: Ditto.
  • wtf/HashFunctions.h: Overload the hash and equal functions for RefPtr's default hash to take raw pointers. This works with the changes to RefPtrHashMap to avoid introducing refcount churn.
  • wtf/HashMap.h: Removed special code to convert the deleted value to the empty value when writing a new value into the map. This is now handled elsewhere. (WTF::HashMap::get): Removed code that checks for an empty hash table before calling HashTable::lookup; it's slightly more efficient to do this check inside lookup.
  • wtf/HashTable.h: (WTF::HashTable::isDeletedBucket): Changed to use isDeletedValue instead of using deletedValue and the equality operator. (WTF::HashTable::deleteBucket): Changed to use constructDeletedValue instead of using deletedValue and the assignment operator. (WTF::HashTable::checkKey): Added. Factors out the check for values that are empty or deleted keys that's used in various functions below. (WTF::HashTable::lookup): Changed to use checkKey, check for a 0 table, and also made public for use by RefPtrHashMap. (WTF::HashTable::lookupForWriting): Changed to use checkKey. (WTF::HashTable::fullLookupForWriting): Changed to use checkKey. (WTF::HashTable::add): Changed to use checkKey, and call initializeBucket on a deleted bucket before putting a new entry into it. (WTF::HashTable::addPassingHashCode): Ditto. (WTF::HashTable::deallocateTable): Check isDeletedBucket before calling ~ValueType.
  • wtf/HashTraits.h: Got ridd of all the HashTraits specialization for the integer types, since GeneicHashTraitsBase already deals with integers separately. Put the deleted value support into GenericHashTraitsBase. Changed FloatHashTraits to inherit from GenericHashTraits, and define construct/isDeletedValue rather than deletedValue. Removed the ref and deref functions from RefPtr's HashTraits, and defined construct/isDeletedValue. Eliminated DeletedValueAssigner. Changed PairHashTraits to define construct/isDeletedValue, and also merged PairBaseHashTraits in with PairHashTraits. Got rid of all specialization of HashKeyStorageTraits. We'll remove that, and the needsRef data member, later.
  • wtf/RefPtr.h: Added HashTableDeletedValueType, an enum type with a single value, HashTableDeletedValue. Used that type to make a new constructor to construct deleted values and also added an isHashTableDeletedValue function.
  • wtf/RefPtrHashMap.h: Added RefPtrHashMapRawKeyTranslator and used it to implement the raw pointer functions. This is a way to continue to avoid refcount thrash. We can't use the old way because it depended on the underlying map using a non-RefPtr type. (WTF::HashMap::find): Use find with RefPtrHashMapRawKeyTranslator. (WTF::HashMap::contains): Use contains with RefPtrHashMapRawKeyTranslator. (WTF::HashMap::inlineAdd): Use add with RefPtrHashMapRawKeyTranslator. (WTF::HashMap::get): Removed code that checks for an empty hash table before calling HashTable::lookup; it's slightly more efficient to do this check inside lookup. (WTF::HashMap::inlineGet): Added. Just like get, but marked inline for use in the symbol table code.

WebCore:

2008-04-25 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • update for compatibility with HashTable that no longer has optimization to share implementation between hash tables with integers, pointers, RefPtr, and String objects as keys
  • bindings/js/JSSVGPODTypeWrapper.h: (WebCore::PODTypeReadWriteHashInfo::PODTypeReadWriteHashInfo): Added constructor for HashTableDeletedValue. (WebCore::PODTypeReadWriteHashInfo::isHashTableDeletedValue): Added. (WebCore::PODTypeReadWriteHashInfoTraits::constructDeletedValue): Added. (WebCore::PODTypeReadWriteHashInfoTraits::isDeletedValue): Added.
  • dom/Document.cpp: Made changedDocuments internal to the file rather than a static data member of Document. (WebCore::FormElementKey::ref): Removed unneeded check for deleted value -- this will never be called on a deleted element. (WebCore::FormElementKey::deref): Ditto.
  • dom/Document.h: Added HashTableDeletedValue constructor and isHashTableDeletedValue to FormElementKey. Changed FormElementKeyHashTraits to use construct/isDeletedValue. Got rid of the changedDocuments data member. Changed iconURL to be an inline that returns a const String&.
  • dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to use construct/isDeletedValue.
  • page/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::getAXID): Call isDeletedValue instead of deletedValue.
  • platform/SecurityOriginHash.h: Added overload so that SecurityOriginHash can work with raw pointers as well as RefPt (helpful with the new RefPtrHashMap). Eliminated SecurityOriginTraits, since we can now use the default traits. Changed the value of safeToCompareToEmptyOrDeleted to false, since it's not safe to compare a deleted value using this hash function. I don't think it was safe before either; I'm not sure why it didn't cause a problem before.
  • platform/cf/SchedulePair.h: Removed SchedulePairTraits -- custom traits are no longer needed.
  • platform/graphics/FontCache.cpp: (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Added constructor for HashTableDeletedValue. (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): Added. (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Added. (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): Added. (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): Added. (WebCore::FontDataCacheKeyTraits::constructDeletedValue): Added. (WebCore::FontDataCacheKeyTraits::isDeletedValue): Added.
  • platform/graphics/IntSizeHash.h: Changed HashTraits<IntSize> to use construct/isDeletedValue.
  • platform/graphics/mac/FontPlatformData.h: (WebCore::FontPlatformData::FontPlatformData): Added constructor for HashTableDeletedValue. (WebCore::FontPlatformData::isHashTableDeletedValue): Added. (WebCore::FontPlatformData::hashTableDeletedFontValue): Added.
  • platform/text/PlatformString.h: (WebCore::String::swap): Added. Avoids any refcount churn when swapping two strings. (WebCore::String::String): Added constructor for HashTableDeletedValue. (WebCore::String::isHashTableDeletedValue): Added. (WebCore::swap): Added. Avoids any refcount churn when swapping two strings.
  • platform/text/StringHash.h: Changed specialization of HashTraits for WebCore::String to use the deleted value now defined in that class and removed the code to do ref/deref. Removed HashKeyStorageTraits specializations.


  • platform/win/COMPtr.h: Changed specialization of HashTraits for COMPtr to use the deleted value now defined in that class and removed the code to do ref/deref. Removed HashKeyStorageTraits specializations. (COMPtr::COMPtr): Added constructor for HashTableDeletedValue. (COMPtr::isHashTableDeletedValue): Added. (COMPtr::query): Removed inline keyword not needed since functions defined in the class definition are automatically marked inline. (COMPtr::hashTableDeletedValue): Added.
  • storage/DatabaseTracker.h: Removed now-unneeded SecurityOriginTraits.
  • storage/LocalStorage.h: Ditto.
  • storage/OriginQuotaManager.h: Ditto.
  • storage/SessionStorage.h: Ditto.
  • svg/SVGAnimatedTemplate.h: (WebCore::SVGAnimatedTypeWrapperKey::SVGAnimatedTypeWrapperKey): Added constructor for HashTableDeletedValue. (WebCore::SVGAnimatedTypeWrapperKey::isHashTableDeletedValue): Added. (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue): Added. (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue): Added.
10:44 PM Changeset in webkit [32608] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-04-27 Mark Rowe <mrowe@apple.com>

Reviewed by Tim Hatcher.

Initialize the extra member of the xmlEntity struct when using libxml2 >= 2.6.27.

  • dom/XMLTokenizer.cpp: (WebCore::):
10:37 PM Changeset in webkit [32607] by kevino@webkit.org
  • 3 edits in trunk/WebKit/wx

Add methods to check if there is a previous/next page in the history. Also some coding style cleanup.

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

10:08 PM Changeset in webkit [32606] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-27 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 18746: SQUIRRELFISH: indirect eval used when direct eval should be used
<https://bugs.webkit.org/show_bug.cgi?id=18746>

Change the base to the correct value of the 'this' object after the direct
eval test instead of before.

Fixes 5 layout tests.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/nodes.cpp: (KJS::EvalFunctionCallNode::emitCode):
9:46 PM Changeset in webkit [32605] by mitz@apple.com
  • 6 edits
    3 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: editing/selection/move-left-right.html

  • editing/SelectionController.cpp: (WebCore::SelectionController::modifyMovingRight): Added. Currently implemented for character granularity, all other being treated as "forward". (WebCore::SelectionController::modifyMovingForward): Renamed modifyMovingRightForward() to this. (WebCore::SelectionController::modifyMovingLeft): Added. Currently implemented for character granularity, all other being treated as "backward". (WebCore::SelectionController::modifyMovingBackward): Renamed modifyMovingLeftBackward() to this. (WebCore::SelectionController::modify): Changed to call either the visual (left/right) or logical (backward/forward) methods depending on the 'dir' argument for moves.
  • editing/SelectionController.h:
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Added. (WebCore::VisiblePosition::left): Added. (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Added. (WebCore::VisiblePosition::right): Added.
  • editing/VisiblePosition.h:

LayoutTests:

Reviewed by Darin Adler.

  • editing/selection/move-left-right-expected.txt: Added.
  • editing/selection/move-left-right.html: Added.
  • platform/mac/editing/selection/move-left-right-expected.txt: Added.
9:32 PM Changeset in webkit [32604] by weinig@apple.com
  • 5 edits in trunk

WebCore:

2008-04-27 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Fix for <rdar://problem/5893385> Need to provide access to the CanvasRenderingContext2D prototype
Add a JS constructor for CanvasRenderingContext2D.

  • html/CanvasRenderingContext2D.idl:
  • page/DOMWindow.idl:

LayoutTests:

2008-04-27 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Update test to reflect add the CanvasRenderingContext2d constructor.

  • fast/dom/Window/window-properties-expected.txt:

Apr 26, 2008:

10:27 PM Changeset in webkit [32603] by mrowe@apple.com
  • 11 edits in tags/Safari-6526.2

Merge r32530.

10:27 PM Changeset in webkit [32602] by mrowe@apple.com
  • 8 edits in tags/Safari-6526.2

Merge r32583.

8:10 PM Changeset in webkit [32601] by ddkilzer@apple.com
  • 4 edits
    41 deletes in trunk/BugsSite

Removed temp files and added appropriate svn:ignore properties.

Rubber-stamped by Mark Rowe.

  • data: Added svn:ignore property for "versioncache" and "versioncache.*" files.
  • data/template: Added svn:ignore property for "template" subdirectory.
  • data/template/template: Removed precompiled template subdirectory.
  • data/versioncache: Removed.
  • data/versioncache.*: Removed backup versioncache files.
  • data/webdot: Added svn:ignore property for "*.dot" files.
  • data/webdot/*.dot: Removed cached webdot files.
7:29 PM Changeset in webkit [32600] by kevino@webkit.org
  • 2 edits in trunk/WebKitTools

Delete the DerivedSources after make clean has been done so that the DerivedSouces don't get re-created. Also, use the proper extension for the Win wxPython extension.

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

7:24 PM Changeset in webkit [32599] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

7:23 PM Changeset in webkit [32598] by mrowe@apple.com
  • 1 copy in tags/Safari-6526.2

New tag.

6:56 PM Changeset in webkit [32597] by weinig@apple.com
  • 29 edits
    6 moves
    4 adds in trunk

WebCore:

2008-04-26 Adam Barth <hk9565@gmail.com>

Reviewed by Adam Roben and Sam Weinig.

Fixes bug http://bugs.webkit.org/show_bug.cgi?id=17331
Fixes bug http://bugs.webkit.org/show_bug.cgi?id=16848


Updates postMessage implementation to match HTML 5 specification:
1) Adds origin parameter to postMessage.
2) Removes domain and uri attributes of MessageEvent in favor of

origin attribute.

In order to do this correctly, we need to distinguish between hosts and domains
in the SecurityOrigin class. There are now three ways to compare security origins:
1) isSameSchemeHostPort compares scheme, host, and port, and is used for postMessage
2) equal compares all aspects of the security origin, and is used for hash keys
3) canAccess understands the semantics of schemes such as file:// and data:// URLs,

and should be used for scripting access checks.

Changed SecurityOrigin::toString() to generate identifiers that are suitable for
being used as a MessageEvent's origin property. In the future, they could be used
as database string identifiers as well. Re-used KURL parser to parse serialized
SecurityOrigins.

Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.


Tests: http/tests/security/postMessage/invalid-origin-throws-exception.html

http/tests/security/postMessage/javascript-page-still-sends-origin.html
http/tests/security/postMessage/origin-unaffected-by-base-tag.html
http/tests/security/postMessage/origin-unaffected-by-document-domain.html
http/tests/security/postMessage/target-origin.html

  • WebCore.base.exp:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
  • dom/Document.cpp: (WebCore::Document::domain):
  • dom/MessageEvent.cpp: (WebCore::MessageEvent::MessageEvent): (WebCore::MessageEvent::initMessageEvent):
  • dom/MessageEvent.h: (WebCore::MessageEvent::origin):
  • dom/MessageEvent.idl:
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::checkOrigin): (WebCore::CanvasRenderingContext2D::createPattern):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage):
  • page/DOMWindow.h:
  • page/DOMWindow.idl:
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::SecurityOrigin): (WebCore::SecurityOrigin::create): (WebCore::SecurityOrigin::createForFrame): (WebCore::SecurityOrigin::copy): (WebCore::SecurityOrigin::setDomainFromDOM): (WebCore::SecurityOrigin::canAccess): (WebCore::SecurityOrigin::isSecureTransitionTo): (WebCore::SecurityOrigin::toString): (WebCore::SecurityOrigin::createFromString): (WebCore::SecurityOrigin::createFromDatabaseIdentifier): (WebCore::SecurityOrigin::databaseIdentifier): (WebCore::SecurityOrigin::equal): (WebCore::SecurityOrigin::isSameSchemeHostPort):
  • platform/SecurityOrigin.h: (WebCore::SecurityOrigin::host): (WebCore::SecurityOrigin::domain):
  • platform/SecurityOriginHash.h: (WebCore::SecurityOriginTraits::deletedValue):
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::hasEntryForDatabase): (WebCore::DatabaseTracker::originPath): (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::populateOrigins): (WebCore::DatabaseTracker::databaseNamesForOrigin): (WebCore::DatabaseTracker::detailsForNameAndOrigin): (WebCore::DatabaseTracker::setDatabaseDetails): (WebCore::DatabaseTracker::setQuota): (WebCore::DatabaseTracker::addDatabase): (WebCore::DatabaseTracker::deleteOrigin): (WebCore::DatabaseTracker::deleteDatabase):

WebKit/mac:

2008-04-20 Adam Barth <hk9565@gmail.com>

Reviewed by Adam Roben and Sam Weinig.

Updated WebSecurityOrigin to match new SecurityOrigin API.

Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

  • Storage/WebSecurityOrigin.mm: (-[WebSecurityOrigin host]): (-[WebSecurityOrigin domain]):
  • Storage/WebSecurityOriginPrivate.h:

WebKit/win:

2008-04-26 Adam Barth <hk9565@gmail.com>

Reviewed by Adam Roben and Sam Weinig.

Renamed "domain" method to "host" to match SecurityOrigin.

  • Interfaces/IWebSecurityOrigin.idl:
  • WebSecurityOrigin.cpp: (WebSecurityOrigin::host):
  • WebSecurityOrigin.h:

WebKitTools:

2008-04-26 Adam Barth <hk9565@gmail.com>

Reviewed by Adam Roben and Sam Weinig.

Updates LayoutTestController to use host instead of domain.

Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setDatabaseQuota):
  • DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:]):

LayoutTests:

2008-04-26 Adam Barth <hk9565@gmail.com>

Reviewed by Adam Roben and Sam Weinig.

Update LayoutTests for new postMessage API.

Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

  • http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag-expected.txt: Removed.
  • http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html: Removed.
  • http/tests/security/postMessage/domain-unaffected-by-document-domain-expected.txt: Removed.
  • http/tests/security/postMessage/domain-unaffected-by-document-domain.html: Removed.
  • http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt: Added.
  • http/tests/security/postMessage/invalid-origin-throws-exception.html: Added.
  • http/tests/security/postMessage/javascript-page-still-sends-domain-expected.txt: Removed.
  • http/tests/security/postMessage/javascript-page-still-sends-domain.html: Removed.
  • http/tests/security/postMessage/javascript-page-still-sends-origin-expected.txt: Copied from LayoutTests/http/tests/security/postMessage/javascript-page-still-sends-domain-expected.txt.
  • http/tests/security/postMessage/javascript-page-still-sends-origin.html: Copied from LayoutTests/http/tests/security/postMessage/javascript-page-still-sends-domain.html.
  • http/tests/security/postMessage/origin-unaffected-by-base-tag-expected.txt: Copied from LayoutTests/http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag-expected.txt.
  • http/tests/security/postMessage/origin-unaffected-by-base-tag.html: Copied from LayoutTests/http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html.
  • http/tests/security/postMessage/origin-unaffected-by-document-domain-expected.txt: Copied from LayoutTests/http/tests/security/postMessage/domain-unaffected-by-document-domain-expected.txt.
  • http/tests/security/postMessage/origin-unaffected-by-document-domain.html: Copied from LayoutTests/http/tests/security/postMessage/domain-unaffected-by-document-domain.html.
  • http/tests/security/postMessage/target-origin-expected.txt: Added.
  • http/tests/security/postMessage/target-origin.html: Added.
6:52 PM Changeset in webkit [32596] by kevino@webkit.org
  • 4 edits in trunk

Another round of build fixes, hopefully the last this time.

5:35 PM Changeset in webkit [32595] by kevino@webkit.org
  • 2 edits in trunk/WebKitTools

Reviewed by Kevin Ollivier.

Allow the user to set the path to SWIG using an environment variable.

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

5:28 PM Changeset in webkit [32594] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix. Add needed wx includes for compilation.
https://bugs.webkit.org/show_bug.cgi?id=18758

5:21 PM Changeset in webkit [32593] by kevino@webkit.org
  • 2 edits in trunk/WebKitTools

wx build fix. Download the latest libpng version for building the dependencies.

1:12 PM Changeset in webkit [32592] by mjs@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

2008-04-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • document all property getting, setting and deleting opcodes


(And fix function parameter names to match corresponding opcode parameter names.)

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitResolve): (KJS::CodeGenerator::emitResolveBase): (KJS::CodeGenerator::emitResolveBaseAndProperty): (KJS::CodeGenerator::emitResolveBaseAndFunc): (KJS::CodeGenerator::emitGetPropId): (KJS::CodeGenerator::emitPutPropId): (KJS::CodeGenerator::emitDeletePropId): (KJS::CodeGenerator::emitPutPropVal):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::resolve): (KJS::resolveBase): (KJS::resolveBaseAndProperty): (KJS::resolveBaseAndFunc): (KJS::Machine::privateExecute):
  • kjs/nodes.cpp: (KJS::ResolveNode::emitCode): (KJS::ArrayNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::BracketAccessorNode::emitCode): (KJS::EvalFunctionCallNode::emitCode): (KJS::FunctionCallResolveNode::emitCode): (KJS::FunctionCallBracketNode::emitCode): (KJS::PostIncResolveNode::emitCode): (KJS::PostDecResolveNode::emitCode): (KJS::PostIncBracketNode::emitCode): (KJS::PostDecBracketNode::emitCode): (KJS::PostIncDotNode::emitCode): (KJS::PostDecDotNode::emitCode): (KJS::DeleteResolveNode::emitCode): (KJS::TypeOfResolveNode::emitCode): (KJS::PreIncResolveNode::emitCode): (KJS::PreDecResolveNode::emitCode): (KJS::PreIncBracketNode::emitCode): (KJS::PreDecBracketNode::emitCode): (KJS::AssignResolveNode::emitCode): (KJS::AssignDotNode::emitCode): (KJS::ReadModifyDotNode::emitCode): (KJS::AssignBracketNode::emitCode): (KJS::ReadModifyBracketNode::emitCode): (KJS::ConstDeclNode::emitCodeSingle):
9:41 AM Changeset in webkit [32591] by mitz@apple.com
  • 6 edits
    8 adds in trunk

WebCore:

2008-04-26 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=18583
WebKit should ignore declarations with a negative value for
line-height and font-size, including in the shorthand font form.

Tests: fast/css/font-size-negative.html

fast/css/line-height-negative.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseFont):

LayoutTests:

2008-04-26 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by Dave Hyatt.

Test for https://bugs.webkit.org/show_bug.cgi?id=18583
Negative values are invalid for font-size and line-height,
including in the shorthand "font".

  • fast/css/font-size-negative.html: Added.
  • fast/css/line-height-negative.html: Added.
  • platform/mac/css2.1/t100801-c548-ln-ht-02-b-ag-expected.checksum:
  • platform/mac/css2.1/t100801-c548-ln-ht-02-b-ag-expected.png:
  • platform/mac/css2.1/t100801-c548-ln-ht-02-b-ag-expected.txt:
  • platform/mac/fast/css/font-size-negative-expected.checksum: Added.
  • platform/mac/fast/css/font-size-negative-expected.png: Added.
  • platform/mac/fast/css/font-size-negative-expected.txt: Added.
  • platform/mac/fast/css/line-height-negative-expected.checksum: Added.
  • platform/mac/fast/css/line-height-negative-expected.png: Added.
  • platform/mac/fast/css/line-height-negative-expected.txt: Added.
2:07 AM Changeset in webkit [32590] by oliver@apple.com
  • 9 edits
    2 adds in branches/squirrelfish

Bug 18628: SQUIRRELFISH: need to support recursion limit
<https://bugs.webkit.org/show_bug.cgi?id=18628>

Reviewed by Maciej.

Basically completes recursion limiting. There is still some
tuning we may want to do to make things better in the face of
very bad code, but certainly nothing worse than anything already
possible in trunk.

Also fixes a WebKit test by fixing the exception text :D

2:07 AM Changeset in webkit [32589] by oliver@apple.com
  • 1 edit in branches/squirrelfish/JavaScriptCore/ChangeLog

Fix the changelog

Apr 25, 2008:

8:28 PM Changeset in webkit [32588] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptGlue

<rdar://problem/5891264> Don't install the JavaScriptGlue headers

Reviewed by Adele Peterson.

7:02 PM Changeset in webkit [32587] by weinig@apple.com
  • 11 edits
    1 delete in trunk/JavaScriptCore

2008-04-25 Sam Weinig <sam@webkit.org>

Rubber-stamped by Mark Rowe.

Remove SavedBuiltins and SavedProperties classes and the methods used to
save data to them. The CachedPage now stores a the JSGlobalObject in full.

  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/JSGlobalObject.cpp:
  • kjs/JSGlobalObject.h:
  • kjs/JSVariableObject.cpp:
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::localStorage):
  • kjs/SavedBuiltins.h: Removed.
  • kjs/object.h:
  • kjs/property_map.cpp:
  • kjs/property_map.h:
5:55 PM Changeset in webkit [32586] by andersca@apple.com
  • 3 edits
    2 adds in trunk/WebCore

2008-04-25 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Add empty ApplicationCacheStorage class.


  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/appcache/ApplicationCacheStorage.cpp: Added. (WebCore::cacheStorage):
  • loader/appcache/ApplicationCacheStorage.h: Added.
5:45 PM Changeset in webkit [32585] by weinig@apple.com
  • 7 edits in trunk/WebCore

2008-04-24 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Replace the JSDOMWindow with a new one instead of clearing it.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::clear): Don't reset the window.
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear): Replace the current JSDOMWindow stored in the wrapper window with a new one.
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore): (WebCore::CachedPage::clear):
  • history/CachedPage.h: Instead of storing the builtins, properties and localstorage in special holding structs, store the entire JSDOMWindow.

For the case of a page that has no JSDOMWindow before it's first
navigation, has one created while it is in the cache and is then
navigated back, create a new JSDOMWindow to keep the assumption
in JSDOMWindowWrapper that it always has the correct window.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): We must clear the DOMWindow first, so that we create a new JSDOMWindow, it gets a new one.
  • page/Frame.cpp: (WebCore::Frame::clearDOMWindow): Null out the domWindow so that on the next access, a new one is created.
5:08 PM Changeset in webkit [32584] by weinig@apple.com
  • 7 edits in trunk/WebCore

2008-04-25 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

The EventListeners need to operate and store JSDOMWindows, not JSDOMWrapperWindows.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::~JSDOMWindowBase): (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
  • bindings/js/JSSVGLazyEventListener.cpp: (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
  • bindings/js/JSSVGLazyEventListener.h:
  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent): (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): (WebCore::JSUnprotectedEventListener::window): (WebCore::JSUnprotectedEventListener::clearWindow): (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::~JSEventListener): (WebCore::JSEventListener::window): (WebCore::JSEventListener::clearWindow): (WebCore::JSLazyEventListener::JSLazyEventListener): (WebCore::JSLazyEventListener::parseCode):
  • bindings/js/kjs_events.h:
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::createHTMLEventHandler): (WebCore::KJSProxy::createSVGEventHandler):
5:03 PM Changeset in webkit [32583] by mrowe@apple.com
  • 8 edits in trunk

Add some content to an empty ICU header file to prevent verification errors.

Rubber-stamped by Sam Weinig.

4:38 PM Changeset in webkit [32582] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-04-25 Anders Carlsson <andersca@apple.com>

Fix tyop.


  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
4:36 PM Changeset in webkit [32581] by andersca@apple.com
  • 12 edits in trunk

WebCore:

2008-04-25 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Add and honor offlineWebApplicationCacheEnabled setting.


  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::load):
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
  • page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setOfflineWebApplicationCacheEnabled):
  • page/Settings.h: (WebCore::Settings::offlineWebApplicationCacheEnabled):

WebKit/mac:

2008-04-25 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Add offlineWebApplicationCacheEnabled preference.


  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.m: (+[WebPreferences initialize]): (-[WebPreferences offlineWebApplicationCacheEnabled]): (-[WebPreferences setOfflineWebApplicationCacheEnabled:]):
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm: (-[WebView _updateSettingsFromPreferences:]):
3:44 PM Changeset in webkit [32580] by mrowe@apple.com
  • 98 edits in trunk/WebKitSite

2008-04-25 Mark Rowe <mrowe@apple.com>

Upgrade to WordPress 2.5.1. Another day, another security vulnerability in WordPress.

  • blog:
3:41 PM Changeset in webkit [32579] by oliver@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

Bug 18736: SQUIRRELFISH: switch statements with no default have incorrect codegen
<https://bugs.webkit.org/show_bug.cgi?id=18736>

Reviewed by Geoff

Put a limit on the level of reentry recursion. 128 levels of re-entrant recursion
seems reasonable as it is greater than the old eval limit, and a long way short of
the reentry depth needed to overflow the stack.

2:44 PM Changeset in webkit [32578] by ddkilzer@apple.com
  • 2 edits in trunk/JavaScriptCore

<rdar://problem/5819422> REGRESSION: Wrong line number passed to -willLeaveCallFrame

Patch by George Dicker and Michael Kahl. Reviewed by Darin.

When -[NSObject(WebScriptDebugDelegate) webView:willLeaveCallFrame:sourceId:line:forWebFrame:]
is invoked, the first line number of the function is returned instead of the last
line number. This regressed in r28458.

  • kjs/nodes.cpp: (KJS::FunctionBodyNodeWithDebuggerHooks::execute): Pass lastLine() instead of lineNo() when calling Debugger::returnEvent().
2:11 PM Changeset in webkit [32577] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-04-25 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

<rdar://problem/5629139>
PluginInfoStoreWin needs to implement pluginNameForMIMEType().


  • plugins/PluginInfoStore.cpp: (WebCore::PluginInfoStore::pluginNameForMIMEType):
1:09 PM Changeset in webkit [32576] by andersca@apple.com
  • 2 edits in trunk/WebKit/win

2008-04-25 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

Fix internal debug build.


  • WebKit.vcproj/WebKit.vcproj:
11:11 AM Changeset in webkit [32575] by ggaren@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

2008-04-25 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A tiny bit of cleanup to the regexp code.


Removed some static_cast.


Removed createRegExpImp because it's no longer used.

11:00 AM SquirrelFish edited by ggaren@apple.com
(diff)
10:02 AM Changeset in webkit [32574] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-04-25 Darin Adler <Darin Adler>

Done with Stephanie Lewis.

  • JavaScriptCore.xcodeproj/project.pbxproj: Prepare for compilation with gcc 4.2 by adding -fno-strict-aliasing to CollatorICU.cpp.
7:43 AM Changeset in webkit [32573] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Fixed focus handling when a node is focused while the corresponding QWebPage does not have the focus.

  • Correctly de- and reactivate the focused frame in focusOut/focusInEvent without telling the focus controller. We don't want to change the focused frame
    • the controller has to remember it in fact - but instead just deactivate the frame for correct painting as RenderTheme::isFocused() uses the activation state of the frame.
5:37 AM Changeset in webkit [32572] by Simon Hausmann
  • 2 edits in trunk/WebCore

Tor Arne Vestbø <tavestbo@trolltech.com>

Respect antialiasing hint when drawing focus rects.

5:37 AM Changeset in webkit [32571] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Kavindra Devi Palaraja <kdpalara@trolltech.com>

completed documentation for the Detailed Description section for QWebView

5:37 AM Changeset in webkit [32570] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Denis Dzyubenko <denis.dzyubenko@trolltech.com>

Fixed the way QWebHistory works - when you call back(), forward() or goToItem() functions it changes the current item in history *and* loads the corresponding page.

5:36 AM Changeset in webkit [32569] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Tor Arne Vestbø <tavestbo@trolltech.com>

Fix resubmit of HTML forms when initially denied by QWebPage::acceptNavigationRequest().

3:49 AM Changeset in webkit [32568] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

Simon Hausmann <Simon Hausmann>

When pressing backspace in a line edit in a webpage we should not go back to the previous page.

The shortcut for back on Windows is backspace. Implemented shortcut override
handling in QWebView/QWebPage to prevent this.

3:49 AM Changeset in webkit [32567] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

Ariya Hidayat <ariya.hidayat@trolltech.com>

Fix triple-clicking does not work in a web page

3:49 AM Changeset in webkit [32566] by Simon Hausmann
  • 2 edits in trunk/WebCore

Holger Hans Peter Freyther <zecke@selfish.org>

networking: Use Qt::QueuedConnection in QNetworkReplyHandler

Make sure we leave the networking backend before calling
into WebCore. Otheriwse we might return to the networking
backend when it is already deleted.

3:49 AM Changeset in webkit [32565] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

When pressing Ctrl-Up the keyboard modifiers could include other modifiers

3:48 AM Changeset in webkit [32564] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Tor Arne Vestbø <tavestbo@trolltech.com>

Fix handling of Javascript's confirm() function in QtWebKit.

3:41 AM Changeset in webkit [32563] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Kavindra Devi Palaraja <kdpalara@trolltech.com>

Doc - added a screenshot, flowchart, and a snippet to the QWebView documentation to improve clarity

3:32 AM Changeset in webkit [32562] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

QWebPage: missing signal when window.print() is requested from javascript

3:32 AM Changeset in webkit [32561] by Simon Hausmann
  • 2 edits in trunk/WebCore

Tor Arne Vestbø <tavestbo@trolltech.com>

Fix propagation of mouse double click events.

Treat a mouse double click as a regular mouse press with just a different click count.

3:32 AM Changeset in webkit [32560] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Fixes: "Save Image" action wasn't doing anything.

3:31 AM Changeset in webkit [32559] by Simon Hausmann
  • 3 edits in trunk/WebCore

Tor Arne Vestbø <tavestbo@trolltech.com>

Fixes: Fix strange button sizes (push, radio, and check) in QtWebKit.

We now use pixel metrics instead of fixed sizes for the
button margins, or if the style supports layout rects we
use the delta between the content rect and the layout rect.

In adition we compensate for the difference between the size
for content and the actual layout rect (if supported) by
reporting back the layout rect to WebKit for page layout,
and then inflating the rect we actually paint to.

3:31 AM Changeset in webkit [32558] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Apply key event changes to the current frame, not the main frame.

Example: hitting space bar should scroll current frame, not the main frame
which doesn't even have a scrollbar.

3:00 AM Changeset in webkit [32557] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Fixes: QWebFrame crash when fetching the icon

Just call QWebSettings::iconForUrl to not duplicate code and obey the mutex lock.

2:59 AM Changeset in webkit [32556] by Simon Hausmann
  • 2 edits in trunk/WebCore

Benjamin Meyer <bmeyer@trolltech.com>

Fixes: Valgrind warnings about uninitilized variables used in jumps

2:59 AM Changeset in webkit [32555] by Simon Hausmann
  • 4 edits in trunk

Warwick Allison <warwick@trolltech.com>

Fixes: Scrollbars did not report correct maximum.

2:59 AM Changeset in webkit [32554] by Simon Hausmann
  • 3 edits in trunk/WebCore

Benjamin Meyer <bmeyer@trolltech.com>

Implement NoDrop, ZoomIn, and ZoomOut cursors

2:01 AM Changeset in webkit [32553] by Simon Hausmann
  • 2 edits in trunk/WebCore

Holger Hans Peter Freyther <zecke@selfish.org>

Handle the ListboxAppearance as 'TextField' as well. We are mainly interested in the background.

RenderBox will call us to paint the outline/background, it is handled the same as a
TextAreaAppearance in RenderTheme, handle it the same in the RenderThemeQt

2:01 AM Changeset in webkit [32552] by Simon Hausmann
  • 2 edits in trunk/WebCore

Holger Hans Peter Freyther <zecke@selfish.org>

No reason to exit the application when we can not paint something. Replace the Q_ASSERT
with a runtime check. Return true to indicate that we did not handle the painting
of this element.

2:01 AM Changeset in webkit [32551] by Simon Hausmann
  • 2 edits in trunk/WebCore

Holger Hans Peter Freyther <zecke@selfish.org>

Correct the comment. We are in painTextField and don't paint a button.

2:00 AM Changeset in webkit [32550] by Simon Hausmann
  • 2 edits in trunk/WebCore

Holger Hans Peter Freyther <zecke@selfish.org>

Allow ListboxAppearance to take focus as well. Stolen from Tor Arne

2:00 AM Changeset in webkit [32549] by Simon Hausmann
  • 2 edits in trunk/LayoutTests

Holger Hans Peter Freyther <zecke@selfish.org>

Do not execute most of the http tests as they hang or crash.

2:00 AM Changeset in webkit [32548] by Simon Hausmann
  • 2 edits in trunk/WebCore

Simon Hausmann <Simon Hausmann>

Remove debug output.

1:28 AM Changeset in webkit [32547] by oliver@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

Bug 18736: SQUIRRELFISH: switch statements with no default have incorrect codegen
<https://bugs.webkit.org/show_bug.cgi?id=18736>

Reviewed by Maciej

Ensure the "default" target is correct in the absence of an explicit default handler.

1:10 AM Changeset in webkit [32546] by Simon Hausmann
  • 5 edits in trunk/WebKit/qt

David Boddie <dboddie@trolltech.com>

Documentation updates for some of the QWeb classes

1:09 AM Changeset in webkit [32545] by oliver@apple.com
  • 1 edit in branches/squirrelfish/JavaScriptCore/ChangeLog

Fixing the ChangeLog

1:08 AM Changeset in webkit [32544] by oliver@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

Bug 18732: SQUIRRELFISH: exceptions thrown by native constructors are ignored
<https://bugs.webkit.org/show_bug.cgi?id=18732>

Reviewed by Maciej

More bounds checking.

12:53 AM Changeset in webkit [32543] by Simon Hausmann
  • 5 edits in trunk

Holger Hans Peter Freyther <zecke@selfish.org>

Implement dumping of resource load callbacks to pass http/tests/xmlhttprequest/abort-should-cancel-load.html

Similar to Editing and Frameloading we do the dumping within WebCore

12:52 AM Changeset in webkit [32542] by Simon Hausmann
  • 2 edits in trunk/WebCore

Holger Hans Peter Freyther <zecke@selfish.org>

Change the string to match the mac and pass http/tests/misc/isindex-formdata.html

12:52 AM Changeset in webkit [32541] by Simon Hausmann
  • 2 edits in trunk/WebCore

Simon Hausmann <Simon Hausmann>

When we encounter a new/unknown HTTP request type report it back to WebCore as loading error.

12:51 AM Changeset in webkit [32540] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-25 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fix signal catching magic


The signal handlers are restored to _exit but are only set when
running under run-javascriptcore-tests. fprintf from a signal
handler is not safe.

  • kjs/testkjs.cpp: (main): (parseArguments):
  • tests/mozilla/jsDriver.pl:
12:44 AM Changeset in webkit [32539] by Simon Hausmann
  • 2 edits in trunk/WebCore

Benjamin Meyer <bmeyer@trolltech.com>

Fix crash in the networking layer.

Set the m_reply to null right after calling deleteLater().

12:27 AM Changeset in webkit [32538] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-25 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 18732: SQUIRRELFISH: exceptions thrown by native constructors are ignored
<https://bugs.webkit.org/show_bug.cgi?id=18732>

Fixes another regression test.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
12:24 AM Changeset in webkit [32537] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-25 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 18728: SQUIRRELFISH: invalid regular expression constants should throw exceptions
<https://bugs.webkit.org/show_bug.cgi?id=18728>

Fixes another regression test.

  • kjs/nodes.cpp: (KJS::RegExpNode::emitCode):

Apr 24, 2008:

11:45 PM Changeset in webkit [32536] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoffrey Garen.

Bug 18735: SQUIRRELFISH: closures are sometimes given an incorrect 'this' value when called
<https://bugs.webkit.org/show_bug.cgi?id=18735>

The overloaded toThisObject method was not copied over to JSActivation.

Fixes two regression tests.

  • kjs/JSActivation.cpp: (KJS::JSActivation::toThisObject):
  • kjs/JSActivation.h:
11:44 PM Changeset in webkit [32535] by ggaren@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver Hunt.


Added support for arguments.callee.

11:42 PM Changeset in webkit [32534] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-04-24 Mark Rowe <mrowe@apple.com>

Rubber-stamped by Oliver Hunt.

  • WebCore.base.exp: Remove two symbols from the export list that don't need to be exported.
10:00 PM Changeset in webkit [32533] by oliver@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

Bug 18628: SQUIRRELFISH: need to support recursion limit
<https://bugs.webkit.org/show_bug.cgi?id=18628>

Reviewed by Maciej

Partial fix -- this gets us some of the required bounds checking, but not
complete coverage. But it does manage to do them without regressing :D

9:04 PM Changeset in webkit [32532] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

Test: fast/dynamic/float-remove-above-line.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Avoid adding floats that do not intrude into the line to its floats vector. When such floats go away, they do not dirty the line (because they do not intersect with it) and having it keep them in its floats vector is what caused the crash.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/dynamic/float-remove-above-line-expected.txt: Added.
  • fast/dynamic/float-remove-above-line.html: Added.
7:04 PM Changeset in webkit [32531] by justin.garcia@apple.com
  • 2 edits in trunk/WebCore

2008-04-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by John Sullivan.


It is possible, despite our safeguards, for createMarkup to iterate past the end of the Range
that is passed to it. Added a null check to prevent crashes in this situation (we won't crash but
we will create too much markup), and added an ASSERT to hopefully catch the scenario in a debugger
and help us understand what's going on.

  • editing/markup.cpp: (WebCore::createMarkup):
6:29 PM Changeset in webkit [32530] by mrowe@apple.com
  • 11 edits in trunk

Remove code for calculating the glyph cache size.

Reviewed by Sam Weinig.

WebCore:

  • WebCore.base.exp: Remove unused symbol.
  • platform/graphics/mac/FontCacheMac.mm: Remove code that is unused now that we do not compute the glyph cache size.
  • platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.

WebKit:

  • WebCoreSupport/WebSystemInterface.m:

(InitWebCoreSystemInterface): Remove unused symbol.

WebKitSystemInterface:

  • WebKitSystemInterface.h: Remove unused symbol.
  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
6:29 PM Changeset in webkit [32529] by mrowe@apple.com
  • 4 edits in trunk

Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.

Reviewed by Sam Weinig.

5:58 PM Changeset in webkit [32528] by mrowe@apple.com
  • 3 edits
    3 adds in trunk

2008-04-24 Cameron McCormack <cam@mcc.id.au>

Reviewed by Maciej Stachowiak.

Ensure that changes to rx="" and ry="" attributes on an SVG <rect>
element cause a relayout.

Test: svg/dom/SVGRectElement/rect-modify-rx.svg

  • svg/SVGRectElement.cpp: (WebCore::SVGRectElement::svgAttributeChanged): Call needsLayout() when the attribute is rx or ry. (WebCore::SVGRectElement::hasRelativeValues): Return true when the attribute is rx or ry, since they also can have relative values.

2008-04-24 Cameron McCormack <cam@mcc.id.au>

Reviewed by Maciej Stachowiak.

Test for:
http://bugs.webkit.org/show_bug.cgi?id=18328
Modifying rx="" or ry="" on a <rect> doesn't relayout

  • svg/dom/SVGRectElement: Added.
  • svg/dom/SVGRectElement/rect-modify-rx-expected.txt: Added.
  • svg/dom/SVGRectElement/rect-modify-rx.svg: Added.
5:50 PM Changeset in webkit [32527] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

2008-04-24 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Maciej Stachowiak.

http://bugs.webkit.org/show_bug.cgi?id=18485
Typo and documentation fix for build-webkit

  • Scripts/build-webkit:
5:47 PM Changeset in webkit [32526] by mrowe@apple.com
  • 5 edits in trunk

2008-04-24 Adam Barth <hk9565@gmail.com>

Reviewed by Sam Weinig.

Update the XMLHttpRequest header black list to match the spec.

  • xml/XMLHttpRequest.cpp: (WebCore::isSafeRequestHeader):

2008-04-24 Adam Barth <hk9565@gmail.com>

Reviewed by Sam Weinig.

Test that we block headers beginning with "Sec-" as per spec.

  • http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
  • http/tests/xmlhttprequest/set-dangerous-headers.html:
5:47 PM Changeset in webkit [32525] by mrowe@apple.com
  • 3 edits
    2 adds in trunk

2008-04-22 Feng Qian <ian.eng.webkit@gmail.com>

Reviewed by Geoff Garen.

Fix https://bugs.webkit.org/show_bug.cgi?id=18677
Bug 18677: Synchronous event dispatch confuses the popup blocker into incorrectly blocking chat popups in gmail.com.

Test: fast/events/nested-window-event.html

  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent): Save and restore the current event around the event dispatch.

2008-04-22 Feng Qian <ian.eng.webkit@gmail.com>

Reviewed by Geoff Garen.

Test for nested event handlers.

  • fast/events/nested-window-event-expected.txt: Added.
  • fast/events/nested-window-event.html: Added.
5:26 PM Changeset in webkit [32524] by beidson@apple.com
  • 6 edits in trunk/WebCore

2008-04-24 Brady Eidson <beidson@apple.com>

Reviewed by Teh Mitzpettel

Make it so PageGroups know what their own name is.

  • WebCore.base.exp:
  • page/Page.cpp: (WebCore::Page::setGroupName): (WebCore::Page::groupName):
  • page/Page.h:
  • page/PageGroup.cpp: Move the PageGroupMap into the PageGroup class. (WebCore::PageGroup::PageGroup): Added a c'tor that takes the group name as an argument instead of the initial Page. (WebCore::PageGroup::pageGroup): Handles creating and mapping names to groups
  • page/PageGroup.h: (WebCore::PageGroup::name):
4:20 PM Changeset in webkit [32523] by mitz@apple.com
  • 4 edits in trunk/WebKit

WebKit/gtk:

  • build fix
  • webkit/webkitwebview.cpp:

WebKit/win:

  • build fix
  • WebView.cpp: (WebView::handleContextMenuEvent):
4:18 PM Changeset in webkit [32522] by ggaren@apple.com
  • 1 edit in branches/squirrelfish/JavaScriptCore/ChangeLog

Fixed up ChangeLog

4:18 PM Changeset in webkit [32521] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

2008-04-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 18717: SQUIRRELFISH: eval returns the wrong value for a variable declaration statement
<https://bugs.webkit.org/show_bug.cgi?id=18717>

Fixes a regression test, but exposes the failure of another due to the
lack of getters and setters.

  • kjs/nodes.cpp: (KJS::ConstDeclNode::emitCodeSingle): (KJS::ConstDeclNode::emitCode): (KJS::ConstStatementNode::emitCode): (KJS::VarStatementNode::emitCode):
  • kjs/nodes.h:
3:58 PM Changeset in webkit [32520] by oliver@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 18717: SQUIRRELFISH: eval returns the wrong value for a variable declaration statement
<https://bugs.webkit.org/show_bug.cgi?id=18717>

Fixes a regression test, but exposes the failure of another due to the
lack of getters and setters.

3:56 PM Changeset in webkit [32519] by adele@apple.com
  • 5 edits in trunk/WebCore

2008-04-24 Adele Peterson <adele@apple.com>

Reviewed by Darin.

Consolidate two versions of pathGetFileName.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Call FileSystem.h version of pathGetFileName and removed the static helper function.
  • platform/posix/FileSystemPOSIX.cpp: (WebCore::pathGetFileName): Moved general case from HTMLFormElement version here. If other platforms relied on that default they should implement this function for their platform specific version of FileSystem.cpp
  • platform/win/FileSystemWin.cpp: (WebCore::pathGetFileName): Moved win implementation from HTMLFormElement here.
  • platform/wx/FileSystemWx.cpp: (WebCore::pathGetFileName): Moved wx implementation from HTMLFormElement here.
2:49 PM Changeset in webkit [32518] by beidson@apple.com
  • 2 edits in trunk/WebKit/mac

2008-04-24 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Fix layout test regressions from my earlier preferences/settings tweak.

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting the notification to update the settings, each WebView still needs to register for the notification - restore that behavior.
2:45 PM Changeset in webkit [32517] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-04-24 Anders Carlsson <andersca@apple.com>

Windows build fix.


  • html/HTMLFormElement.cpp: (WebCore::pathGetFilename):
12:43 PM Changeset in webkit [32516] by hyatt@apple.com
  • 1 add in trunk/WebKitSite/blog-files/kate-circle.png

Add svg mask example.

12:42 PM Changeset in webkit [32515] by hyatt@apple.com
  • 1 add in trunk/WebKitSite/blog-files/circle.svg

Add svg file of a circle.

12:26 PM Changeset in webkit [32514] by hyatt@apple.com
  • 1 add in trunk/WebKitSite/blog-files/kate-gradient-rounded.png

Add more files.

12:21 PM Changeset in webkit [32513] by hyatt@apple.com
  • 1 add in trunk/WebKitSite/blog-files/kate-gradient.png

Add kate gradient pic.

12:16 PM Changeset in webkit [32512] by andersca@apple.com
  • 2 edits in trunk/WebKitTools

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Don't call fprintf from the signal handler.


  • DumpRenderTree/mac/DumpRenderTree.mm: (crashHandler):
12:16 PM Changeset in webkit [32511] by hyatt@apple.com
  • 1 edit in trunk/WebKitSite/blog-files/kate-vignette-mask.png

Adjust files.

12:15 PM Changeset in webkit [32510] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-04-24 Anders Carlsson <andersca@apple.com>

Don't crash when the string is empty.


  • html/HTMLMediaElement.cpp: (WebCore::parseTimeOffset):
12:12 PM Changeset in webkit [32509] by hyatt@apple.com
  • 1 add in trunk/WebKitSite/blog-files/kate-vignette-mask.png

Add more files.

12:09 PM Changeset in webkit [32508] by mitz@apple.com
  • 38 edits
    2 adds in trunk

WebCore:

Reviewed by Darin Adler.

The three main changes in this patch are:

1) Making all inline boxes know their bidi level, instead of just text

boxes knowing whether their bidi level is odd or even. This is
required for the next change.

2) Replacing RenderObject::inlineBox() with

Position::getInlineBoxAndOffset() in recognition of the fact that the
inline box containing the primary caret for a position in a given
node may belong to a different node's renderer.

3) Changing RenderObject::caretRect() to take an InlineBox parameter,

and changing callers to call VisiblePosition::caretRect(), which
locates the inline box, then calls caretRect() on the renderer for
that box. This, combined with the previous change, ensures that the
primary caret is rendered at the right place for positions that
lie on a directionality boundary.

Test: platform/mac/editing/input/caret-primary-bidi.html

  • WebCore.base.exp: Added the VisiblePosition(Node*, int, EAffinity) constructor and VisiblePosition::caretRect(), and sorted.
  • dom/Position.cpp: (WebCore::nextRenderedEditable): Adjusted for the removal of RenderObject::inlineBox(). (WebCore::previousRenderedEditable): Ditto. (WebCore::Position::rendersInDifferentPosition): Ditto. (WebCore::Position::getInlineBoxAndOffset): Added. Gets the inline box and the offset within that box at which the primary caret for this position should render.
  • dom/Position.h:
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::mergeParagraphs): Changed to call VisiblePosition::caretRect() instead of calling the RenderObject method.
  • editing/SelectionController.cpp: (WebCore::caretY): Ditto. (WebCore::SelectionController::xPosForVerticalArrowNavigation): Ditto. (WebCore::SelectionController::layout): Ditto.
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::caretRect): Changed to call getInlineBoxAndOffset() to get the correct inline box and call the renderer for that box.
  • editing/VisiblePosition.h: (WebCore::VisiblePosition::getInlineBoxAndOffset): Added convenience methods for getting the inline box and caret offset for a visible position, accounting for its affinity.
  • editing/visible_units.cpp: (WebCore::rootBoxForLine): Changed to use getInlineBoxAndOffset() instead of RenderObject::inlineBox(). (WebCore::startPositionForLine): (WebCore::endPositionForLine): (WebCore::previousLinePosition): Ditto. (WebCore::nextLinePosition): Ditto.
  • page/AccessibilityObject.cpp: (WebCore::updateAXLineStartForVisiblePosition): Ditto.
  • page/Frame.cpp: (WebCore::Frame::firstRectForRange): Ditto.
  • rendering/InlineBox.cpp: (WebCore::InlineBox::caretMinOffset): Changed to forward to the renderer. (WebCore::InlineBox::caretMaxOffset): Ditto.
  • rendering/InlineBox.h: Replaced the m_reversed bit, intended for use in InlineTextBox only, with six bits of the bidi level of the box, intended for use in all leaf inline boxes. (WebCore::InlineBox::InlineBox): Added missing initializer for m_dirOverride and initialized the bidi level. (WebCore::InlineBox::bidiLevel): Added this accessor. (WebCore::InlineBox::setBidiLevel): Ditto. (WebCore::InlineBox::direction): Ditto. (WebCore::InlineBox::caretLeftmostOffset): Added this convenience method. (WebCore::InlineBox::caretRightmostOffset): Ditto.
  • rendering/InlineTextBox.cpp: Replaced all references to m_reversed with checking of direction(). (WebCore::InlineTextBox::selectionRect): (WebCore::InlineTextBox::placeEllipsisBox): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::textPos): (WebCore::InlineTextBox::offsetForPosition): (WebCore::InlineTextBox::positionForOffset):
  • rendering/RenderBR.cpp: Removed inlineBox().
  • rendering/RenderBR.h: Ditto.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect): Changed to take an inline box and account for the direction of the box (or the renderer) in positioning the caret: in right-to-left boxes, the "before" position is to the right while "after" is to the left.
  • rendering/RenderBox.h:
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect): Updated the signature.
  • rendering/RenderFlow.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::caretRect): Updated the signature. (WebCore::RenderObject::caretMaxOffset): Changed to return the child node count (or 1 if there are no children) for replaced elements, such as <select>s.
  • rendering/RenderObject.h:
  • rendering/RenderReplaced.cpp: Removed caretMinOffset() and caretMaxOffset() because the base class implementation does the right thing for replaced objects now.
  • rendering/RenderReplaced.h:
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::caretRect): Updated the signature. (WebCore::RenderSVGInlineText::positionForCoordinates): Updated for the change from m_reversed to direction().
  • rendering/RenderSVGInlineText.h:
  • rendering/RenderText.cpp: (WebCore::RenderText::caretRect): Changed to take an inline box and removed the code that used to find the inline for the given position. Changed use of m_reversed to use direction(). (WebCore::RenderText::position): Changed use of m_reversed to use direction().
  • rendering/RenderText.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::textWithHardLineBreaks): Adjusted for the removal of RenderObject::inlineBox().
  • rendering/RenderTreeAsText.cpp: (WebCore::writeTextRun): Changed to use direction() instead of m_reversed.
  • rendering/SVGInlineTextBox.cpp: Ditto. (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
  • rendering/SVGRenderTreeAsText.cpp: Ditto. (WebCore::writeSVGInlineTextBox):
  • rendering/SVGRootInlineBox.cpp: Ditto. (WebCore::svgTextRunForInlineTextBox): (WebCore::cummulatedWidthOrHeightOfTextChunk): (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  • rendering/bidi.cpp: (WebCore::RenderBlock::constructLine): Made this function set the bidi level on all leaf boxes.
  • svg/SVGTextContentElement.cpp: Changed to use direction() instead of m_reversed. (WebCore::cumulativeCharacterRangeLength): (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):

WebKit/mac:

Reviewed by Darin Adler.

  • WebView/WebFrame.mm: (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use VisiblePosition::caretRect() instead of the RenderObject method which was removed.

LayoutTests:

Reviewed by Darin Adler.

  • test the visual position of the primary caret in bidirectional text
  • platform/mac/editing/input/caret-primary-bidi-expected.txt: Added.
  • platform/mac/editing/input/caret-primary-bidi.html: Added.
12:09 PM Changeset in webkit [32507] by hyatt@apple.com
  • 1 add in trunk/WebKitSite/blog-files/kate.png

Check in kate image for blog post.

12:00 PM Changeset in webkit [32506] by hyatt@apple.com
  • 1 add in trunk/WebKitSite/blog-files/vignette-mask.png

Add blog files for mask post.

11:57 AM Changeset in webkit [32505] by beidson@apple.com
  • 4 edits in trunk/WebKit

../mac:

2008-04-24 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Rework the Settings population again.

  • WebView/WebView.mm: (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification and directly from WebView's common init function. (-[WebView _preferencesChangedNotification:]): (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately after creating the new Page

../win:

2008-04-24 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Revert my previous change to WebKit/Win until I can make it act more like the new Mac code

  • WebView.cpp: (WebView::initWithFrame):
11:53 AM Changeset in webkit [32504] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-04-24 Sam Weinig <sam@webkit.org>

Fix the world.

  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear):
11:51 AM Changeset in webkit [32503] by hyatt@apple.com
  • 1 add in trunk/WebKitSite/blog-files/maskspeedracer.png

Add blog images.

11:45 AM Changeset in webkit [32502] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-04-24 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add a #define to easily enable collecting on every allocation to aid
debugging GC bugs.

  • kjs/collector.cpp: (KJS::Collector::heapAllocate):
11:22 AM Changeset in webkit [32501] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Sam Weinig.


Print a CRASH statement when crashing, so test failures are not a
mystery.

  • kjs/testkjs.cpp: (handleCrash): (main):
10:54 AM Changeset in webkit [32500] by Darin Adler
  • 4 edits in trunk

WebCore:

2008-04-24 Darin Adler <Darin Adler>

Reviewed by Geoff.

  • fix crash in regression test where we'd ask a frame for a user agent string after the WebView was already closed
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHTTPRedirection): Quietly do nothing if this is called on a frame that's already detached from its page. (WebCore::FrameLoader::scheduleLocationChange): Ditto. (WebCore::FrameLoader::scheduleRefresh): Ditto. (WebCore::FrameLoader::scheduleHistoryNavigation): Ditto. (WebCore::FrameLoader::redirectionTimerFired): Assert that this is never called for a frame that's already detached from its page. (WebCore::FrameLoader::scheduleRedirection): Ditto. (WebCore::FrameLoader::startRedirectionTimer): Ditto.

WebKit/mac:

2008-04-24 Darin Adler <Darin Adler>

Reviewed by Geoff.

  • fix crash in regression test where we'd ask a frame for a user agent string after the WebView was already closed
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also added some code to prevent the crash in release builds if this problem happens again.
10:50 AM Changeset in webkit [32499] by timothy@apple.com
  • 3 edits in trunk/WebCore

Add a new callFunction helper function to remove duplicate code
for calling JavaScript functions with arguments.

Reviewed by Darin Adler.

  • page/InspectorController.cpp:

(WebCore::InspectorController::callSimpleFunction): Call callFunction.
(WebCore::InspectorController::callFunction): Extended version of the original
callSimpleFunction, with script function arguments and an exception argument.
(WebCore::InspectorController::focusNode): Use callFunction.
(WebCore::InspectorController::addScriptResource): Ditto.
(WebCore::InspectorController::removeScriptResource): Ditto.
(WebCore::InspectorController::addDatabaseScriptResource): Ditto.
(WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
(WebCore::InspectorController::addScriptConsoleMessage): Ditto.

  • page/InspectorController.h: Add callFunction.
10:45 AM Changeset in webkit [32498] by andersca@apple.com
  • 30 edits in trunk

WebCore:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.


  • css/CSSRule.cpp: (WebCore::CSSRule::setCssText):
  • css/CSSRule.h:
  • html/HTMLFormElement.cpp: (WebCore::pathGetFilename):
  • html/HTMLMediaElement.cpp: (WebCore::parseTimeOffset):
  • page/EditorClient.h:
  • platform/SecurityOrigin.cpp: (WebCore::isDefaultPortForProtocol):
  • platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::load):
  • platform/graphics/MediaPlayer.h:
  • rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::MediaControlInputElement):
  • rendering/MediaControlElements.h:
  • svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::Condition::Condition):
  • svg/animation/SVGSMILElement.h:
  • svg/graphics/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::shouldInsertText):
  • xml/XSLTProcessor.cpp: (WebCore::createFragmentFromSource):

WebKit/gtk:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::shouldInsertText):
  • WebCoreSupport/EditorClientGtk.h:

WebKit/mac:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldInsertText):

WebKit/qt:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::shouldInsertText):
  • WebCoreSupport/EditorClientQt.h:

WebKit/win:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/WebEditorClient.cpp: (WebEditorClient::shouldInsertText):
  • WebCoreSupport/WebEditorClient.h:

WebKit/wx:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebKitSupport/EditorClientWx.cpp: (WebCore::EditorClientWx::shouldInsertText):
  • WebKitSupport/EditorClientWx.h:
10:41 AM Changeset in webkit [32497] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-04-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5604313> FormatBlock to apply an h1 also inserts a style span around the first letter (16004)


  • editing/TextIterator.cpp: (WebCore::TextIterator::advance): We emit an extra newline when leaving a block element that has atypical margin/padding. When we emit the extra newline, it needs to be positioned after that block's contents, not after the block. This is how we position the first newline, too, since the range for emitted newlines should start where the line break begins visually.

LayoutTests:

2008-04-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5604313> FormatBlock leaves first letter incorrectly styled (16004)

  • editing/execCommand/5604313-expected.txt: Added.
  • editing/execCommand/5604313.html: Added.
10:25 AM Changeset in webkit [32496] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

Only avoid implicit entries when doing the initial caching.


  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse): (WebCore::ApplicationCacheGroup::startLoadingEntry):
10:20 AM Changeset in webkit [32495] by kmccullough@apple.com
  • 11 edits in trunk

JavaScriptCore:

2008-04-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam and Sam.

-<rdar://problem/5770054> JavaScript profiler (10928)
-Only profile the page group that starts profiling to avoid profiling
tools that shouldn't be profiled unless explicitly requested to.

  • JavaScriptCore.exp: Export new signature.
  • kjs/JSGlobalObject.cpp: Add unique identifiers to the JSGlobalObject. (KJS::JSGlobalObject::init):
  • kjs/JSGlobalObject.h: Ditto. (KJS::JSGlobalObject::setPageGroupIdentifier): (KJS::JSGlobalObject::pageGroupIdentifier):
  • profiler/Profiler.cpp: Check the identifier of the page group of the lexical global exec state and only profile if it matches the given page group identifier. (KJS::Profiler::startProfiling): (KJS::Profiler::willExecute): (KJS::Profiler::didExecute):
  • profiler/Profiler.h: Ditto. (KJS::Profiler::Profiler):

WebCore:

2008-04-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam and Sam.

-<rdar://problem/5770054> JavaScript profiler (10928)
-Only profile the page group that starts profiling to avoid profiling
tools that shouldn't be profiled unless explicitly requested to.

  • bindings/js/kjs_proxy.cpp: When a new global object is created set its page group identifier. (WebCore::KJSProxy::clear): (WebCore::KJSProxy::initScript):
  • page/Console.cpp: When calling console.profile set the identifier of the page group being profiled. (WebCore::Console::profile):
  • page/PageGroup.cpp: Implement unique identifiers. (WebCore::getUniqueIdentifier): (WebCore::PageGroup::PageGroup):
  • page/PageGroup.h: Ditto. (WebCore::PageGroup::identifier):
10:11 AM Changeset in webkit [32494] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoffrey Garen.

Bug 18716: SQUIRRELFISH: typeof should return undefined for an undefined variable reference
<https://bugs.webkit.org/show_bug.cgi?id=18716>

This fixes 2 more regression tests.

  • kjs/nodes.cpp: (KJS::TypeOfResolveNode::emitCode):
10:09 AM SquirrelFish edited by ggaren@apple.com
(diff)
10:05 AM Changeset in webkit [32493] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Sam Weinig.


Put the callee in the call frame.


Necessary in order to support "arguments" and "arguments.callee".

Also fixes a latent GC bug, where an executing function could be
subject to GC if the register holding it were overwritten. Here's
an example that would have caused problems:


function f()
{

Flood the machine stack to eliminate any old pointers to f.
g.call({});


Overwrite f in the register file.
f = 1;

Force a GC.
for (var i = 0; i < 5000; ++i) {

({});

}


Welcome to crash-ville.

}

function g()
{
}

f();

  • VM/Machine.h: Changed the order of arguments to execute(FunctionBodyNode*...) to match the other execute functions.
  • kjs/function.cpp: Updated to match new argument requirements from execute(FunctionBodyNode*...). Renamed newObj to thisObj to match the rest of JavaScriptCore.

SunSpider reports no change.

9:55 AM Changeset in webkit [32492] by sullivan@apple.com
  • 5 edits in trunk

WebCore:

2008-04-24 John Sullivan <sullivan@apple.com>

Mac buid fix

  • page/mac/WebCoreViewFactory.h: add declarations of six new AX methods that were added to LocalizedStrings.h


  • platform/mac/LocalizedStringsMac.mm: (WebCore::AXButtonActionVerb): implement by calling through to WebCoreViewFactory as we do with the other functions here (WebCore::AXRadioButtonActionVerb): ditto (WebCore::AXTextFieldActionVerb): ditto (WebCore::AXCheckedCheckBoxActionVerb): ditto (WebCore::AXUncheckedCheckBoxActionVerb): ditto (WebCore::AXLinkActionVerb): ditto

WebKit/mac:

2008-04-24 John Sullivan <sullivan@apple.com>

Mac build fix


  • WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory AXButtonActionVerb]): implement this method using the text in WebCoreLocalizedStrings.cpp (-[WebViewFactory AXRadioButtonActionVerb]): ditto (-[WebViewFactory AXTextFieldActionVerb]): ditto (-[WebViewFactory AXCheckedCheckBoxActionVerb]): ditto (-[WebViewFactory AXUncheckedCheckBoxActionVerb]): ditto (-[WebViewFactory AXLinkActionVerb]): ditto
9:33 AM Changeset in webkit [32491] by beidson@apple.com
  • 4 edits in trunk/WebKit

../mac:

2008-04-23 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification,
thereby populating the Settings object, immediately after the Page is created.

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created

../win:

2008-04-23 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification,
thereby populating the Settings object, immediately after the Page is created.

  • WebView.cpp: (WebView::initWithFrame): Post the notification right after the Page is created
8:23 AM Changeset in webkit [32490] by sullivan@apple.com
  • 2 edits in trunk/WebKit/mac

2008-04-24 John Sullivan <sullivan@apple.com>

Reviewed by Jess


  • fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
  • Misc/WebNSControlExtras.m: (-[NSControl sizeToFitAndAdjustWindowHeight]): deploy userSpaceScaleFactor when using view distances on the window
7:07 AM Changeset in webkit [32489] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <zecke@selfish.org>

Cosmetic changes to make the code more readable.

-Early exit if we don't have a webview
-handle the empty tooltip and non-empty tooltip case separately

7:07 AM Changeset in webkit [32488] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix text rendering in -reverse mode on Qt/Mac.

For Font::width() don't use a plain QFontMetrics object but also the properly
setup QTextLayout that has the RTL/LTR force flags set.

7:06 AM Changeset in webkit [32487] by Simon Hausmann
  • 2 edits in trunk/WebCore

Tor Arne Vestbø <tavestbo@trolltech.com>

Don't do anti-aliasing for arcs, lines and rects, but continue to anti-alias
all drawing primitives in the HTML Canvas element.

This speeds up drawing of dashed outlines significantly.

Also preserve the anti-aliasing renderhint for transparency layers and
get rid of the mostly unused device pointer.

6:45 AM Changeset in webkit [32486] by Simon Hausmann
  • 4 edits in trunk/WebCore

Paul Olav Tvete <paul@trolltech.com>

Fix various compiler warnings related to QString(const char *)
construction by using QLatin1String.

6:44 AM Changeset in webkit [32485] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Paul Olav Tvete <paul@trolltech.com>

Automatically wrap tooltip text and hide a shown tooltip when it is empty.

QWidget::setTooltip("") will still show the old tooltip for up to 10 seconds.
Workaround as discussed with Matthias.

6:30 AM Changeset in webkit [32484] by Simon Hausmann
  • 2 edits in trunk/WebCore

Morten Johan Sørvig <msorvig@trolltech.com>

Work around QMacStyle bug in repainting the vertical scrollbar.

We draw the scrollbar using HITheme but somehow the translation and the
clipping we previously set using ClipCGContextToRegion is ignored. Drawing
without the translation fixes the clip.

4:20 AM Changeset in webkit [32483] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <zecke@selfish.org>

Allow to disable caching completeley by calling setObjectCacheCapacities(0, 0, 0)

4:20 AM Changeset in webkit [32482] by Simon Hausmann
  • 3 edits in trunk/WebCore

Holger Hans Peter Freyther <zecke@selfish.org>

  • Set an expiration date for local files as we do not know what will happen to these files (in contrast to a http server with max-age and other headers)
  • Remember the time when we started the job and use that for the expiration date
  • QNetworkManager does not handle expiration at all, we might want to set the expiration for all downloads but this will be a performance nightmare.
4:16 AM Changeset in webkit [32481] by Simon Hausmann
  • 3 edits in trunk/WebCore

Fix the Gtk and Qt builds.

Added missing localization stubs for accessibility.

3:35 AM Changeset in webkit [32480] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Improve keyboard scrolling

Match Down/Up keys scroll distance with Safari (i.e. faster) and add Home and End shortcuts to scroll to the top/botom.

3:20 AM Changeset in webkit [32479] by Simon Hausmann
  • 9 edits in trunk

Olivier Goffart <ogoffart@trolltech.com>

Fix various compiler warnings in the Qt port.

3:20 AM Changeset in webkit [32478] by Simon Hausmann
  • 2 edits in trunk/WebCore

Andre Poenitz <andre.poenitz@trolltech.com>

Removed spurious QHideEvent forward declaration.

2:01 AM Changeset in webkit [32477] by jchaffraix@webkit.org
  • 2 edits
    1 add in trunk/JavaScriptCore

2008-04-24 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Simon.

Bug 15940: Implement threading API for Qt
https://bugs.webkit.org/show_bug.cgi?id=15940

Original patch by Justin Haygood, tweaked by me.

  • JavaScriptCore.pri:
  • wtf/ThreadingQt.cpp: Added. (WTF::threadMapMutex): (WTF::threadMap): (WTF::establishIdentifierForThread): (WTF::clearThreadForIdentifier): (WTF::threadForIdentifier): (WTF::initializeThreading): (WTF::ThreadPrivate::getReturnValue): (WTF::ThreadPrivate::ThreadPrivate): (WTF::ThreadPrivate::run): (WTF::createThread): (WTF::waitForThreadCompletion): return !res to return 0 on success (to match the pthreads implementation). (WTF::detachThread): (WTF::identifierByQthreadHandle): (WTF::currentThread): (WTF::Mutex::Mutex): (WTF::Mutex::~Mutex): (WTF::Mutex::lock): (WTF::Mutex::tryLock): (WTF::Mutex::unlock): (WTF::ThreadCondition::ThreadCondition): (WTF::ThreadCondition::~ThreadCondition): (WTF::ThreadCondition::wait): (WTF::ThreadCondition::timedWait): (WTF::ThreadCondition::signal):
1:53 AM Changeset in webkit [32476] by Simon Hausmann
  • 3 edits in trunk/WebCore

Tor Arne Vestbø <tavestbo@trolltech.com>

Render text areas using Qt (ensures proper style).

1:53 AM Changeset in webkit [32475] by Simon Hausmann
  • 2 edits in trunk/WebCore

Tor Arne Vestbø <tavestbo@trolltech.com>

Make mouse wheel events over scrollbars behave the same as in Qt, i.e. both
horizontal and vertical wheel events will scroll the view in the orientation
of the scrollbar underneath the cursor.

1:25 AM Changeset in webkit [32474] by jhoneycutt@apple.com
  • 5 edits in trunk

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Brady.

Implement accDoDefaultAction().

  • AccessibleBase.cpp: (AccessibleBase::accDoDefaultAction): Call the object's performDefaultAction() method. Return S_FALSE if the call returns false, indicating that the object has no default action associated with it.
1:24 AM Changeset in webkit [32473] by jhoneycutt@apple.com
  • 2 edits in trunk/WebCore

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Don't allow a hit test to return an AccessibilityObject that should be
ignored.

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::doAccessibilityHitTest): If this result object's accessibility is ignored, return the parent unignored object.
1:24 AM Changeset in webkit [32472] by jhoneycutt@apple.com
  • 2 edits in trunk/WebCore

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Fix a crash when performing a hit test on an AccessibilityObject with
no layer (e.g., an AccessibilityObject for a RenderText object).

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::doAccessibilityHitTest): Added a null check for layer. Removed a null check for m_renderer, which shouldn't occur.
1:23 AM Changeset in webkit [32471] by jhoneycutt@apple.com
  • 2 edits in trunk/WebKit/win

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement accHitTest().

  • AccessibleBase.cpp: (AccessibleBase::accHitTest): Perform a hit test for a child object. If none is found, report whether the point was within our own bounding box.
1:23 AM Changeset in webkit [32470] by jhoneycutt@apple.com
  • 2 edits in trunk/WebKit/win

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam and Darin.

Implement accNavigate().

  • AccessibleBase.cpp: (AccessibleBase::accNavigate): This method navigates between elements, given a start point and a direction. The directions UP, DOWN, LEFT, RIGHT are not are not implemented, matching Mozilla and IE. The directions FIRSTCHILD and LASTCHILD are only allowed from self. NEXT and PREVIOUS are allowed from self or any of our children.
1:22 AM Changeset in webkit [32469] by jhoneycutt@apple.com
  • 4 edits in trunk

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement accLocation().

  • AccessibleBase.cpp: (AccessibleBase::accLocation): Report the screen coordinates for the object's bounding box.
1:21 AM Changeset in webkit [32468] by jhoneycutt@apple.com
  • 3 edits in trunk/WebCore

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement contentsToScreen() and screenToContents() on Windows.

  • platform/ScrollView.h: Make these declarations conditional on HAVE(ACCESSIBILITY) instead of PLATFORM(MAC).
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::contentsToScreen): Translate from coordinates relative to the ScrollView to coordinates relative to the screen. Do this by getting the offset of the ScrollView in screen coordinates and moving the rect by this amount. (WebCore::ScrollView::screenToContents): Translate from coordinates relative to the screen to coordinates relative to the ScrollView.
1:20 AM Changeset in webkit [32467] by jhoneycutt@apple.com
  • 8 edits in trunk

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam, Darin, Oliver.

Implement get_accDefaultAction().

  • AccessibleBase.cpp: (AccessibleBase::get_accDefaultAction): Report the result of calling the object's actionVerb method.
  • English.lproj/Localizable.strings: Updated with new strings.
  • WebCoreLocalizedStrings.cpp: (WebCore::AXButtonActionVerb): Return a localized string representing the object's default action. (WebCore::AXRadioButtonActionVerb): Same. (WebCore::AXTextFieldActionVerb): Same. (WebCore::AXCheckedCheckBoxActionVerb): Same (WebCore::AXUncheckedCheckBoxActionVerb): Same. (WebCore::AXLinkActionVerb): Same.
1:19 AM Changeset in webkit [32466] by jhoneycutt@apple.com
  • 2 edits in trunk/WebKit/win

2008-04-22 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement get_accFocus().

  • AccessibleBase.cpp: (AccessibleBase::get_accRole): Remove redundant initialize; VariantInit does this. (AccessibleBase::get_accState): Same. (AccessibleBase::get_accSelection): Relocated next to accSelect(). (AccessibleBase::get_accFocus): If the focused object is this object or a child of this object, report it. Otherwise, report VT_EMPTY.
1:15 AM Changeset in webkit [32465] by christian@webkit.org
  • 2 edits in trunk/WebKit/gtk

Reviewed by Alp Toker.

Emit a warning about an unknown setting only if it is
not a valid property. Otherwise applications can't
subclass WebKitWebSettings to add new properties.

  • webkit/webkitwebview.cpp:
12:55 AM Changeset in webkit [32464] by Simon Hausmann
  • 25 edits in trunk

Tor Arne Vestbø <tavestbo@trolltech.com>

Cleaned up copyright headers in the Qt port (removed misplaced class
descriptions and fixed inconsistent whitespace and indentation).

12:44 AM Changeset in webkit [32463] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Tor Arne Vestbø <tavestbo@trolltech.com>

Added basic URL guessing to QtLauncher (same as in the demo browser).

12:44 AM Changeset in webkit [32462] by Simon Hausmann
  • 2 edits in trunk/WebCore

Tor Arne Vestbø <tavestbo@trolltech.com>

Disable vanlilla focus rings since Qt provides this as part of the style.

12:38 AM Changeset in webkit [32461] by Simon Hausmann
  • 2 edits in trunk/WebCore

George Staikos <george@staikos.net>

This optimization in BitmapImage::drawPattern for the identity
transform is bogus and causes incorrect results on sites like youtube.

12:31 AM Changeset in webkit [32460] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Prevent double deletions of the default web interface.

Apr 23, 2008:

10:27 PM Changeset in webkit [32459] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 18707: SQUIRRELFISH: eval always performs toString() on its argument
<https://bugs.webkit.org/show_bug.cgi?id=18707>

This fixes 4 more regression tests.

  • VM/Machine.cpp: (KJS::eval):
10:16 PM Changeset in webkit [32458] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fix logic bug in SegmentedVector::grow which would sometimes fail to resize a segment when needed


Fixes 3 JSC tests.

  • VM/SegmentedVector.h: (KJS::SegmentedVector::grow):
9:39 PM Changeset in webkit [32457] by ggaren@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Degenerate handling of "arguments" as a property of the activation
object. Currently, we just return a vanilla object.


SunSpider reports no change.

Fixes:

ecma_3/Function/regress-94506.js.


Reveals to have been secretly broken:

ecma_3/Function/15.3.4.3-1.js
ecma_3/Function/15.3.4.4-1.js


These tests were passing incorrectly. testkjs creates a global array
named "arguments" to hold command-line arguments. That array was
tricking these tests into thinking that an arguments object with length
0 had been created. Since our new vanilla object shadows the global
property named arguments, that object no longer fools these tests into
passing.


Net change: +1 failing test.

  • kjs/AllInOneFile.cpp: Had to put JSActivation.cpp into AllInOneFile.cpp to solve a surprising 8.6% regression in bitops-3bit-bits-in-byte.
9:29 PM Changeset in webkit [32456] by mitz@apple.com
  • 4 edits in trunk/LayoutTests

Rubber-stamped by Dave Hyatt.

  • update computed style results for border-image and mask-image
  • fast/css/computed-style-expected.txt:
  • fast/css/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
8:55 PM Changeset in webkit [32455] by kevino@webkit.org
  • 2 edits in trunk/WebKit/wx

Reviewed by Alp Toker.

Typo fix to restore text entry.

8:39 PM Changeset in webkit [32454] by beidson@apple.com
  • 3 edits in trunk/WebCore

2008-04-23 Brady Eidson <beidson@apple.com>

Reviewed by Jon Honeycutt

Preparing for making LocalStorageAreas persistent.

Since LocalStorageAreas will need to do a lot of additional work for each of the basic
operations a Storage object supports, this patch makes the API entry points virtual so
LocalStorageArea can override them. The behavior for both Local and Session StorageAreas
is unchanged with this patch, but LocalStorageArea will override them in the future.

  • storage/StorageArea.cpp: Rename the implementations to internalFoo (WebCore::StorageArea::internalLength): (WebCore::StorageArea::internalKey): (WebCore::StorageArea::internalGetItem): (WebCore::StorageArea::internalSetItem): (WebCore::StorageArea::internalRemoveItem): (WebCore::StorageArea::internalContains):
  • storage/StorageArea.h: Call internalFoo variants (WebCore::StorageArea::length): (WebCore::StorageArea::key): (WebCore::StorageArea::getItem): (WebCore::StorageArea::setItem): (WebCore::StorageArea::removeItem): (WebCore::StorageArea::contains):
8:38 PM Changeset in webkit [32453] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • save and restore callFrame
  • VM/Machine.cpp: (KJS::slideRegisterWindowForCall): (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • kjs/testkjs.cpp: (main):
8:12 PM Changeset in webkit [32452] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-04-23 David Hyatt <hyatt@apple.com>

Implement getComputedStyle for border-image.

Reviewed by Dan Bernstein

Added fast/css/getComputedStyle-border-image.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::valueForRepeatRule): (WebCore::valueForNinePieceImage): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

2008-04-23 David Hyatt <hyatt@apple.com>

Implement getComputedStyle for -webkit-border-image.

Reviewed by Dan Bernstein

  • fast/css/getComputedStyle-border-image-expected.txt: Added.
  • fast/css/getComputedStyle-border-image.html: Added.
3:55 PM Changeset in webkit [32451] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Fixed scopes for named function expressions.


Fixes one regression test.


Two changes here:


(1) The function's name is supposed to have attributes DontDelete,
ReadOnly, regardless of the type of code executing.


(2) Push the name object on the function's scope chain, rather than
the ExecState's scope chain because, well, that's where it belongs.

2:41 PM Changeset in webkit [32450] by Darin Adler
  • 5 edits in trunk/WebCore

2008-04-22 Darin Adler <Darin Adler>

Reviewed by Anders.

  • simplify use of HashTraits to prepare for some upcoming hash table changes
  • page/AXObjectCache.h: Removed uneeded AXIDHashTraits, which are no different from the default hash traits for unsigned.
  • page/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::removeAXID): Remove assertion that's already done by HashTable that the value is not the deleted value.
  • platform/graphics/StringTruncator.cpp: Removed unneeded include.
  • svg/SVGFontFaceElement.cpp: Removed unneeded include.
2:41 PM Changeset in webkit [32449] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-04-22 Darin Adler <Darin Adler>

Reviewed by Anders.

  • simplify use of HashTraits to prepare for some upcoming hash table changes
  • kjs/SymbolTable.h: Made SymbolTableIndexHashTraits derive from HashTraits<size_t> and specialize only the empty value.
2:19 PM Changeset in webkit [32448] by kevino@webkit.org
  • 3 edits in trunk/WebCore

wx build fixes. Changing BackgroundLayer -> FillLayer and adding Frame::disconnectPlatformScriptObjects()

2:00 PM Changeset in webkit [32447] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Inlined JSObject::putDirect, for a .4% SunSpider speedup.


I did this as a first step toward removing nodes.cpp from
AllInOneFile.cpp, but I'm putting that larger project aside for now.

1:31 PM Changeset in webkit [32446] by hyatt@apple.com
  • 16 edits
    9 adds in trunk

WebCore:

2008-04-23 David Hyatt <hyatt@apple.com>

Add support for mask-box-image (similar to border-image). This property enables a single image
to overlay the entire mask area (with nine-piece slicing rules similar to border image).

Reviewed by Dan Bernstein

Added inline-mask-overlay.html, block-mask-overlay.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseBorderImage):
  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintMask):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintMask):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::paintNinePieceImage): (WebCore::RenderObject::paintBorder):
  • rendering/RenderObject.h:
  • rendering/RenderStyle.cpp: (WebCore::NinePieceImage::operator==):
  • rendering/RenderStyle.h: (WebCore::): (WebCore::NinePieceImage::m_verticalRule): (WebCore::NinePieceImage::horizontalRule): (WebCore::NinePieceImage::verticalRule): (WebCore::RenderStyle::borderImage): (WebCore::RenderStyle::maskOverlayImage): (WebCore::RenderStyle::hasMask): (WebCore::RenderStyle::resetBorderImage): (WebCore::RenderStyle::setBorderImage): (WebCore::RenderStyle::setMaskOverlayImage): (WebCore::RenderStyle::initialNinePieceImage):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::paintMask):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paintMask):

LayoutTests:

2008-04-23 David Hyatt <hyatt@apple.com>

Add support for a new mask-box-image property that is analogous to border-image.

Reviewed by Dan Bernstein

  • fast/borders/block-mask-overlay-image.html: Added.
  • fast/borders/inline-mask-overlay-image.html: Added.
  • fast/borders/resources/mask.png: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-expected.checksum: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-expected.png: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-expected.txt: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-expected.checksum: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-expected.png: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-expected.txt: Added.
12:49 PM Changeset in webkit [32445] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-23 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Geoff.


  • add OldInterpreterExecState class and use it in dead code


This will allow removing things from the real ExecState class
without having to figure out how to remove all this code without
getting a perf regression.

  • kjs/nodes.cpp: (KJS::ExpressionNode::evaluateToNumber): (KJS::ExpressionNode::evaluateToBoolean): (KJS::ExpressionNode::evaluateToInt32): (KJS::ExpressionNode::evaluateToUInt32): (KJS::Node::setErrorCompletion): (KJS::Node::throwError): (KJS::Node::throwUndefinedVariableError): (KJS::Node::handleException): (KJS::Node::rethrowException): (KJS::BreakpointCheckStatement::execute): (KJS::BreakpointCheckStatement::optimizeVariableAccess): (KJS::NullNode::evaluate): (KJS::FalseNode::evaluate): (KJS::TrueNode::evaluate): (KJS::NumberNode::evaluate): (KJS::NumberNode::evaluateToNumber): (KJS::NumberNode::evaluateToBoolean): (KJS::NumberNode::evaluateToInt32): (KJS::NumberNode::evaluateToUInt32): (KJS::ImmediateNumberNode::evaluate): (KJS::ImmediateNumberNode::evaluateToInt32): (KJS::ImmediateNumberNode::evaluateToUInt32): (KJS::StringNode::evaluate): (KJS::StringNode::evaluateToNumber): (KJS::StringNode::evaluateToBoolean): (KJS::RegExpNode::evaluate): (KJS::ThisNode::evaluate): (KJS::ResolveNode::inlineEvaluate): (KJS::ResolveNode::evaluate): (KJS::ResolveNode::evaluateToNumber): (KJS::ResolveNode::evaluateToBoolean): (KJS::ResolveNode::evaluateToInt32): (KJS::ResolveNode::evaluateToUInt32): (KJS::getSymbolTableEntry): (KJS::ResolveNode::optimizeVariableAccess): (KJS::LocalVarAccessNode::inlineEvaluate): (KJS::LocalVarAccessNode::evaluate): (KJS::LocalVarAccessNode::evaluateToNumber): (KJS::LocalVarAccessNode::evaluateToBoolean): (KJS::LocalVarAccessNode::evaluateToInt32): (KJS::LocalVarAccessNode::evaluateToUInt32): (KJS::getNonLocalSymbol): (KJS::ScopedVarAccessNode::inlineEvaluate): (KJS::ScopedVarAccessNode::evaluate): (KJS::ScopedVarAccessNode::evaluateToNumber): (KJS::ScopedVarAccessNode::evaluateToBoolean): (KJS::ScopedVarAccessNode::evaluateToInt32): (KJS::ScopedVarAccessNode::evaluateToUInt32): (KJS::NonLocalVarAccessNode::inlineEvaluate): (KJS::NonLocalVarAccessNode::evaluate): (KJS::NonLocalVarAccessNode::evaluateToNumber): (KJS::NonLocalVarAccessNode::evaluateToBoolean): (KJS::NonLocalVarAccessNode::evaluateToInt32): (KJS::NonLocalVarAccessNode::evaluateToUInt32): (KJS::ElementNode::optimizeVariableAccess): (KJS::ElementNode::evaluate): (KJS::ArrayNode::optimizeVariableAccess): (KJS::ArrayNode::evaluate): (KJS::ObjectLiteralNode::optimizeVariableAccess): (KJS::ObjectLiteralNode::evaluate): (KJS::PropertyListNode::optimizeVariableAccess): (KJS::PropertyListNode::evaluate): (KJS::PropertyNode::optimizeVariableAccess): (KJS::PropertyNode::evaluate): (KJS::BracketAccessorNode::optimizeVariableAccess): (KJS::BracketAccessorNode::inlineEvaluate): (KJS::BracketAccessorNode::evaluate): (KJS::BracketAccessorNode::evaluateToNumber): (KJS::BracketAccessorNode::evaluateToBoolean): (KJS::BracketAccessorNode::evaluateToInt32): (KJS::BracketAccessorNode::evaluateToUInt32): (KJS::DotAccessorNode::optimizeVariableAccess): (KJS::DotAccessorNode::inlineEvaluate): (KJS::DotAccessorNode::evaluate): (KJS::DotAccessorNode::evaluateToNumber): (KJS::DotAccessorNode::evaluateToBoolean): (KJS::DotAccessorNode::evaluateToInt32): (KJS::DotAccessorNode::evaluateToUInt32): (KJS::ArgumentListNode::optimizeVariableAccess): (KJS::ArgumentListNode::evaluateList): (KJS::ArgumentsNode::optimizeVariableAccess): (KJS::NewExprNode::optimizeVariableAccess): (KJS::NewExprNode::inlineEvaluate): (KJS::NewExprNode::evaluate): (KJS::NewExprNode::evaluateToNumber): (KJS::NewExprNode::evaluateToBoolean): (KJS::NewExprNode::evaluateToInt32): (KJS::NewExprNode::evaluateToUInt32): (KJS::ExpressionNode::resolveAndCall): (KJS::EvalFunctionCallNode::optimizeVariableAccess): (KJS::EvalFunctionCallNode::evaluate): (KJS::FunctionCallValueNode::optimizeVariableAccess): (KJS::FunctionCallValueNode::evaluate): (KJS::FunctionCallResolveNode::optimizeVariableAccess): (KJS::FunctionCallResolveNode::inlineEvaluate): (KJS::FunctionCallResolveNode::evaluate): (KJS::FunctionCallResolveNode::evaluateToNumber): (KJS::FunctionCallResolveNode::evaluateToBoolean): (KJS::FunctionCallResolveNode::evaluateToInt32): (KJS::FunctionCallResolveNode::evaluateToUInt32): (KJS::LocalVarFunctionCallNode::inlineEvaluate): (KJS::LocalVarFunctionCallNode::evaluate): (KJS::LocalVarFunctionCallNode::evaluateToNumber): (KJS::LocalVarFunctionCallNode::evaluateToBoolean): (KJS::LocalVarFunctionCallNode::evaluateToInt32): (KJS::LocalVarFunctionCallNode::evaluateToUInt32): (KJS::ScopedVarFunctionCallNode::inlineEvaluate): (KJS::ScopedVarFunctionCallNode::evaluate): (KJS::ScopedVarFunctionCallNode::evaluateToNumber): (KJS::ScopedVarFunctionCallNode::evaluateToBoolean): (KJS::ScopedVarFunctionCallNode::evaluateToInt32): (KJS::ScopedVarFunctionCallNode::evaluateToUInt32): (KJS::NonLocalVarFunctionCallNode::inlineEvaluate): (KJS::NonLocalVarFunctionCallNode::evaluate): (KJS::NonLocalVarFunctionCallNode::evaluateToNumber): (KJS::NonLocalVarFunctionCallNode::evaluateToBoolean): (KJS::NonLocalVarFunctionCallNode::evaluateToInt32): (KJS::NonLocalVarFunctionCallNode::evaluateToUInt32): (KJS::FunctionCallBracketNode::optimizeVariableAccess): (KJS::FunctionCallBracketNode::evaluate): (KJS::FunctionCallDotNode::optimizeVariableAccess): (KJS::FunctionCallDotNode::inlineEvaluate): (KJS::FunctionCallDotNode::evaluate): (KJS::FunctionCallDotNode::evaluateToNumber): (KJS::FunctionCallDotNode::evaluateToBoolean): (KJS::FunctionCallDotNode::evaluateToInt32): (KJS::FunctionCallDotNode::evaluateToUInt32): (KJS::PostIncResolveNode::optimizeVariableAccess): (KJS::PostIncResolveNode::evaluate): (KJS::PostIncLocalVarNode::evaluate): (KJS::PostDecResolveNode::optimizeVariableAccess): (KJS::PostDecResolveNode::evaluate): (KJS::PostDecLocalVarNode::evaluate): (KJS::PostDecLocalVarNode::inlineEvaluateToNumber): (KJS::PostDecLocalVarNode::evaluateToNumber): (KJS::PostDecLocalVarNode::evaluateToBoolean): (KJS::PostDecLocalVarNode::evaluateToInt32): (KJS::PostDecLocalVarNode::evaluateToUInt32): (KJS::PostfixBracketNode::optimizeVariableAccess): (KJS::PostIncBracketNode::evaluate): (KJS::PostDecBracketNode::evaluate): (KJS::PostfixDotNode::optimizeVariableAccess): (KJS::PostIncDotNode::evaluate): (KJS::PostDecDotNode::evaluate): (KJS::PostfixErrorNode::evaluate): (KJS::DeleteResolveNode::optimizeVariableAccess): (KJS::DeleteResolveNode::evaluate): (KJS::LocalVarDeleteNode::evaluate): (KJS::DeleteBracketNode::optimizeVariableAccess): (KJS::DeleteBracketNode::evaluate): (KJS::DeleteDotNode::optimizeVariableAccess): (KJS::DeleteDotNode::evaluate): (KJS::DeleteValueNode::optimizeVariableAccess): (KJS::DeleteValueNode::evaluate): (KJS::VoidNode::optimizeVariableAccess): (KJS::VoidNode::evaluate): (KJS::TypeOfValueNode::optimizeVariableAccess): (KJS::TypeOfResolveNode::optimizeVariableAccess): (KJS::LocalVarTypeOfNode::evaluate): (KJS::TypeOfResolveNode::evaluate): (KJS::TypeOfValueNode::evaluate): (KJS::PreIncResolveNode::optimizeVariableAccess): (KJS::PreIncLocalVarNode::evaluate): (KJS::PreIncResolveNode::evaluate): (KJS::PreDecResolveNode::optimizeVariableAccess): (KJS::PreDecLocalVarNode::evaluate): (KJS::PreDecResolveNode::evaluate): (KJS::PreIncConstNode::evaluate): (KJS::PreDecConstNode::evaluate): (KJS::PostIncConstNode::evaluate): (KJS::PostDecConstNode::evaluate): (KJS::PrefixBracketNode::optimizeVariableAccess): (KJS::PreIncBracketNode::evaluate): (KJS::PreDecBracketNode::evaluate): (KJS::PrefixDotNode::optimizeVariableAccess): (KJS::PreIncDotNode::evaluate): (KJS::PreDecDotNode::evaluate): (KJS::PrefixErrorNode::evaluate): (KJS::UnaryPlusNode::optimizeVariableAccess): (KJS::UnaryPlusNode::evaluate): (KJS::UnaryPlusNode::evaluateToBoolean): (KJS::UnaryPlusNode::evaluateToNumber): (KJS::UnaryPlusNode::evaluateToInt32): (KJS::UnaryPlusNode::evaluateToUInt32): (KJS::NegateNode::optimizeVariableAccess): (KJS::NegateNode::evaluate): (KJS::NegateNode::evaluateToNumber): (KJS::BitwiseNotNode::optimizeVariableAccess): (KJS::BitwiseNotNode::inlineEvaluateToInt32): (KJS::BitwiseNotNode::evaluate): (KJS::BitwiseNotNode::evaluateToNumber): (KJS::BitwiseNotNode::evaluateToBoolean): (KJS::BitwiseNotNode::evaluateToInt32): (KJS::BitwiseNotNode::evaluateToUInt32): (KJS::LogicalNotNode::optimizeVariableAccess): (KJS::LogicalNotNode::evaluate): (KJS::LogicalNotNode::evaluateToBoolean): (KJS::MultNode::optimizeVariableAccess): (KJS::MultNode::inlineEvaluateToNumber): (KJS::MultNode::evaluate): (KJS::MultNode::evaluateToNumber): (KJS::MultNode::evaluateToBoolean): (KJS::MultNode::evaluateToInt32): (KJS::MultNode::evaluateToUInt32): (KJS::DivNode::optimizeVariableAccess): (KJS::DivNode::inlineEvaluateToNumber): (KJS::DivNode::evaluate): (KJS::DivNode::evaluateToNumber): (KJS::DivNode::evaluateToInt32): (KJS::DivNode::evaluateToUInt32): (KJS::ModNode::optimizeVariableAccess): (KJS::ModNode::inlineEvaluateToNumber): (KJS::ModNode::evaluate): (KJS::ModNode::evaluateToNumber): (KJS::ModNode::evaluateToBoolean): (KJS::ModNode::evaluateToInt32): (KJS::ModNode::evaluateToUInt32): (KJS::throwOutOfMemoryErrorToNumber): (KJS::addSlowCase): (KJS::addSlowCaseToNumber): (KJS::add): (KJS::addToNumber): (KJS::AddNode::optimizeVariableAccess): (KJS::AddNode::evaluate): (KJS::AddNode::inlineEvaluateToNumber): (KJS::AddNode::evaluateToNumber): (KJS::AddNode::evaluateToInt32): (KJS::AddNode::evaluateToUInt32): (KJS::AddNumbersNode::inlineEvaluateToNumber): (KJS::AddNumbersNode::evaluate): (KJS::AddNumbersNode::evaluateToNumber): (KJS::AddNumbersNode::evaluateToInt32): (KJS::AddNumbersNode::evaluateToUInt32): (KJS::AddStringsNode::evaluate): (KJS::AddStringLeftNode::evaluate): (KJS::AddStringRightNode::evaluate): (KJS::SubNode::optimizeVariableAccess): (KJS::SubNode::inlineEvaluateToNumber): (KJS::SubNode::evaluate): (KJS::SubNode::evaluateToNumber): (KJS::SubNode::evaluateToInt32): (KJS::SubNode::evaluateToUInt32): (KJS::LeftShiftNode::optimizeVariableAccess): (KJS::LeftShiftNode::inlineEvaluateToInt32): (KJS::LeftShiftNode::evaluate): (KJS::LeftShiftNode::evaluateToNumber): (KJS::LeftShiftNode::evaluateToInt32): (KJS::LeftShiftNode::evaluateToUInt32): (KJS::RightShiftNode::optimizeVariableAccess): (KJS::RightShiftNode::inlineEvaluateToInt32): (KJS::RightShiftNode::evaluate): (KJS::RightShiftNode::evaluateToNumber): (KJS::RightShiftNode::evaluateToInt32): (KJS::RightShiftNode::evaluateToUInt32): (KJS::UnsignedRightShiftNode::optimizeVariableAccess): (KJS::UnsignedRightShiftNode::inlineEvaluateToUInt32): (KJS::UnsignedRightShiftNode::evaluate): (KJS::UnsignedRightShiftNode::evaluateToNumber): (KJS::UnsignedRightShiftNode::evaluateToInt32): (KJS::UnsignedRightShiftNode::evaluateToUInt32): (KJS::lessThan): (KJS::lessThanEq): (KJS::LessNode::optimizeVariableAccess): (KJS::LessNode::inlineEvaluateToBoolean): (KJS::LessNode::evaluate): (KJS::LessNode::evaluateToBoolean): (KJS::LessNumbersNode::inlineEvaluateToBoolean): (KJS::LessNumbersNode::evaluate): (KJS::LessNumbersNode::evaluateToBoolean): (KJS::LessStringsNode::inlineEvaluateToBoolean): (KJS::LessStringsNode::evaluate): (KJS::LessStringsNode::evaluateToBoolean): (KJS::GreaterNode::optimizeVariableAccess): (KJS::GreaterNode::inlineEvaluateToBoolean): (KJS::GreaterNode::evaluate): (KJS::GreaterNode::evaluateToBoolean): (KJS::LessEqNode::optimizeVariableAccess): (KJS::LessEqNode::inlineEvaluateToBoolean): (KJS::LessEqNode::evaluate): (KJS::LessEqNode::evaluateToBoolean): (KJS::GreaterEqNode::optimizeVariableAccess): (KJS::GreaterEqNode::inlineEvaluateToBoolean): (KJS::GreaterEqNode::evaluate): (KJS::GreaterEqNode::evaluateToBoolean): (KJS::InstanceOfNode::optimizeVariableAccess): (KJS::InstanceOfNode::evaluate): (KJS::InstanceOfNode::evaluateToBoolean): (KJS::InNode::optimizeVariableAccess): (KJS::InNode::evaluate): (KJS::InNode::evaluateToBoolean): (KJS::EqualNode::optimizeVariableAccess): (KJS::EqualNode::inlineEvaluateToBoolean): (KJS::EqualNode::evaluate): (KJS::EqualNode::evaluateToBoolean): (KJS::NotEqualNode::optimizeVariableAccess): (KJS::NotEqualNode::inlineEvaluateToBoolean): (KJS::NotEqualNode::evaluate): (KJS::NotEqualNode::evaluateToBoolean): (KJS::StrictEqualNode::optimizeVariableAccess): (KJS::StrictEqualNode::inlineEvaluateToBoolean): (KJS::StrictEqualNode::evaluate): (KJS::StrictEqualNode::evaluateToBoolean): (KJS::NotStrictEqualNode::optimizeVariableAccess): (KJS::NotStrictEqualNode::inlineEvaluateToBoolean): (KJS::NotStrictEqualNode::evaluate): (KJS::NotStrictEqualNode::evaluateToBoolean): (KJS::BitAndNode::optimizeVariableAccess): (KJS::BitAndNode::evaluate): (KJS::BitAndNode::inlineEvaluateToInt32): (KJS::BitAndNode::evaluateToNumber): (KJS::BitAndNode::evaluateToBoolean): (KJS::BitAndNode::evaluateToInt32): (KJS::BitAndNode::evaluateToUInt32): (KJS::BitXOrNode::optimizeVariableAccess): (KJS::BitXOrNode::inlineEvaluateToInt32): (KJS::BitXOrNode::evaluate): (KJS::BitXOrNode::evaluateToNumber): (KJS::BitXOrNode::evaluateToBoolean): (KJS::BitXOrNode::evaluateToInt32): (KJS::BitXOrNode::evaluateToUInt32): (KJS::BitOrNode::optimizeVariableAccess): (KJS::BitOrNode::inlineEvaluateToInt32): (KJS::BitOrNode::evaluate): (KJS::BitOrNode::evaluateToNumber): (KJS::BitOrNode::evaluateToBoolean): (KJS::BitOrNode::evaluateToInt32): (KJS::BitOrNode::evaluateToUInt32): (KJS::LogicalAndNode::optimizeVariableAccess): (KJS::LogicalAndNode::evaluate): (KJS::LogicalAndNode::evaluateToBoolean): (KJS::LogicalOrNode::optimizeVariableAccess): (KJS::LogicalOrNode::evaluate): (KJS::LogicalOrNode::evaluateToBoolean): (KJS::ConditionalNode::optimizeVariableAccess): (KJS::ConditionalNode::evaluate): (KJS::ConditionalNode::evaluateToBoolean): (KJS::ConditionalNode::evaluateToNumber): (KJS::ConditionalNode::evaluateToInt32): (KJS::ConditionalNode::evaluateToUInt32): (KJS::valueForReadModifyAssignment): (KJS::ReadModifyResolveNode::optimizeVariableAccess): (KJS::AssignResolveNode::optimizeVariableAccess): (KJS::ReadModifyLocalVarNode::evaluate): (KJS::AssignLocalVarNode::evaluate): (KJS::ReadModifyConstNode::evaluate): (KJS::AssignConstNode::evaluate): (KJS::ReadModifyResolveNode::evaluate): (KJS::AssignResolveNode::evaluate): (KJS::AssignDotNode::optimizeVariableAccess): (KJS::AssignDotNode::evaluate): (KJS::ReadModifyDotNode::optimizeVariableAccess): (KJS::ReadModifyDotNode::evaluate): (KJS::AssignErrorNode::evaluate): (KJS::AssignBracketNode::optimizeVariableAccess): (KJS::AssignBracketNode::evaluate): (KJS::ReadModifyBracketNode::optimizeVariableAccess): (KJS::ReadModifyBracketNode::evaluate): (KJS::CommaNode::optimizeVariableAccess): (KJS::CommaNode::evaluate): (KJS::ConstDeclNode::optimizeVariableAccess): (KJS::ConstDeclNode::handleSlowCase): (KJS::ConstDeclNode::evaluateSingle): (KJS::ConstDeclNode::evaluate): (KJS::ConstStatementNode::optimizeVariableAccess): (KJS::ConstStatementNode::execute): (KJS::statementListExecute): (KJS::BlockNode::optimizeVariableAccess): (KJS::BlockNode::execute): (KJS::EmptyStatementNode::execute): (KJS::ExprStatementNode::optimizeVariableAccess): (KJS::ExprStatementNode::execute): (KJS::VarStatementNode::optimizeVariableAccess): (KJS::VarStatementNode::execute): (KJS::IfNode::optimizeVariableAccess): (KJS::IfNode::execute): (KJS::IfElseNode::optimizeVariableAccess): (KJS::IfElseNode::execute): (KJS::DoWhileNode::optimizeVariableAccess): (KJS::DoWhileNode::execute): (KJS::WhileNode::optimizeVariableAccess): (KJS::WhileNode::execute): (KJS::ForNode::optimizeVariableAccess): (KJS::ForNode::execute): (KJS::ForInNode::optimizeVariableAccess): (KJS::ForInNode::execute): (KJS::ContinueNode::execute): (KJS::BreakNode::execute): (KJS::ReturnNode::optimizeVariableAccess): (KJS::ReturnNode::execute): (KJS::WithNode::optimizeVariableAccess): (KJS::WithNode::execute): (KJS::CaseClauseNode::optimizeVariableAccess): (KJS::CaseClauseNode::evaluate): (KJS::CaseClauseNode::executeStatements): (KJS::ClauseListNode::optimizeVariableAccess): (KJS::CaseBlockNode::optimizeVariableAccess): (KJS::CaseBlockNode::executeBlock): (KJS::SwitchNode::optimizeVariableAccess): (KJS::SwitchNode::execute): (KJS::LabelNode::optimizeVariableAccess): (KJS::LabelNode::execute): (KJS::ThrowNode::optimizeVariableAccess): (KJS::ThrowNode::execute): (KJS::TryNode::optimizeVariableAccess): (KJS::TryNode::execute): (KJS::ProgramNode::initializeSymbolTable): (KJS::ScopeNode::optimizeVariableAccess): (KJS::ProgramNode::processDeclarations): (KJS::EvalNode::processDeclarations): (KJS::ProgramNode::execute): (KJS::EvalNode::execute): (KJS::FunctionBodyNodeWithDebuggerHooks::execute): (KJS::FuncDeclNode::execute): (KJS::FuncExprNode::evaluate):
  • kjs/nodes.h: (KJS::Node::): (KJS::FalseNode::): (KJS::TrueNode::): (KJS::ArgumentsNode::):
12:36 PM Changeset in webkit [32444] by oliver@apple.com
  • 4 edits
    1 add in branches/squirrelfish/JavaScriptCore

Bug 18672: SQUIRRELFISH: codegen fails with a large number of temporaries
<https://bugs.webkit.org/show_bug.cgi?id=18672>

Reviewed by Geoff

Add a SegmentedVector type, which provides a Vector<T> which maintains
existing memory locations during resize. This allows dynamically sizing
local, temporary and label "vectors" in CodeGenerator.

11:25 AM Changeset in webkit [32443] by justin.garcia@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

2008-04-23 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div

  • editing/htmlediting.cpp: (WebCore::firstEditablePositionAfterPositionInRoot): Return a null VisiblePosition if this function moves out of highestRoot. Re-wrote so as to not duplicate code inside and outside of the while loop. (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.

LayoutTests:

2008-04-23 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div

  • editing/selection/5825350-1-expected.txt: Added.
  • editing/selection/5825350-1.html: Added.
  • editing/selection/5825350-2-expected.txt: Added.
  • editing/selection/5825350-2.html: Added.
10:49 AM Changeset in webkit [32442] by pewtermoose@webkit.org
  • 5 edits in trunk

WebCore:

2008-04-23 Daniel Zucker <zucker@wake3.com>

Reviewed by Adam Roben.

Fix build errors needed to compile Curl in Cairo build. Add stubs for
didReceiveAuthenticationChallenge, receivedCredential,
receivedRequestToContinueWithoutCredential, and receivedCancellation.
<https://bugs.webkit.org/show_bug.cgi?id=18468>

  • platform/network/ResourceHandle.h:
  • platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): (WebCore::ResourceHandle::receivedCancellation):

WebKit/win:

2008-04-23 Daniel Zucker <zucker@wake3.com>

Reviewed by Adam Roben.

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

  • WebError.h: include RetainPtr.h to fix build errors in Cairo build
10:43 AM Changeset in webkit [32441] by pewtermoose@webkit.org
  • 2 edits in trunk/WebKit/win

2008-04-23 Daniel Zucker <zucker@wake3.com>

Reviewed by Adam Roben.

Move the location of #if USE(CFNETWORK) to fix a cairo/curl build error.
<https://bugs.webkit.org/show_bug.cgi?id=18470>

  • WebError.cpp: (WebError::sslPeerCertificate):
10:35 AM Changeset in webkit [32440] by Adam Roben
  • 2 edits in trunk/WebKitTools

Make crashes be reported as crashes, not hangs

Reviewed by David Kilzer.

  • Scripts/run-webkit-tests: (top level): Use the new status field of the output from readFromDumpToolWithTimer to determine if the test crashed or hung. (sub readFromDumpToolWithTimer):
    • If we fail to read a line and $! is not EAGAIN, then we've crashed and should not try to read any more.
    • Changed the timedout field to a more general status field.
9:08 AM Changeset in webkit [32439] by Darin Adler
  • 2 edits in trunk/LayoutTests

2008-04-23 Darin Adler <Darin Adler>

  • updated a test affected by the addition of mask-composite
  • svg/css/getComputedStyle-basic-expected.txt: Updated.
7:50 AM Changeset in webkit [32438] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix a bug where moving forward in bidirectional text skips over the position after the end of the line

Test: editing/selection/move-past-trailing-space.html

  • dom/Position.cpp: (WebCore::Position::upstream): Changed the logic for identifying when a position is after the last character of a text box of a text node that continues on the next line, to make it work correctly when boxes are not laid out in logical order. (WebCore::Position::downstream): Ditto.

LayoutTests:

Reviewed by Darin Adler.

  • test that moving forward through bidirectional text does not skip the position after the last character on the line
  • editing/selection/move-past-trailing-space.html: Added.
  • platform/mac/editing/selection/move-past-trailing-space-expected.checksum: Added.
  • platform/mac/editing/selection/move-past-trailing-space-expected.png: Added.
  • platform/mac/editing/selection/move-past-trailing-space-expected.txt: Added.
7:45 AM Changeset in webkit [32437] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

Fix compilation against Qt 4.3

7:44 AM Changeset in webkit [32436] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


A little refactoring in preparation for supporting 'arguments'.


Fixes 2 regression tests.

SunSpider reports no change.

We now check the activation register, instead of the codeBlock, to
determine whether we need to tear off the activation. This is to support
"f.arguments", which will create an activation/arguments pair for f,
even though the needsFullScopeChain flag is false for f's codeBlock.


The test fixes resulted from calling initializeCallFrame for re-entrant
function code, instead of initializing (not enough) parts of the call
frame by hand.

7:36 AM Changeset in webkit [32435] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <zecke@selfish.org>

  • Make sure the "Inspect Element" item gets added to the ContextMenu, a call to ContextMenu::populate() is not adding it, the ContextMenuController does add it after the call to populate(). Do that as well.
7:36 AM Changeset in webkit [32434] by Simon Hausmann
  • 2 edits in trunk/WebCore

Brad Hughes <bhughes@trolltech.com>

Fix release build with the intel compiler

Intel compiler can't compile qtwebkit with -O2 or -O1, so we're left with -O0

7:36 AM Changeset in webkit [32433] by Simon Hausmann
  • 5 edits in trunk/WebKit/qt

Simon Hausmann <Simon Hausmann>

Fix crashes on window.close().

We should not delete the QWebPage object in the ChromeClient but leave it up to
the application when and whether to delete a browser window. For this we now
emit the windowCloseRequested() signal.

Done with Tor Arne.

7:21 AM Changeset in webkit [32432] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

Fix parsing of external scripts/stylesheets when using setHtml(const QString &html).

We used to pass the html string to the frameloader in utf-16, which also meant that the default
encoding of external scripts/stylesheets became utf-16. That doesn't make sense, so assume utf-8
by default. This is now also documented.

6:58 AM Changeset in webkit [32431] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

Holger Hans Peter Freyther <zecke@selfish.org>

Removed the #define for USE_SYSTEM_MALLOC that we set in WebKit.pri
already.

1:31 AM Changeset in webkit [32430] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Fixes background color propagation when using a custom QWebPage

Set the palette in setPage(), not during the creation on-demand.

1:26 AM Changeset in webkit [32429] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Fix the user agent on the mac to be BSD4

Put Q_OS_DARWIN before Q_OS_BSD4 sense they are both defined on the mac

1:07 AM Changeset in webkit [32428] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Added missing copyright notice.
Small fixes to the documentation.

12:49 AM Changeset in webkit [32427] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

Zack Rusin <zack@tungstengraphics.com>

Added a contentsSize() property.

Note: See TracTimeline for information about the timeline view.