Timeline



Sep 1, 2008:

10:08 PM Changeset in webkit [36023] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.3

New tag.

9:26 PM Changeset in webkit [36022] by abarth@webkit.org
  • 10 edits in trunk

WebCore:

2008-09-01 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

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

Make granting LoadLocalResources conditional on a policy.

  • WebCore.base.exp:
  • dom/Document.cpp: (WebCore::Document::initSecurityContext):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::setLocalLoadPolicy): (WebCore::FrameLoader::restrictAccessToLocal):
  • loader/FrameLoader.h: (WebCore::FrameLoader::):
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::grantLoadLocalResources):
  • platform/SecurityOrigin.h:

WebKit/mac:

2008-09-01 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

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

Add a linked-on-or-after check to prevent substitute data from loading
local resources on newer users of WebKit.

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]):
4:34 PM Changeset in webkit [36021] by dino@apple.com
  • 3 edits
    23 adds in trunk

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

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=20571
Make sure Window object can assign Animation/Transition event
listeners via attributes.

Also added a bunch of transition event tests, although
only transition-end-event-window is directly relevant to this patch.

(WebCore::JSDOMWindowBase::put):

Tests: transitions/transition-end-event-all-properties.html

transitions/transition-end-event-attributes.html
transitions/transition-end-event-container.html
transitions/transition-end-event-left.html
transitions/transition-end-event-multiple-01.html
transitions/transition-end-event-multiple-02.html
transitions/transition-end-event-multiple-03.html
transitions/transition-end-event-multiple-04.html
transitions/transition-end-event-nested.html
transitions/transition-end-event-transform.html
transitions/transition-end-event-window.html

4:05 PM Changeset in webkit [36020] by dino@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Sam Weinig

Code styling cleanup.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty): (WebCore::JSDOMWindowBase::put):
3:55 PM Changeset in webkit [36019] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Fix release build.

3:49 PM Changeset in webkit [36018] by jmalonzo@webkit.org
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Gtk buildfix

  • GNUmakefile.am:
  • kjs/PropertyMap.cpp: rename Identifier.h to identifier.h
  • kjs/StructureID.cpp: include JSObject.h
3:40 PM Changeset in webkit [36017] by weinig@apple.com
  • 7 edits in trunk/JavaScriptGlue

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

Reviewed by Darin Adler.

First cut at inline caching for access to vanilla JavaScript properties.


Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.

2:22 PM Changeset in webkit [36016] by weinig@apple.com
  • 100 edits
    20 adds in trunk

JavaScriptCore:

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

Reviewed by Darin Adler.

First cut at inline caching for access to vanilla JavaScript properties.


SunSpider says 4% faster. Tests heavy on dictionary-like access have
regressed a bit -- we have a lot of room to improve in this area,
but this patch is over-ripe as-is.


JSCells now have a StructureID that uniquely identifies their layout,
and holds their prototype.


JSValue::put takes a PropertySlot& argument, so it can fill in details
about where it put a value, for the sake of caching.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator): Avoid calling removeDirect if we can, since it disables inline caching in the global object. This can probably improve in the future.
  • kjs/JSGlobalObject.cpp: Nixed reset(), since it complicates caching, and wasn't really necessary.
  • kjs/JSObject.cpp: Tweaked getter / setter behavior not to rely on the IsGetterSetter flag, since the flag was buggy. This is necessary in order to avoid accidentally accessing a getter / setter as a normal property.


Also changed getter / setter creation to honor ReadOnly, matching Mozilla.


  • kjs/PropertyMap.cpp: Nixed clear(), since it complicates caching and isn't necessary.
  • kjs/Shell.cpp: Moved SamplingTool dumping outside the loop. This allows you to aggregate sampling of multiple files (or the same file repeatedly), which helped me track down regressions.
  • kjs/ustring.h: Moved IdentifierRepHash here to share it.

WebCore:

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

Reviewed by Darin Adler.

First cut at inline caching for access to vanilla JavaScript properties.

Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
to WebCore classes, and PutPropertySlot& arguments to put functions.

(WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
inline caching for global properties, so global assignment can be optimized.

  • ForwardingHeaders/kjs/StructureID.h: Added.
  • bindings/js/JSDOMBinding.h: (WebCore::DOMObject::DOMObject):
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::put):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindow::customPut):
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): (WebCore::JSDOMWindowShell::put):
  • bindings/js/JSDOMWindowShell.h:
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBase::put):
  • bindings/js/JSEventTargetNode.h: (WebCore::JSEventTargetNode::put):
  • bindings/js/JSHTMLAppletElementCustom.cpp: (WebCore::JSHTMLAppletElement::customPut):
  • bindings/js/JSHTMLEmbedElementCustom.cpp: (WebCore::JSHTMLEmbedElement::customPut):
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBase::put):
  • bindings/js/JSHTMLInputElementBase.h:
  • bindings/js/JSHTMLObjectElementCustom.cpp: (WebCore::JSHTMLObjectElement::customPut):
  • bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::customPut):
  • bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
  • bindings/js/JSInspectedObjectWrapper.h:
  • bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::wrap): (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
  • bindings/js/JSInspectorCallbackWrapper.h:
  • bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::customPut):
  • bindings/js/JSPluginElementFunctions.cpp: (WebCore::runtimeObjectCustomPut):
  • bindings/js/JSPluginElementFunctions.h:
  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): (WebCore::JSQuarantinedObjectWrapper::put):
  • bindings/js/JSQuarantinedObjectWrapper.h:
  • bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::customPut):
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject setValue:forKey:]):
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/NP_jsobject.cpp: (_NPN_SetProperty):
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::setMember):
  • bridge/objc/objc_class.mm: (KJS::Bindings::ObjcClass::fallbackObject):
  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_runtime.mm: (ObjcFallbackObjectImp::ObjcFallbackObjectImp): (ObjcFallbackObjectImp::put):
  • bridge/runtime.cpp: (KJS::Bindings::Instance::createRuntimeObject):
  • bridge/runtime_array.cpp: (RuntimeArray::put):
  • bridge/runtime_array.h:
  • bridge/runtime_object.cpp: (RuntimeObjectImp::RuntimeObjectImp): (RuntimeObjectImp::put):
  • bridge/runtime_object.h:

