Timeline


and

08/30/08:

23:58 Changeset [36006] by darin@apple.com

JavaScriptCore:

2008-08-30 Darin Adler <darin@apple.com>

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@apple.com>

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@apple.com>

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

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:

08/29/08:

17:42 Changeset [36004] by andersca@apple.com

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

Build fix.

  • VM/Machine.cpp: (KJS::getCPUTime):
17:40 Changeset [36003] by andersca@apple.com

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):
17:30 Changeset [36002] by beidson@apple.com

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

Reviewed by Anders' rubberstamp

Style cleanup to match MediaTokenizer::writeRawData()

  • loader/PluginDocument.cpp: (WebCore::PluginTokenizer::writeRawData):
17:26 Changeset [36001] by beidson@apple.com

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
17:00 Changeset [36000] by bdakin@apple.com

2008-08-29 Beth Dakin <bdakin@apple.com>

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):
15:30 Changeset [35999] by adele@apple.com

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.
14:40 Changeset [35998] by eric@webkit.org

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:
14:39 Changeset [35997] by eric@webkit.org

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:
14:38 Changeset [35996] by eric@webkit.org

Fix GeneratedImage to respect Image's refcounting

13:24 Changeset [35995] by eric.carlson@apple.com

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):
13:07 Changeset [35994] by eric.carlson@apple.com

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.
08:57 Changeset [35993] by hausmann@webkit.org

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

08:56 Changeset [35992] by hausmann@webkit.org

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

Reviewed by Simon.

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

08:56 Changeset [35991] by hausmann@webkit.org

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.

08:56 Changeset [35990] by hausmann@webkit.org

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.

08:56 Changeset [35989] by hausmann@webkit.org

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
05:35 Changeset [35988] by hausmann@webkit.org

2008-08-29 Simon Hausmann <hausmann@webkit.org>

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.

03:21 Changeset [35987] by hausmann@webkit.org

2008-08-29 Simon Hausmann <hausmann@webkit.org>

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

08/28/08:

22:20 Changeset [35986] by cwzwarich@webkit.org

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):
22:09 Changeset [35985] by alp@webkit.org

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

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

18:13 Changeset [35984] by weinig@apple.com

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:
16:04 Changeset [35983] by simon.fraser@apple.com

2008-08-28 Simon Fraser <simon.fraser@apple.com>

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:
15:53 Changeset [35982] by mitz@apple.com

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):
14:45 Changeset [35981] by hyatt@apple.com

Make sure new header files are put in private headers.

14:40 Changeset [35980] by simon.fraser@apple.com

2008-08-28 Simon Fraser <simon.fraser@apple.com>

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:
14:38 Changeset [35979] by hyatt@apple.com

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.
14:29 Changeset [35978] by simon.fraser@apple.com

2008-08-28 Simon Fraser <simon.fraser@apple.com>

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:
13:48 Changeset [35977] by kmccullough@apple.com

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):
13:08 Changeset [35976] by hyatt@apple.com

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

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

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

Build fix.

  • WebIconDatabase.cpp: (WebIconDatabase::getOrCreateDefaultIconBitmap):
10:45 Changeset [35973] by mitz@apple.com

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

2008-08-28 Simon Fraser <simon.fraser@apple.com>

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

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):
08:56 Changeset [35970] by zecke@webkit.org

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"
08:03 Changeset [35969] by zecke@webkit.org

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

Unreviewed compile fix

  • platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
06:34 Changeset [35968] by aroben@apple.com

Windows (and others?) build fix

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

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):
05:04 Changeset [35966] by eric@webkit.org

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):
04:44 Changeset [35965] by ap@webkit.org

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.
04:42 Changeset [35964] by eric@webkit.org

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):

08/27/08:

20:36 Changeset [35963] by zecke@webkit.org

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

Unreviewed compile fix

Add the stub for the Qt port.

  • WebCore.pro:
  • page/qt/AccessibilityObjectQt.cpp: Added. (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
20:25 Changeset [35962] by zecke@webkit.org

2008-08-27 Erik Bunce <elbunce@thehive.com>

Reviewed by Eric Seidel.

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

Add QWebPage::contentsChanged() signal to notify of content changes.

  • Api/qwebpage.cpp:
  • Api/qwebpage.h:
  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::respondToChangedContents):
