Timeline
Sep 1, 2008:
- 10:08 PM Changeset in webkit [36023] by
-
- 1 copy in tags/Safari-6528.3
New tag.
- 9:26 PM Changeset in webkit [36022] by
-
- 10 edits in trunk
WebCore:
2008-09-01 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
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.
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
-
- 3 edits23 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
-
- 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
-
- 2 edits in trunk/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Fix release build.
- JavaScriptCore.exp:
- 3:49 PM Changeset in webkit [36018] by
-
- 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
-
- 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
-
- 100 edits20 adds in trunk
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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 3 edits3 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.
- 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
-
- 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
-
- 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
-
- 33 edits2 adds in trunk
2008-08-30 Darin Adler <Darin Adler>
Reviewed by Maciej.
- https://bugs.webkit.org/show_bug.cgi?id=20333 improve JavaScript speed when handling single-character strings
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.
- JavaScriptCore.exp: Updated.
- 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.
- adopt some new JavaScriptCore functions where appropriate
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 6 edits in trunk/WebCore
Fix GeneratedImage to respect Image's refcounting
- 1:24 PM Changeset in webkit [35995] by
-
- 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
-
- 3 edits2 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
-
- 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.
- 8:56 AM Changeset in webkit [35992] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 7 edits in trunk
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
-
- 7 edits2 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
-
- 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
-
- 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
-
- 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
-
- 12 edits7 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
-
- 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.
- 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
-
- 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
-
- 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
-
- 4 edits in trunk/WebCore
2008-08-28 David Hyatt <hyatt@apple.com>
Reviewed by Darin
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
-
- 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
-
- 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
-
- 3 edits6 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
-
- 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
-
- 6 edits1 delete in trunk
WebCore:
2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
Rubber-stamped by Darin Adler.
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.
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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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):