LayoutTests:

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

Reviewed by Darin Adler.

First cut at inline caching for access to vanilla JavaScript properties.


Tests for things I broke along the way.


  • fast/dom/getter-on-window-object2-expected.txt:
  • fast/js/pic: Added.
  • fast/js/pic/cached-deleted-properties-expected.txt: Added.
  • fast/js/pic/cached-deleted-properties.html: Added.
  • fast/js/pic/cached-getter-dictionary-and-proto-expected.txt: Added.
  • fast/js/pic/cached-getter-dictionary-and-proto.html: Added.
  • fast/js/pic/cached-getter-setter-expected.txt: Added.
  • fast/js/pic/cached-getter-setter.html: Added.
  • fast/js/pic/cached-prototype-setter-expected.txt: Added.
  • fast/js/pic/cached-prototype-setter.html: Added.
  • fast/js/pic/cached-single-entry-transition-expected.txt: Added.
  • fast/js/pic/cached-single-entry-transition.html: Added.
  • fast/js/pic/get-empty-string-expected.txt: Added.
  • fast/js/pic/get-empty-string.html: Added.
  • fast/js/pic/get-set-proxy-object-expected.txt: Added.
  • fast/js/pic/get-set-proxy-object.html: Added.
  • fast/js/pic/rehash-poisons-structure-expected.txt: Added.
  • fast/js/pic/rehash-poisons-structure.html: Added.
12:51 PM Changeset in webkit [36015] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Sam Weinig.

Eagerly allocate the Math object's numeric constants. This avoids
constantly reallocating them in loops, and also ensures that the Math
object will not use the single property optimization, which makes
properties ineligible for caching.

SunSpider reports a small speedup, in combination with inline caching.

  • kjs/MathObject.cpp: (KJS::MathObject::MathObject): (KJS::MathObject::getOwnPropertySlot):
  • kjs/MathObject.h:
12:46 PM Changeset in webkit [36014] by jmalonzo@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Gtk build fix, not reviewed.

  • GNUmakefile.am: Add SmallStrings.cpp in both release and debug builds
10:18 AM Changeset in webkit [36013] by cwzwarich@webkit.org
  • 1 edit in trunk/JavaScriptCore/ChangeLog

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

Not reviewed.

Fix a typo in the ChangeLog for r36009.

5:44 AM Changeset in webkit [36012] by jmalonzo@webkit.org
  • 3 edits in trunk/WebKit/gtk

2008-09-01 Alp Toker <alp@nuanti.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=19939
[GTK] webkit_web_history_item_get_title() fails with assertion

Make sure newly constructed WebHistoryItem objects wrap a WebCore
history item when necessary. Avoid G_PARAM_CONSTRUCT since it destroys
history data -- use WEBKIT_PARAM flags instead as they do the right
thing. This restores history functionality.

Also use CString to simplify UTF-8 string management.

  • webkit/webkitwebbackforwardlist.cpp: (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit): (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit): No need to initialize the vector with a size since it's cleared by the callee.
  • webkit/webkitwebhistoryitem.cpp: (_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri):
5:43 AM Changeset in webkit [36011] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Eric Seidel.

Fixed border-radius for Cairo.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::strokeArc):
5:43 AM Changeset in webkit [36010] by jmalonzo@webkit.org
  • 5 edits in trunk/WebCore

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

Reviewed by Eric Seidel.

Added canvas's globalAlpha to cairo.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::setAlpha): (WebCore::GraphicsContext::getAlpha):
  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::BitmapImage::draw):

Aug 31, 2008:

2:57 PM Changeset in webkit [36009] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

2008-08-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20577: REGRESSION (r35006): Gmail is broken
<https://bugs.webkit.org/show_bug.cgi?id=20577>

r35006 changed stringProtoFuncSubstr() so that it is uses the more
efficient jsSubstring(), rather than using UString::substr() and then
calling jsString(). However, the change did not account for the case
where the start and the length of the substring extend beyond the length
of the original string. This patch corrects that.

JavaScriptCore:

  • kjs/StringPrototype.cpp: (KJS::stringProtoFuncSubstr):

LayoutTests:

  • fast/js/resources/string-substr.js: Added.
  • fast/js/string-substr-expected.txt: Added.
  • fast/js/string-substr.html: Added.
6:13 AM Changeset in webkit [36008] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-08-31 Simon Hausmann <Simon Hausmann>

Unreviewed Qt build fix.

  • WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of the .h file
6:13 AM Changeset in webkit [36007] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-08-31 Simon Hausmann <hausmann@wekit.org>

Unreviewed build fix (with gcc 4.3)

  • kjs/ustring.h: Properly forward declare operator== for UString and the the concatenate functions inside the KJS namespace.

Aug 30, 2008:

11:58 PM Changeset in webkit [36006] by Darin Adler
  • 33 edits
    2 adds in trunk

JavaScriptCore:

2008-08-30 Darin Adler <Darin Adler>