19:18 Changeset [35961] by zecke@webkit.org

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

Reviewed by Eric.

https://bugs.webkit.org/show_bug.cgi?id=20551
[GTK] search popup crash

  • platform/gtk/SearchPopupMenuGtk.cpp: (WebCore::SearchPopupMenu::enabled): Fix a search popup crasher by disabling the history popup since we don't support this feature yet in the GTK+ port.
19:15 Changeset [35960] by zecke@webkit.org

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

Reviewed by Eric.

https://bugs.webkit.org/show_bug.cgi?id=20551
[GTK] curl crashers

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::startScheduledJobs): Remove the resource handle from the pending list before starting the job, not afterwards. Fixes crashers in the test suite.

Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
Test: fast/encoding/char-encoding.html

19:11 Changeset [35959] by alice.liu@apple.com

2008-08-27 Alice Liu <alice.liu@apple.com>

Add interface for obtaining JS object counts broken down by type

Reviewed by Steve Falkenburg.

  • Interfaces/IWebCoreStatistics.idl:
  • WebCoreStatistics.cpp: (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
  • WebCoreStatistics.h:
18:42 Changeset [35958] by zecke@webkit.org

2008-08-27 Adrien Nader <camaradetux@gmail.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=20099
[GTK] SHIFT+PAGE_UP/DOWN doesn't extend selection

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::handleKeyboardEvent):
18:20 Changeset [35957] by zecke@webkit.org

2008-08-27 Mike Hommey <glandium@debian.org>

Reviewed by Holger.

  • GNUmakefile.am:
  • symbols.filter: Added.
17:50 Changeset [35956] by weinig@apple.com

WebKit/mac:

2008-08-27 Robert Kroeger <rjkroege@liqui.org>

Tweaked by Sam Weinig.

Reviewed by Eric Seidel.

Fix https://bugs.webkit.org/show_bug.cgi?id=6595
<rdar://problem/4432150>
Right-click does not fire mouseup event

Adds a rightMouseUp handler to the WebHTMLView.

The added method generates mouseup events for button 2. The result
is that webkit will deliver mousedown and mouseup events for button
2 in a fashion identical to FireFox and will retain event ordering
identical to Internet Explorer.

Test: fast/events/mouseup-from-button2.html

  • WebView/WebHTMLView.mm: (-[WebHTMLView rightMouseUp:]):

LayoutTests:

2008-08-27 Robert Kroeger <rjkroege@liqui.org>

Reviewed by Eric Seidel.

Test for https://bugs.webkit.org/show_bug.cgi?id=6595

  • fast/events/mouseup-from-button2-expected.txt: Added.
  • fast/events/mouseup-from-button2.html: Added.
17:26 Changeset [35955] by eric@webkit.org

Reviewed by eseidel.

Fix canvas drawImage to support composite operations.
Composite had no effect on canvas elements like these:
http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html

[CAIRO] Canvas composite don't work on canvas-elements.
https://bugs.webkit.org/show_bug.cgi?id=20548

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
17:04 Changeset [35954] by eric@webkit.org

Reviewed by Eric Seidel.

Fix the data content of an image with a base64.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::parseDataUrl): Remove the String and use only the data Vector because the data.latin1().data() convert the data content and the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is not drawn correctly.
16:59 Changeset [35953] by antti@apple.com

2008-08-27 Antti Koivisto <antti@apple.com>

Reviewed by Eric Seidel.

Crash after OK in dialog box and reloading page in secure mode
https://bugs.webkit.org/show_bug.cgi?id=20493


The new run loop spawned by a modal dialog causes a timer in the loader to run
synchronously inside didFinishLoading() deleting "this" object.


Defer all WebCore timers when a modal dialog is up. They are not
safe to execute.

  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
16:16 Changeset [35952] by simon.fraser@apple.com

2008-08-27 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt

