Timeline
Jan 1, 2009:
- 11:49 PM Changeset in webkit [39545] by
-
- 2 edits in trunk/WebCore
<rdar://problem/6450530> WebCore::FontPlatformData should not leak
Reviewed by Dan Bernstein.
Whoops, previous patch should also have fixed the font referencing in
the constructor.
- 11:46 PM Changeset in webkit [39544] by
-
- 2 edits in trunk/WebCore
<rdar://problem/6450530> WebCore::FontPlatformData should not leak
Reviewed by Dan Bernstein.
Make sure we only adopt the new font, rather than re-referencing (and so leaking).
- 10:09 PM Changeset in webkit [39543] by
-
- 3 edits in trunk/LayoutTests
2009-01-01 Darin Adler <Darin Adler>
Add one more String.replace test case that I should have included in that last check-in.
- fast/js/resources/string-replace-3.js: Added test case that covers more of the cases where $0-$99 are used but are actually valid.
- fast/js/string-replace-3-expected.txt: Added new result.
- 9:56 PM Changeset in webkit [39542] by
-
- 5 edits in trunk
2009-01-01 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
String.replace does not support $& replacement metacharacter when search term is not a RegExp
<https://bugs.webkit.org/show_bug.cgi?id=21431>
<rdar://problem/6274993>
Test: fast/js/string-replace-3.html
- runtime/StringPrototype.cpp: (JSC::substituteBackreferences): Added a null check here so we won't try to handle $$-$9 backreferences when the search term is a string, not a RegExp. Added a check for 0 so we won't try to handle $0 or $00 as a backreference. (JSC::stringProtoFuncReplace): Added a call to substituteBackreferences.
LayoutTests:
2009-01-01 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
String.replace does not support $& replacement metacharacter when search term is not a RegExp
<https://bugs.webkit.org/show_bug.cgi?id=21431>
<rdar://problem/6274993>
- fast/js/resources/string-replace-3.js: Added test cases to cover replace with non-regexp and to cover "$0" and "$00".
- fast/js/string-replace-3-expected.txt: Added new results.
- 8:47 PM Changeset in webkit [39541] by
-
- 3 edits1 delete in trunk
WebCore:
2009-01-01 Darin Adler <Darin Adler>
Reviewed by Dan Bernstein.
Bug 23071: REGRESSION (r39536): New test failures after committing patch in bug 23051 (ICU search)
https://bugs.webkit.org/show_bug.cgi?id=23071
Also fix some things that Dan suggested during review of the ICU search patch that I forgot
the first time around.
- editing/TextIterator.cpp: Use ICU search on all platforms that use ICU, now that we've double checked it works everywhere, removing HAVE_ICU_SEARCH entirely. Removed unused m_atBreak data member from the non-ICU code path. (WebCore::TextIterator::TextIterator): Move null check up. (WebCore::TextIterator::handleTextBox): Fix mistake that made the iterator include collapsed whitespace. This was left over from an earlier version of the patch. (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Move null check up.
LayoutTests:
2009-01-01 Darin Adler <Darin Adler>
Reviewed by Dan Bernstein.
Turn on the regression test for ICU search on Mac OS X Tiger too.
It was already on for Windows (by accident, failing), but now WebCore has been changed
so it should work fine on all platforms using ICU, which includes both of those.
- platform/mac-tiger/editing/execCommand: Removed.
- platform/mac-tiger/editing/execCommand/findString-diacriticals-expected.txt: Removed.
- 7:06 PM Changeset in webkit [39540] by
-
- 9 edits in trunk/JavaScriptCore
2009-01-01 Gavin Barraclough <barraclough@apple.com>
Reviewed by Darin Adler.
Allow 32-bit integers to be stored in JSImmediates, on x64-bit.
Presently the top 32-bits of a 64-bit JSImmediate serve as a sign extension of a 31-bit
int stored in the low word (shifted left by one, to make room for a tag). In the new
format, the top 31-bits serve as a sign extension of a 32-bit int, still shifted left by
one.
The new behavior is enabled using a flag in Platform.h, 'WTF_USE_ALTERNATE_JSIMMEDIATE'.
When this is set the constants defining the range of ints allowed to be stored as
JSImmediate values is extended. The code in JSImmediate.h can safely operate on either
format. This patch updates the JIT so that it can also operate with the new format.
~2% progression on x86-64, with & without the JIT, on sunspider & v8 tests.
- assembler/MacroAssembler.h: (JSC::MacroAssembler::addPtr): (JSC::MacroAssembler::orPtr): (JSC::MacroAssembler::or32): (JSC::MacroAssembler::rshiftPtr): (JSC::MacroAssembler::rshift32): (JSC::MacroAssembler::subPtr): (JSC::MacroAssembler::xorPtr): (JSC::MacroAssembler::xor32): (JSC::MacroAssembler::move): (JSC::MacroAssembler::compareImm64ForBranch): (JSC::MacroAssembler::compareImm64ForBranchEquality): (JSC::MacroAssembler::jePtr): (JSC::MacroAssembler::jgePtr): (JSC::MacroAssembler::jlPtr): (JSC::MacroAssembler::jlePtr): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jnzSubPtr): (JSC::MacroAssembler::joAddPtr): (JSC::MacroAssembler::jzSubPtr):
- assembler/X86Assembler.h: (JSC::X86Assembler::addq_rr): (JSC::X86Assembler::orq_ir): (JSC::X86Assembler::subq_ir): (JSC::X86Assembler::xorq_rr): (JSC::X86Assembler::sarq_CLr): (JSC::X86Assembler::sarq_i8r): (JSC::X86Assembler::cmpq_ir):
- jit/JIT.cpp: (JSC::JIT::compileOpStrictEq): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompileCTIMachineTrampolines):
- jit/JIT.h:
- jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_lshift): (JSC::JIT::compileFastArithSlow_op_lshift): (JSC::JIT::compileFastArith_op_rshift): (JSC::JIT::compileFastArithSlow_op_rshift): (JSC::JIT::compileFastArith_op_bitand): (JSC::JIT::compileFastArithSlow_op_bitand): (JSC::JIT::compileFastArith_op_mod): (JSC::JIT::compileFastArithSlow_op_mod): (JSC::JIT::compileFastArith_op_add): (JSC::JIT::compileFastArithSlow_op_add): (JSC::JIT::compileFastArith_op_mul): (JSC::JIT::compileFastArithSlow_op_mul): (JSC::JIT::compileFastArith_op_post_inc): (JSC::JIT::compileFastArithSlow_op_post_inc): (JSC::JIT::compileFastArith_op_post_dec): (JSC::JIT::compileFastArithSlow_op_post_dec): (JSC::JIT::compileFastArith_op_pre_inc): (JSC::JIT::compileFastArithSlow_op_pre_inc): (JSC::JIT::compileFastArith_op_pre_dec): (JSC::JIT::compileFastArithSlow_op_pre_dec): (JSC::JIT::compileBinaryArithOp):
- jit/JITInlineMethods.h: (JSC::JIT::getConstantOperand): (JSC::JIT::getConstantOperandImmediateInt): (JSC::JIT::isOperandConstantImmediateInt): (JSC::JIT::isOperandConstant31BitImmediateInt): (JSC::JIT::emitFastArithDeTagImmediate): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::emitFastArithReTagImmediate): (JSC::JIT::emitFastArithImmToInt): (JSC::JIT::emitFastArithIntToImmNoCheck):
- runtime/JSImmediate.h: (JSC::JSImmediate::isPositiveNumber): (JSC::JSImmediate::isNegative): (JSC::JSImmediate::rightShiftImmediateNumbers): (JSC::JSImmediate::canDoFastAdditiveOperations): (JSC::JSImmediate::makeValue): (JSC::JSImmediate::makeInt): (JSC::JSImmediate::makeBool): (JSC::JSImmediate::intValue): (JSC::JSImmediate::rawValue): (JSC::JSImmediate::toBoolean): (JSC::JSImmediate::from):
- wtf/Platform.h:
- 6:21 PM Changeset in webkit [39539] by
-
- 13 edits in trunk/LayoutTests/platform/mac/fast
Set the svn:mime-type property of recently-added PNG files to image/png.
- 6:07 PM Changeset in webkit [39538] by
-
- 7 edits4 adds in trunk
2009-01-01 Simon Fraser <Simon Fraser>
Reviewed by Darin Adler, Oliver Hunt
Enable incremental painting of canvas. This turns incremental painting
back on, and fixes issues with stroke width and miters, calling willDraw()
for strokeText and fillText, and taking shadows into account.
Test: fast/canvas/canvas-incremental-repaint.html
- 5:08 PM Changeset in webkit [39537] by
-
- 4 edits in trunk/WebCore
2008-12-29 Konstantin Käfer <kkaefer@gmail.com>
Reviewed by Tim Hatcher.
Fix for https://bugs.webkit.org/show_bug.cgi?id=17229
<rdar://problem/5732829> Inspector should show properties of all JS objects in Console
Prints objects not as plain text but makes them expandable so that
they can be inspected.
- inspector/front-end/Console.js: (): added a parameter "inline" to the WebInspector.Console._format function which indicates
whether the object is printed in the context of another string (with console.log()) or
as sole element.
(.): objects and DOM nodes are now printed in an expandable form when they are printed alone
(i.e. not in the context of a console.log() string) so that they can be inspected.
- inspector/front-end/PropertiesSection.js: (WebInspector.PropertiesSection.prototype.set title): Allow DOM Nodes as title instead of strings
in that case, the Node is inserted into the title instead of the string value of the passed
object. This is used for displaying linkified titles, for example when inspecting DOM nodes,
the syntax highlighted HTML representation is shown instead of the plain source code.
- inspector/front-end/inspector.css: correct the offsetParent for the expandable object inspector.
- 1:19 PM Changeset in webkit [39536] by
-
- 3 edits7 adds in trunk
WebCore:
2009-01-01 Darin Adler <Darin Adler>
Reviewed by Dan Bernstein.
Bug 23051: web page searching should use ICU's search so it can ignore diacritical differences
https://bugs.webkit.org/show_bug.cgi?id=23051
rdar://problem/3574497
Test: editing/execCommand/findString-diacriticals.html
- editing/TextIterator.cpp: Changed the CircularSearchBuffer class to have a new name, since it doesn't always use a circular buffer any more. Changed the interface so it can work well in the new chunky comparison mode for ICU search, and also added private data members for both the ICU-search and non-ICU-search code paths. (WebCore::TextIterator::TextIterator): Use the versions of the Range functions that don't take an exception code. (WebCore::TextIterator::handleTextBox): Added a special case to handle the position of a collapsed-away space better. This is not needed for search mechanism, but was helpful in an earlier version of this patch, and is still an improvement. (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Use the versions of the Range functions that don't take an exception code. (WebCore::CharacterIterator::range): Ditto. (WebCore::characterSubrange): Added. Helper function used in both places below where we want to convert a range and character offsets into a subrange. (WebCore::WordAwareIterator::advance): Use the versions of the Range functions that don't take an exception code. (WebCore::createSearcher): Added. (WebCore::searcher): Added. (WebCore::lockSearcher): Added. (WebCore::unlockSearcher): Added. (WebCore::SearchBuffer::SearchBuffer): Added. (WebCore::SearchBuffer::~SearchBuffer): Added. (WebCore::SearchBuffer::append): Added. (WebCore::SearchBuffer::atBreak): Added. (WebCore::SearchBuffer::reachedBreak): Added. (WebCore::SearchBuffer::search): Added. (WebCore::SearchBuffer::length): Added. (WebCore::TextIterator::subrange): Changed to call the characterSubrange function above. (WebCore::TextIterator::rangeFromLocationAndLength): Use the versions of the Range functions that don't take an exception code. Also tweak some other details of the code. (WebCore::isAllCollapsibleWhitespace): Added. (WebCore::collapsedToBoundary): Added. (WebCore::findPlainText): Rewrote to use new interface and streamline the logic a bit.
Add the relevant files in the icu directory. As icu/README says, the "icu"
directory is really just for Mac OS X, where we have the ICU library but not
the headers installed. It should be moved inside platform/mac at some point
to make this more clear (and the copy in JavaScriptCore should be moved
somewhere similar for the same reason).
- icu/unicode/ucoleitr.h: Added.
- icu/unicode/usearch.h: Added.
LayoutTests:
2009-01-01 Darin Adler <Darin Adler>
Reviewed by Dan Bernstein.
Bug 23051: web page searching should use ICU's search so it can ignore diacritical differences
https://bugs.webkit.org/show_bug.cgi?id=23051
rdar://problem/3574497
Currently this is only activated on the Mac platform, not including Tiger.
- editing/execCommand/findString-diacriticals-expected.txt: Added. Expect failure.
- editing/execCommand/findString-diacriticals.html: Added.
- platform/mac-tiger/editing/execCommand: Added.
- platform/mac-tiger/editing/execCommand/findString-diacriticals-expected.txt: Added. Expect failure.
- platform/mac/editing/execCommand/findString-diacriticals-expected.txt: Added. Expect success.
- 12:34 AM Changeset in webkit [39535] by
-
- 2 edits in trunk/WebCore
CrashTracer: [REGRESSION] 1090 crashes in Safari at com.apple.JavaScriptCore: KJS::JSGlobalObject::stopTimeoutCheck + 0
<rdar://problem/5821130>
Reviewed by Cameron Zwarich.
This was caused by a plugin instance calling into JS code that removed the plugin
object. This fix is to cache the global object locally in a ProtectedPtr so we don't
need to rely on the continued existence of the plugin instance.
- 12:22 AM Changeset in webkit [39534] by
-
- 7 edits in trunk
[jsfunfuzz] Assertion + incorrect behaviour with dynamically created local variable in a catch block
<https://bugs.webkit.org/show_bug.cgi?id=23063>
Reviewed by Cameron Zwarich
Eval inside a catch block attempts to use the catch block's static scope in
an unsafe way by attempting to add new properties to the scope. This patch
fixes this issue simply by preventing the catch block from using a static
scope if it contains an eval.
Dec 31, 2008:
- 6:33 PM Changeset in webkit [39533] by
-
- 5 edits in trunk
[jsfunfuzz] Computed exception offset wrong when first instruction is attempt to resolve deleted eval
<https://bugs.webkit.org/show_bug.cgi?id=23062>
Reviewed by Gavin Barraclough.
This was caused by the expression information for the initial resolve of
eval not being emitted. If this resolve was the first instruction that
could throw an exception the information search would fail leading to an
assertion failure. If it was not the first throwable opcode the wrong
expression information would used.
Fix is simply to emit the expression info.
- 9:52 AM Changeset in webkit [39532] by
-
- 12 edits in trunk/WebKit/gtk
Add section information for View, Frame, Settings, HistoryItem, BackForwardList, WindowFeatures and Inspector
Add section information and informal examples for WebKitWebView,
WebKitWebFrame, WebKitWebSettings, WebKitWebNetworkRequest,
WebKitWebWindowFeatures, WebKitWebHistoryItem,
WebKitWebBackForwardList and WebKitWebInspector.
- 9:31 AM Changeset in webkit [39531] by
-
- 2 edits in trunk/WebKitTools
2008-12-31 Zan Dobersek <zandobersek@gmail.com>
Reviewed by Holger Freyther.
Prevent TestNetscapePlugin from installing system-wide.
- GNUmakefile.am:
- 9:12 AM Changeset in webkit [39530] by
-
- 2 edits in trunk/WebCore
2008-12-31 Laszlo Gombos <Laszlo Gombos>
Reviewed by Holger Freyther.
MinGW build failure.
- platform/graphics/qt/SimpleFontDataQt.cpp: (WebCore::SimpleFontData::containsCharacters):
- 8:52 AM Changeset in webkit [39529] by
-
- 2 edits in trunk/WebKitTools
2008-12-31 Zan Dobersek <zandobersek@gmail.com>
Reviewed by Holger Freyther.
Move WebKitWebView's size allocation into a proper place.
- DumpRenderTree/gtk/DumpRenderTree.cpp: (dump): (runTest):
- 8:37 AM Changeset in webkit [39528] by
-
- 2 edits in trunk/WebCore
2008-12-31 Alexander V. Butenko <alex@digiqube.com>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=22750
[gtk] webkit up to r39121 crash on image urls like
http:///sitename.com
- platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::start):
- 8:17 AM Changeset in webkit [39527] by
-
- 2 edits in trunk/WebCore
2008-12-31 Hiroyuki Ikezoe <poincare@ikezoe.net>
Reviewed by Holger Freyther.
- platform/graphics/gtk/SimpleFontDataPango.cpp: (WebCore::SimpleFontData::determinePitch): Do not invoke isFixedPitch() when the font is a custom font.
- 4:32 AM Changeset in webkit [39526] by
-
- 2 edits in trunk/WebCore
More work on Bug 3781: Animation via canvas could be faster
<https://bugs.webkit.org/show_bug.cgi?id=3781>
Reviewed by Cameron Zwarich
Make use of the fast path parsing of color strings that Color
uses. This improves performance of '#rgb', '#rrggbb', etc and
named (eg. 'green') colors.
Improves frame rate of test by around 40%
- 2:17 AM Changeset in webkit [39525] by
-
- 3 edits2 adds in trunk
2008-12-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Oliver Hunt.
Bug 23054: Caching of global lookups occurs even when the global object has become a dictionary
<https://bugs.webkit.org/show_bug.cgi?id=23054>
<rdar://problem/6469905>
- interpreter/Interpreter.cpp: (JSC::Interpreter::resolveGlobal): Do not cache lookup if the global object has transitioned to a dictionary. (JSC::Interpreter::cti_op_resolve_global): Do not cache lookup if the global object has transitioned to a dictionary.
LayoutTests:
- fast/js/pic/delete-global-object-expected.txt: Added.
- fast/js/pic/delete-global-object.html: Added.