Reviewed by Maciej.

1.035x as fast on SunSpider overall.
1.127x as fast on SunSpider string tests.
1.910x as fast on SunSpider string-base64 test.

  • API/JSObjectRef.cpp: (JSObjectMakeFunction): Removed unneeded explicit construction of UString.
  • GNUmakefile.am: Added SmallStrings.h and SmallStrings.cpp.
  • JavaScriptCore.pri: Ditto.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
  • JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
  • JavaScriptCoreSources.bkl: Ditto.
  • VM/Machine.cpp: (KJS::jsAddSlowCase): Changed to use a code path that doesn't involve a UString constructor. This avoids an extra jump caused by the "in charge" vs. "not in charge" constructors. (KJS::jsAdd): Ditto. (KJS::jsTypeStringForValue): Adopted jsNontrivialString.
  • kjs/ArrayPrototype.cpp: (KJS::arrayProtoFuncToString): Adopted jsEmptyString. (KJS::arrayProtoFuncToLocaleString): Ditto. (KJS::arrayProtoFuncJoin): Ditto.
  • kjs/BooleanPrototype.cpp: (KJS::booleanProtoFuncToString): Adopted jsNontrivialString.
  • kjs/DateConstructor.cpp: (KJS::callDate): Ditto.
  • kjs/DatePrototype.cpp: (KJS::formatLocaleDate): Adopted jsEmptyString and jsNontrivialString. (KJS::dateProtoFuncToString): Ditto. (KJS::dateProtoFuncToUTCString): Ditto. (KJS::dateProtoFuncToDateString): Ditto. (KJS::dateProtoFuncToTimeString): Ditto. (KJS::dateProtoFuncToLocaleString): Ditto. (KJS::dateProtoFuncToLocaleDateString): Ditto. (KJS::dateProtoFuncToLocaleTimeString): Ditto. (KJS::dateProtoFuncToGMTString): Ditto.
  • kjs/ErrorPrototype.cpp: (KJS::ErrorPrototype::ErrorPrototype): Ditto. (KJS::errorProtoFuncToString): Ditto.
  • kjs/JSGlobalData.h: Added SmallStrings.
  • kjs/JSString.cpp: (KJS::jsString): Eliminated the overload that takes a const char*. Added code to use SmallStrings to get strings of small sizes rather than creating a new JSString every time. (KJS::jsSubstring): Added. Used when creating a string from a substring to avoid creating a JSString in cases where the substring will end up empty or as one character. (KJS::jsOwnedString): Added the same code as in jsString.
  • kjs/JSString.h: Added new functions jsEmptyString, jsSingleCharacterString, jsSingleCharacterSubstring, jsSubstring, and jsNontrivialString for various cases where we want to create JSString, and want special handling for small strings. (KJS::JSString::JSString): Added an overload that takes a PassRefPtr of a UString::Rep so you don't have to construct a UString; PassRefPtr can be more efficient. (KJS::jsEmptyString): Added. (KJS::jsSingleCharacterString): Added. (KJS::jsSingleCharacterSubstring): Added. (KJS::jsNontrivialString): Added. (KJS::JSString::getIndex): Adopted jsSingleCharacterSubstring. (KJS::JSString::getStringPropertySlot): Ditto.
  • kjs/NumberPrototype.cpp: (KJS::numberProtoFuncToFixed): Adopted jsNontrivialString. (KJS::numberProtoFuncToExponential): Ditto. (KJS::numberProtoFuncToPrecision): Ditto.
  • kjs/ObjectPrototype.cpp: (KJS::objectProtoFuncToLocaleString): Adopted toThisJSString. (KJS::objectProtoFuncToString): Adopted jsNontrivialString.
  • kjs/RegExpConstructor.cpp: Separated the lastInput value that's used with the lastOvector to return matches from the input value that can be changed via JavaScript. They will be equal in many cases, but not all. (KJS::RegExpConstructor::performMatch): Set input. (KJS::RegExpMatchesArray::RegExpMatchesArray): Ditto. (KJS::RegExpMatchesArray::fillArrayInstance): Adopted jsSubstring. Also, use input rather than lastInput in the appropriate place. (KJS::RegExpConstructor::getBackref): Adopted jsSubstring and jsEmptyString. Added code to handle the case where there is no backref -- before this depended on range checking in UString::substr which is not present in jsSubstring. (KJS::RegExpConstructor::getLastParen): Ditto. (KJS::RegExpConstructor::getLeftContext): Ditto. (KJS::RegExpConstructor::getRightContext): Ditto. (KJS::RegExpConstructor::getValueProperty): Use input rather than lastInput. Also adopt jsEmptyString. (KJS::RegExpConstructor::putValueProperty): Ditto. (KJS::RegExpConstructor::input): Ditto.
  • kjs/RegExpPrototype.cpp: (KJS::regExpProtoFuncToString): Adopt jsNonTrivialString. Also changed to use UString::append to append single characters rather than using += and a C-style string.
  • kjs/SmallStrings.cpp: Added. (KJS::SmallStringsStorage::SmallStringsStorage): Construct the buffer and UString::Rep for all 256 single-character strings for the U+0000 through U+00FF. This covers all the values used in the base64 test as well as most values seen elsewhere on the web as well. It's possible that later we might fix this to only work for U+0000 through U+007F but the others are used quite a bit in the current version of the base64 test. (KJS::SmallStringsStorage::~SmallStringsStorage): Free memory. (KJS::SmallStrings::SmallStrings): Create a set of small strings, initially not created; created later when they are used. (KJS::SmallStrings::~SmallStrings): Deallocate. Not left compiler generated because the SmallStringsStorage class's destructor needs to be visible. (KJS::SmallStrings::mark): Mark all the strings. (KJS::SmallStrings::createEmptyString): Create a cell for the empty string. Called only the first time. (KJS::SmallStrings::createSingleCharacterString): Create a cell for one of the single-character strings. Called only the first time.
  • kjs/SmallStrings.h: Added.
  • kjs/StringConstructor.cpp: (KJS::stringFromCharCodeSlowCase): Factored out of strinFromCharCode. Only used for cases where the caller does not pass exactly one argument. (KJS::stringFromCharCode): Adopted jsSingleCharacterString. (KJS::callStringConstructor): Adopted jsEmptyString.
  • kjs/StringObject.cpp: (KJS::StringObject::StringObject): Adopted jsEmptyString.
  • kjs/StringPrototype.cpp: (KJS::stringProtoFuncReplace): Adopted jsSubstring. (KJS::stringProtoFuncCharAt): Adopted jsEmptyString and jsSingleCharacterSubstring and also added a special case when the index is an immediate number to avoid conversion to and from floating point, since that's the common case. (KJS::stringProtoFuncCharCodeAt): Ditto. (KJS::stringProtoFuncMatch): Adopted jsSubstring and jsEmptyString. (KJS::stringProtoFuncSlice): Adopted jsSubstring and jsSingleCharacterSubstring. Also got rid of some unneeded locals and removed unneeded code to set the length property of the array, since it is automatically updated as values are added to the array. (KJS::stringProtoFuncSplit): Adopted jsEmptyString. (KJS::stringProtoFuncSubstr): Adopted jsSubstring. (KJS::stringProtoFuncSubstring): Ditto.
  • kjs/collector.cpp: (KJS::Heap::collect): Added a call to mark SmallStrings.
  • kjs/ustring.cpp: (KJS::UString::expandedSize): Made this a static member function since it doesn't need to look at any data members. (KJS::UString::expandCapacity): Use a non-inline function, makeNull, to set the rep to null in failure cases. This avoids adding a PIC branch for the normal case when there is no failure. (KJS::UString::expandPreCapacity): Ditto. (KJS::UString::UString): Ditto. (KJS::concatenate): Refactored the concatenation constructor into this separate function. Calling the concatenation constructor was leading to an extra branch because of the in-charge vs. not-in-charge versions not both being inlined, and this was showing up as nearly 1% on Shark. Also added a special case for when the second string is a single character, since it's a common idiom to build up a string that way and we can do things much more quickly, without involving memcpy for example. Also adopted the non-inline function, nullRep, for the same reason given for makeNull above. (KJS::UString::append): Adopted makeNull for failure cases. (KJS::UString::operator=): Ditto. (KJS::UString::toDouble): Added a special case for converting single character strings to numbers. We're doing this a ton of times while running the base64 test. (KJS::operator==): Added special cases so we can compare single-character strings without calling memcmp. Later we might want to special case other short lengths similarly. (KJS::UString::makeNull): Added. (KJS::UString::nullRep): Added.
  • kjs/ustring.h: Added declarations for the nullRep and makeNull. Changed expandedSize to be a static member function. Added a declaration of the concatenate function. Removed the concatenation constructor. Rewrote operator+ to use the concatenate function.