Memory leaks when animating transforms
https://bugs.webkit.org/show_bug.cgi?id=20532

  • rendering/style/RenderStyle.cpp: (WebCore::ScaleTransformOperation::blend): (WebCore::RotateTransformOperation::blend): (WebCore::SkewTransformOperation::blend): (WebCore::TranslateTransformOperation::blend): (WebCore::MatrixTransformOperation::blend):
  • rendering/style/RenderStyle.h:
15:54 Changeset [35951] by adachan@apple.com

Fixed build.

  • WebFrame.cpp: (WebFrame::pluginWillHandleLoadError):
15:03 Changeset [35950] by timothy@apple.com

Add support for support for -webkit-appearance: default-button on the Mac platform.

WebCore:

2008-08-27 Timothy Hatcher <timothy@apple.com>

Add support for support for -webkit-appearance: default-button on the Mac platform.

<rdar://problem/6173530>

Reviewed by Dave Hyatt.

  • WebCore.base.exp: Export new symbols.
  • platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.
  • rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN). (WebCore::RenderButton::setStyle): Ditto.
  • rendering/RenderButton.h: Ditto.
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance. (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return key if the button is default, otherwise reset the key equivalent. (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell: on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore the window's previous default button cell when finished.

WebKit/mac:

2008-08-27 Timothy Hatcher <timothy@apple.com>

Add support for support for -webkit-appearance: default-button on the Mac platform.

<rdar://problem/6173530>

Reviewed by Dave Hyatt.

  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Init AdvanceDefaultButtonPulseAnimation.
  • WebView/WebPreferenceKeysPrivate.h: Added WebKitApplicationChromeModeEnabledPreferenceKey.
  • WebView/WebPreferences.mm: (+[WebPreferences initialize]): Set WebKitApplicationChromeModeEnabledPreferenceKey to NO. (-[WebPreferences applicationChromeModeEnabled]): Added. (-[WebPreferences setApplicationChromeModeEnabledEnabled:]): Added.
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Call Settings::setApplicationChromeMode with the value of -[WebPreferences applicationChromeModeEnabled].
14:18 Changeset [35949] by hyatt@apple.com

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

First cut at making form controls on OS X respect full page zoom. There are lots of bugs.

Reviewed by weinig

Added fast/forms/zoomed-controls.html

  • css/CSSStyleSelector.cpp: (WebCore::addIntrinsicMargins):
  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::calcPrefWidths):
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustRepaintRect): (WebCore::RenderThemeMac::inflateRect): (WebCore::RenderThemeMac::baselinePosition): (WebCore::RenderThemeMac::setControlSize): (WebCore::RenderThemeMac::sizeForFont): (WebCore::RenderThemeMac::sizeForSystemFont): (WebCore::RenderThemeMac::setFontFromControlSize): (WebCore::RenderThemeMac::paintCheckbox): (WebCore::RenderThemeMac::setCheckboxCellState): (WebCore::RenderThemeMac::paintRadio): (WebCore::RenderThemeMac::setRadioCellState): (WebCore::RenderThemeMac::setButtonPaddingFromControlSize): (WebCore::RenderThemeMac::adjustButtonStyle): (WebCore::RenderThemeMac::setButtonCellState): (WebCore::RenderThemeMac::paintButton): (WebCore::RenderThemeMac::paintMenuList): (WebCore::RenderThemeMac::paintMenuListButton): (WebCore::RenderThemeMac::popupInternalPaddingLeft): (WebCore::RenderThemeMac::popupInternalPaddingRight): (WebCore::RenderThemeMac::popupInternalPaddingTop): (WebCore::RenderThemeMac::popupInternalPaddingBottom): (WebCore::RenderThemeMac::setPopupButtonCellState): (WebCore::RenderThemeMac::paintSliderTrack): (WebCore::RenderThemeMac::paintSliderThumb): (WebCore::RenderThemeMac::adjustSliderThumbSize): (WebCore::RenderThemeMac::paintSearchField): (WebCore::RenderThemeMac::adjustSearchFieldStyle): (WebCore::RenderThemeMac::paintSearchFieldCancelButton): (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
13:29 Changeset [35948] by timothy@apple.com

Adds the WKAdvanceDefaultButtonPulseAnimation function.

<rdar://problem/6173530> Add Mac support for -webkit-appearance: default-button

Reviewed by Adele Peterson.

  • WebKitSystemInterface.h: Added WKAdvanceDefaultButtonPulseAnimation.
  • libWebKitSystemInterfaceLeopard.a: Updated.
  • libWebKitSystemInterfaceTiger.a: Updated.
13:12 Changeset [35947] by mrowe@apple.com

Move aside more old tags.

12:59 Changeset [35946] by beidson@apple.com

WebCore:

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

Reviewed by Anders

<rdar://problem/6134133> - Crash when loading large movie as a standalone document

We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
away the virtual address space and a crash.

  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
  • loader/FrameLoaderClient.h: Added client method to get platform specific error for "plugin will handle load"
  • loader/MediaDocument.cpp: (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data, and cancel the WebCore-managed load (WebCore::MediaTokenizer::writeRawData): (WebCore::MediaTokenizer::finish):

WebKit/gtk:

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

Reviewed by Anders

<rdar://problem/6134133> - Crash when loading large movie as a standalone document

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::pluginWillHandleLoadError): Stubbed for now
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

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

Reviewed by Anders

<rdar://problem/6134133> - Crash when loading large movie as a standalone document

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::pluginWillHandleLoadError):

