kmccullough@apple.com [Mon, 14 Jan 2008 18:28:43 +0000 (18:28 +0000)]
JavaScriptCore:
Reviewed by Oliver.
-<rdar://problem/5622667> REGRESSION (Leopard-ToT): Endless loading loop
trying to view techreport.com comments
- We need to set values in the map, because if they are already in the
map they will not be reset when we use add().
* kjs/array_instance.cpp:
(KJS::ArrayInstance::put):
LayoutTests:
Reviewed by Oliver.
- <rdar://problem/5622667> REGRESSION (Leopard-ToT): Endless loading
loop trying to view techreport.com comments
- Any resetting of a value in an array of sufficient size, would cause
the second value to be lost.
* fast/js/array-reset-large-index-expected.txt: Added.
* fast/js/array-reset-large-index.html: Added.
* fast/js/resources/array-reset-large-index.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29472
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Mon, 14 Jan 2008 18:24:08 +0000 (18:24 +0000)]
* Randomize tests array to spot test cases where the results depends on the order
the tests are ran.
* This is from http://bugs.webkit.org/show_bug.cgi?id=16869
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29471
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 14 Jan 2008 17:51:10 +0000 (17:51 +0000)]
JavaScriptCore:
Reviewed by Adam.
- re-speed-up the page load test (my StringImpl change slowed it down)
* wtf/RefCounted.h:
(WTF::RefCounted::RefCounted): Allow derived classes to start with a reference
count other than 0. Eventually everyone will want to start with a 1. This is a
staged change. For now, there's a default of 0, and you can specify 1. Later,
there will be no default and everyone will have to specify. And then later, there
will be a default of 1. Eventually, we can take away even the option of starting
with 0!
* wtf/Vector.h:
(WTF::Vector::Vector): Sped up creation of non-empty vectors by removing the
overhead of first constructing something empty and then calling resize.
(WTF::Vector::clear): Sped up the common case of calling clear on an empty
vector by adding a check for that case.
(WTF::Vector::releaseBuffer): Marked this function inline and removed a branch
in the case of vectors with no inline capacity (normal vectors) by leaving out
the code to copy the inline buffer in that case.
WebCore:
Reviewed by Adam.
- re-speed-up the page load test (my StringImpl change slowed it down)
<rdar://problem/5677241> 1.5% PLT regression from r29098
To reverse the slowdown I caused by changing StringImpl, I tightened it up,
and also did a little optimization in the HTML tokenizer and in other clients
of Vector.
* WebCore.base.exp: Removed export of a now-inline function.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString
to get property ID. This could be sped up even more by writing a fast path
to use a local Vector<char> rather than allocating a string.
(WebCore::convertASCIIToFloat): Added. Allows numeric conversion without
allocating a string object to hold the number.
(WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of
DeprecatedString::toFloat.
* dom/Element.h:
(WebCore::Element::hasTagName): Made this non-virtual and inline if you have
an Element*. It's still virtual if you have a Node*.
(WebCore::Element::virtualHasTagName): Virtual version that makes the Node*
case work.
* dom/Node.h:
(WebCore::Node::hasTagName): Made this non-virtual and inline so that Element
can override it with an inline. This is the same technique we use for
firstChild and lastChild.
(WebCore::Node::virtualHasTagName): This is the private virtual that Element
overrides.
* dom/Text.cpp:
(WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
PassRefPtr.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(),
which is more efficient in cases where we know the character is not a newline
and hence we don't have to update the line number.
(WebCore::HTMLTokenizer::parseComment): Ditto.
(WebCore::HTMLTokenizer::parseServer): Ditto.
(WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
(WebCore::HTMLTokenizer::parseText): Ditto.
(WebCore::HTMLTokenizer::parseEntity): Ditto.
(WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case
so there's one less branch taken for non-punctuation characters since this
code path is *so* hot.
(WebCore::HTMLTokenizer::write): More of the same.
* loader/Cache.cpp:
(WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
* loader/DocumentLoader.cpp:
(WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize.
(WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
(WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize.
(WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize.
* platform/KURL.cpp:
(WebCore::KURL::decode_string): Use Vector::grow instead of resize.
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
* platform/network/FormData.cpp:
(WebCore::FormData::appendData): Use Vector::grow instead of resize.
(WebCore::FormData::flatten): Ditto.
* platform/text/AtomicString.cpp:
(WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just
for use by AtomicString. Avoids setting fields twice, and also preserves reference
count behavior (which I changed for the other constructors, since they're entirely
private and used only inside the class).
(WebCore::UCharBufferTranslator::translate): Ditto.
* platform/text/Base64.cpp:
(WebCore::base64Encode): Use Vector::grow instead of resize.
(WebCore::base64Decode): Use Vector::grow and shrink instead of resize.
* platform/text/PlatformString.h:
(WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
made both versions inline.
* platform/text/SegmentedString.h:
(WebCore::SegmentedString::advancePastNewline): Added. One less branch for case
where the character is known to be a newline.
(WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where
the character is known not to be a newline.
* platform/text/String.cpp:
(WebCore::String::append): Use StringBuffer instead of Vector<UChar>.
(WebCore::String::insert): Ditto.
(WebCore::String::truncate): Ditto.
(WebCore::String::remove): Ditto.
(WebCore::String::format): Use Vector::grow instead of resize.
* platform/text/StringImpl.cpp:
(WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount
of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor
since they all behave this way now. The only exceptions are the constructors for
AtomicString, which retain the old behavior.
(WebCore::StringImpl::empty): Simplified, since we no longer need to use the
special WithOneRef constructor.
(WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>.
(WebCore::StringImpl::lower): Ditto.
(WebCore::StringImpl::upper): Ditto.
(WebCore::StringImpl::secure): Ditto.
(WebCore::StringImpl::foldCase): Ditto.
(WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink
instead of resize (since half of the function uses Vector<UChar>).
(WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>.
(WebCore::StringImpl::replace): Ditto.
(WebCore::StringImpl::ascii): Streamlined a bit.
(WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of
Vector<UChar>. Took out checks for null characters and 0 length that aren't needed.
Coded the check for null characters in a slightly more efficient way. Since this
is so hot, didn't call adopt at all, putting the code right in here, including
the call to the StringImpl constructor and adoptRef (for the fast case).
(WebCore::StringImpl::adopt): Added a version for the new StringBuffer class.
Removed the attempt to resize the buffer at the time we adopt based on measuring
actual use and realizing that it's just a character here or there and not worth
a call to fastRealloc. Changed to use adoptRef since the constructor now starts
with a refCount of 1.
(WebCore::StringImpl::create): Changed to use adoptRef since the constructor now
starts with a refCount of 1.
(WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto.
(WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor
itself is now inline.
* platform/text/StringImpl.h: Added a StringBuffer class that's useful for
putting characters into a buffer before creating an immutable string. Not good
at resizing the way Vector<UChar> is, so only useful for things that rarely need
to be resized. Added a new AdoptBuffer constructor and empty constructor, but
made all constructors private so they can be inlined and only used inside the
StringImpl class. Added two new constructors for AtomicString. Made copy()
no longer inline. Changed the type of the [] operator to unsigned instead of
int and added an assertion. Made the hash functions inline.
* platform/text/TextCodecICU.cpp:
(WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
* platform/text/TextCodecLatin1.cpp:
(WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
(WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
* platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
* platform/text/TextCodecUserDefined.cpp:
(WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
(WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
* platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
* platform/text/TextStream.cpp:
(WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
* platform/text/mac/TextCodecMac.cpp:
(WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
* rendering/RenderFrameSet.h:
(WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial
size instead of calling resize on them after allocating empty.
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
* rendering/RenderStyle.cpp: Removed CursorList::operator==.
* rendering/RenderStyle.h:
(WebCore::CursorList::operator==): Implemented using the Vector ==.
(WebCore::CursorList::operator!=): Ditto.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
(WebCore::RenderTable::appendColumn): Ditto.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
* rendering/bidi.cpp:
(WebCore::addMidpoint): Use Vector::grow instead of resize.
* xml/XPathNodeSet.h:
(WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29470
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 14 Jan 2008 17:47:49 +0000 (17:47 +0000)]
* Scripts/run-webkit-tests: More ignore list tweaking.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29469
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 14 Jan 2008 17:45:57 +0000 (17:45 +0000)]
* Scripts/run-webkit-tests: Add another leak to the ignore list.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29468
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 14 Jan 2008 17:03:32 +0000 (17:03 +0000)]
* platform/win/Skipped: Fixed a typo pointed out by Alexey.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29467
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 14 Jan 2008 16:44:48 +0000 (16:44 +0000)]
* platform/win/Skipped: Added some intermittent failures.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29466
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 14 Jan 2008 16:35:48 +0000 (16:35 +0000)]
* platform/win/Skipped: Put back a failing test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29465
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 14 Jan 2008 15:39:21 +0000 (15:39 +0000)]
Reviewed by Adam Roben.
- try to fix failure in fast/dom/Window/window-onFocus.html seen on the
build bots
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting): Focus the web view.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29464
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Mon, 14 Jan 2008 15:36:01 +0000 (15:36 +0000)]
Re-added two tests that weren't failing for me, but fail on the buildbot.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29463
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Mon, 14 Jan 2008 15:20:50 +0000 (15:20 +0000)]
Added fast/frames/frame-name-reset.html, which crashes, and sometimes freezes buildbot.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29462
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Mon, 14 Jan 2008 14:15:14 +0000 (14:15 +0000)]
Removed some more tests, moved one to a better place.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29461
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Mon, 14 Jan 2008 12:33:11 +0000 (12:33 +0000)]
Remove a test that doesn't fail for me - let's see what the bot thinks.
* platform/win/Skipped: Removed http/tests/xmlhttprequest/XMLHttpRequestException.html.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29460
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Mon, 14 Jan 2008 09:12:18 +0000 (09:12 +0000)]
Reviewed by David Kilzer.
http://bugs.webkit.org/show_bug.cgi?id=16787
array.splice() with 1 element not working
Test: fast/js/array-splice.html
* kjs/array_object.cpp:
(KJS::ArrayProtoFuncSplice::callAsFunction): Implement this Mozilla extension, and fix
some other edge cases.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29459
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Mon, 14 Jan 2008 06:05:38 +0000 (06:05 +0000)]
JavaScriptCore:
Share common files across projects.
Unify vsprops files
Debug: common.vsprops, debug.vsprops
Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
Release: common.vsprops, release.vsprops
Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
Reviewed by Adam Roben.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.vcproj/debug.vsprops: Removed.
* JavaScriptCore.vcproj/debug_internal.vsprops: Removed.
* JavaScriptCore.vcproj/release.vsprops: Removed.
* JavaScriptCore.vcproj/testkjs/testkjs.vcproj:
WebCore:
Share common files across projects.
Unify vsprops files
Debug: common.vsprops, debug.vsprops
Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
Release: common.vsprops, release.vsprops
Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
Reviewed by Adam Roben.
* WebCore.vcproj/PRODUCTVERSION: Removed.
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/VERSION: Removed.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/auto-version.sh: Removed.
* WebCore.vcproj/debug.vsprops: Removed.
* WebCore.vcproj/debug_internal.vsprops: Removed.
* WebCore.vcproj/release.vsprops: Removed.
WebKit/win:
Share common files across projects.
Unify vsprops files
Debug: common.vsprops, debug.vsprops
Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
Release: common.vsprops, release.vsprops
Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
Reviewed by Adam Roben.
* WebKit.vcproj/Interfaces.vcproj:
* WebKit.vcproj/PRODUCTVERSION: Removed.
* WebKit.vcproj/VERSION: Removed.
* WebKit.vcproj/WebKit.vcproj:
* WebKit.vcproj/WebKitGUID.vcproj:
* WebKit.vcproj/auto-version.sh: Removed.
* WebKit.vcproj/debug.vsprops: Removed.
* WebKit.vcproj/debug_internal.vsprops: Removed.
* WebKit.vcproj/release.vsprops: Removed.
WebKitLibraries:
Share common files across projects.
Unify vsprops files
Debug: common.vsprops, debug.vsprops
Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
Release: common.vsprops, release.vsprops
Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
Moved auto-version.sh, VERSION, PRODUCTVERSION to tools.
Reviewed by Adam Roben.
* win/tools/WinTools.make:
* win/tools/scripts: Added.
* win/tools/scripts/PRODUCTVERSION: Added.
* win/tools/scripts/VERSION: Added.
* win/tools/scripts/auto-version.sh: Copied from WebCore/WebCore.vcproj/auto-version.sh.
* win/tools/vsprops/debug.vsprops:
* win/tools/vsprops/debug_internal.vsprops: Added.
* win/tools/vsprops/release.vsprops:
WebKitTools:
Share common files across projects.
Unify vsprops files
Debug: common.vsprops, debug.vsprops
Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
Release: common.vsprops, release.vsprops
Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
Reviewed by Adam Roben.
* Drosera/win/Drosera.vcproj/Drosera.vcproj:
* Drosera/win/Drosera.vcproj/PRODUCTVERSION: Removed.
* Drosera/win/Drosera.vcproj/VERSION: Removed.
* Drosera/win/Drosera.vcproj/auto-version.sh: Removed.
* Drosera/win/Drosera.vcproj/debug.vsprops: Removed.
* Drosera/win/Drosera.vcproj/debug_internal.vsprops: Removed.
* Drosera/win/Drosera.vcproj/release.vsprops: Removed.
* DumpRenderTree/win/DumpRenderTree.vcproj:
* DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
* DumpRenderTree/win/debug.vsprops: Removed.
* DumpRenderTree/win/debug_internal.vsprops: Removed.
* DumpRenderTree/win/release.vsprops: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29458
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 14 Jan 2008 04:40:46 +0000 (04:40 +0000)]
Reviewed by Darin Adler.
- fix http://bugs.webkit.org/show_bug.cgi?id=16865
fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
* rendering/RenderBox.cpp:
(WebCore::RenderBox::destroy): Removed the call to
RenderLayer::destroy() from here, because ~RenderLayer() calls
RenderObject() methods.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::destroy): Added the call to
RenderLayer::destroy() here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29457
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 14 Jan 2008 01:35:00 +0000 (01:35 +0000)]
Reviewed by darin.
Range.insertNode does not update endContainer endIndex correctly
in the case where it had to split a text node.
http://bugs.webkit.org/show_bug.cgi?id=16765
Darin pointed out during review that we still don't handle the dynamic
range case (where the dom tree changes not using range methods)
Thus this code will get ripped out when we add that. The test cases
are still valid and useful however, so I'm landing this as-is.
Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
fast/dom/Range/range-insertNode-splittext.html
* dom/Range.cpp:
(WebCore::Range::insertNode): handle the splitText case correctly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29456
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 13 Jan 2008 19:54:53 +0000 (19:54 +0000)]
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=16314
Script to launch Drosera
* Scripts/gdb-drosera: Added.
* Scripts/run-drosera: Added.
* Scripts/run-drosera-nightly.cmd: Added.
* Scripts/webkitdirs.pm: Added runDrosera function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29455
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 13 Jan 2008 19:47:56 +0000 (19:47 +0000)]
Contributions and review by Adriaan de Groot,
Simon Hausmann, Eric Seidel, and Darin Adler.
- http://bugs.webkit.org/show_bug.cgi?id=16590
Compilation fixes for Solaris.
* kjs/DateMath.h:
(KJS::GregorianDateTime::GregorianDateTime): Use the WIN_OS code path
for SOLARIS too, presumably because Solaris also lacks the tm_gtoff and tm_zone
fields.
(KJS::GregorianDateTime::operator tm): Ditto.
* kjs/collector.cpp:
(KJS::currentThreadStackBase): Use thr_stksegment on Solaris.
* wtf/MathExtras.h:
(isfinite): Implement for Solaris.
(isinf): Ditto.
(signbit): Ditto. But this one is wrong, so I added a FIXME.
* wtf/Platform.h: Define PLATFORM(SOLARIS) when "sun" or "__sun" is defined.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29454
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Sun, 13 Jan 2008 19:34:48 +0000 (19:34 +0000)]
wxWebKit API changes in preparation for DRT implementation.
Reviewed by Darin Adler.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29453
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 13 Jan 2008 19:19:41 +0000 (19:19 +0000)]
Reviewed by Eric.
- http://bugs.webkit.org/show_bug.cgi?id=16861
get rid of unnecessary string copying
* dom/Document.cpp:
(WebCore::Document::setDomain): Removed unneeded call to copy.
(WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and
unneeded length argument to substring, which stops at the end of the string
if you don't specify a length.
(WebCore::Document::createAttributeNS): Replaced code that was calling copy
with more-efficient code using the substring function.
* dom/StyledElement.cpp:
(WebCore::StyledElement::addCSSColor): Removed unneeded call to copy.
* editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed
unneeded copy and also initialized text instead of assigning to it.
(WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions.
(WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
* editing/htmlediting.cpp:
(WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy.
This one was particularly bad since we just turned around and copied it again!
* editing/markup.cpp:
(WebCore::stringValueForRange): Removed unneeded call to copy.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::performOpenInitialization): Changed logging code to not
get the path from the database object. This was the only reason the database
had to keep its path around.
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to
convert the string to a null-terminated one.
(WebCore::SQLiteDatabase::close): Removed the code to clear out m_path.
* platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path
functio member. Also tweaked formatting and comments a bit. Removed the unused
escapeSQLString function.
* platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29452
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 13 Jan 2008 17:24:48 +0000 (17:24 +0000)]
- fix breakage due to last-minute change
* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest): Declare the loop variable.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29451
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 13 Jan 2008 17:15:54 +0000 (17:15 +0000)]
WebKitTools:
Reviewed by Adam Roben.
- fix <rdar://problem/5132009> Windows DRT does not support multiple windows
* DumpRenderTree/win/DumpRenderTree.cpp:
(DumpRenderTreeWndProc):
(initialize):
(dumpBackForwardList):
(dumpBackForwardListForAllWindows):
(dump):
(resetWebViewToConsistentStateBeforeTesting): Factored out of
runTest().
(runTest):
(allWindows): Added. Returns a vector of all open windows.
(windowToWebViewMap): Added. Returns a map from open windows to their
WebViews.
(createWebViewAndOffscreenWindow): Factored out of main() to be
reusable for creating extra windows.
(main):
* DumpRenderTree/win/DumpRenderTreeWin.h:
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::windowCount): Implemented.
* DumpRenderTree/win/UIDelegate.cpp:
(UIDelegate::createWebViewWithRequest): Implemented.
(UIDelegate::webViewClose): Implemented.
* DumpRenderTree/win/UIDelegate.h:
LayoutTests:
Reviewed by Adam Roben.
- enable tests affected by <rdar://problem/5132009> Windows DRT does not support multiple windows
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29450
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sun, 13 Jan 2008 13:20:42 +0000 (13:20 +0000)]
Attempt to fix QT build
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29449
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sun, 13 Jan 2008 13:09:12 +0000 (13:09 +0000)]
Avoid repainting the entire canvas element when possible.
Reviewed by Mark Rowe.
We now only register the dirty regions of a canvas for repainting, rather
than the entire element (though repaint coalescing may choose to combine
these regions). This doesn't cause a measurable regression in the worst
case (clearing the canvas repeatedly), but is a moderate-large win if only
a minor update has occurred. If there is any CSS scaling applied to the
canvas almost any update short of clearing the entire element is substantially
faster.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29448
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sun, 13 Jan 2008 11:08:39 +0000 (11:08 +0000)]
2008-01-13 Michael Goddard <michael.goddard@trolltech.com>
Reviewed by Anders Carlsson.
Add binding language type to Instance.
Allows runtime determination of the type of an
Instance, to allow safe casting. Doesn't actually
add any safe casting yet, though.
Add a helper function to get an Instance from a JSObject*.
Given an object and the expected binding language, see if
the JSObject actually wraps an Instance of the given type
and return it. Otherwise return 0.
Move RuntimeObjectImp creations into Instance.
Make the ctor protected, and Instance a friend class, so
that all creation of RuntimeObjectImps goes through
one place.
Remove copy ctor/assignment operator for QtInstance.
Instance itself is Noncopyable, so QtInstance doesn't
need to have these.
Add caching for QtInstance and associated RuntimeObjectImps.
Push any dealings with QtLanguage bindings into QtInstance,
and cache them there, rather than in the Instance layer. Add
a QtRuntimeObjectImp to help with caching.
* JavaScriptCore.exp:
* bindings/c/c_instance.h:
* bindings/jni/jni_instance.h:
* bindings/objc/objc_instance.h:
* bindings/qt/qt_instance.cpp:
(KJS::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
(KJS::Bindings::QtRuntimeObjectImp::~QtRuntimeObjectImp):
(KJS::Bindings::QtRuntimeObjectImp::invalidate):
(KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
(KJS::Bindings::QtInstance::QtInstance):
(KJS::Bindings::QtInstance::~QtInstance):
(KJS::Bindings::QtInstance::getQtInstance):
(KJS::Bindings::QtInstance::getRuntimeObject):
* bindings/qt/qt_instance.h:
(KJS::Bindings::QtInstance::getBindingLanguage):
* bindings/runtime.cpp:
(KJS::Bindings::Instance::createBindingForLanguageInstance):
(KJS::Bindings::Instance::createRuntimeObject):
(KJS::Bindings::Instance::getInstance):
* bindings/runtime.h:
* bindings/runtime_object.h:
(KJS::RuntimeObjectImp::getInternalInstance):
2008-01-13 Michael Goddard <michael.goddard@trolltech.com>
Reviewed by Anders Carlsson.
Move RuntimeObjectImp creations into Instance.
Make the ctor protected, and Instance a friend class, so
that all creation of RuntimeObjectImps goes through
one place.
* bindings/js/kjs_dom.cpp:
(WebCore::getRuntimeObject):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29447
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 13 Jan 2008 08:51:50 +0000 (08:51 +0000)]
Change test to match the results landed in r29424. The test changes were
omitted in that check-in.
* editing/pasteboard/paste-RTFD.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29446
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sun, 13 Jan 2008 07:33:53 +0000 (07:33 +0000)]
2008-01-12 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Hide non-public symbols in GTK+/autotools release builds.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29445
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Sun, 13 Jan 2008 06:54:57 +0000 (06:54 +0000)]
wx build fix. Add WebCore/icu/include for Mac builds using only stock ICU.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29444
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sun, 13 Jan 2008 04:52:01 +0000 (04:52 +0000)]
2008-01-12 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Mark Rowe.
Fix http://bugs.webkit.org/show_bug.cgi?id=16852
Fixes leaking of ActivationStackNode objects.
* kjs/JSGlobalObject.cpp:
(KJS::JSGlobalObject::deleteActivationStack):
(KJS::JSGlobalObject::~JSGlobalObject):
(KJS::JSGlobalObject::init):
(KJS::JSGlobalObject::reset):
* kjs/JSGlobalObject.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29443
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 12 Jan 2008 19:25:23 +0000 (19:25 +0000)]
2008-01-12 Rodney Dawes <dobey@wayofthemonkey.com>
Gtk debug build fix. Reviewed by Mark Rowe.
Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
* WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked.
* platform/Logging.cpp:
* platform/Logging.h:
* plugins/PluginDebug.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29442
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 12 Jan 2008 18:35:27 +0000 (18:35 +0000)]
Update expected results for fast/replaced/image-map-expected after
r29432 disabled document replacement by the JavaScript result in this
case.
* fast/replaced/image-map-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29441
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 12 Jan 2008 18:19:57 +0000 (18:19 +0000)]
- try to fix Qt Windows build
* pcre/dftables: Remove reliance on the list form of Perl pipes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 12 Jan 2008 18:05:44 +0000 (18:05 +0000)]
- try to fix Qt build
* kjs/function.cpp: Added include of scope_chain_mark.h.
* kjs/scope_chain_mark.h: Added multiple-include guards.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29439
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 12 Jan 2008 15:43:03 +0000 (15:43 +0000)]
Roll out r29435 as it introduces many, many crashes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29438
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 12 Jan 2008 14:25:03 +0000 (14:25 +0000)]
2008-01-12 Mark Rowe <mrowe@apple.com>
Another Windows build fix.
* kjs/Activation.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29437
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 12 Jan 2008 14:12:55 +0000 (14:12 +0000)]
2008-01-12 Mark Rowe <mrowe@apple.com>
Attempted Windows build fix. Use struct consistently when forward-declaring
ActivationStackNode and StackActivation.
* kjs/Activation.h:
* kjs/JSGlobalObject.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29436
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 12 Jan 2008 14:06:33 +0000 (14:06 +0000)]
2008-01-12 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Mark Rowe.
Fixes leaking of ActivationStackNode objects.
* kjs/JSGlobalObject.cpp:
(KJS::JSGlobalObject::deleteActivationStack):
(KJS::JSGlobalObject::~JSGlobalObject):
(KJS::JSGlobalObject::init):
(KJS::JSGlobalObject::reset):
* kjs/JSGlobalObject.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29435
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Sat, 12 Jan 2008 13:48:09 +0000 (13:48 +0000)]
* Make launching of the WebKit httpd work on GNU/Debian/Linux
The configuration of Apache2 and installation does not depend on
the kernel but on the distribution policy. Make launching of httpd
work for Debian derived distributions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29434
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 12 Jan 2008 13:19:22 +0000 (13:19 +0000)]
Fix crash in http/tests/security/local-JavaScript-from-remote.html under guard malloc.
Reviewed by Maciej Stachowiak.
* DumpRenderTree/mac/LayoutTestControllerMac.mm: Retain string before returning it to
match the callers expectations that it can take ownership of the string.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Sat, 12 Jan 2008 12:03:28 +0000 (12:03 +0000)]
Reviewed by Maciej (and also tweaked a little bit).
- more thorough fix for some crashing tests
http://bugs.webkit.org/show_bug.cgi?id=16782
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::executeIfJavaScriptURL):
* loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Sat, 12 Jan 2008 11:03:30 +0000 (11:03 +0000)]
Reviewed by Maciej.
Fixes a problem with the ActivationImp tear-off patch (r29425) where
some of the calls to JSGlobalObject::tearOffActivation() were using
the wrong test to determine whether it should leave a relic behind.
* kjs/function.cpp:
(KJS::FunctionImp::argumentsGetter):
(KJS::ActivationImp::getOwnPropertySlot):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29431
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Sat, 12 Jan 2008 08:37:20 +0000 (08:37 +0000)]
Reviewed by Sam.
- fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
* platform/SecurityOrigin.cpp:
(WebCore::isDefaultPortForProtocol):
(WebCore::SecurityOrigin::SecurityOrigin):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 12 Jan 2008 07:40:52 +0000 (07:40 +0000)]
2008-01-11 Alp Toker <alp@atoker.com>
Reviewed by Oliver Hunt.
Enable FastMalloc by default in GTK+/autotools and add a configure
switch.
* GNUmakefile.am:
* configure.ac:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 12 Jan 2008 07:19:27 +0000 (07:19 +0000)]
JavaScriptCore:
Reviewed by Oliver Hunt.
Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
variable access (16644)
This bug was caused by var declarations shadowing built-in properties of
the global object.
To match Firefox, we've decided that var declarations will never shadow
built-in properties of the global object or its prototypes. We used to
behave more like IE, which allows shadowing, but walking that line got
us into trouble with websites that sent us down the Firefox codepath.
* kjs/JSVariableObject.h:
(KJS::JSVariableObject::symbolTableGet): New code to support calling
hasProperty before the variable object is fully initialized (so you
can call it during initialization).
* kjs/nodes.cpp:.
(KJS::ProgramNode::initializeSymbolTable): Always do a full hasProperty
check when looking for duplicates, not getDirect, since it only checks
the property map, and not hasOwnProperty, since it doesn't check
prototypes.
(KJS::EvalNode::processDeclarations): ditto
* kjs/property_slot.h:
(KJS::PropertySlot::ungettableGetter): Best function name evar.
WebCore:
Reviewed by Oliver Hunt.
Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
variable access (16644)
Removed the ReadOnly bit from some properties, to match Firefox. Also
removed status-related setters, to allow using their names as variable
names.
* bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
are one-way across domain boundaries, to match Firefox.
* bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
* bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
we don't know that JSObject is our base class.
* page/DOMWindow.idl: Replaced lots of readonly declarations with
[Replaceable] declarations.
* page/DOMWindow.h: Removed interfaces for setting status text via the
DOM. (They were getting in the way of, e.g., "var status"
declarations.) By default, IE 7 and FF disable these interfaces in order
to defend against phishing attacks that try to spoof domain names in the
statusbar.
* page/DOMWindow.cpp:
LayoutTests:
Reviewed by Oliver Hunt.
Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
variable access (16644)
Added a test. Updated other tests to match new behavior.
* fast/js/var-declarations-shadowing-expected.txt: Added.
* fast/js/var-declarations-shadowing.html: Added.
* fast/dom/HTMLScriptElement/script-load-events.html: Changed this test
a bit because the original design made it hard to understand why it was failing.
* fast/dom/HTMLScriptElement/script-load-events-expected.txt:
* fast/dom/Window/get-set-properties.html: Changed this test to expect
our new behavior, which matches Firefox.
* fast/dom/Window/get-set-properties-expected.txt:
* fast/dom/Window/window-property-shadowing.html: Removed some cases
that differed from Firefox.
* fast/dom/Window/window-property-shadowing-expected.txt:
* http/tests/security/cross-frame-access-put-expected.txt: This test emits
more "Unsafe JavaScript attempt" messages now because property sets that
used to be prohibited (somewhat accidentally) by the ReadOnly attribute
are now prohibited by security checks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 12 Jan 2008 05:50:36 +0000 (05:50 +0000)]
WebCore:
2008-01-11 Anyang Ren <anyang.ren@gmail.com>
Reviewed by Darin Adler.
http://bugs.webkit.org/show_bug.cgi?id=15960
The view source mode should skip an empty attribute value only if
the attribute name is not followed by an equal sign (=).
Test: fast/frames/viewsource-empty-attribute-value.html
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::addViewSourceToken):
LayoutTests:
2008-01-11 Anyang Ren <anyang.ren@gmail.com>
Reviewed by Darin Adler.
Add a new regression test for
http://bugs.webkit.org/show_bug.cgi?id=15960
The view source mode should skip an empty attribute value only if
the attribute name is not followed by an equal sign (=).
* fast/frames/resources/viewsource-frame-1.html: Added.
* fast/frames/viewsource-empty-attribute-value-expected.txt: Added.
* fast/frames/viewsource-empty-attribute-value.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29427
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 12 Jan 2008 02:22:48 +0000 (02:22 +0000)]
2008-01-11 Sylvain Pasche <sylvain.pasche@gmail.com>
Reviewed by Alp Toker.
[Gtk] Uneven glyph spacing with subpixel antialiasing
http://bugs.webkit.org/show_bug.cgi?id=16715
Use cairo font options from the default GDK screen when creating a
scaled font.
* platform/graphics/gtk/FontPlatformDataGtk.cpp:
(WebCore::FontPlatformData::FontPlatformData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29426
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Sat, 12 Jan 2008 02:08:50 +0000 (02:08 +0000)]
JavaScriptCore:
Reviewed by Maciej.
Optimized ActivationImp allocation, so that activation records are now
first allocated on an explicitly managed stack and only heap allocated
when necessary. Roughly a 5% improvement on SunSpider, and a larger
improvement on benchmarks that use more function calls.
* JavaScriptCore.xcodeproj/project.pbxproj:
* kjs/Activation.h: Added.
(KJS::ActivationImp::ActivationData::ActivationData):
(KJS::ActivationImp::ActivationImp):
(KJS::ActivationImp::classInfo):
(KJS::ActivationImp::isActivationObject):
(KJS::ActivationImp::isOnStack):
(KJS::ActivationImp::d):
(KJS::StackActivation::StackActivation):
* kjs/ExecState.cpp:
(KJS::ExecState::ExecState):
(KJS::ExecState::~ExecState):
* kjs/ExecState.h:
(KJS::ExecState::replaceScopeChainTop):
(KJS::ExecState::setActivationObject):
(KJS::ExecState::setLocalStorage):
* kjs/JSGlobalObject.cpp:
(KJS::JSGlobalObject::reset):
(KJS::JSGlobalObject::pushActivation):
(KJS::JSGlobalObject::checkActivationCount):
(KJS::JSGlobalObject::popActivationHelper):
(KJS::JSGlobalObject::popActivation):
(KJS::JSGlobalObject::tearOffActivation):
* kjs/JSGlobalObject.h:
* kjs/JSVariableObject.h:
(KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData):
(KJS::JSVariableObject::JSVariableObject):
* kjs/function.cpp:
(KJS::FunctionImp::argumentsGetter):
(KJS::ActivationImp::ActivationImp):
(KJS::ActivationImp::~ActivationImp):
(KJS::ActivationImp::init):
(KJS::ActivationImp::getOwnPropertySlot):
(KJS::ActivationImp::markHelper):
(KJS::ActivationImp::mark):
(KJS::ActivationImp::ActivationData::ActivationData):
(KJS::GlobalFuncImp::callAsFunction):
* kjs/function.h:
* kjs/nodes.cpp:
(KJS::PostIncResolveNode::evaluate):
(KJS::PostDecResolveNode::evaluate):
(KJS::PreIncResolveNode::evaluate):
(KJS::PreDecResolveNode::evaluate):
(KJS::ReadModifyResolveNode::evaluate):
(KJS::AssignResolveNode::evaluate):
(KJS::WithNode::execute):
(KJS::TryNode::execute):
(KJS::FunctionBodyNode::processDeclarations):
(KJS::FuncExprNode::evaluate):
* kjs/object.h:
* kjs/scope_chain.h:
(KJS::ScopeChain::replace):
* kjs/scope_chain_mark.h: Added.
(KJS::ScopeChain::mark):
WebCore:
Reviewed by Maciej.
Added a new forwarding header, because Activation.h has been separated
from function.h
* ForwardingHeaders/kjs/Activation.h: Added.
LayoutTests:
Reviewed by Maciej.
Added a test case that came up when developing the ActivationImp tear-off.
* fast/js/resources/vardecl-preserve-arguments.js:
* fast/js/vardecl-preserve-arguments-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29425
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin.garcia@apple.com [Sat, 12 Jan 2008 01:52:54 +0000 (01:52 +0000)]
<rdar://problem/5541054> editing/pasteboard/paste-RTFD.html failing on Tiger
* editing/pasteboard/paste-RTFD.html: Mention the Tiger bug that this demonstrates.
* platform/mac-leopard/editing/pasteboard/paste-RTFD-expected.checksum: Added.
* platform/mac-leopard/editing/pasteboard/paste-RTFD-expected.png: Added.
* platform/mac-leopard/editing/pasteboard/paste-RTFD-expected.txt: Updated expected results
to reflect the new info included in the test.
* platform/mac/editing/pasteboard/paste-RTFD-expected.checksum: Ditto.
* platform/mac/editing/pasteboard/paste-RTFD-expected.png:
* platform/mac/editing/pasteboard/paste-RTFD-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29424
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 12 Jan 2008 01:36:02 +0000 (01:36 +0000)]
2008-01-11 Luca Bruno <lethalman88@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16729
[cURL] Allow multiple files for upload
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::readCallback): added
(WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST
(WebCore::ResourceHandleManager::startJob):
(WebCore::ResourceHandleManager::cancel): revert the previous patch for regression
* platform/network/curl/ResourceHandleManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 12 Jan 2008 00:25:41 +0000 (00:25 +0000)]
2008-01-11 Christian Dywan <christian@imendio.com>
Reviewed by Alp Toker.
[Gtk] Menu items need underscores
http://bugs.webkit.org/show_bug.cgi?id=16817
Add underscores to appropriate menu labels.
Also adjust strings slightly.
* platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::ContextMenuItem::createNativeMenuItem):
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::searchableIndexIntroduction):
(WebCore::fileButtonChooseFileLabel):
(WebCore::fileButtonNoFileSelectedLabel):
(WebCore::contextMenuItemTagOpenLinkInNewWindow):
(WebCore::contextMenuItemTagDownloadLinkToDisk):
(WebCore::contextMenuItemTagCopyLinkToClipboard):
(WebCore::contextMenuItemTagOpenImageInNewWindow):
(WebCore::contextMenuItemTagDownloadImageToDisk):
(WebCore::contextMenuItemTagCopyImageToClipboard):
(WebCore::contextMenuItemTagOpenFrameInNewWindow):
(WebCore::contextMenuItemTagCopy):
(WebCore::contextMenuItemTagGoBack):
(WebCore::contextMenuItemTagGoForward):
(WebCore::contextMenuItemTagStop):
(WebCore::contextMenuItemTagReload):
(WebCore::contextMenuItemTagCut):
(WebCore::contextMenuItemTagPaste):
(WebCore::contextMenuItemTagIgnoreSpelling):
(WebCore::contextMenuItemTagLearnSpelling):
(WebCore::contextMenuItemTagSearchWeb):
(WebCore::contextMenuItemTagLookUpInDictionary):
(WebCore::contextMenuItemTagOpenLink):
(WebCore::contextMenuItemTagIgnoreGrammar):
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
(WebCore::contextMenuItemTagCheckSpelling):
(WebCore::contextMenuItemTagCheckSpellingWhileTyping):
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
(WebCore::contextMenuItemTagFontMenu):
(WebCore::contextMenuItemTagBold):
(WebCore::contextMenuItemTagItalic):
(WebCore::contextMenuItemTagUnderline):
(WebCore::contextMenuItemTagOutline):
(WebCore::contextMenuItemTagWritingDirectionMenu):
(WebCore::contextMenuItemTagDefaultDirection):
(WebCore::contextMenuItemTagLeftToRight):
(WebCore::contextMenuItemTagRightToLeft):
(WebCore::contextMenuItemTagInspectElement):
(WebCore::searchMenuClearRecentSearchesText):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29422
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan@apple.com [Fri, 11 Jan 2008 23:56:40 +0000 (23:56 +0000)]
<rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download
Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since
provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example,
when a link to download a file has been clicked.
Reviewed by John and Anders.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::provisionalLoadStarted):
(WebCore::FrameLoader::commitProvisionalLoad):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29421
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jhoneycutt@apple.com [Fri, 11 Jan 2008 22:42:12 +0000 (22:42 +0000)]
2008-01-11 Jon Honeycutt <jhoneycutt@apple.com>
* platform/win/Skipped: Remove a test that was fixed in r29419.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29420
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jhoneycutt@apple.com [Fri, 11 Jan 2008 22:38:31 +0000 (22:38 +0000)]
2008-01-11 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
<rdar://problem/5683529> plugins/embed-inside-object.html is timing
out/failing
Revert to using FrameTree::find() so that frame aliases like "_self" and
"_current" are interpreted properly
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::performRequest):
(WebCore::PluginViewWin::load):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29419
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Fri, 11 Jan 2008 21:58:11 +0000 (21:58 +0000)]
2008-01-11 Alp Toker <alp@atoker.com>
Reviewed by Dave Hyatt and Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=16089
[GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
port.
* GNUmakefile.am:
* WebCore.pro:
* loader/CachedFont.cpp:
(WebCore::CachedFont::~CachedFont):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::platformDataFromCustomData):
(WebCore::CachedFont::allReferencesRemoved):
* platform/graphics/gtk/FontCustomPlatformData.cpp: Added.
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
(WebCore::releaseData):
(WebCore::createFontCustomPlatformData):
* platform/graphics/gtk/FontCustomPlatformData.h: Added.
(WebCore::FontCustomPlatformData::FontCustomPlatformData):
* platform/graphics/gtk/FontPlatformData.h:
* platform/graphics/gtk/FontPlatformDataGtk.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::init):
(WebCore::FontPlatformData::isFixedPitch):
* platform/graphics/gtk/SimpleFontDataGtk.cpp:
(WebCore::SimpleFontData::platformDestroy):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 11 Jan 2008 21:04:36 +0000 (21:04 +0000)]
Reviewed by Adam Roben.
<rdar://problem/5667275> fast/dynamic/layer-hit-test-crash.html is failing
* DumpRenderTree/win/DumpRenderTree.cpp: (runTest): Ignore WM_MOUSELEAVE events,
as these are only posted because the test window is not a normal visible one, and
they confuse drag&drop machinery.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Fri, 11 Jan 2008 20:51:19 +0000 (20:51 +0000)]
Remove FrameLoader::committedFirstRealDocumentLoad
This method no longer has any callers.
Reviewed by Hyatt.
* loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Fri, 11 Jan 2008 20:50:52 +0000 (20:50 +0000)]
Fix Bug 16828: WebView never paints if first page load is canceled after being committed but before layout
<http://bugs.webkit.org/show_bug.cgi?id=16828>
<rdar://5682402>
Now that we have 1) a real loader and 2) multiple FrameViews per
Frame, we no longer need the hackery we had in our WM_PAINT handler
that decided whether or not to paint. We now always want to paint,
letting the swapping of FrameViews that happens in
transitionToCommittedForNewPage handle which document gets painted.
Reviewed by Hyatt.
* WebView.cpp:
(WebViewWndProc): Removed hackery that decided sometimes not to paint.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Fri, 11 Jan 2008 20:19:13 +0000 (20:19 +0000)]
Add a standalone version of the blog post video player as a manual test.
* manual-tests/resources/touch-poster.png: Added.
* manual-tests/video-player.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alice.liu@apple.com [Fri, 11 Jan 2008 20:07:54 +0000 (20:07 +0000)]
test is failing on trunk-win-release, so putting it back to make it green
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Fri, 11 Jan 2008 19:47:02 +0000 (19:47 +0000)]
Add shared vsprops to help unify our Windows tools settings.
Reviewed by Hyatt.
* win/tools: Added.
* win/tools/WinTools.make: Added.
* win/tools/vsprops: Added.
* win/tools/vsprops/common.vsprops: Added.
* win/tools/vsprops/debug.vsprops: Added.
* win/tools/vsprops/release.vsprops: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alice.liu@apple.com [Fri, 11 Jan 2008 19:29:29 +0000 (19:29 +0000)]
removing test that doesn't fail
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Fri, 11 Jan 2008 19:19:57 +0000 (19:19 +0000)]
Reviewed by Adam.
Fix <rdar://problem/5682767>
Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
Take care that GWorld is created and deletes when needed as size or visibility changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 11 Jan 2008 18:27:18 +0000 (18:27 +0000)]
Fix for bug 11188, setting hspace on a table overrides align=center. Fix align=center to be done using
mapped attributes so that it does not get overridden by hspace all the time.
Reviewed by mitz
Added fast/table/table-hspace-align-center.html
* css/html4.css:
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::parseMappedAttribute):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 11 Jan 2008 18:25:44 +0000 (18:25 +0000)]
Add layout test for table bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alice.liu@apple.com [Fri, 11 Jan 2008 18:15:32 +0000 (18:15 +0000)]
moved couple of tests to a better category
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Fri, 11 Jan 2008 18:14:34 +0000 (18:14 +0000)]
Fix a crash when pathToLocalResource fails and a leak
Reviewed by Darin.
* DumpRenderTree/LayoutTestController.cpp:
(pathToLocalResourceCallback): Dont leak the JSStringRef, and make
sure not to pass null to JSValueMakeString.
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::pathToLocalResource): Print an error message if
the conversion fails so it's clear what happened.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29406
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Fri, 11 Jan 2008 16:32:29 +0000 (16:32 +0000)]
* platform/win/Skipped: Added some new failures.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Fri, 11 Jan 2008 16:31:34 +0000 (16:31 +0000)]
2008-01-11 Luca Bruno <lethalman88@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16838
[GTK] Bad autotools debug and video options
Fix some configure options.
* configure.ac:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 11 Jan 2008 12:40:32 +0000 (12:40 +0000)]
Qt build fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 11 Jan 2008 12:26:21 +0000 (12:26 +0000)]
Reviewed by Mark Rowe.
Fix the (clean) qmake build. For generating chartables.c we don't
depend on a separate input source file anymore, the dftables perl
script is enough. So use that instead as value for the .input
variable, to ensure that qmake also generates a rule to call dftables.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 11 Jan 2008 11:56:58 +0000 (11:56 +0000)]
Windows build fix. Update to match method name in WebCore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 11 Jan 2008 11:53:48 +0000 (11:53 +0000)]
Qt build fix. Add link stubs for the new FileSystem.h functions introduced in r29399.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 11 Jan 2008 11:32:46 +0000 (11:32 +0000)]
2008-01-11 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Anders Carlsson.
Bug 16779: Make the PluginStream implementation be shared across platforms
http://bugs.webkit.org/show_bug.cgi?id=16779
Add the new shared PluginStream files to the GTK+ and Win32 builds.
Add PluginStreamClient class for the streamDidFinishLoading method.
Add open/close/write methods to FileSystem for temporary file handling.
Add PluginDebug.h and npfunctions.h for shared PluginStream.
Add shared PluginStream.
Remove PluginStreamWin.
Update PluginViewWin to use shared PluginStream and PluginStreamClass.
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* platform/FileSystem.h:
* platform/gtk/FileSystemGtk.cpp:
* platform/win/FileSystemWin.cpp:
* plugins/PluginDebug.h:
* plugins/PluginStream.cpp:
* plugins/PluginStream.h:
* plugins/npfunctions.h:
* plugins/win/PluginDebug: Moved to PluginDebug.h.
* plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp.
* plugins/win/PluginStreamWin.h: Moved to PluginStream.h
* plugins/win/PluginViewWin.cpp:
* plugins/win/PluginViewWin.h:
* plugins/win/npfunctions.h: Moved to npfunctions.h
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Fri, 11 Jan 2008 10:09:51 +0000 (10:09 +0000)]
Try to fix Mac build: Edit the right .exp file.
* WebCore.base.exp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Fri, 11 Jan 2008 10:03:38 +0000 (10:03 +0000)]
Try to fix Qt build: don't use pthreads if they're not available.
* bindings/js/GCController.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Fri, 11 Jan 2008 09:52:27 +0000 (09:52 +0000)]
JavaScriptCore:
Reviewed by John Sullivan.
Fixed some world leak reports:
* <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
Interpreter after running cvs-base suite
* <rdar://problem/5669423> PLT complains about world leak if browser
window is open when PLT starts
* kjs/collector.h: Added the ability to distinguish between global
objects and GC-protected global objects, since we only consider the
latter to be world leaks.
* kjs/collector.cpp:
WebCore:
Reviewed by John Sullivan.
Fixed some world leak reports:
* <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
Interpreter after running cvs-base suite
* <rdar://problem/5669423> PLT complains about world leak if browser
window is open when PLT starts
These were both bugs in the reporting mechanism, so I took the
opportunity to do some house cleaning there.
Stupid class, I kill you:
* bridge/JavaScriptStatistics.cpp: Removed.
* bridge/JavaScriptStatistics.h: Removed.
* bindings/js/GCController.h: Adopted the only useful features of
JavaScriptStatistics, since they were GC-related.
* bindings/js/GCController.cpp:
WebKit/mac:
Reviewed by John Sullivan.
Fixed some world leak reports:
* <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
Interpreter after running cvs-base suite
* <rdar://problem/5669423> PLT complains about world leak if browser
window is open when PLT starts
These were both bugs in the reporting mechanism, so I took the
opportunity to do some house cleaning there.
* Misc/WebCoreStatistics.h: Did a little renaming, to match
JavaScriptCore better. I kept the methods with the old names around,
though, because old versions of Safari need them.
* Misc/WebCoreStatistics.mm: Removed dependence on
WebCore::JavaScriptStatistics, which is gone now.
These two methods are now distinct, for the sake of world leak reporting:
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
WebKit/win:
Reviewed by John Sullivan.
Updated for transition away from JavaScriptStatistics, which is gone now.
* WebJavaScriptCollector.cpp:
(WebJavaScriptCollector::collect):
(WebJavaScriptCollector::collectOnAlternateThread):
(WebJavaScriptCollector::objectCount):
WebKitTools:
Reviewed by John Sullivan.
* DumpRenderTree/mac/GCControllerMac.mm:
(GCController::collectOnAlternateThread): Updated for name change.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 11 Jan 2008 08:22:47 +0000 (08:22 +0000)]
Silence qmake warning about ctgen lacking input. Rubber-stamped by Alp Toker.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 11 Jan 2008 08:04:21 +0000 (08:04 +0000)]
Attempt to fix the GTK+ and Qt builds.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Fri, 11 Jan 2008 07:50:44 +0000 (07:50 +0000)]
Not reviewed, build fix.
- more build fixing
* WebDatabaseManager.cpp:
* WebSecurityOrigin.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Fri, 11 Jan 2008 07:30:41 +0000 (07:30 +0000)]
Not reviewed, build fix.
- try to fix build
* WebDatabaseManager.cpp:
(WebDatabaseManager::databasesWithOrigin):
* WebSecurityOrigin.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Fri, 11 Jan 2008 05:29:08 +0000 (05:29 +0000)]
wx build fix. Don't build dftables any longer since it's now a Perl script.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 11 Jan 2008 05:12:34 +0000 (05:12 +0000)]
Add FIXME for replacing YYPARSE_PARAM with %parse-param to CSSGrammar.y
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 11 Jan 2008 04:42:35 +0000 (04:42 +0000)]
Reviewed by Adele.
No functional changes, only code cleanup.
* css/MediaQueryEvaluator.cpp:
(WebCore::compareValue): renamed from cmpvalue
(WebCore::colorMediaFeatureEval):
(WebCore::device_aspect_ratioMediaFeatureEval):
(WebCore::device_pixel_ratioMediaFeatureEval):
(WebCore::gridMediaFeatureEval):
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
(WebCore::heightMediaFeatureEval):
(WebCore::widthMediaFeatureEval):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 11 Jan 2008 04:19:48 +0000 (04:19 +0000)]
Reviewed by Anders Carlsson.
- fix a crash when calling alert() from a repeating timer
On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during
alert() and other similar functions, which deletes the actual
DOMWindowTimer objects and replaces them with new objects when resuming.
* bindings/js/kjs_window.cpp:
(KJS::Window::timerFired): Re-fetch the timer object from the map in
case it has been deleted or replaced.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Fri, 11 Jan 2008 03:51:00 +0000 (03:51 +0000)]
Not reviewed. Build fix.
- Attempt to fix mac build.
* Storage/WebDatabaseManager.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Fri, 11 Jan 2008 03:36:14 +0000 (03:36 +0000)]
WebCore:
Reviewed by Sam.
- remove SecurityOriginData and fold its functionality into SecurityOrigin
* GNUmakefile.am:
* WebCore.base.exp:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::postMessage):
* dom/Document.cpp:
(WebCore::Document::domain):
* page/Chrome.cpp:
(WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
(WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
* page/Chrome.h:
* page/ChromeClient.h:
* platform/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::copy):
(WebCore::SecurityOrigin::createFromIdentifier):
(WebCore::SecurityOrigin::stringIdentifier):
* platform/SecurityOrigin.h:
(WebCore::SecurityOrigin::host):
(WebCore::SecurityOrigin::protocol):
(WebCore::SecurityOrigin::port):
(WebCore::SecurityOrigin::equal):
* platform/SecurityOriginData.cpp: Removed.
* platform/SecurityOriginData.h: Removed.
* storage/Database.cpp:
(WebCore::Database::openDatabase):
(WebCore::Database::Database):
(WebCore::Database::securityOriginCopy):
* storage/Database.h:
* storage/DatabaseTracker.cpp:
(WebCore::SecurityOriginHash::hash):
(WebCore::SecurityOriginHash::equal):
(WebCore::SecurityOriginTraits::deletedValue):
(WebCore::SecurityOriginTraits::emptyValue):
(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::hasEntryForOrigin):
(WebCore::DatabaseTracker::hasEntryForDatabase):
(WebCore::DatabaseTracker::establishEntryForOrigin):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::populateOrigins):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
(WebCore::DatabaseTracker::setDatabaseDetails):
(WebCore::DatabaseTracker::usageForDatabase):
(WebCore::DatabaseTracker::usageForOrigin):
(WebCore::DatabaseTracker::quotaForOrigin):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::addDatabase):
(WebCore::DatabaseTracker::deleteAllDatabases):
(WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
(WebCore::DatabaseTracker::deleteDatabase):
(WebCore::DatabaseTracker::deleteDatabaseFile):
(WebCore::notificationQueue):
(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
(WebCore::DatabaseTracker::notifyDatabasesChanged):
* storage/DatabaseTracker.h:
* storage/DatabaseTrackerClient.h:
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::openTransactionAndPreflight):
(WebCore::SQLTransaction::runStatements):
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
* svg/graphics/SVGImageEmptyClients.h:
(WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
(WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
WebKit/gtk:
Reviewed by Sam.
- remove SecurityOriginData and fold its functionality into SecurityOrigin
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::requestQuotaIncreaseForNewDatabase):
(WebKit::ChromeClient::requestQuotaIncreaseForDatabaseOperation):
* WebCoreSupport/ChromeClientGtk.h:
WebKit/mac:
Reviewed by Sam.
- remove SecurityOriginData and fold its functionality into SecurityOrigin
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager origins]):
(-[WebDatabaseManager databasesWithOrigin:]):
(-[WebDatabaseManager detailsForDatabase:withOrigin:]):
(-[WebDatabaseManager deleteDatabasesWithOrigin:]):
(-[WebDatabaseManager deleteDatabase:withOrigin:]):
* Storage/WebDatabaseTrackerClient.h:
* Storage/WebDatabaseTrackerClient.mm:
(WebDatabaseTrackerClient::dispatchDidModifyOrigin):
(WebDatabaseTrackerClient::dispatchDidModifyDatabase):
* Storage/WebSecurityOrigin.mm:
(-[WebSecurityOrigin initWithProtocol:domain:port:]):
(-[WebSecurityOrigin protocol]):
(-[WebSecurityOrigin domain]):
(-[WebSecurityOrigin port]):
(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):
(-[WebSecurityOrigin isEqual:]):
(-[WebSecurityOrigin dealloc]):
(-[WebSecurityOrigin finalize]):
(-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
(-[WebSecurityOrigin _core]):
* Storage/WebSecurityOriginInternal.h:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requestQuotaIncreaseForNewDatabase):
(WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
WebKit/qt:
Reviewed by Sam.
- remove SecurityOriginData and fold its functionality into SecurityOrigin
* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::requestQuotaIncreaseForNewDatabase):
(WebCore::ChromeClientQt::requestQuotaIncreaseForDatabaseOperation):
* WebCoreSupport/ChromeClientQt.h:
WebKit/win:
Reviewed by Sam.
- remove SecurityOriginData and fold its functionality into SecurityOrigin
* WebChromeClient.cpp:
(WebChromeClient::requestQuotaIncreaseForNewDatabase):
(WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
* WebChromeClient.h:
* WebDatabaseManager.cpp:
(WebDatabaseManager::origins):
(WebDatabaseManager::databasesWithOrigin):
(WebDatabaseManager::detailsForDatabaseWithOrigin):
(WebDatabaseManager::deleteDatabasesWithOrigin):
(WebDatabaseManager::deleteDatabaseWithOrigin):
(WebDatabaseManager::dispatchDidModifyOrigin):
(WebDatabaseManager::dispatchDidModifyDatabase):
* WebDatabaseManager.h:
* WebSecurityOrigin.cpp:
(WebSecurityOrigin::createInstance):
(WebSecurityOrigin::WebSecurityOrigin):
(WebSecurityOrigin::protocol):
(WebSecurityOrigin::domain):
(WebSecurityOrigin::port):
(WebSecurityOrigin::usage):
(WebSecurityOrigin::quota):
(WebSecurityOrigin::setQuota):
* WebSecurityOrigin.h:
WebKit/wx:
Reviewed by Sam.
- remove SecurityOriginData and fold its functionality into SecurityOrigin
* WebKitSupport/ChromeClientWx.cpp:
(WebCore::ChromeClientWx::requestQuotaIncreaseForNewDatabase):
(WebCore::ChromeClientWx::requestQuotaIncreaseForDatabaseOperation):
* WebKitSupport/ChromeClientWx.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
slewis@apple.com [Fri, 11 Jan 2008 02:48:06 +0000 (02:48 +0000)]
2008-01-10 Stephanie <slewis@apple.com>
RS=Oliver.
Move svg/batik/text/smallfonts.svg to the right skip list.
* platform/mac-tiger/Skipped:
* platform/mac/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 11 Jan 2008 02:09:55 +0000 (02:09 +0000)]
Reviewed by Sam.
Use the correct frame loader load method. Using the old method would not cause a
new window to be open if the frame navigation was not allowed.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::performRequest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Fri, 11 Jan 2008 00:55:03 +0000 (00:55 +0000)]
2008-01-10 Alp Toker <alp@atoker.com>
SVG font build fix for GTK+/autotools.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 11 Jan 2008 00:41:44 +0000 (00:41 +0000)]
BUILD FIX: Make dftables executable.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 11 Jan 2008 00:35:14 +0000 (00:35 +0000)]
JavaScriptCore:
dftables should be rewritten as a script
<http://bugs.webkit.org/show_bug.cgi?id=16818>
<rdar://problem/5681463>
Reviewed by Darin.
Rewrote the dftables utility in Perl. Attempted to switch all
build systems to call the script directly instead of building
a binary first. Only the Xcode build was able to be tested.
* DerivedSources.make: Added pcre directory to VPATH and changed
to invoke dftables directly.
* GNUmakefile.am: Removed build information and changed to invoke
dftables directly.
* JavaScriptCore.vcproj/JavaScriptCore.sln: Removed reference to
dftables project.
* JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln: Ditto.
* JavaScriptCore.vcproj/dftables: Removed.
* JavaScriptCore.vcproj/dftables/dftables.vcproj: Removed.
* JavaScriptCore.xcodeproj/project.pbxproj: Removed dftables target.
* jscore.bkl: Removed dftables executable definition.
* pcre/dftables: Copied from JavaScriptCore/pcre/dftables.cpp.
* pcre/dftables.cpp: Removed.
* pcre/dftables.pro: Removed.
* pcre/pcre.pri: Removed references to dftables.cpp and changed to
invoke dftables directly.
WebKit/win:
dftables should be rewritten as a script
<http://bugs.webkit.org/show_bug.cgi?id=16818>
<rdar://problem/5681463>
Reviewed by Darin.
* WebKit.vcproj/WebKit.sln: Removed reference to dftables project.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 11 Jan 2008 00:23:13 +0000 (00:23 +0000)]
WebCore:
Reviewed by Sam Weinig and Anders Carlsson.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
<rdar://problem/5657355>
This patch makes two changes:
1) Java calls FrameLoader::load in a slightly different way than
JavaScript, which previously let a malicious web site bypass the
shouldAllowNavigation check. This patch adds that check to that
code path.
2) FrameLoader now wraps calls to m_frame->tree()->find(name) with
findFrameForNavigation, which calls shouldAllowNavigation. This
treats disallowed frame navigations as if the named frame did not
exist, resulting in a popup window when appropriate.
Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
* WebCore.base.exp:
* bindings/js/kjs_window.cpp:
(KJS::WindowProtoFuncOpen::callAsFunction):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::createWindow):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::post):
(WebCore::FrameLoader::findFrameForNavigation):
* loader/FrameLoader.h:
WebKit/mac:
Reviewed by Anders Carlsson.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
<rdar://problem/5657355>
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView loadPluginRequest:]): call findFrameForNavigation
to ensure the shouldAllowNavigation check is made.
WebKitTools:
Reviewed by Anders Carlsson.
Make DRT track open windows instead of allocated windows so that
we can avoid ASSERTION due to late deallocs out of our control.
* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpBackForwardListForAllWindows):
(runTest):
* DumpRenderTree/mac/DumpRenderTreeMac.h:
* DumpRenderTree/mac/DumpRenderTreeWindow.h:
* DumpRenderTree/mac/DumpRenderTreeWindow.mm:
(+[DumpRenderTreeWindow openWindows]):
(-[DumpRenderTreeWindow initWithContentRect:styleMask:backing:defer:]):
(-[DumpRenderTreeWindow close]):
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
(LayoutTestController::windowCount):
LayoutTests:
Reviewed by Anders Carlsson.
Tests for http://bugs.webkit.org/show_bug.cgi?id=16522
<rdar://problem/5657355>
* http/tests/security/frameNavigation/resources/frame-with-link-to-navigate.html: Added.
* http/tests/security/frameNavigation/resources/frame-with-plugin-to-navigate.html: Added.
* http/tests/security/frameNavigation/resources/navigation-happened.html: Added.
* http/tests/security/frameNavigation/xss-DENIED-plugin-navigation-expected.txt: Added.
* http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html: Added.
* http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation-expected.txt: Added.
* http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html: Added.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan@apple.com [Fri, 11 Jan 2008 00:10:05 +0000 (00:10 +0000)]
Written by Hyatt, reviewed by me
- fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display
a <video> element that uses controls attribute
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning
up this architecture, but this one-line fix will prevent the crash in the meantime
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29379
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 11 Jan 2008 00:02:16 +0000 (00:02 +0000)]
Whoops, did not mean to commit that.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29378
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 11 Jan 2008 00:00:57 +0000 (00:00 +0000)]
Fix fast/forms/input-radio-checked-tab.html
Meta key is not the same as Alt key on windows.
Reviewed by Darin.
* platform/win/KeyEventWin.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan@apple.com [Thu, 10 Jan 2008 23:11:54 +0000 (23:11 +0000)]
Meta key is not the same as Alt key on windows.
Reviewed by Darin.
* DumpRenderTree/win/EventSender.cpp:
(keyDownCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan@apple.com [Thu, 10 Jan 2008 23:11:27 +0000 (23:11 +0000)]
Fix fast/forms/input-radio-checked-tab.html
Meta key is not the same as Alt key on windows.
Reviewed by Darin.
* platform/win/KeyEventWin.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29375
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 10 Jan 2008 22:17:26 +0000 (22:17 +0000)]
* platform/win/Skipped: Removed a test that was fixed in r26826.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 10 Jan 2008 22:14:14 +0000 (22:14 +0000)]
* platform/win/Skipped: Removed a test that was fixed in r28372.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29373
268f45cc-cd09-0410-ab3c-
d52691b4dbfc