WebCore:

2008-08-30 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::windowProtoFuncAToB): Adopted jsEmptyString. (WebCore::windowProtoFuncBToA): Ditto.
  • bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::eventParameterName): Adopted jsNontrivialString.
  • bindings/js/JSSVGLazyEventListener.cpp: (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.

LayoutTests:

2008-08-30 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • updated incorrect results that reflected a bug in the RegExp object
  • fast/js/regexp-caching-expected.txt: Updated results to correctly show that $1 through $9, lastMatch, lastParen, leftContext, and rightContext are left alone both when a program changes the value of RegExp.input and when it performs an unsuccessful match. The new results match Gecko behavior (I tested both Firefox 2 and 3).
1:39 PM Changeset in webkit [36005] by weinig@apple.com
  • 4 edits in trunk/WebKit/win

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

Reviewed by Dan Bernstein.

Add WebView SPI to defer loading callbacks.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp: (WebView::setDefersCallbacks): (WebView::defersCallbacks):
  • WebView.h:

Aug 29, 2008:

5:42 PM Changeset in webkit [36004] by andersca@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-08-29 Anders Carlsson <andersca@apple.com>

Build fix.

  • VM/Machine.cpp: (KJS::getCPUTime):
5:40 PM Changeset in webkit [36003] by andersca@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-08-29 Anders Carlsson <andersca@apple.com>

Reviewed by Darin.

<rdar://problem/6174667>
When a machine is under heavy load, the Slow Script dialog often comes up many times and just gets in the way


Instead of using clock time, use the CPU time spent executing the current thread when
determining if the script has been running for too long.


  • VM/Machine.cpp: (KJS::getCPUTime): (KJS::Machine::checkTimeout):
5:30 PM Changeset in webkit [36002] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-08-29 Brady Eidson <beidson@apple.com>

Reviewed by Anders' rubberstamp

Style cleanup to match MediaTokenizer::writeRawData()

  • loader/PluginDocument.cpp: (WebCore::PluginTokenizer::writeRawData):
5:26 PM Changeset in webkit [36001] by beidson@apple.com
  • 4 edits in trunk

WebCore:

2008-08-29 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Fix regression I introducted in 35946
Already covered by media/video-click-dlbclick-standalone.html

  • loader/MediaDocument.cpp: (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early! (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add an ASSERT signifying that this method should only be called once, to more closely follow the PluginDocument case.

WebKit/mac:

2008-08-29 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Fix regression I introducted in 35946
Already covered by media/video-click-dlbclick-standalone.html

  • WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation receivedData:withDataSource:]): Cancel the load here after calling [WebFrame _receivedData:] which more closely follows the path taken by PluginDocuments
5:00 PM Changeset in webkit [36000] by Beth Dakin
  • 4 edits in trunk/WebCore

2008-08-29 Beth Dakin <Beth Dakin>

Reviewed by Sam Weinig.

Fix for <rdar://problem/6181588>

This patch makes hit testing take into account the new concept of a
disconnected frame, in which some of the content may not be
visible. The current hit testing mechanism starts at a target frame
and drills down for a HitTestResult. In some cases, drilling down
will find a non-visible result. When this happens, we need to try
again, starting at a higher level -- namely, starting at the main
frame.

  • editing/Editor.cpp: (WebCore::Editor::insideVisibleArea): New function that tests if a point is inside the visible area for a disconnected frame.
  • editing/Editor.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
3:30 PM Changeset in webkit [35999] by adele@apple.com
  • 8 edits
    2 moves in trunk/WebCore

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

Reviewed by Adam Roben.

Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • html/HTMLTextFieldInnerElement.cpp: Removed.
  • html/HTMLTextFieldInnerElement.h: Removed.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
  • rendering/RenderTextControl.h:
  • rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp. (WebCore::TextControlInnerElement::TextControlInnerElement): (WebCore::TextControlInnerTextElement::TextControlInnerTextElement): (WebCore::TextControlInnerTextElement::defaultEventHandler): (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement): (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement): (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
  • rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
2:40 PM Changeset in webkit [35998] by eric@webkit.org
  • 2 edits in trunk/WebCore

Rubber-stamped by aroben.

Add GraphicsContext.h include to GraphcisContextPrivate.h

GraphicsContextPrivate uses StrokeStyle which is defined
in GraphicsContext.h but it doesn't include that header.
CoreGraphics build doesn't fail here due to the order
it happens to include files.

  • platform/graphics/GraphicsContextPrivate.h:
2:39 PM Changeset in webkit [35997] by eric@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

Reviewed by hyatt.

Fix GeneratedImage to respect Image's refcounting
Fixing potential crashers (future if not current)
https://bugs.webkit.org/show_bug.cgi?id=20567

I don't know if it's possible to make the current code
crash, thus I've not made a test.

  • css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::image):
  • css/CSSImageGeneratorValue.cpp: (WebCore::CSSImageGeneratorValue::removeClient): (WebCore::CSSImageGeneratorValue::getImage):
  • css/CSSImageGeneratorValue.h:
  • platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::GeneratedImage):
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::setContent):
  • rendering/style/RenderStyle.h:
