mrowe@apple.com [Thu, 27 Dec 2007 16:54:15 +0000 (16:54 +0000)]
Add another feed to Planet WebKit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29001
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 27 Dec 2007 08:34:18 +0000 (08:34 +0000)]
Reviewed by Maciej.
* platform/win/Skipped: Move cross-frame-access-protocol* tests to show that they
are failing because of a lack of ssl on windows.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29000
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 27 Dec 2007 08:28:13 +0000 (08:28 +0000)]
Rubber-stamped by Maciej.
- Change more tests to use the new layoutTestController.globalFlag style polling instead
of the "flag frame hack".
* http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
* http/tests/security/cross-frame-access-port-expected.txt:
* http/tests/security/cross-frame-access-private-browsing-expected.txt:
* http/tests/security/cross-frame-access-protocol-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url.html:
* http/tests/security/host-compare-case-insensitive-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode.html:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS-expected.txt:
* http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS.html:
* http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessee-iframe.html:
* http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessee-opened-frame.html:
* http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-iframe.html:
* http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-opened-frame.html:
* http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html:
* http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open.html:
* http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe.html:
* http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
* http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open.html:
* http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html:
* http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html:
* http/tests/security/protocol-compare-case-insensitive-expected.txt:
* http/tests/security/resources/cross-frame-iframe.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28999
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Thu, 27 Dec 2007 08:22:24 +0000 (08:22 +0000)]
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=14500
need to be more generous about charset declaration with meta tag
http://bugs.webkit.org/show_bug.cgi?id=12526
<rdar://problem/
4867183> Safari ignores encoding description "charset=Shift_JIS" in invalid html
<rdar://problem/
4892428> Unlike other browsers, WebKit ignores <meta> charset definitions outside the head
<rdar://problem/
5643774> REGRESSION: Text is garbled when clicking a link inside an Arabic website
Tests: fast/encoding/ahram-org-eg.html
fast/encoding/bandai-co-jp-releases.html
fast/encoding/floraexpress-ru.html
fast/encoding/hanarei-blog32-fc2-com.html
fast/encoding/yahoo-mail.html
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::checkForHeadCharset): Don't stop looking for <meta> until we've
seen at least 512 bytes of input.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28998
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Thu, 27 Dec 2007 06:05:21 +0000 (06:05 +0000)]
2007-12-26 Jan Michael Alonzo <jmalonzo@unpluggable.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16390
Use autotools or GNU make as the build system for the GTK port
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28997
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 27 Dec 2007 04:01:31 +0000 (04:01 +0000)]
Rubber-stamped by Anders Carlsson.
- re-categorize some SVG tests the are failing on Windows
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28996
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 27 Dec 2007 02:33:25 +0000 (02:33 +0000)]
Reviewed by Alice Liu.
Re-enable disabled tests with new polling logic using layoutTestController.globalFlag.
* http/tests/security/dataURL/resources/foreign-domain-data-url-accessee-iframe.html:
* http/tests/security/dataURL/resources/foreign-domain-data-url-accessee-opened-frame.html:
* http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-iframe.html:
* http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-opened-frame.html:
* http/tests/security/dataURL/resources/foreign-domain-data-url-window-location.html:
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html: Copied from http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html-disabled.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html-disabled: Removed.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html: Copied from http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html-disabled.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html-disabled: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html-disabled.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html-disabled: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html-disabled.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html-disabled: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html-disabled.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html-disabled: Removed.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28995
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alice.liu@apple.com [Wed, 26 Dec 2007 23:55:23 +0000 (23:55 +0000)]
removing tests tracked by <rdar://
5463489> A number of layout tests should be using
execCommand instead of textInputController
* platform/win/Skipped:
removing tests fixed by http://trac.webkit.org/projects/webkit/changeset/28626
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28994
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Wed, 26 Dec 2007 22:16:10 +0000 (22:16 +0000)]
Reviewed by Sam Weinig.
http://bugs.webkit.org/show_bug.cgi?id=16609
Make manual-tests/xmlhttprequest-contenttype-empty.html test automatic
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28993
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 26 Dec 2007 09:25:27 +0000 (09:25 +0000)]
Windows build fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28992
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis@webkit.org [Wed, 26 Dec 2007 08:40:55 +0000 (08:40 +0000)]
Reviewed by Eric.
http://bugs.webkit.org/show_bug.cgi?id=15514
<clipPath> with <use> not respected
http://bugs.webkit.org/show_bug.cgi?id=16557
SVG circle elements have been clipped away completely, instead of partially.
Add toClipPath to get clip path data for the clipping paths. Implement it for <use>, thereby allowing clip paths using use.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28991
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Wed, 26 Dec 2007 07:25:09 +0000 (07:25 +0000)]
Reviewed by Eric Seidel.
Clean up the files relating to NodeLists.
* dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::ChildNodeList):
(WebCore::ChildNodeList::length):
(WebCore::ChildNodeList::item):
(WebCore::ChildNodeList::nodeMatches):
* dom/ChildNodeList.h:
* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeList::itemForwardsFromCurrent):
(WebCore::DynamicNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicNodeList::itemWithName):
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeList::needsNotifications):
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
(WebCore::NameNodeList::rootNodeAttributeChanged):
(WebCore::NameNodeList::nodeMatches):
* dom/NameNodeList.h:
* dom/NodeList.h:
* dom/SelectorNodeList.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28990
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Wed, 26 Dec 2007 06:44:02 +0000 (06:44 +0000)]
Fix non-mac builds.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCoreSources.bkl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28989
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Wed, 26 Dec 2007 06:33:37 +0000 (06:33 +0000)]
Rubber stamped by Eric Seidel.
Move TagNodeList into its own file.
* WebCore.xcodeproj/project.pbxproj:
* dom/Node.cpp:
* dom/TagNodeList.cpp: Copied from dom/Node.cpp.
(WebCore::TagNodeList::TagNodeList):
* dom/TagNodeList.h: Copied from dom/Node.cpp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28988
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Wed, 26 Dec 2007 06:18:08 +0000 (06:18 +0000)]
Reviewed by Eric Seidel.
Simplify the NodeList architecture.
- Rename recursiveItem() to item(), since it is not recursive.
- Make recursiveLength() iterative and rename to length().
- Remove now unneeded overrides of item() and length() that used
to call the recursive variants.
* dom/ClassNodeList.cpp:
* dom/ClassNodeList.h:
* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeList::length):
(WebCore::DynamicNodeList::item):
(WebCore::DynamicNodeList::rootNodeAttributeChanged): Move implementation
into the .cpp file since virtual methods can't be inlined.
* dom/DynamicNodeList.h:
* dom/NameNodeList.cpp:
* dom/NameNodeList.h:
* dom/Node.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28987
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Wed, 26 Dec 2007 02:55:06 +0000 (02:55 +0000)]
2007-12-25 Alp Toker <alp@atoker.com>
More complete GTK+/Qt/Wx/Win build fixes for breakage introduced in
r28981.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCoreSources.bkl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28986
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Wed, 26 Dec 2007 02:33:44 +0000 (02:33 +0000)]
2007-12-25 Alp Toker <alp@atoker.com>
Win build fix for breakage introduced in r28981.
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28985
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Wed, 26 Dec 2007 02:30:39 +0000 (02:30 +0000)]
2007-12-25 Alp Toker <alp@atoker.com>
Wx build fix for breakage introduced in r28981.
* WebCoreSources.bkl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28984
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Wed, 26 Dec 2007 02:28:12 +0000 (02:28 +0000)]
2007-12-25 Alp Toker <alp@atoker.com>
GTK+/Qt build fix for breakage introduced in r28981.
* WebCore.pro:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28983
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 26 Dec 2007 01:05:55 +0000 (01:05 +0000)]
Reviewed by Oliver Hunt.
- fix an assertion failure when pressing the num lock key
* WebView/WebHTMLView.mm:
(-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to
WebCore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28982
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dsmith@webkit.org [Wed, 26 Dec 2007 00:46:46 +0000 (00:46 +0000)]
WebCore:
Reviewed by Oliver.
- http://bugs.webkit.org/show_bug.cgi?id=16587
Implement the most useful part of the W3C Selectors API.
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSelector.h: Make Node a friend of CSSStyleSelector so it can use checkSelector()
* dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::ChildNodeList): Change to being a DynamicNodeList
* dom/ChildNodeList.h:
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::ClassNodeList): Change to being a DynamicNodeList
* dom/ClassNodeList.h:
* dom/Document.idl: Add the new functions
* dom/DynamicNodeList.cpp: Copied from WebCore/dom/NodeList.cpp.
(WebCore::DynamicNodeList::DynamicNodeList): Rename NodeList to DynamicNodeList, to differentiate it from the new StaticNodeList
(WebCore::DynamicNodeList::~DynamicNodeList):
(WebCore::DynamicNodeList::recursiveLength):
(WebCore::DynamicNodeList::itemForwardsFromCurrent):
(WebCore::DynamicNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicNodeList::recursiveItem):
(WebCore::DynamicNodeList::itemWithName):
(WebCore::DynamicNodeList::rootNodeChildrenChanged):
(WebCore::DynamicNodeList::Caches::Caches):
(WebCore::DynamicNodeList::Caches::reset):
* dom/DynamicNodeList.h: Copied from WebCore/dom/NodeList.h.
(WebCore::DynamicNodeList::rootNodeAttributeChanged):
* dom/Element.idl: Add the new functions
* dom/NameNodeList.cpp: Change to being a DynamicNodeList
(WebCore::NameNodeList::NameNodeList):
* dom/NameNodeList.h:
(WebCore::NameNodeList::rootNodeAttributeChanged):
* dom/Node.cpp:
(WebCore::TagNodeList::TagNodeList): Change to being a DynamicNodeList
(WebCore::Node::registerDynamicNodeList):
(WebCore::Node::unregisterDynamicNodeList):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::Node::querySelector): new
(WebCore::Node::querySelectorAll): new
* dom/Node.h:
* dom/NodeList.cpp: Removed.
* dom/NodeList.h: This is now an abstract superclass of DynamicNodeList and StaticNodeList
(WebCore::NodeList::NodeList):
(WebCore::NodeList::~NodeList):
* dom/SelectorNodeList.cpp: Added.
(WebCore::SelectorNodeList::SelectorNodeList): New StaticNodeList subclass that filters elements by CSS selector
* dom/SelectorNodeList.h: Added.
* dom/StaticNodeList.cpp: Added.
(WebCore::StaticNodeList::length):
(WebCore::StaticNodeList::item):
(WebCore::StaticNodeList::itemWithName):
* dom/StaticNodeList.h: Added.
(WebCore::StaticNodeList::StaticNodeList):
(WebCore::StaticNodeList::~StaticNodeList):
LayoutTests:
Reviewed by Oliver.
- http://bugs.webkit.org/show_bug.cgi?id=16587
Implement the most useful part of the W3C Selectors API.
* fast/dom/SelectorAPI: Copied from LayoutTests/fast/dom/getElementsByClassName.
* fast/dom/SelectorAPI/dumpNodeList-expected.txt:
* fast/dom/SelectorAPI/dumpNodeList.html: Modified to test querySelector and querySelectorAll instead of getElementsByClassName
* fast/dom/Window/window-properties-expected.txt: Added querySelector and querySelectorAll
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28981
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Tue, 25 Dec 2007 22:54:10 +0000 (22:54 +0000)]
Reviewed by Oliver.
- Remove unnecessary redundant check from property setting
http://bugs.webkit.org/show_bug.cgi?id=16602
1.3% speedup on SunSpider.
* kjs/object.cpp:
(KJS::JSObject::put): Don't do canPut check when not needed; let
the PropertyMap handle it.
(KJS::JSObject::canPut): Don't check the static property
table. lookupPut does that already.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28980
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 25 Dec 2007 06:55:23 +0000 (06:55 +0000)]
Fix Bug 16596: ThreadSafeShared should be lock-free where possible.
Reviewed by Sam Weinig.
Implement a lock-free ThreadSafeShared for i386, x86_64, ppc and ppc64.
This is a 1.7x as fast as the lock-based implementation on x86 for a single-threaded use
of ThreadSafeShared but is closer to 280x as fast when there is heavy concurrent multi-threaded
access to a single ThreadSafeShared object.
The atomic operations are based on those used by the Boost C++ library's shared_ptr implementation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28979
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Tue, 25 Dec 2007 06:00:20 +0000 (06:00 +0000)]
2007-12-24 Christian Dywan <christian@twotoasts.de>
Reviewed by Alp Toker.
http://bugs.webkit.org/attachment.cgi?id=18099
There are no NULL checks for strings in public api
Add missing NULL checks for string parameters.
Provide sensible defaults when NULL is passed for the optional
parameters in webkit_web_view_load_string(). UTF-8 is the default
encoding used by GLib and text/html is a reasonable default content
type.
* WebView/webkitnetworkrequest.cpp:
* WebView/webkitwebview.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28978
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 25 Dec 2007 01:05:45 +0000 (01:05 +0000)]
* platform/text/PlatformString.h: Removed now-incorrect comment.
Added a comment about copy().
* platform/text/StringImpl.h: Added a comment about copy().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28977
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 25 Dec 2007 01:02:28 +0000 (01:02 +0000)]
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=16550
make StringImpl immutable
I tried to keep the changes to a minimum. In some cases there is
room for optimization -- I didn't try to add in the "single ref count"
optimizations and there might be a tiny bit more string copying than
we had before.
* WebCore.base.exp: Updated.
* dom/CharacterData.cpp:
(WebCore::CharacterData::appendData): Changed to use String since
StringImpl doesn't have mutating functions any more.
(WebCore::CharacterData::insertData): Ditto.
(WebCore::CharacterData::deleteData): Ditto.
(WebCore::CharacterData::replaceData): Ditto.
* dom/Text.cpp:
(WebCore::Text::splitText): Changed to use substring instead of
remove since StringImpl does't have mutating functions any more.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::deleteInsignificantText): Changed
to use String instead of StringImpl so we can use remove.
* platform/text/PlatformString.h: Removed newUninitialized.
Added append that takes a character pointer and length.
* platform/text/String.cpp:
(WebCore::String::insert): Added an implementation that does not
rely on an underlying StringImpl function.
(WebCore::String::append): Ditto.
(WebCore::String::truncate): Ditto.
(WebCore::String::remove): Ditto.
(WebCore::String::charactersWithNullTermination): Added an
implementation that uses the new StringImpl null termination feature,
which does not require modifying a string.
* platform/text/StringImpl.cpp:
(WebCore::isSpace): Fix comment.
(WebCore::StringImpl::StringImpl): Added a new constructor that makes
a string with a trailing null character.
(WebCore::StringImpl::substring): Marked const.
(WebCore::StringImpl::replace): Marked const; had to add quite a few
const_cast. Also rewrote one of these to work without modifying the
existing string.
* platform/text/StringImpl.h: Fixed a mistake where the empty string had
m_hasTerminatingNullCharacter uninitialized. Added a type and constructor
for creating strings that have a trailing null character. Added a
hasTerminatingNullCharacter function. Removed newUninitialized,
charactersWithNullTermination, append, insert, truncate, and remove.
Marked lots of other functions const.
* platform/text/TextCodecLatin1.cpp:
(WebCore::TextCodecLatin1::decode): Rewrote to use a Vector instead of
newUninitialized.
* platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::decode): Ditto.
* platform/text/TextCodecUserDefined.cpp:
(WebCore::TextCodecUserDefined::decode): Ditto.
* rendering/RenderStyle.cpp:
(WebCore::RenderStyle::setContent): Changed to use String since
StringImpl doesn't have mutating functions any more.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28976
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Mon, 24 Dec 2007 18:31:32 +0000 (18:31 +0000)]
2007-12-24 Alp Toker <alp@atoker.com>
Fix builds that don't use AllInOneFile.cpp following breakage
introduced in r28973.
* kjs/grammar.y:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28975
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Mon, 24 Dec 2007 12:16:53 +0000 (12:16 +0000)]
Reviewed by Oliver.
Fix fast/events/arrow-keys-on-body.html, failing on Windows.
* DumpRenderTree/win/EventSender.cpp:
(keyDownCallback): Add KF_EXTENDED flag to arrow keys. Also add a count
of 1, even though WebKit currently ignores it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28974
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Mon, 24 Dec 2007 10:13:00 +0000 (10:13 +0000)]
Reviewed by Eric.
- Optimize variable declarations
http://bugs.webkit.org/show_bug.cgi?id=16585
3.5% speedup on SunSpider.
var statements now result in either assignments or empty statements.
This allows a couple of optimization opportunities:
- No need to branch at runtime to check if there is an initializer
- EmptyStatementNodes can be removed entirely (also done in this patch)
- Assignment expressions get properly optimized for local variables
This patch also includes some code cleanup:
- Most of the old VarStatement/VarDecl logic is now only used for const declarations,
thus it is renamed appropriately
- AssignExprNode is gone
* JavaScriptCore.exp:
* kjs/NodeInfo.h:
* kjs/grammar.y:
* kjs/nodes.cpp:
(KJS::SourceElements::append):
(KJS::ConstDeclNode::ConstDeclNode):
(KJS::ConstDeclNode::optimizeVariableAccess):
(KJS::ConstDeclNode::handleSlowCase):
(KJS::ConstDeclNode::evaluateSingle):
(KJS::ConstDeclNode::evaluate):
(KJS::ConstStatementNode::optimizeVariableAccess):
(KJS::ConstStatementNode::execute):
(KJS::VarStatementNode::optimizeVariableAccess):
(KJS::VarStatementNode::execute):
(KJS::ForInNode::ForInNode):
(KJS::ForInNode::optimizeVariableAccess):
(KJS::ForInNode::execute):
(KJS::FunctionBodyNode::initializeSymbolTable):
(KJS::ProgramNode::initializeSymbolTable):
(KJS::FunctionBodyNode::processDeclarations):
(KJS::ProgramNode::processDeclarations):
(KJS::EvalNode::processDeclarations):
* kjs/nodes.h:
(KJS::DeclarationStacks::):
(KJS::StatementNode::):
(KJS::ConstDeclNode::):
(KJS::ConstStatementNode::):
(KJS::EmptyStatementNode::):
(KJS::VarStatementNode::):
(KJS::ForNode::):
* kjs/nodes2string.cpp:
(KJS::ConstDeclNode::streamTo):
(KJS::ConstStatementNode::streamTo):
(KJS::ScopeNode::streamTo):
(KJS::VarStatementNode::streamTo):
(KJS::ForNode::streamTo):
(KJS::ForInNode::streamTo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28973
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Mon, 24 Dec 2007 06:39:08 +0000 (06:39 +0000)]
Fix Debug and Release QTMovieWin bulds.
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/debug.vsprops:
* WebCore.vcproj/debug_internal.vsprops:
* WebCore.vcproj/release.vsprops:
Use LibraryConfigSuffix instead of WebKitConfigSuffix for pthreadVC2.
Build release import lib into \lib, not \bin.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28972
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Mon, 24 Dec 2007 03:04:19 +0000 (03:04 +0000)]
2007-12-23 Alp Toker <alp@atoker.com>
Reviewed by Holger Freyther.
http://bugs.webkit.org/show_bug.cgi?id=15382
[CAIRO] Canvas pattern support
http://bugs.webkit.org/show_bug.cgi?id=16577
Merge Cairo enhancements from Apollo project
Add support for canvas patterns.
Make Image::nativeImageForCurrentFrame() public.
Fix some typos along the way.
The globalAlpha canvas fixes are not included in this patch as
they're slightly more intrusive and may conflict conceptually with
GraphicsContext::setAlpha().
* html/CanvasPattern.cpp:
(WebCore::CanvasPattern::CanvasPattern):
(WebCore::CanvasPattern::~CanvasPattern):
(WebCore::CanvasPattern::createPattern):
* html/CanvasPattern.h:
(WebCore::CanvasPattern::platformImage):
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setShadow):
(WebCore::CanvasRenderingContext2D::applyShadow):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::createPattern):
(WebCore::CanvasRenderingContext2D::applyStrokePattern):
(WebCore::CanvasRenderingContext2D::applyFillPattern):
* platform/graphics/Image.h:
(WebCore::Image::nativeImageForCurrentFrame):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28971
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Mon, 24 Dec 2007 02:09:00 +0000 (02:09 +0000)]
Remove getWxBitmap as we have nativeImageForCurrentFrame now, and don't draw a border in fillRect.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28970
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Mon, 24 Dec 2007 00:47:05 +0000 (00:47 +0000)]
2007-12-23 Alp Toker <alp@atoker.com>
Reviewed by Holger Freyther.
http://bugs.webkit.org/show_bug.cgi?id=16577
Merge Cairo enhancements from Apollo project
This patch is based on initial merging work by Brent Fulgham. Adobe's
code has been modified in a few places to better suit the existing
coding style.
Implement more clipping and drawing functions.
Save and restore the fill rule manually when clipping.
Avoid image surface creation when the image buffer has height zero.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::addInnerRoundedRectClip):
(WebCore::GraphicsContext::addPath):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipOutEllipseInRect):
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::createFrameAtIndex):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28969
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 23 Dec 2007 23:40:43 +0000 (23:40 +0000)]
- updated results (character used for controls changed in r28945)
* platform/mac/media/audio-controls-rendering-expected.txt: Regenerated.
* platform/mac/media/video-controls-rendering-expected.txt: Regenerated.
* platform/mac/media/video-display-toggle-expected.txt: Regenerated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28968
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Sun, 23 Dec 2007 17:50:46 +0000 (17:50 +0000)]
wx buildbot fix. Update libpng dl script to the latest version.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28967
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Sun, 23 Dec 2007 12:30:24 +0000 (12:30 +0000)]
Reviewed by Mark.
Fix wrong placed ifdef - wrapping SVGDefsElement, instead of SVGDefinitionSrcElement in SVG_FONTS block.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28966
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sun, 23 Dec 2007 02:18:42 +0000 (02:18 +0000)]
2007-12-22 Xan Lopez <xan@gnome.org>
Reviewed by Alp Toker.
Use webView, web_view, etc for variable names instead of page, which
was left over from the old API.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28965
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 22 Dec 2007 23:54:16 +0000 (23:54 +0000)]
2007-12-22 Alp Toker <alp@atoker.com>
GTK+ build fix
GTK_TARGET_OTHER_APP is not available in older GTK+ versions. Pass
empty target flags for now.
Check GTK+, not GLib versions, since they are different.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28964
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 22 Dec 2007 23:12:52 +0000 (23:12 +0000)]
2007-12-22 Luca Bruno <lethalman88@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16311
[Gtk] Copy rich text to clipboard as text/plain and text/html.
Add copy and paste targets for WebView and implement
WebCore::PasteboardHelper.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28963
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Sat, 22 Dec 2007 21:39:37 +0000 (21:39 +0000)]
Reviewed by Oliver.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=15966 (Crash in SVGRootInlineBox::walkTextChunks() on mouse hover)
Add new isSVGRootInlineBox() function to InlineBox to be able to differentiate between RootInlineBox/SVGRootInlineBox.
SVG assumed it's root inline box (for <text> elements) is always of type SVGRootInlineBox, which is not the case
for HTML text in <foreignObject>. Text selection doesn't work so far as line box offsets are wrong - which is visible
in Web Inspector.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28962
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Sat, 22 Dec 2007 21:04:39 +0000 (21:04 +0000)]
Fix a typo.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28961
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 22 Dec 2007 20:03:58 +0000 (20:03 +0000)]
2007-12-22 Alp Toker <alp@atoker.com>
LOW_BANDWIDTH_DISPLAY build fix
Track recent KURL DeprecatedString changes.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28960
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 22 Dec 2007 16:48:46 +0000 (16:48 +0000)]
- Windows build fix
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28959
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 22 Dec 2007 16:35:02 +0000 (16:35 +0000)]
2007-12-22 Xan Lopez <xan@gnome.org>
Reviewed by Alp Toker.
Follow up to http://bugs.webkit.org/show_bug.cgi?id=16144
* WebView/webkitwebview.cpp:
Fix signal id arguments for g_signal_emit in
clipboard functions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28958
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 22 Dec 2007 16:34:23 +0000 (16:34 +0000)]
2007-12-22 Xan Lopez <xan@gnome.org>
Reviewed by Alp Toker.
Add missing return 0 to fix a compile warning.
* page/gtk/FrameGtk.cpp:
(WebCore::Frame::createScriptInstanceForWidget):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28957
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dsmith@webkit.org [Sat, 22 Dec 2007 07:26:01 +0000 (07:26 +0000)]
At bdash's suggestion, display a message if someone attempts to run the 'native' version of the getElementsByClassName benchmark in a browser that doesn't support that.
* blog-files/gebcnspeedtest.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28956
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dsmith@webkit.org [Sat, 22 Dec 2007 07:02:18 +0000 (07:02 +0000)]
Add the benchmark from the previous commit as well.
* blog-files/gebcnspeedtest.html: Added.
* blog-files/prototype-for-gebcn-test.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28955
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dsmith@webkit.org [Sat, 22 Dec 2007 06:45:53 +0000 (06:45 +0000)]
Add a graph of benchmark results for an upcoming blog post.
* blog-files/gebcnwebkitonly.png: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28954
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 22 Dec 2007 06:12:37 +0000 (06:12 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28953
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 22 Dec 2007 05:54:08 +0000 (05:54 +0000)]
2007-12-21 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
* JavaScriptCore.exp: Remove unused symbol to prevent a weak external symbol
being generated in JavaScriptCore.framework.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28950
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 22 Dec 2007 04:40:38 +0000 (04:40 +0000)]
Fix bugs.webkit.org/show_bug.cgi?id=16549 (WebKit nightly build failing to launch on PowerPC G3s).
Rubber-stamped by Dan Bernstein.
* libWebKitSystemInterfaceTiger.a: Update to a G3-friendly version.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28949
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 22 Dec 2007 04:18:50 +0000 (04:18 +0000)]
Reviewed by Mark Rowe.
- Disable the back/forward cache using the new WebPreferences API
instead of through the BackForwardList. This makes us match what
we do on Windows.
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
(setDefaultsToConsistentValuesForTesting):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28948
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 22 Dec 2007 01:39:48 +0000 (01:39 +0000)]
Reviewed by Mark Rowe.
- disable the back/forward cache in Windows DumpRenderTree. It is
already disabled in Mac DumpRenderTree.
* DumpRenderTree/win/DumpRenderTree.cpp:
(initializePreferences):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28947
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Sat, 22 Dec 2007 01:09:10 +0000 (01:09 +0000)]
Reviewed by Darin and Steve.
Add instructions to install the QuickTime SDK for Windows.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28946
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Sat, 22 Dec 2007 01:07:24 +0000 (01:07 +0000)]
Reviewed by Darin, Adam and Steve.
Add media playback support for Windows.
The implementation uses low level QuickTime API. DLL is
needed to work around CF use in both WebKit and QuickTime.
This makes Windows build depend on the QuickTime SDK
http://developer.apple.com/quicktime/download/
but not QuickTime itself.
QTMovieWinTimer contains some copy code from SharedTimerWin. It
is used in the QuickTime access DLL which can't use WebCore
SharedTimer due to dependency problems.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28945
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 22 Dec 2007 01:01:24 +0000 (01:01 +0000)]
2007-12-21 Brent Fulgham <bfulgham@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16558
Cairo WebCore Rendering Fails on arc drawing
Fix for bug reported (and patched) by Apollo team in which
arcs were draw in reverse (resulting in inverted images).
Review of the source found that the 'clockwise' term was
actually meant to mean 'anticlockwise' so the IDL and
supporting classes have been changed to match this.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::arc):
* html/CanvasRenderingContext2D.idl:
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addArc):
(WebCore::Path::addEllipse):
* platform/graphics/Path.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28944
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 22 Dec 2007 00:41:28 +0000 (00:41 +0000)]
2007-12-21 Alp Toker <alp@atoker.com>
Documentation typo fix: s/wether/whether
* WebView/webkitwebview.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28943
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 22 Dec 2007 00:36:46 +0000 (00:36 +0000)]
2007-12-21 Christian Dywan <christian@twotoasts.de>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16144
[GTK] Clipboard/ selection handling functions
* WebView/webkitprivate.h:
* WebView/webkitwebview.cpp:
* WebView/webkitwebview.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28942
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 22 Dec 2007 00:35:59 +0000 (00:35 +0000)]
Reviewed by Adele.
Fix another mistaken duplication, this time in cross-frame-access-parent-explicit-domain.html,
that was causing intermittent failures.
* http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
* http/tests/security/cross-frame-access-parent-explicit-domain.html:
* http/tests/security/cross-frame-access-port-explicit-domain-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28941
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 22 Dec 2007 00:01:41 +0000 (00:01 +0000)]
Reviewed by Dan Bernstein.
Fix mistaken duplication in cross-frame-access-child-explicit-domain.html that was causing
intermittent failures.
* http/tests/security/cross-frame-access-child-explicit-domain-expected.txt:
* http/tests/security/cross-frame-access-child-explicit-domain.html:
* http/tests/security/cross-frame-access-custom-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28940
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan@apple.com [Fri, 21 Dec 2007 23:15:42 +0000 (23:15 +0000)]
Implemented DOMDocument::getElementById().
Reviewed by Darin.
* DOMCoreClasses.cpp:
(DOMDocument::getElementById):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28939
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 21 Dec 2007 22:02:46 +0000 (22:02 +0000)]
Requested by Maciej.
* kjs/nodes.h: Use the new NEVER_INLINE here and eliminate the old
KJS_NO_INLINE. We don't want to have two, and we figured it was better
to keep the one that's in WTF.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28938
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 21 Dec 2007 21:54:51 +0000 (21:54 +0000)]
Reviewed by Eric.
- http://bugs.webkit.org/show_bug.cgi?id=16561
remove debugger overhead from non-debugged JavaScript execution
1.022x as fast on SunSpider.
* JavaScriptCore.exp: Updated.
* kjs/NodeInfo.h: Renamed SourceElementsStub to SourceElements,
since that more accurately describes the role of this object, which
is a reference-counted wrapper for a Vector.
* kjs/Parser.cpp:
(KJS::Parser::didFinishParsing): Changed parameter type to SourceElements,
and use plain assignment instead of set.
* kjs/Parser.h: Changed parameter type of didFinishParsing to a
SourceElements. Also changed m_sourceElements; we now use a RefPtr instead
of an OwnPtr as well.
* kjs/grammar.y: Got rid of all the calls to release() on SourceElements.
That's now handed inside the constructors for various node types, since we now
use vector swapping instead.
* kjs/nodes.cpp:
(KJS::Node::rethrowException): Added NEVER_INLINE, because this was getting inlined
and we want exception handling out of the normal code flow.
(KJS::SourceElements::append): Moved here from the header. This now handles
creating a BreakpointCheckStatement for each statement in the debugger case.
That way we can get breakpoint handling without having it in every execute function.
(KJS::BreakpointCheckStatement::BreakpointCheckStatement): Added.
(KJS::BreakpointCheckStatement::execute): Added. Contains the code that was formerly
in the StatementNode::hitStatement function and the KJS_BREAKPOINT macro.
(KJS::BreakpointCheckStatement::streamTo): Added.
(KJS::ArgumentListNode::evaluateList): Use KJS_CHECKEXCEPTIONVOID since the return
type is void.
(KJS::VarStatementNode::execute): Removed KJS_BREAKPOINT.
(KJS::BlockNode::BlockNode): Changed parameter type to SourceElements.
Changed code to use release since the class now contains a vector rather than
a vector point.
(KJS::BlockNode::optimizeVariableAccess): Updated since member is now a vector
rather than a vector pointer.
(KJS::BlockNode::execute): Ditto.
(KJS::ExprStatementNode::execute): Removed KJS_BREAKPOINT.
(KJS::IfNode::execute): Ditto.
(KJS::IfElseNode::execute): Ditto.
(KJS::DoWhileNode::execute): Ditto.
(KJS::WhileNode::execute): Ditto.
(KJS::ContinueNode::execute): Ditto.
(KJS::BreakNode::execute): Ditto.
(KJS::ReturnNode::execute): Ditto.
(KJS::WithNode::execute): Ditto.
(KJS::CaseClauseNode::optimizeVariableAccess): Updated since member is now a vector
rather than a vector pointer.
(KJS::CaseClauseNode::executeStatements): Ditto.
(KJS::SwitchNode::execute): Removed KJS_BREAKPOINT.
(KJS::ThrowNode::execute): Ditto.
(KJS::TryNode::execute): Ditto.
(KJS::ScopeNode::ScopeNode): Changed parameter type to SourceElements.
(KJS::ProgramNode::ProgramNode): Ditto.
(KJS::EvalNode::EvalNode): Ditto.
(KJS::FunctionBodyNode::FunctionBodyNode): Ditto.
(KJS::ScopeNode::optimizeVariableAccess): Updated since member is now a vector
rather than a vector pointer.
* kjs/nodes.h: Removed hitStatement. Renamed SourceElements to StatementVector.
Renamed SourceElementsStub to SourceElements and made it derive from
ParserRefCounted rather than from Node, hold a vector rather than a pointer to
a vector, and changed the release function to swap with another vector rather
than the pointer idiom. Updated BlockNode and CaseClauseNode to hold actual
vectors instead of pointers to vectors. Added BreakpointCheckStatement.
* kjs/nodes2string.cpp:
(KJS::statementListStreamTo): Changed to work on a vector instead of a pointer
to a vector.
(KJS::BlockNode::streamTo): Ditto.
(KJS::CaseClauseNode::streamTo): Ditto.
* wtf/AlwaysInline.h: Added NEVER_INLINE.
* wtf/PassRefPtr.h: Tweaked formatting. Added clear() function that matches the
ones in OwnPtr and auto_ptr.
* wtf/RefPtr.h: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28937
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 21 Dec 2007 20:17:26 +0000 (20:17 +0000)]
Reviewed by Steve and Darin.
<rdar://problem/
5497037> Win32: Accelerator keys (ctrl-x,c,v,w,q,etc) only fire keyUp,
keyDown/Press consumed by accelerator table (14104)
<rdar://problem/
5346299> preventing default behavior for key down does not block accelerators like Ctrl+N
This is WebKit part of a fix, most of which will be in Safari.
* WebView.cpp:
(WebViewWndProc): Return our result for WM_(SYS)KEYDOWN to let the client know whether
further procesing is desired.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28936
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 21 Dec 2007 15:36:13 +0000 (15:36 +0000)]
- fix broken regression tests
The broken tests were fast/js/do-while-expression-value.html and
fast/js/while-expression-value.html.
* kjs/nodes.cpp: Check in the correct version of this file. I had accidentally landed
an old version of my patch for bug 16471.
(KJS::statementListExecute): The logic here was backwards. Have to set the value
even for non-normal execution results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28935
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 21 Dec 2007 11:00:42 +0000 (11:00 +0000)]
Reviewed by Oliver.
<rdar://problem/
5629995> Incorrect display of Danish characters on web site.
Test: http/tests/xmlhttprequest/response-encoding.html
* xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData):
Default to UTF-8 for HTML, too. It's unfortunate that we have to use different
rules for main content and XHR responses, but this matches both IE and Firefox.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28934
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 21 Dec 2007 10:57:36 +0000 (10:57 +0000)]
Correct ChangeLog spelling.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28933
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 21 Dec 2007 10:55:28 +0000 (10:55 +0000)]
Build fix: cannot use framework-style include for ProgIDMacros.h,
because the file is only created on a leter step.
* ForEachCoClass.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28932
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Fri, 21 Dec 2007 09:09:12 +0000 (09:09 +0000)]
Buildbot fix for wx port.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28931
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 21 Dec 2007 07:40:53 +0000 (07:40 +0000)]
Windows build fix
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Copy npruntime_internal.h
to WebKitBuild.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28930
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 21 Dec 2007 07:21:20 +0000 (07:21 +0000)]
2007-12-17 Eric Seidel <eric@webkit.org>
Reviewed by mjs.
Split IfNode into IfNode and IfElseNode for speedup.
http://bugs.webkit.org/show_bug.cgi?id=16470
SunSpider claims this is 1.003x as fast as before.
(This required running with --runs 15 to get consistent enough results to tell!)
* kjs/grammar.y:
* kjs/nodes.cpp:
(KJS::IfNode::optimizeVariableAccess):
(KJS::IfNode::execute):
(KJS::IfNode::getDeclarations):
(KJS::IfElseNode::optimizeVariableAccess):
(KJS::IfElseNode::execute):
(KJS::IfElseNode::getDeclarations):
* kjs/nodes.h:
(KJS::IfNode::):
(KJS::IfElseNode::):
* kjs/nodes2string.cpp:
(KJS::IfNode::streamTo):
(KJS::IfElseNode::streamTo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28929
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jhoneycutt@apple.com [Fri, 21 Dec 2007 06:57:52 +0000 (06:57 +0000)]
2007-12-20 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/
5655797> REGRESSION(304-306A10) Safari does not find
shockwave plugin on freshly installed OS
Look for Director plugin in its native directory.
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::PluginDatabaseWin::getPluginsInPaths): The Director plugin
doesn't start with "np," so special case its filename.
(WebCore::addMacromediaPluginPaths): Add Flash and "Shockwave 10"
directories to the plugin paths.
(WebCore::PluginDatabaseWin::defaultPluginPaths):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28928
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 21 Dec 2007 06:07:45 +0000 (06:07 +0000)]
Reviewed by Oliver.
- fix <rdar://problem/
5658787> Selector -[WebView insertLineBreak:] is not implemented
* WebView/WebView.mm: Added all selectors implemented by WebHTMLView to the list of
selectors to forward here. The new ones are: changeBaseWritingDirection:, changeSpelling:,
deleteToMark:, insertLineBreak:, moveParagraphBackwardAndModifySelection:,
moveParagraphForwardAndModifySelection:, pageDownAndModifySelection:, pageUpAndModifySelection:,
selectToMark:, setMark:, swapWithMark:, takeFindStringFromSelection:, toggleBaseWritingDirection:,
and transpose:.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28927
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 21 Dec 2007 06:06:37 +0000 (06:06 +0000)]
Reviewed by Sam.
* wtf/OwnPtr.h:
(WTF::operator==): Added.
(WTF::operator!=): Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28926
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Fri, 21 Dec 2007 03:56:09 +0000 (03:56 +0000)]
2007-12-20 Peter Kasting <zerodpx@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16508
Fix regression in GIFImageDecoder.cpp: "Haeberli hack" led to wrongly
decoded transparent areas.
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::output_row):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28925
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin.garcia@apple.com [Fri, 21 Dec 2007 02:55:44 +0000 (02:55 +0000)]
WebCore:
Reviewed by Oliver Hunt.
<rdar://problem/
5543472> GoogleDocs: Safari hangs when creating a list from a particular selection
Still need to fix similar issues with the other operations that iterate
over selected paragraphs, like FormatBlock, Indent and Outdent (<rdar://problem/
5658933>).
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::indentRegion): Added a FIXME.
* editing/IndentOutdentCommand.h: Removed an unused function.
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::modifyRange):
Renamed visibleStart to startOfSelection and visibleEnd to endOfSelection.
Call the new selectionForParagraphIteration, which a) prevents operations like this
one from being performed on a table that isn't fully selected (where the selection
starts just before the table and ends inside it), and b) helps prevent paragraph
iteration from going past the end of the selection.
Call the new startOfNextParagraph, instead of using endOfParagraph(v).next(),
since when v is in the last paragraph of the last cell of a table, that expression
will return the position after the table, not the start of the next paragraph.
* editing/htmlediting.cpp:
(WebCore::enclosingListChild): Don't go above a table cell, so that list operations
take effect inside the table cell where they are performed.
(WebCore::selectionForParagraphIteration): Added, see above.
(WebCore::indexForVisiblePosition): Moved from IndentOutdentCommand.cpp.
* editing/htmlediting.h:
* editing/visible_units.cpp:
(WebCore::startOfNextParagraph): Added, see above.
* editing/visible_units.h:
* editing/TextIterator.h:
(WebCore::TextIterator::exitNode): Added a FIXME.
LayoutTests:
Reviewed by Oliver Hunt.
<rdar://problem/
5543472> GoogleDocs: Safari hangs when creating a list from a particular selection
* editing/execCommand/
5543472-1-expected.txt: Added.
* editing/execCommand/
5543472-1.html: Added.
* editing/execCommand/
5543472-2-expected.txt: Added.
* editing/execCommand/
5543472-2.html: Added.
* editing/execCommand/
5543472-3-expected.txt: Added.
* editing/execCommand/
5543472-3.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28924
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Fri, 21 Dec 2007 02:18:11 +0000 (02:18 +0000)]
Reviewed by Oliver Hunt.
AST optimization: Avoid NULL-checking ForNode's child nodes.
0.6% speedup on SunSpider.
This is a proof of concept patch that demonstrates how to optimize
grammar productions with optional components, like
for (optional; optional; optional) {
...
}
The parser emits NULL for an optional component that is not present.
Instead of checking for a NULL child at execution time, a node that
expects an optional component to be present more often than not checks
for a NULL child at construction time, and substitutes a viable
alternative node in its place.
(We'd like the parser to start emitting NULL a lot more once we teach
it to emit NULL for certain no-op productions like EmptyStatement and
VariableStatement, so, as a foundation, it's important for nodes with
NULL optional components to be fast.)
* kjs/Parser.cpp:
(KJS::Parser::didFinishParsing): Check for NULL SourceElements. Also,
moved didFinishParsing into the .cpp file because adding a branch while
it was in the header file caused a substantial and inexplicable
performance regression. (Did I mention that GCC is crazy?)
* kjs/grammar.y:
* kjs/nodes.cpp:
(KJS::BlockNode::BlockNode): Check for NULL SourceElements.
(KJS::ForNode::optimizeVariableAccess): No need to check for NULL here.
(KJS::ForNode::execute): No need to check for NULL here.
* kjs/nodes.h:
(KJS::ForNode::): Check for NULL SourceElements. Substitute a TrueNode
because it's semantically harmless, and it evaluates to boolean in an
efficient manner.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28923
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 21 Dec 2007 01:31:13 +0000 (01:31 +0000)]
Reviewed by John Sullivan.
- reorganize skipped test list
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28922
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Fri, 21 Dec 2007 00:33:46 +0000 (00:33 +0000)]
2007-12-20 Alp Toker <alp@atoker.com>
Rubber-stamped by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16542
[GTK] Text is missing with old Pango version
Back out commits r28880, r28876, r28865, r28864 which added Pango font
selection support. These changes caused a regression where no text was
displayed with older Pango versions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28921
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 21 Dec 2007 00:24:14 +0000 (00:24 +0000)]
2007-12-20 Eric Seidel <eric@webkit.org>
Reviewed by mjs.
* sunspider: increase default number of runs for more accurate numbers
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28920
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Thu, 20 Dec 2007 23:59:11 +0000 (23:59 +0000)]
ChangeLog entry corrections
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28919
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Thu, 20 Dec 2007 23:46:37 +0000 (23:46 +0000)]
Reviewed by Sam Weinig.
<rdar://problem/
5604897> Double-clicking on JavaScript console error
won't show the line where it occurred
Make the URLs clickable in the console, since double clicking is used for
word text selection. Makes the word "line" localizable. Messages that don't
have a URL will no longer print "undefined". Messages that have a line number
less than or equal to 0 will no longer be printed.
* English.lproj/InspectorLocalizedStrings.js: Add "%s (line %d)".
* page/inspector/ConsolePanel.js: Tweak how the DOM nodes are created
and change the click handler to look for a link with the
"console-message-url" class name.
* page/inspector/SourcePanel.js: Call setupSourceFrameIfNeeded() if a
line row is needed.
* page/inspector/inspector.css: Update the look of the URL in the console.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28918
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 20 Dec 2007 23:43:39 +0000 (23:43 +0000)]
2007-12-20 Eric Seidel <eric@webkit.org>
Reviewed by mjs.
Fix major Array regression introduced by 28899.
SunSpider claims this is at least 1.37x as fast as pre-regression. :)
* kjs/array_instance.cpp: make Array's fast again!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28917
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Thu, 20 Dec 2007 23:39:39 +0000 (23:39 +0000)]
Slight logic reordering in JSImmediate::from(double)
Reviewed by Geoff.
This gives a 0.1% improvement in SunSpider.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28916
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 20 Dec 2007 22:46:41 +0000 (22:46 +0000)]
2007-12-20 Eric Seidel <eric@webkit.org>
Reviewed by Geoff, then re-rubber-stamped by Geoff after final search/replace and testing.
Small reworking of Date code for 4% speedup on Date tests (0.2% overall)
http://bugs.webkit.org/show_bug.cgi?id=16537
Make msToYear human-readable
Make msToDayInMonth slightly more readable and avoid recalculating msToYear
Remove use of isInLeapYear to avoid calling msToYear
Remove dayInYear call by changing msToDayInMonth to dayInMonthFromDayInYear
Remove more duplicate calls to dayInYear and getUTCOffset for further speedup
* kjs/DateMath.cpp:
(KJS::daysFrom1970ToYear):
(KJS::msToYear):
(KJS::monthFromDayInYear):
(KJS::checkMonth):
(KJS::dayInMonthFromDayInYear):
(KJS::dateToDayInYear):
(KJS::getDSTOffsetSimple):
(KJS::getDSTOffset):
(KJS::gregorianDateTimeToMS):
(KJS::msToGregorianDateTime):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28913
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 20 Dec 2007 22:39:51 +0000 (22:39 +0000)]
WebCore:
Reviewed and landed by Sam Weinig.
http://bugs.webkit.org/show_bug.cgi?id=15313
<rdar://problem/
5514516>
The same-origin check was incorrect in two cases (both fixed in this
patch):
A) If both the source and the target have set their document.domain
to the same value, the protocol must also match in order for
access to be allowed. Without this requirement, the browser is
vulnerable to the following attack:
1) Suppose there is an HTTPS site (www.example.com) that sets
document.domain = "example.com".
2) A network attacker redirects the browser to http://www.example.com/
a) injects script to set document.domain = "example.com", and
b) opens a window to https://www.example.com/
3) Now the network attacker can inject script into the HTTPS page,
stealing cookies and issuing banking transactions.
B) If only one of the source and target has set document.domain, then
access should be denied. With this behavior, the browser is
vulnerable to the following attack:
1) Suppose http://foo.example.com/ opens an iframe to
http://foo.example.com/frame.html that
a) sets document.domain = "example.com", and
b) opens an iframe to http://bar.example.com/
This is a common usage of document.domain for cross-domain
communication, see for example:
http://www.collinjackson.com/research/papers/fp801-jackson.pdf
2) The inner-most iframe, which is from bar.example.com, sets
document.domain = "example.com".
3) Now the inner-most iframe can inject script into the middle
iframe (say via document.write). This bar.example.com script
now has access to the outer-most frame (from foo.example.com).
Both these changes cause WebKit to match the behavior of Firefox 2 and
IE6 in these cases. This patch includes regression tests for both
issues.
Internet Explorer 7 and Opera 9 are more strict in that they require
the port numbers to match when both pages have document.domain set.
Opera 9 allows access when only one page has set document.domain, but
this is a security vulnerability.
Tests: http/tests/security/cross-frame-access-child-explicit-domain.html
http/tests/security/cross-frame-access-parent-explicit-domain.html
* bindings/js/kjs_window.cpp:
(KJS::createWindow):
(KJS::Window::allowsAccessFrom):
* dom/Document.cpp:
(WebCore::Document::domain):
(WebCore::Document::setDomain):
(WebCore::Document::initSecurityOrigin):
* dom/Document.h:
(WebCore::Document::securityOrigin):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::begin):
(WebCore::FrameLoader::checkCallImplicitClose):
(WebCore::FrameLoader::shouldAllowNavigation):
* platform/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::setForURL):
(WebCore::SecurityOrigin::createForFrame):
(WebCore::SecurityOrigin::canAccess):
* platform/SecurityOrigin.h:
(WebCore::SecurityOrigin::domain):
* storage/Database.cpp:
(WebCore::Database::openDatabase):
(WebCore::Database::Database):
(WebCore::Database::securityOriginData):
* storage/Database.h:
(WebCore::Database::databaseDebugName):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
LayoutTests:
Reviewed and landed by Sam Weinig.
Update LayoutTests for http://bugs.webkit.org/show_bug.cgi?id=15313
* http/tests/security/cross-frame-access-child-explicit-domain-expected.txt: Added.
* http/tests/security/cross-frame-access-child-explicit-domain.html: Added.
* http/tests/security/cross-frame-access-custom-expected.txt:
* http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt: Added.
* http/tests/security/cross-frame-access-parent-explicit-domain.html: Added.
* http/tests/security/cross-frame-access-port-explicit-domain-expected.txt:
* http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
* http/tests/security/cross-frame-access-protocol-explicit-domain.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28912
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 20 Dec 2007 22:17:42 +0000 (22:17 +0000)]
2007-12-20 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Darin Adler.
Proxy includes of npruntime.h or npapi.h through npruntime_internal.h
Include stdio.h in npapi.h for the use of FILE with XP_UNIX defined
This is for building with X11, as some type and enum names conflict
with #define names in X11 headers.
http://bugs.webkit.org/show_bug.cgi?id=15669
* JavaScriptCore.xcodeproj/project.pbxproj:
* bindings/NP_jsobject.h:
* bindings/npapi.h:
* bindings/npruntime.cpp:
* bindings/npruntime_impl.h:
* bindings/npruntime_priv.h:
* bindings/npruntime_internal.h:
* bindings/testbindings.cpp:
* bindings/c/c_class.h:
* bindings/c/c_runtime.h:
* bindings/c/c_utility.h:
2007-12-20 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Darin Adler.
Define XP_UNIX when building with plugins on X11.
Use new npruntime_internal.h instead of npruntime.h.
http://bugs.webkit.org/show_bug.cgi?id=15669
* ForwardingHeaders/bindings/npruntime_internal.h
* WebCore.pro:
* html/HTMLPlugInElement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28911
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Thu, 20 Dec 2007 22:16:56 +0000 (22:16 +0000)]
WebKit/win:
Reviewed by Steve.
- <rdar://
5656485> Drosera: Win: Nightly does not reliably connect to
WebKit.
- Drosera and Safari need to use the same ProgIDs in order for
CoCreateInstance to work properly. The most robust way to do this is
for WebKit to dynamically publish those ProgIDs.
* ForEachCoClass.cpp: Added.
(setUseOpenSourceWebKit):
(progIDForClass):
* ForEachCoClass.h: Added functionality to publish ProgIDs.
* WebKit.vcproj/WebKit.def: Exposed added functions for applications.
* WebKit.vcproj/WebKit.vcproj: Added ForEachCoClass.cpp
* WebKit.vcproj/WebKit_debug.def: Exposed added functions fori
applications.
WebKitTools:
Reviewed by Steve.
- <rdar://
5656485> Drosera: Win: Nightly does not reliably connect to
WebKit.
- Drosera and Safari need to use the same ProgIDs in order for
CoCreateInstance to work properly. The most robust way to do this is
for WebKit to dynamically publish those ProgIDs.
* Drosera/win/DebuggerClient.cpp: Use the published ProgIDs
(DebuggerClient::createWebViewWithRequest):
* Drosera/win/Drosera.cpp: Use the published ProgIDs and rename some
statics.
(Drosera::initUI):
(Drosera::attach):
(Drosera::attemptToCreateServerConnection):
* Drosera/win/Drosera.vcproj/Drosera.vcproj: Fix a runtime failure.
* Drosera/win/ServerConnection.cpp: Reformat the connection function and
make use of the published ProgIDs.
(ServerConnection::attemptToCreateServerConnection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28910
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
slewis@apple.com [Thu, 20 Dec 2007 22:10:45 +0000 (22:10 +0000)]
revert script check-ins that I didn't mean to commit
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28909
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
slewis@apple.com [Thu, 20 Dec 2007 22:05:15 +0000 (22:05 +0000)]
- fix bugs.webkit.org/show_bug.cgi?id=16179 | <rdar://problem/
5619399>
Any attribute name start with a unicode which like #xx00(x could be any hex number[0-9a-f]) will cause HTMLTokenizer parse error
Actually any unicode characters which great than 255 in attribute name will cause Webkit parse the attribute name wrong. So after comparing
the same scenario in IE 6/7, FireFox 2/3, Opera, we should treat those characters as part of attribute name.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseEntity): Handle Unicode Entity Name by using ASCII version of findEntity.
(WebCore::HTMLTokenizer::parseTag): Let type of ptr match type of cBuffer.
* html/HTMLTokenizer.h: Change type of cBuffer from char to UChar.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28908
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 20 Dec 2007 21:57:18 +0000 (21:57 +0000)]
- re-fix bugs.webkit.org/show_bug.cgi?id=16471
Completions need to be smaller (or not exist at all)
Same patch as last time with the test failures problem fixed.
* kjs/function.cpp:
(KJS::GlobalFuncImp::callAsFunction): Make sure to check the completion
type from newExec to see if the execute raised an exception.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28907
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker@apple.com [Thu, 20 Dec 2007 21:06:54 +0000 (21:06 +0000)]
Reviewed by Anders.
Fixed: <rdar://problem/
5638288> REGRESSION: Flash movies show up in other tabs above the page (16373)
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView updateAndSetWindow]): QuickDraw plug-ins must manually be told when to stop
writing to the window backing store. The problem was that change-set 28400 introduced an early return
which prevented this necessary operation. The fix is to limit the scope of the early return to CG and GL
plug-ins and to tweak the needsFocus check to prevent an exception from occurring in QuickDraw-based plug-ins.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28902
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Thu, 20 Dec 2007 21:01:39 +0000 (21:01 +0000)]
- <rdar://problem/
5658317> REGRESSION: 20+ leaks seen on buildbots.
- Build bot and leak fix.
* DumpRenderTree/LayoutTestController.cpp:
(pathToLocalResourceCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28901
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 20 Dec 2007 20:33:42 +0000 (20:33 +0000)]
- roll out that last change -- it was causing test failures;
I'll check it back in after fixing them
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28899
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 20 Dec 2007 19:21:05 +0000 (19:21 +0000)]
2007-12-20 Eric Seidel <eric@webkit.org>
Reviewed by Nikolas Zimmermann.
WebKit claims to support SVG feature strings it shouldn't
http://bugs.webkit.org/show_bug.cgi?id=15480
* dom/DOMImplementation.cpp:
(WebCore::isSVG10Feature):
(WebCore::isSVG11Feature):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28891
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan@apple.com [Thu, 20 Dec 2007 18:49:23 +0000 (18:49 +0000)]
Reviewed by Oliver and Geoff
- fix <rdar://problem/
5536858> Yellow highlight for find results is sometimes shorter
than white "hole" behind it
* rendering/RenderText.cpp:
(WebCore::RenderText::addLineBoxRects):
respect useSelectionHeight in all cases; we were only respecting it in one of the two cases
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28890
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 20 Dec 2007 18:28:50 +0000 (18:28 +0000)]
Reviewed by Darin Adler.
- fix <rdar://problem/
5656368> REGRESSION(3.0.4-ToT): Acid2 test fails to render anything
* platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::maximumScroll): Changed back to return the maximum
scroll offsets even if scrolling is not allowed, because navigation and
scrollTo should still work.
(WebCore::ScrollView::wheelEvent): Added early return if scrolling is
not allowed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28889
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Thu, 20 Dec 2007 18:09:31 +0000 (18:09 +0000)]
2007-12-17 Tony Chang <idealisms@gmail.com>
Reviewed by Darin.
- Fix for http://bugs.webkit.org/show_bug.cgi?id=16479
text selection does not always begin at mouse down point
Reset the m_dragSrc object on mouse down on all platforms.
Test: fast/text/reset-drag-on-mouse-down.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28888
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 20 Dec 2007 17:42:50 +0000 (17:42 +0000)]
Reviewed by Eric.
- http://bugs.webkit.org/show_bug.cgi?id=16471
Completions need to be smaller (or not exist at all)
SuSpider shows 2.4% speedup.
Stop using completions in the execution engine.
Instead, the completion type and label target are both
stored in the ExecState.
* API/JSContextRef.cpp: Removed unneeded include of "completion.h".
* bindings/runtime_method.cpp: Removed unused execute function.
* bindings/runtime_method.h: Ditto.
* kjs/ExecState.h: Added completionType, breakOrContinueTarget,
setCompletionType, setNormalCompletion, setBreakCompletion,
setContinueCompletion, setReturnValueCompletion, setThrowCompletion,
setInterruptedCompletion, m_completionType, and m_breakOrContinueTarget.
* kjs/completion.h: Removed constructor and getter for target
for break and continue from Completion. This class is now only
used for the public API to Interpreter and such.
* kjs/date_object.h: Removed unused execute function.
* kjs/function.cpp:
(KJS::FunctionImp::callAsFunction): Removed some unneeded
exception processing. Updated to call the new execute function
and to get the completion type from the ExecState. Merged in
the execute function, which repeated some of the same logic and
was called only from here.
(KJS::GlobalFuncImp::callAsFunction): More of the same for eval.
* kjs/function.h: Removed execute.
* kjs/interpreter.cpp:
(KJS::Interpreter::evaluate): Added code to convert the result of
execut into a Completion.
* kjs/nodes.cpp:
(KJS::Node::setErrorCompletion): Renamed from createErrorCompletion.
Now sets the completion type in the ExecState.
(KJS::Node::rethrowException): Now sets the completion type in the
ExecState.
(KJS::StatementNode::hitStatement): Now sets the completion type in
the ExecState.
(KJS::VarStatementNode::execute): Updated to put completion type in
the ExecState instead of a Completion object.
(KJS::statementListExecute): Ditto. Also changed the for loop to use
indices instead of iterators.
(KJS::BlockNode::execute): Updated return type.
(KJS::EmptyStatementNode::execute): Updated to put completion type in
the ExecState instead of a Completion object.
(KJS::ExprStatementNode::execute): Ditto.
(KJS::IfNode::execute): Ditto.
(KJS::DoWhileNode::execute): Ditto. Also streamlined the logic a little
to make the normal case a little faster and moved the end outside the
loop so that "break" can do a break.
(KJS::WhileNode::execute): Ditto.
(KJS::ForNode::execute): Ditto.
(KJS::ForInNode::execute): Ditto.
(KJS::ContinueNode::execute): Updated to put completion type in
the ExecState instead of a Completion object.
(KJS::BreakNode::execute): Ditto.
(KJS::ReturnNode::execute): Ditto.
(KJS::WithNode::execute): Ditto.
(KJS::CaseClauseNode::executeStatements): Ditto. Also renamed to have
execute in its name to reflect the fact that it's a member of the same
family of functions.
(KJS::CaseBlockNode::executeBlock): Ditto.
(KJS::SwitchNode::execute): Ditto.
(KJS::LabelNode::execute): Ditto.
(KJS::ThrowNode::execute): Ditto.
(KJS::TryNode::execute): Ditto.
(KJS::ProgramNode::execute): Ditto.
(KJS::EvalNode::execute): Ditto.
(KJS::FunctionBodyNode::execute): Ditto.
(KJS::FuncDeclNode::execute): Ditto.
* kjs/nodes.h: Renamed setErrorCompletion to createErrorCompletion, made
hitStatement protected, changed return value of execute to a JSValue,
renamed evalStatements to executeStatements, and evalBlock to executeBlock.
* kjs/number_object.h: Removed unused execute function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28887
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 20 Dec 2007 10:31:23 +0000 (10:31 +0000)]
Added Radar number.
* kjs/nodes.cpp:
(KJS::ProgramNode::processDeclarations):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28886
268f45cc-cd09-0410-ab3c-
d52691b4dbfc