WebKit/qt:

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

Reviewed by Anders

<rdar://problem/6134133> - Crash when loading large movie as a standalone document

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::pluginWillHandleLoadError): Stubbed for now
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

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

Reviewed by Anders

<rdar://problem/6134133> - Crash when loading large movie as a standalone document

  • WebFrame.cpp: (WebFrame::pluginWillHandleLoadError):
  • WebFrame.h:
12:53 Changeset [35945] by mrowe@apple.com

Move aside old tags and branches.

12:47 Changeset [35944] by alice.liu@apple.com

2008-08-26 Alice Liu <alice.liu@apple.com>

Implement COMPropertyBag::GetPropertyInfo
and a variant setter for type int

Reviewed by Anders Carlsson.

  • COMPropertyBag.h: (::GetPropertyInfo):
  • COMVariantSetter.h:
11:19 Changeset [35943] by simon.fraser@apple.com

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

Reviewed by Eric Seidel

Linear timing functions should have control points 0, 0, 1, 1.
https://bugs.webkit.org/show_bug.cgi?id=20535

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
  • rendering/style/RenderStyle.h:
07:52 Changeset [35942] by aroben@apple.com

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Fix file extension.

08/26/08:

21:35 WikiStart edited by wsiegrist@apple.com
Fixed register and login links (diff)
17:14 Changeset [35941] by abarth@webkit.org

2008-08-26 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=20456

  • http/tests/security/object-literals-expected.txt: Added.
  • http/tests/security/object-literals.html: Added.
  • http/tests/security/resources/object-literals-cross-origin.html: Added.
  • http/tests/security/resources/object-literals-same-origin.html: Added.
16:47 Changeset [35940] by kmccullough@apple.com

JavaScriptCore:

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

Reviewed by Geoff and Cameron.

<rdar://problem/6174603> Hitting assertion in Register::codeBlock when
loading facebook (20516).

  • This was a result of my line numbers change. After a host function is called the stack does not get reset correctly.
  • Oddly this also appears to be a slight speedup on SunSpider.
  • VM/Machine.cpp: (KJS::Machine::privateExecute):

LayoutTests:

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

Reviewed by Geoff and Cameron.

<rdar://problem/6174603> Hitting assertion in Register::codeBlock when
loading facebook (20516).

  • This was a result of my line numbers change. After a host function is called the stack does not get reset correctly.
  • Oddly this also appears to be a slight speedup on SunSpider.
  • fast/js/resources/stack-unwinding.js: Added.
  • fast/js/stack-unwinding-expected.txt: Added.
  • fast/js/stack-unwinding.html: Added.