2:38 PM Changeset in webkit [35996] by eric@webkit.org
  • 6 edits in trunk/WebCore

Fix GeneratedImage to respect Image's refcounting

1:24 PM Changeset in webkit [35995] by eric.carlson@apple.com
  • 2 edits in trunk/WebCore

2008-08-29 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adele.

Fix for <rdar://problem/6093767>
https://bugs.webkit.org/show_bug.cgi?id=20526

Don't allow video to render until unsupported track types have been disabled.

  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWinPrivate::task): (QTMovieWinPrivate::drawingComplete): (QTMovieWinPrivate::clearGWorld):
1:07 PM Changeset in webkit [35994] by eric.carlson@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Adele.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
<rdar://problem/6169301>


Return the size of the movie data instead of 1000. The value is used for the progress
event "total" attribute.

  • media/progress-event-total-expected.txt: Added.
  • media/progress-event-total.html: Added.
8:57 AM Changeset in webkit [35993] by Simon Hausmann
  • 13 edits in trunk

2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Eric Seidel.

[janitor/qt] Start replacing port specific getters with the generic native getter
To get the native presentation of an image we currently have platform
specific #ifdef's and a generic getter using NativeImagePtr. This patch
extends this to the ImageBuffer and updates the Qt platform to get rid
of the special #ifdefs.

https://bugs.webkit.org/attachment.cgi?id=22861

8:56 AM Changeset in webkit [35992] by Simon Hausmann
  • 3 edits in trunk/WebCore

2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon.

[svg/qt] Stop crashing... when no RenderPath/RenderObject is given...

8:56 AM Changeset in webkit [35991] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon.

Catch up with the introduction of PageGroup in r30840. Enable tracking of
visited links, enable this in QWebPage next to the other WebCore init call.
Calling this more than once is no issue and a cheap operation, we also do not
reset the state. When clearing the history of a page, clear the link state.

8:56 AM Changeset in webkit [35990] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon.

Revert revision 34348 which removed the global historyContains() function.

This function was needed to implement the public API of QWebHistoryInterface
and will be used again in the near future.

8:56 AM Changeset in webkit [35989] by Simon Hausmann
  • 4 edits in trunk/WebCore

2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon.

[network/qt] Implement defering of loading ResourceHandle's
This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
implementation is simply not forwarding anything to the
ResourceHandleClient until we are allowed to. This might lead to a deadlock
in Qt as we do not empty the QNetworkReply input buffer and wait until we
are allowed to read. If that happens we are forced to buffer the data
within QNetworkReplyHandler, for now this is not done.

Manual test:

  • Open http://acid3.acidtests.org
  • Wait for the test to complete
  • Click on the Reference Rendering link
  • Be fast and see the results of acid3 => assert
5:35 AM Changeset in webkit [35988] by Simon Hausmann
  • 4 edits in trunk/WebCore

2008-08-29 Simon Hausmann <Simon Hausmann>

Reviewed by Holger.

Don't crash when drawing patterns with the HTML canvas. Patterns
remain unimplemented but at least they don't crash anymore. This is
done by changing the PlatformPatternPtr to be a brush for the Qt
platform.

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

2008-08-29 Simon Hausmann <Simon Hausmann>

Fix the Qt build, fontSelector() is not used by the Qt port yet
and we just return 0 in Font::fontSelector().

Aug 28, 2008:

10:20 PM Changeset in webkit [35986] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

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

Rubber-stamped by Sam Weinig.

Change 'term' to 'expr' in variable names to standardize terminology.

  • kjs/nodes.cpp: (KJS::BinaryOpNode::emitCode): (KJS::ReverseBinaryOpNode::emitCode): (KJS::ThrowableBinaryOpNode::emitCode):
  • kjs/nodes.h: (KJS::BinaryOpNode::BinaryOpNode): (KJS::ReverseBinaryOpNode::ReverseBinaryOpNode): (KJS::MultNode::): (KJS::DivNode::): (KJS::ModNode::): (KJS::AddNode::): (KJS::SubNode::): (KJS::LeftShiftNode::): (KJS::RightShiftNode::): (KJS::UnsignedRightShiftNode::): (KJS::LessNode::): (KJS::GreaterNode::): (KJS::LessEqNode::): (KJS::GreaterEqNode::): (KJS::ThrowableBinaryOpNode::): (KJS::InstanceOfNode::): (KJS::InNode::): (KJS::EqualNode::): (KJS::NotEqualNode::): (KJS::StrictEqualNode::): (KJS::NotStrictEqualNode::): (KJS::BitAndNode::): (KJS::BitOrNode::): (KJS::BitXOrNode::):
  • kjs/nodes2string.cpp: (KJS::MultNode::streamTo): (KJS::DivNode::streamTo): (KJS::ModNode::streamTo): (KJS::AddNode::streamTo): (KJS::SubNode::streamTo): (KJS::LeftShiftNode::streamTo): (KJS::RightShiftNode::streamTo): (KJS::UnsignedRightShiftNode::streamTo): (KJS::LessNode::streamTo): (KJS::GreaterNode::streamTo): (KJS::LessEqNode::streamTo): (KJS::GreaterEqNode::streamTo): (KJS::InstanceOfNode::streamTo): (KJS::InNode::streamTo): (KJS::EqualNode::streamTo): (KJS::NotEqualNode::streamTo): (KJS::StrictEqualNode::streamTo): (KJS::NotStrictEqualNode::streamTo): (KJS::BitAndNode::streamTo): (KJS::BitXOrNode::streamTo): (KJS::BitOrNode::streamTo):
10:09 PM Changeset in webkit [35985] by alp@webkit.org
  • 6 edits in trunk

2008-08-28 Alp Toker <alp@nuanti.com>

GTK+ dist/build fix. List newly added header files.

6:13 PM Changeset in webkit [35984] by weinig@apple.com
  • 7 edits in trunk

JavaScriptCore:

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

Reviewed by Oliver Hunt.

Change to throw a ReferenceError at runtime instead of a ParseError
at parse time, when the left hand side expression of a for-in statement
is not an lvalue.

  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::ForInNode::emitCode):

LayoutTests:

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

Reviewed by Oliver Hunt.

Update test results now that test actually works.

  • fast/js/kde/exception_propagation-expected.txt:
  • fast/js/kde/resources/exception_propagation.js:
4:04 PM Changeset in webkit [35983] by Simon Fraser
  • 7 edits
    2 adds in trunk

2008-08-28 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

Various WebKitCSSTransformValue-related fixes
https://bugs.webkit.org/show_bug.cgi?id=20562

Test: css3/transform-value-types.html

  • bindings/js/JSCSSValueCustom.cpp: (WebCore::toJS):
  • css/CSSValue.h:
  • css/WebKitCSSTransformValue.cpp: (WebCore::WebKitCSSTransformValue::cssText):
  • css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::):
  • css/WebKitCSSTransformValue.idl:
3:53 PM Changeset in webkit [35982] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Steve Falkenburg.

  • do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
  • platform/win/SharedTimerWin.cpp: (WebCore::TimerWindowWndProc):
2:45 PM Changeset in webkit [35981] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj

Make sure new header files are put in private headers.

2:40 PM Changeset in webkit [35980] by Simon Fraser
  • 2 edits in trunk/LayoutTests

2008-08-28 Simon Fraser <Simon Fraser>

Fix window properties now that CSSRule includes
keyframe-related constants.
Also add window.console.count [function]
https://bugs.webkit.org/show_bug.cgi?id=20552

  • fast/dom/Window/window-properties-expected.txt:
2:38 PM Changeset in webkit [35979] by hyatt@apple.com
  • 12 edits
    7 adds in trunk/WebCore

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

RenderStyle cleanup.

Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.

Reviewed by Adam

  • css/CSSImageGeneratorValue.cpp:
  • css/CSSImageValue.cpp:
  • css/CSSStyleSelector.cpp:
  • rendering/RenderImageGeneratedContent.cpp:
  • rendering/style/NinePieceImage.cpp: Added.
  • rendering/style/NinePieceImage.h: Added.
  • rendering/style/RenderStyle.cpp: (WebCore::FillLayer::operator==): (WebCore::FillLayer::containsImage): (WebCore::StyleInheritedData::operator==): (WebCore::RenderStyle::contentDataEquivalent):
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleCachedImage.cpp: Added.
  • rendering/style/StyleCachedImage.h: Added.
  • rendering/style/StyleGeneratedImage.cpp: Added.
  • rendering/style/StyleGeneratedImage.h: Added.
  • rendering/style/StyleImage.h: Added.