15:56 Changeset [35939] by cfleizach@apple.com

<rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown

15:43 Changeset [35938] by cfleizach@apple.com

<rdar://problem/5817770> can't bring up contextual menu for embedded objects

15:29 Changeset [35937] by cfleizach@apple.com

<rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns

14:21 Changeset [35936] by weinig@apple.com

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

Reviewed by Beth Dakin.

Fix typo.

  • dom/DOMCoreException.h:
12:56 Changeset [35935] by weinig@apple.com

WebCore:

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

Reviewed by Oliver Hunt.

Fix https://bugs.webkit.org/show_bug.cgi?id=20479
<rdar://problem/6167660>
Take image redirects into account when tainting the canvas.

Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::drawImageFromRect):

LayoutTests:

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

Reviewed by Oliver Hunt.

Test for https://bugs.webkit.org/show_bug.cgi?id=20479

  • http/tests/security/canvas-remote-read-redirect-to-remote-image-expected.txt: Added.
  • http/tests/security/canvas-remote-read-redirect-to-remote-image.html: Added.
  • http/tests/security/canvas-remote-read-svg-image-expected.txt:
  • http/tests/security/canvas-remote-read-svg-image.html: Fix incorrect log message.
  • http/tests/security/resources/redir.php: Added.
12:51 Changeset [35934] by weinig@apple.com

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

Reviewed by Darin Adler.

Change canvas tainting logic to ask the image if it contains
any resources outside of its own origin. Since there is no
way to determine if SVG images contain any resources outside its
origin, we always assume it does.

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::drawImageFromRect):
  • platform/graphics/BitmapImage.h: (WebCore::BitmapImage::hasSingleSecurityOrigin):
  • platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::hasSingleSecurityOrigin):
  • platform/graphics/Image.h: (WebCore::Image::hasSingleSecurityOrigin):
  • platform/graphics/cg/PDFDocumentImage.h: (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
  • svg/graphics/SVGImage.h:
10:51 Changeset [35933] by britto@apple.com

2008-08-26 Maxime Britto <britto@apple.com>

Reviewed by Adele.

<rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.

  • page/EventHandler.cpp: (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
  • page/EventHandler.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
  • rendering/RenderLayer.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
09:07 Changeset [35932] by aroben@apple.com

Disable a truncation warning that is disabled/doesn't exist on Mac

This warning was firing when initializing floats from double literals.
I haven't yet found any other situation that would cause this warning
to arise.

Reviewed by Sam Weinig.

  • win/tools/vsprops/common.vsprops: Turn off warning C4305.
03:27 Changeset [35931] by jchaffraix@webkit.org

WebCore:

2008-08-25 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin.

Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
https://bugs.webkit.org/show_bug.cgi?id=20247

<rdar://problem/6118218>

Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
(case insensitive for HTML elements).

Test: fast/dom/Element/getAttribute-check-case-sensitivity.html

  • dom/Element.cpp: (WebCore::Element::getAttribute):
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::getNamedItem): (WebCore::NamedAttrMap::getAttributeItem):
  • dom/NamedAttrMap.h:

LayoutTests:

2008-08-25 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin.

Test case for Bug 20247: setAttributeNode() does not work when attribute name
has a capital letter in it
https://bugs.webkit.org/show_bug.cgi?id=20247

<rdar://problem/6118218>

Most of this test case was done by Eric Roman <minatoar@gmail.com>, the rest by ap and was
tweaked by me.

  • fast/dom/Element/getAttribute-check-case-sensitivity-expected.txt: Added.
  • fast/dom/Element/getAttribute-check-case-sensitivity.html: Added.
  • fast/dom/Element/resources/getAttribute-check-case-sensitivity.js: Added.
00:05 Changeset [35930] by ap@webkit.org

Reviewed by Geoff and Tim.

Export new API methods.

00:00 Changeset [35929] by mrowe@apple.com

Modernize the bug reporting guidelines and make them a little less Mac-specific.

Reviewed by Dan Bernstein.

  • quality/bugwriting.html:
Note: See TracTimeline for information about the timeline view.