2:29 PM Changeset in webkit [35978] by Simon Fraser
  • 5 edits in trunk/WebCore

2008-08-28 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

Make all the 'isFoo()' methods on CSSValue const,
and fix the subclasses.

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

  • css/CSSTimingFunctionValue.h:
  • css/CSSValue.h: (WebCore::CSSValue::isFontValue): (WebCore::CSSValue::isImageGeneratorValue): (WebCore::CSSValue::isImageValue): (WebCore::CSSValue::isImplicitInitialValue):
  • css/CSSValueList.h:
  • css/FontValue.h:
1:48 PM Changeset in webkit [35977] by kmccullough@apple.com
  • 2 edits in trunk/WebKit/mac

2008-08-28 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff.

<rdar://problem/6095949> REGRESSION (5525.8-6527.1?): "this" is null
when you first hit a breakpoint in Dashcode

  • We wanted to reset the callframe whenever eval() was called but dashcode uses eval() when broken to evaluate the state of the current call frame.
  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::willExecuteProgram): (WebScriptDebugger::didExecuteProgram):
1:08 PM Changeset in webkit [35976] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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

The great RenderStyle cleanup begins!

Move LengthBox and LengthSize out of RenderStyle and into Length.

Reviewed by Adam

  • rendering/Length.h: (WebCore::): (WebCore::Length::Length): (WebCore::Length::operator==): (WebCore::Length::operator!=): (WebCore::Length::value): (WebCore::Length::rawValue): (WebCore::Length::percent): (WebCore::Length::type): (WebCore::Length::quirk): (WebCore::Length::setValue): (WebCore::Length::setRawValue): (WebCore::Length::calcValue): (WebCore::Length::calcMinValue): (WebCore::Length::calcFloatValue): (WebCore::Length::isUndefined): (WebCore::Length::isZero): (WebCore::Length::isPositive): (WebCore::Length::isNegative): (WebCore::Length::isAuto): (WebCore::Length::isRelative): (WebCore::Length::isPercent): (WebCore::Length::isFixed): (WebCore::Length::isStatic): (WebCore::Length::isIntrinsicOrAuto): (WebCore::Length::blend): (WebCore::LengthBox::LengthBox): (WebCore::LengthBox::operator=): (WebCore::LengthBox::operator==): (WebCore::LengthBox::operator!=): (WebCore::LengthBox::nonZero): (WebCore::LengthSize::LengthSize):
  • rendering/style/RenderStyle.h:
12:53 PM Changeset in webkit [35975] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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

Reviewed by Darin

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

font-size should be animatable using -webkit-transition.

  • page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::ensurePropertyMap):
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::setFontSize):
11:08 AM Changeset in webkit [35974] by adele@apple.com
  • 2 edits in trunk/WebKit/win

2008-08-28 Adele Peterson <adele@apple.com>

Build fix.

  • WebIconDatabase.cpp: (WebIconDatabase::getOrCreateDefaultIconBitmap):
10:45 AM Changeset in webkit [35973] by mitz@apple.com
  • 2 edits in trunk/WebCore

2008-08-28 Brad Garcia <bgarcia@google.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=20549
Correctly determine when cursor is over a resizable border within
a nested frameset.

  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::canResizeRow): (WebCore::RenderFrameSet::canResizeColumn):
10:30 AM Changeset in webkit [35972] by Simon Fraser
  • 3 edits
    6 adds in trunk

2008-08-28 Simon Fraser <Simon Fraser>

Reviewed by Eric Seidel

Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
https://bugs.webkit.org/show_bug.cgi?id=20552

Test: animations/animation-css-rule-types.html

  • css/CSSRule.idl:
10:26 AM Changeset in webkit [35971] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-08-28 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin and Darin.

<rdar://problem/6182541>
https://bugs.webkit.org/show_bug.cgi?id=20202
Missing http status line from the http headers.


Add a status line to the header string.


  • plugins/PluginStream.cpp: (WebCore::PluginStream::startStream):
8:56 AM Changeset in webkit [35970] by zecke@webkit.org
  • 6 edits
    1 delete in trunk

WebCore:
2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Darin Adler.

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

Make it possible to theme the default Url icon and enable this for
the Qt port. To have a minimal usage of #ifdef in the code the setting
of the icon was moved to a new method which comes in two flavors.

  • loader/icon/IconDatabase.cpp: (WebCore::loadDefaultIconRecord): Load or set the default icon (WebCore::IconDatabase::defaultIcon):

WebKit/win:
2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Darin Adler.

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

Remove the urlIcon.png from the project and the resource file. Remove
the usage of this icon from WebKitDLL.cpp and change WebIconDatabase
to get the icon from the IconDatabase code which is using a version of
the icon that is compiled into the code.

  • WebIconDatabase.cpp: (WebIconDatabase::getOrCreateDefaultIconBitmap): Use the icon from the IconDatabase.cpp
  • WebKit.vcproj/WebKit.rc: Remove urlIcon.cpp
  • WebKit.vcproj/urlIcon.png: Removed.
  • WebKitDLL.cpp: (loadResourceIntoBuffer): Remove "urlIcon"
8:03 AM Changeset in webkit [35969] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>

Unreviewed compile fix

  • platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
6:34 AM Changeset in webkit [35968] by Adam Roben
  • 2 edits in trunk/WebCore

Windows (and others?) build fix

  • page/Chrome.cpp: Added a missing #include. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
5:04 AM Changeset in webkit [35967] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Oliver Hunt.

Qt and Cairo support from krit (and blind stab @ wx compile support)
https://bugs.webkit.org/show_bug.cgi?id=20373

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::drawPath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::setPlatformFillColor): (WebCore::GraphicsContext::setPlatformStrokeColor): (WebCore::GraphicsContext::setPlatformStrokeStyle): (WebCore::GraphicsContext::strokeRect): (WebCore::GraphicsContext::setImageInterpolationQuality): (WebCore::GraphicsContext::imageInterpolationQuality): (WebCore::GraphicsContext::setPlatformFillPattern): (WebCore::GraphicsContext::setPlatformStrokePattern): (WebCore::GraphicsContext::setPlatformFillGradient): (WebCore::GraphicsContext::setPlatformStrokeGradient):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::strokeRect): (WebCore::GraphicsContext::clipToImageBuffer): (WebCore::GraphicsContext::setPlatformFillPattern): (WebCore::GraphicsContext::setPlatformStrokePattern): (WebCore::GraphicsContext::setPlatformFillGradient): (WebCore::GraphicsContext::setPlatformStrokeGradient): (WebCore::GraphicsContext::setImageInterpolationQuality): (WebCore::GraphicsContext::imageInterpolationQuality):
  • platform/graphics/wx/GraphicsContextWx.cpp: (WebCore::GraphicsContext::clipToImageBuffer): (WebCore::GraphicsContext::setImageInterpolationQuality): (WebCore::GraphicsContext::imageInterpolationQuality): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::drawPath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::setPlatformFillPattern): (WebCore::GraphicsContext::setPlatformStrokePattern): (WebCore::GraphicsContext::setPlatformFillGradient):
5:04 AM Changeset in webkit [35966] by eric@webkit.org
  • 23 edits in trunk/WebCore

Reviewed by Oliver Hunt.

Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
https://bugs.webkit.org/show_bug.cgi?id=20373

Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()

Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
have to store large Gradient objects in the GraphicsContextState

Made Pattern RefCounted for the same reason.

Many updates to GraphicsContext to support easier drawing with
Patterns and Gradients.

  • WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::toJS):
  • css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::createGradient):
  • css/CSSGradientValue.h:
  • html/CanvasGradient.cpp: (WebCore::CanvasGradient::CanvasGradient):
  • html/CanvasGradient.h: (WebCore::CanvasGradient::gradient): (WebCore::CanvasGradient::addColorStop): (WebCore::CanvasGradient::getColor):
  • html/CanvasPattern.cpp:
  • html/CanvasPattern.h: (WebCore::CanvasPattern::pattern): (WebCore::CanvasPattern::originClean):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::State::State): (WebCore::CanvasRenderingContext2D::setStrokeStyle): (WebCore::CanvasRenderingContext2D::setFillStyle): (WebCore::CanvasRenderingContext2D::fill): (WebCore::CanvasRenderingContext2D::stroke): (WebCore::CanvasRenderingContext2D::fillRect): (WebCore::CanvasRenderingContext2D::strokeRect):
  • html/CanvasRenderingContext2D.h:
  • html/CanvasStyle.cpp: (WebCore::CanvasStyle::applyStrokeColor): (WebCore::CanvasStyle::applyFillColor):
  • html/CanvasStyle.h:
  • platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::GeneratedImage):
  • platform/graphics/Generator.h:
  • platform/graphics/Gradient.h: (WebCore::Gradient::create):
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::fillRule): (WebCore::GraphicsContext::setFillRule): (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextPrivate.h: (WebCore::): (WebCore::GraphicsContextState::GraphicsContextState):
  • platform/graphics/GraphicsTypes.h:
  • platform/graphics/Path.h:
  • platform/graphics/Pattern.h: (WebCore::Pattern::create): (WebCore::Pattern::tileImage):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawRect): (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::calculateDrawingMode): (WebCore::GraphicsContext::drawPath): (WebCore::fillPathWithFillRule): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::fillRoundedRect): (WebCore::GraphicsContext::setPlatformStrokePattern): (WebCore::GraphicsContext::setPlatformFillPattern): (WebCore::GraphicsContext::setPlatformStrokeGradient): (WebCore::GraphicsContext::setPlatformFillGradient):
4:44 AM Changeset in webkit [35965] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Not reviewed, build fix (at least for OpenBSD, posssibly more).

https://bugs.webkit.org/show_bug.cgi?id=20545
missing #include <unistd.h> in JavaScriptCore/VM/SamplingTool.cpp

  • VM/SamplingTool.cpp: add the missing include.
4:42 AM Changeset in webkit [35964] by eric@webkit.org
  • 8 edits in trunk/WebCore

Reviewed by Darin and Alexey.

Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
with timeouts paused.
https://bugs.webkit.org/show_bug.cgi?id=20469

I attempted to clean up the memory management of PausedTimeouts, I'm not
sure the solution I came up with is "cleaner", but it's in some ways
"safer", since it no longer uses raw pointers and manual new/delete.

This also now prevents CachedPage from needlessly creating Window
objects when caching pages which didn't already have one. :)

I also made Chrome.cpp no longer depend on the JavaScript bindings
(aka JSDOMWindowBase.h), since there was no real reason for it to.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::pauseTimeouts): (WebCore::JSDOMWindowBase::resumeTimeouts):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::pauseTimeouts): (WebCore::ScriptController::resumeTimeouts):
  • bindings/js/ScriptController.h:
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore):
  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  • page/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
Note: See TracTimeline for information about the timeline view.