darin@apple.com [Mon, 5 Jan 2009 07:25:22 +0000 (07:25 +0000)]
WebCore:
2009-01-04 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
Bug 23105: canvas setFillColor function ignores alpha argument
https://bugs.webkit.org/show_bug.cgi?id=23105
Test: fast/canvas/set-colors.html
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFillColor): Pass alpha value through instead
of ignoring it and always passing 1.
* html/CanvasStyle.cpp:
(WebCore::CanvasStyle::applyStrokeColor): Fix spelling of transparent in comments.
(WebCore::CanvasStyle::applyFillColor): Ditto.
LayoutTests:
2009-01-04 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
Bug 23105: canvas setFillColor function ignores alpha argument
https://bugs.webkit.org/show_bug.cgi?id=23105
* fast/canvas/resources/set-colors.js: Added.
* fast/canvas/set-colors-expected.txt: Added.
* fast/canvas/set-colors.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39595
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 5 Jan 2009 05:41:10 +0000 (05:41 +0000)]
2009-01-04 Darin Adler <darin@apple.com>
Bug 23086: REGRESSION(r39540/r39541): Windows build fails due to ICU errors
https://bugs.webkit.org/show_bug.cgi?id=23086
* editing/TextIterator.cpp: Check UCONFIG_NO_COLLATION and don't compile
in the new search path if it's 0.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39594
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alice.liu@apple.com [Mon, 5 Jan 2009 00:18:53 +0000 (00:18 +0000)]
2009-01-04 Alice Liu <alice.liu@apple.com>
<rdar://problem/6341776> Merge m_transitionCount and m_offset in Structure.
Reviewed by Darin Adler.
* runtime/Structure.cpp:
(JSC::Structure::Structure): Remove m_transitionCount
(JSC::Structure::addPropertyTransitionToExistingStructure): No need to wait until after the assignment to offset to assert if it's notFound; move it up.
(JSC::Structure::addPropertyTransition): Use method for transitionCount instead of m_transitionCount. Remove line that maintains the m_transitionCount.
(JSC::Structure::changePrototypeTransition): Remove line that maintains the m_transitionCount.
(JSC::Structure::getterSetterTransition): Remove line that maintains the m_transitionCount.
* runtime/Structure.h:
Changed s_maxTransitionLength and m_offset from size_t to signed char. m_offset will never become greater than 64
because the structure transitions to a dictionary at that time.
(JSC::Structure::transitionCount): method to replace the data member
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39593
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sun, 4 Jan 2009 21:09:57 +0000 (21:09 +0000)]
Don't install internal headers in WebKit framework
Reviewed by Darin Adler.
WebKit:
* WebKit.xcodeproj/project.pbxproj: Remove roles from internal
headers so they're not installed.
WebKitTools:
Since WebHTMLRepresentationInternal.h and WebTypesInternal.h are
no longer installed in WebKit.framework/PrivateHeaders, use the
special relationship of DumpRenderTree within the WebKit source
tree to include the internal headers through relative paths.
Created the concept of mac/InternalHeaders to hide the ugly
paths.
* DumpRenderTree/mac/Configurations/Base.xcconfig: Added
mac/InternalHeaders to HEADER_SEARCH_PATHS.
* DumpRenderTree/mac/InternalHeaders/WebKit/WebHTMLRepresentationInternal.h: Added.
* DumpRenderTree/mac/InternalHeaders/WebKit/WebTypesInternal.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39592
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 4 Jan 2009 20:14:24 +0000 (20:14 +0000)]
Fixed change log entry dates.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39591
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sun, 4 Jan 2009 19:57:23 +0000 (19:57 +0000)]
Don't install *.idl and *.in files as resources
Reviewed by Oliver Hunt.
Don't install these files as resources in the WebCore framework:
- WMLAttributeNames.in
- WMLTagNames.in
- WorkerContext.idl
- WorkerLocation.idl
- WorkerNavigator.idl
* WebCore.xcodeproj/project.pbxproj: Removed resources.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39590
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Sun, 4 Jan 2009 19:10:35 +0000 (19:10 +0000)]
2009-01-04 Simon Fraser <simon.fraser@apple.com>
Fix the expected image to account for a typo fix done on 2008-12-23.
* platform/mac/fast/transforms/identity-matrix-expected.checksum:
* platform/mac/fast/transforms/identity-matrix-expected.png:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39589
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Sun, 4 Jan 2009 18:38:35 +0000 (18:38 +0000)]
2009-01-04 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler
https://bugs.webkit.org/show_bug.cgi?id=23090
If an object gets a Layout hint, and the style change will result in
the creation of a RenderLayer, then we need to repaint the old position
of the object. This was done for transform, but we have to test opacity too.
Test: fast/repaint/create-layer-repaint.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::styleWillChange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39588
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 4 Jan 2009 18:24:38 +0000 (18:24 +0000)]
2009-01-04 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Bug 23103: Safari's auto-fill no longer works for <select> elements
https://bugs.webkit.org/show_bug.cgi?id=23103
rdar://problem/6472061
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLSelectElement _activateItemAtIndex:]): Implemented this.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39587
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 4 Jan 2009 18:23:56 +0000 (18:23 +0000)]
Fixed change log entry dates.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39586
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 4 Jan 2009 18:00:58 +0000 (18:00 +0000)]
2009-01-04 Darin Adler <darin@apple.com>
Reviewed by David Kilzer.
Bug 15114: Provide compile-time assertions for sizeof(UChar), sizeof(DeprecatedChar), etc.
https://bugs.webkit.org/show_bug.cgi?id=15114
* wtf/unicode/Unicode.h: Assert size of UChar. There is no DeprecatedChar any more.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39585
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
treat@webkit.org [Sun, 4 Jan 2009 17:39:25 +0000 (17:39 +0000)]
Add new API to QWebHitTestResult to return a rect for the smallest enclosing
block element of the hit test
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39584
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
treat@webkit.org [Sun, 4 Jan 2009 17:28:48 +0000 (17:28 +0000)]
Make the apple windows port build with the new fixedLayoutSize feature
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39583
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
treat@webkit.org [Sun, 4 Jan 2009 17:26:01 +0000 (17:26 +0000)]
Make the gtk port build with the new fixedLayoutSize feature
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39582
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
treat@webkit.org [Sun, 4 Jan 2009 17:25:53 +0000 (17:25 +0000)]
Make the qt port build and work with the new fixedLayoutSize feature
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39581
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
treat@webkit.org [Sun, 4 Jan 2009 17:25:30 +0000 (17:25 +0000)]
Add fixedLayoutSize feature to ScrollView to allow for controlling the
layout beyond the constraint of the current viewports dynamic size
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39580
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 4 Jan 2009 14:26:01 +0000 (14:26 +0000)]
2009-01-04 Darin Adler <darin@apple.com>
Suggested by Dan Bernstein.
* platform/mac/editing/selection/move-left-right-expected.txt: Remove WARNING lines that are no
longer showing up. Dan said he didn't know why we were seeing those before and why they're gone
now, but it's good that they're gone.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39579
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 4 Jan 2009 14:12:53 +0000 (14:12 +0000)]
2009-01-03 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Bug 23095: REGRESSION: fast/text/find-case-folding.html regression test failing when ICU used for text search
https://bugs.webkit.org/show_bug.cgi?id=23095
* fast/text/find-case-folding.html: Work around this ICU bug in the test for now.
Later we might want to work around it in our search code instead, or in addition,
if we can figure out how to do that.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39578
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sun, 4 Jan 2009 06:19:44 +0000 (06:19 +0000)]
2009-01-03 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Change the pcVector from storing native code pointers to storing offsets
from the base pointer. This will allow us to generate the pcVector on demand
for exceptions.
* bytecode/CodeBlock.h:
(JSC::PC::PC):
(JSC::getNativePCOffset):
(JSC::CodeBlock::getBytecodeIndex):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39577
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sun, 4 Jan 2009 03:22:53 +0000 (03:22 +0000)]
Bug 23091: Some webarchive http tests intermittently fail due to Connection/Keep-Alive header differences
<https://bugs.webkit.org/show_bug.cgi?id=23091>
Reviewed by Darin Adler.
WebKitTools:
* DumpRenderTree/mac/DumpRenderTree.mm:
(normalizeHTTPResponseHeaderFields): Remove Keep-Alive and
Connection headers from webarchive results.
LayoutTests:
Updated test results after removing Keep-Alive and Connection
headers from webarchive tests.
* http/tests/webarchive/test-css-url-encoding-expected.webarchive:
* http/tests/webarchive/test-css-url-encoding-shift-jis-expected.webarchive:
* http/tests/webarchive/test-css-url-encoding-utf-8-expected.webarchive:
* http/tests/webarchive/test-preload-resources-expected.webarchive:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39576
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Sat, 3 Jan 2009 19:52:56 +0000 (19:52 +0000)]
[GTK] Fix the reference counting of WebKitWebFrames
The ownership is the following: WebKitWebView owns a WebCore::Page.
WebKitWebView is creating one WebKitWebFrame which will be the
mainFrame of the WebCore::Page (having the reference on the Frame).
The FrameLoaderClient has the reference of the WebKitWebFrame for
the main frame and also any other frame. This means when the
WebCore::Frame goes away the FrameLoaderClient will go away which
will normally remove the last reference of the WebKitWebFrame. Because
an API user might have g_object_ref'ed the WebKitWebFrame null
checks had to be added to WebKitWebFrame.
For WebCore::Frames created by the FrameLoaderClient the ownership
will be passed down to the FrameTree, the WebKitWebFrame is not holding
a reference to the WebCore::Frame.
Do not g_object_unref the mainFrame in the destructor of the
WebKitWebFrame as this will happen from within the WebCore::Page
destruction. Do not hold a reference to the WebCore::Frame (circle) in
WebKitWebFrame, add null checks as the WebCore::Frame might have gone
away. Do not keep track of the FrameLoaderClient in the private
structures as it was mostly unusued.
https://bugs.webkit.org/show_bug.cgi?id=21837
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39575
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis@webkit.org [Sat, 3 Jan 2009 16:48:24 +0000 (16:48 +0000)]
Reviewed by Darin.
https://bugs.webkit.org/show_bug.cgi?id=22660
SVG elements that are moved are nor fully invalidated/earsed
Mark the SVG root as needing a layout when its position changes.
Tests: svg/custom/circle-move-invalidation.svg
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39574
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Sat, 3 Jan 2009 08:21:52 +0000 (08:21 +0000)]
Build fix.
* loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39573
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sat, 3 Jan 2009 05:23:26 +0000 (05:23 +0000)]
Build fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39572
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sat, 3 Jan 2009 04:36:40 +0000 (04:36 +0000)]
Build fix. Include FrameState.h
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39571
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Sat, 3 Jan 2009 03:08:13 +0000 (03:08 +0000)]
Build fix. Include FrameState.h
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39570
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 3 Jan 2009 02:35:55 +0000 (02:35 +0000)]
2009-01-02 Cary Clark <caryclark@google.com>
Reviewed and landed by Darin Adler.
Bug 22963: write icons before reading them
https://bugs.webkit.org/show_bug.cgi?id=22963
Reverse the order in the icon database main thread loop to
write the pending icons to the database before trying
to read any requested icons. This ensures that a requested icon
has the correct data when read.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::syncThreadMainLoop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39569
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 3 Jan 2009 02:33:11 +0000 (02:33 +0000)]
2009-01-02 Darin Adler <darin@apple.com>
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadItem): One small thing I forgot in my last check-in.
This cuts down on the number of hash table operations during loading.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39568
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 3 Jan 2009 02:27:33 +0000 (02:27 +0000)]
2009-01-02 Dmitry Titov <dimich@chromium.org>
Reviewed and landed by Darin.
https://bugs.webkit.org/show_bug.cgi?id=23025
DOMTimer lifetime cleanup: timeoutMap methods on Document now do not delete the timer.
Instead, all 3 places that delete timers do it directly calling 'delete' and then timer's dtor removes the ID from the timeoutMap.
Note that in case the context is destroyed and timers are deleted at once, the check in ~DOMTimer() prevents
unnecessary HashMap remove in case the Document is being destroyed.
* bindings/js/DOMTimer.cpp:
(WebCore::DOMTimer::~DOMTimer): removes the id from the timeoutMap.
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::removeById): simply uses 'delete this'.
(WebCore::DOMTimer::fired): same.
(WebCore::DOMTimer::contextDestroyed): same.
* dom/Document.cpp:
(WebCore::Document::removeTimeout): now it only removes the id from the map, does not delete the timer.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39567
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 3 Jan 2009 02:04:30 +0000 (02:04 +0000)]
WebCore:
2009-01-02 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears
inside its web view when resizing its window
https://bugs.webkit.org/show_bug.cgi?id=23072
rdar://problem/6368028
The first attempt at fixing this did not work.
This time I was able to reproduce the bug and test the fix.
Bug 11212: REGRESSION: Activity window doesn't always list all files until refresh
https://bugs.webkit.org/show_bug.cgi?id=11212
rdar://problem/4959702
I had to fix this second bug because otherwise the WebKit code to trigger the first
fix didn't run.
Also fixes memory use that kept growing as we maintained a set of all URLs loaded in
a particular frame. Bad idea! It's bad enough that we do it for each document, but
the old version kept the set around forever as you moved from one document to the next.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseMappedAttribute): Change this so that we allow
turning off scrolling when the quirk is enabled. We just don't allow turning it on.
This fixes one of the two problems with the initial patch; the other fix is in WebKit.
* loader/DocumentLoader.h: Moved didTellClientAboutLoad and haveToldClientAboutLoad
here from FrameLoader. The old way meant that a given frame would forever remember
the URL of any resources loaded in that frame and never send any "loaded from cache"
client calls about those URLs.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously): Removed call to didTellCientAboutLoad.
This is now handled by dispatchWillSendRequest, which is safer since that's the actual
function that tells the client about the load.
(WebCore::FrameLoader::loadedResourceFromMemoryCache): Changed calls to
haveToldClientAboutLoad and didTellClientAboutLoad to call the document loader.
Also removed the call in the case where we don't load from the cache, since
dispatchWillSendRequest now takes care of it.
(WebCore::FrameLoader::dispatchWillSendRequest): Put calls to didTellClientAboutLoad
here. Call it both on the URL we pass in and the URL the client returns; we won't
tell the client about either if it's loaded from the memory cache.
* loader/FrameLoader.h: Removed didTellClientAboutLoad, haveToldClientAboutLoad, and
m_urlsClientKnowsAbout.
* loader/SubresourceLoader.cpp: Removed unneeded load function that called
didTellClientAboutLoad. That's now taken care of in dispatchWillSendRequest.
* loader/SubresourceLoader.h: Removed load function. Also made all members private
except for create and clearClient.
WebKit/mac:
2009-01-02 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears
inside its web view when resizing its window
https://bugs.webkit.org/show_bug.cgi?id=23072
rdar://problem/6368028
The first attempt at fixing this did not work.
This time I was able to reproduce the bug and test the fix.
* WebCoreSupport/WebFrameLoaderClient.mm:
(applyAppleDictionaryApplicationQuirkNonInlinePart): Changed the arguments and
function names around a bit to make even less code at the call site.
(applyAppleDictionaryApplicationQuirk): Put the check for whether this is the
Dictionary application in here.
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): Put a call to
applyAppleDictionaryApplicationQuirk here. This was a case I had missed before,
when the script is cached. This fixes one of the two problems with the initial
patch; the other fix is in WebCore.
(WebFrameLoaderClient::dispatchWillSendRequest): Changed the
applyAppleDictionaryApplicationQuirk call here to work the new simpler way.
* WebView/WebView.mm: Had to add an include due to changes in WebCore header includes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39566
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 3 Jan 2009 01:13:34 +0000 (01:13 +0000)]
Set the svn:mime-type property of recently-added PNG files to image/png.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39565
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Sat, 3 Jan 2009 01:06:11 +0000 (01:06 +0000)]
2009-01-02 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler
https://bugs.webkit.org/show_bug.cgi?id=23082
Fix GIF animation by ensuring that the signature of
startAnimation() in the base class matches the method in BitmapImage.
Test: fast/backgrounds/animated-gif-as-background.html
* platform/graphics/Image.h:
(WebCore::Image::startAnimation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39564
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dsmith@webkit.org [Sat, 3 Jan 2009 00:25:59 +0000 (00:25 +0000)]
JavaScriptCore:
2009-01-02 David Smith <catfish.man@gmail.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=22699
Enable NodeList caching for getElementsByTagName
* wtf/HashFunctions.h: Moved the definition of PHI here and renamed to stringHashingStartValue
WebCore:
2009-01-02 David Smith <catfish.man@gmail.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=22699
Enable NodeList caching for getElementsByTagName
test: fast/dom/getelementsbytagnamens-mixed-namespaces.html
* dom/Document.cpp:
(WebCore::FormElementKeyHash::hash): Use WTF::stringHashingStartValue
* dom/Node.cpp:
(WebCore::Node::getElementsByTagNameNS): Ensure rare data and add a node list cache
(WebCore::NodeListsNodeData::invalidateCaches): Invalidate the tag name node list cache as well as the others
(WebCore::NodeListsNodeData::isEmpty): Check the tag name node list cache as well as the others
* dom/NodeRareData.h: Add m_tagNodeListCaches
* dom/QualifiedName.cpp:
* dom/QualifiedName.h: Move QNameHash to the header, make it work on QualifiedNames, and rename to QualifiedNameHash
* dom/StyledElement.cpp:
(WebCore::MappedAttributeHash::hash): Use WTF::stringHashingStartValue
* dom/TagNodeList.cpp:
(WebCore::TagNodeList::TagNodeList): Add a NodeList cache argument
* dom/TagNodeList.h:
(WebCore::TagNodeList::create): Add a NodeList cache argument
* platform/text/StringHash.h:
(WebCore::CaseFoldingHash::hash): Use WTF::stringHashingStartValue
* platform/text/TextEncodingRegistry.cpp:
(WebCore::TextEncodingNameHash::hash): Use WTF::stringHashingStartValue
LayoutTests:
2009-01-02 David Smith <catfish.man@gmail.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=22699
Enable NodeList caching for getElementsByTagName
* fast/dom/getelementsbytagnamens-mixed-namespaces-expected.txt: Added.
* fast/dom/getelementsbytagnamens-mixed-namespaces.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39563
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Sat, 3 Jan 2009 00:02:01 +0000 (00:02 +0000)]
2009-01-02 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler
Fix for https://bugs.webkit.org/show_bug.cgi?id=23066 & <rdar://problem/6028417>
Full Page Zoom: a <video> element that doesn't include width/height attribute does not scale
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::calcReplacedWidth): Multiply aspect ratio width by style()->effectiveZoom()
(WebCore::RenderVideo::calcReplacedHeight): Multiply aspect ratio height by style()->effectiveZoom()
2009-01-02 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler
https://bugs.webkit.org/show_bug.cgi?id=23066 & <rdar://problem/6028417>
Full Page Zoom: a <video> element that doesn't include width/height attribute does not scale
Add test for <video> zoom with and without width/height attributes
* media/video-zoom.html: Added.
* platform/mac/media/video-zoom-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39562
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 2 Jan 2009 22:19:02 +0000 (22:19 +0000)]
BUILD FIX (r39552): Add mediaControls.css to other build files
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39561
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 2 Jan 2009 21:52:41 +0000 (21:52 +0000)]
Try to fix Wx build after r39427
* platform/graphics/wx/PathWx.cpp:
(WebCore::Path::strokeBoundingRect): Added stub.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39560
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 2 Jan 2009 21:47:00 +0000 (21:47 +0000)]
Reviewed by Adele Peterson.
<rdar://problem/6471356> Failed assertion on quit
* platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::~ThreadGlobalData):
Only assert that empty string are all removed on secondary threads.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39559
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 2 Jan 2009 21:25:17 +0000 (21:25 +0000)]
Attempt to fix Qt Linux build after r39553
* wtf/RandomNumberSeed.h: Include <sys/time.h> for gettimeofday().
Include <sys/types.h> and <unistd.h> for getpid().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39558
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 2 Jan 2009 21:22:29 +0000 (21:22 +0000)]
2009-01-02 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler
Use an OwnPtr for m_chromeClient.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::~SVGImage):
(WebCore::SVGImage::dataChanged):
* svg/graphics/SVGImage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39557
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 2 Jan 2009 21:10:30 +0000 (21:10 +0000)]
Bug 23081: These files are no longer part of the KDE libraries
<https://bugs.webkit.org/show_bug.cgi?id=23081>
Reviewed by Darin Adler.
Removed "This file is part of the KDE libraries" comment from
source files. Added or updated Apple copyrights as well.
JavaScriptCore:
* parser/Lexer.h:
* wtf/HashCountedSet.h:
* wtf/RetainPtr.h:
* wtf/VectorTraits.h:
WebCore:
No tests since there are only changes to comments.
* bridge/testbindings.cpp:
* html/HTMLEntityNames.gperf:
* loader/Cache.h:
* loader/CachedCSSStyleSheet.h:
* loader/CachedResourceClient.h:
* loader/CachedResourceClientWalker.cpp:
* loader/CachedResourceClientWalker.h:
* loader/CachedScript.cpp:
* loader/CachedScript.h:
* loader/CachedXBLDocument.cpp:
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.cpp:
* loader/CachedXSLStyleSheet.h:
* rendering/GapRects.h:
* xml/XMLSerializer.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39556
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 2 Jan 2009 21:04:27 +0000 (21:04 +0000)]
2009-01-02 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler
https://bugs.webkit.org/show_bug.cgi?id=22981
Repaints inside of an SVGImage were thrown on the floor,
which broke incremental painting due to loading, or SVG animation.
Fix this by assigning the SVGImage a ChromeClient subclass that passes
along repaints via a new method on ImageObserver, which also takes
a rect parameter for the changed rect, allowing incremental repaints.
Fix RenderImage::imageChanged to take advantage of this changedRect to
only repaint the changed parts of the image.
This also enables incremental painting for canvas-as-image, so
add tests for that too.
Tests: fast/backgrounds/animated-svg-as-background.html
fast/backgrounds/animated-svg-as-mask.html
fast/canvas/canvas-as-image-incremental-repaint.html
fast/canvas/canvas-as-image.html
fast/images/animated-svg-as-image.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39555
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 2 Jan 2009 20:59:17 +0000 (20:59 +0000)]
Bug 23080: Remove last vestiges of KJS references
<https://bugs.webkit.org/show_bug.cgi?id=23080>
Reviewed by Darin Adler.
Also updated Apple copyright statements.
* DerivedSources.make: Changed bison "kjsyy" prefix to "jscyy".
* GNUmakefile.am: Ditto.
* JavaScriptCore.pri: Ditto. Also changed KJSBISON to JSCBISON
and kjsbison to jscbison.
* JavaScriptCoreSources.bkl: Changed JSCORE_KJS_SOURCES to
JSCORE_JSC_SOURCES.
* jscore.bkl: Ditto.
* create_hash_table: Updated copyright and removed old comment.
* parser/Grammar.y: Changed "kjsyy" prefix to "jscyy" prefix.
* parser/Lexer.cpp: Ditto. Also changed KJS_DEBUG_LEX to
JSC_DEBUG_LEX.
(jscyylex):
(JSC::Lexer::lex):
* parser/Parser.cpp: Ditto.
(JSC::Parser::parse):
* pcre/dftables: Changed "kjs_pcre_" prefix to "jsc_pcre_".
* pcre/pcre_compile.cpp: Ditto.
(getOthercaseRange):
(encodeUTF8):
(compileBranch):
(calculateCompiledPatternLength):
* pcre/pcre_exec.cpp: Ditto.
(matchRef):
(getUTF8CharAndIncrementLength):
(match):
* pcre/pcre_internal.h: Ditto.
(toLowerCase):
(flipCase):
(classBitmapForChar):
(charTypeForChar):
* pcre/pcre_tables.cpp: Ditto.
* pcre/pcre_ucp_searchfuncs.cpp: Ditto.
(jsc_pcre_ucp_othercase):
* pcre/pcre_xclass.cpp: Ditto.
(getUTF8CharAndAdvancePointer):
(jsc_pcre_xclass):
* runtime/Collector.h: Updated header guards using the
clean-header-guards script.
* runtime/CollectorHeapIterator.h: Added missing header guard.
* runtime/Identifier.h: Updated header guards.
* runtime/JSFunction.h: Fixed end-of-namespace comment.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset): Renamed "kjsprint" debug function
to "jscprint". Changed implementation method from
globalFuncKJSPrint() to globalFuncJSCPrint().
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncJSCPrint): Renamed from globalFuncKJSPrint().
* runtime/JSGlobalObjectFunctions.h: Ditto.
* runtime/JSImmediate.h: Updated header guards.
* runtime/JSLock.h: Ditto.
* runtime/JSType.h: Ditto.
* runtime/JSWrapperObject.h: Ditto.
* runtime/Lookup.h: Ditto.
* runtime/Operations.h: Ditto.
* runtime/Protect.h: Ditto.
* runtime/RegExp.h: Ditto.
* runtime/UString.h: Ditto.
* tests/mozilla/js1_5/Array/regress-157652.js: Changed "KJS"
reference in comment to "JSC".
* wrec/CharacterClassConstructor.cpp: Change "kjs_pcre_" function
prefixes to "jsc_pcre_".
(JSC::WREC::CharacterClassConstructor::put):
(JSC::WREC::CharacterClassConstructor::flush):
* wtf/unicode/Unicode.h: Change "KJS_" header guard to "WTF_".
* wtf/unicode/icu/UnicodeIcu.h: Ditto.
* wtf/unicode/qt4/UnicodeQt4.h: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39554
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 2 Jan 2009 20:17:21 +0000 (20:17 +0000)]
Make randomNumber generate 2^53 values instead of 2^32 (or 2^31 for rand() platforms)
Reviewed by Maciej Stachowiak
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39553
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Fri, 2 Jan 2009 18:33:35 +0000 (18:33 +0000)]
2009-01-02 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler
https://bugs.webkit.org/show_bug.cgi?id=23043
Pull media controls css out of html4.css into separate file. Don't generate
wml, svg, or media css globals unless the feature is enabled.
* DerivedSources.make:
Don't include css for unused features.
* WebCore.xcodeproj/project.pbxproj:
include mediaControls.css
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForElement):
don't parse or add media css unless VIDEO feature is enabled and the target
element is video or audio
* css/html4.css:
moved media controls css to mediaControls.css
* css/mediaControls.css: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39552
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 2 Jan 2009 18:11:54 +0000 (18:11 +0000)]
Remove declaration for JSC::Identifier::initializeIdentifierThreading()
Reviewed by Alexey Proskuryakov.
* runtime/Identifier.h:
(JSC::Identifier::initializeIdentifierThreading): Removed
declaration since the implementation was removed in r34412.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39551
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 2 Jan 2009 17:44:27 +0000 (17:44 +0000)]
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=23076
Add tests for application cache manifest parse failures
* http/tests/appcache/resources/.htaccess:
* http/tests/appcache/resources/wrong-content-type.manifest: Added.
* http/tests/appcache/resources/wrong-signature.manifest: Added.
* http/tests/appcache/wrong-content-type-expected.txt: Added.
* http/tests/appcache/wrong-content-type.html: Added.
* http/tests/appcache/wrong-signature-expected.txt: Added.
* http/tests/appcache/wrong-signature.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39550
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Fri, 2 Jan 2009 15:18:11 +0000 (15:18 +0000)]
2009-01-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Darin Adler.
Bug 23060: REGRESSION (r38629): Cannot scroll a WebHTMLView using Home/End/Page up/Page down
<https://bugs.webkit.org/show_bug.cgi?id=23060>
<rdar://problem/6467830>
After r38629, all keyboard events get sent by Editor to the EditorClient, even
if the selection is not editable. If the event's command is unsupported by
WebHTMLView, WebHTMLView mistakenly thinks that the event was handled when it
was not. When using the page up / page down keys, the events generated are of
the form scrollPageUp rather than movePageUp, so they are unsupported by
WebHTMLView and cause this bug to occur.
* WebView/WebHTMLView.mm:
(-[WebHTMLView doCommandBySelector:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39549
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 2 Jan 2009 11:12:39 +0000 (11:12 +0000)]
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=23022
Fix multiple issues with appcache online whitelist handling
Test: http/tests/appcache/online-whitelist.html
* loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::isURLInOnlineWhitelist): Test whitelist entries as prefixes,
making it possible to use them for CGI invocation (as required by HTML5).
* loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
Re-ordered checks, so that resources that are cached, but are also listed in online whitelist
are loaded from the cache. This is required by HTML5, although Firefox doesn't match.
* loader/appcache/ManifestParser.cpp:
(WebCore::parseManifest):
* loader/appcache/ManifestParser.h:
* loader/appcache/ApplicationCache.h:
(WebCore::ApplicationCache::onlineWhitelist):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::store):
(WebCore::ApplicationCacheStorage::loadCache):
Changed online whitelist to be a vector of URLs, which is better suited for the new algorithm.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39548
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 2 Jan 2009 09:27:08 +0000 (09:27 +0000)]
WebCore:
2009-01-02 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window
https://bugs.webkit.org/show_bug.cgi?id=23072
rdar://problem/6368028
* WebCore.base.exp: Updated.
* WebCore.xcodeproj/project.pbxproj: Mark HTMLHeadElement.h Private so it can be used in WebKit.
* dom/Document.cpp:
(WebCore::Document::Document): Initialize m_frameElementsShouldIgnoreScrolling to false.
* dom/Document.h: Added setFrameElementsShouldIgnoreScrolling, frameElementsShouldIgnoreScrolling,
and m_frameElementsShouldIgnoreScrolling.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseMappedAttribute): Don't allow changes to the scrolling attribute
to affect the scrolling mode if frameElementsShouldIgnoreScrolling() returns true. This is only
triggered on Mac OS X when running the Dictionary application.
WebKit:
2009-01-02 Darin Adler <darin@apple.com>
* StringsNotToBeLocalized.txt: Updated.
WebKit/mac:
2009-01-02 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window
https://bugs.webkit.org/show_bug.cgi?id=23072
rdar://problem/6368028
* WebCoreSupport/WebFrameLoaderClient.mm:
(isAppleDictionaryApplication): Added.
(applyAppleDictionaryApplicationQuirk): Added. Under the right conditions, sets
a flag to ask HTMLFrameElementBase to ignore the scrolling attribute.
(WebFrameLoaderClient::dispatchWillSendRequest): Call the two functions above to
apply the quirk when the relevant script is loaded.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39547
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Fri, 2 Jan 2009 09:25:02 +0000 (09:25 +0000)]
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=23036
<rdar://problem/6451666> Implement AppCache fallback entries (23036)
Test: http/tests/appcache/fallback.html
* loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously): Use fallback
entries if normal loading fails.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Do not prevent normal
loading for resources that match fallback namespaces - they are only loaded from the cache
if that fails.
(WebCore::DocumentLoader::getApplicationCacheFallbackResource): Get a fallback entry for
resource from associated appcache, or from passed in one, if any.
(WebCore::DocumentLoader::scheduleLoadFallbackResourceFromApplicationCache): If a fallback
entry for resourse exists, add it to pending substitute loads.
* loader/DocumentLoader.h: Added new functions for loading fallback data for resources.
* loader/ResourceLoader.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache): This function
is called when normal loading fails (which includes network failures, 4xx and 5xx responses,
and cross-origin redirects) to load appcache fallback data instead. It can use either the
cache that is associated with the browsing context, or a custom one if association is yet
to take place.
(WebCore::ResourceLoader::willSendRequest): Try using fallback data.
(WebCore::ResourceLoader::didReceiveResponse): Ditto.
(WebCore::ResourceLoader::didFail): Ditto.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didReceiveResponse): Locate an appropriate cache and load
fallback data from it if loading fails. The browsing context may still be associated with
its previous document here, so the cache to load from must be passed explicitly.
(WebCore::MainResourceLoader::didFail): Ditto.
(WebCore::MainResourceLoader::load): Remove unnecessary check and FIXME.
* loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::setFallbackURLs):
(WebCore::ApplicationCache::urlMatchesFallbackNamespace):
* loader/appcache/ApplicationCache.h:
(WebCore::ApplicationCache::fallbackURLs):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::cacheGroupForURL):
(WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
(WebCore::ApplicationCacheStorage::store):
(WebCore::ApplicationCacheStorage::loadCache):
(WebCore::ApplicationCacheStorage::storeCopyOfCache):
* loader/appcache/ApplicationCacheStorage.h:
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
* loader/appcache/ApplicationCacheGroup.h:
Implement fallback map saving and loading, pass it to the cache.
* loader/appcache/ManifestParser.h: Use a correct data structure for fallback map - keys
are matched by prefix, so HAshMap cannot be used.
* loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Fix bugs in fallback section
parsing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39546
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 2 Jan 2009 07:49:37 +0000 (07:49 +0000)]
<rdar://problem/6450530> WebCore::FontPlatformData should not leak
Reviewed by Dan Bernstein.
Whoops, previous patch should also have fixed the font referencing in
the constructor.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39545
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 2 Jan 2009 07:46:05 +0000 (07:46 +0000)]
<rdar://problem/6450530> WebCore::FontPlatformData should not leak
Reviewed by Dan Bernstein.
Make sure we only adopt the new font, rather than re-referencing (and so leaking).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39544
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 2 Jan 2009 06:09:59 +0000 (06:09 +0000)]
2009-01-01 Darin Adler <darin@apple.com>
Add one more String.replace test case that I should have included in that last check-in.
* fast/js/resources/string-replace-3.js: Added test case that covers more of the cases where
$0-$99 are used but are actually valid.
* fast/js/string-replace-3-expected.txt: Added new result.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39543
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 2 Jan 2009 05:56:54 +0000 (05:56 +0000)]
JavaScriptCore:
2009-01-01 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
String.replace does not support $& replacement metacharacter when search term is not a RegExp
<https://bugs.webkit.org/show_bug.cgi?id=21431>
<rdar://problem/6274993>
Test: fast/js/string-replace-3.html
* runtime/StringPrototype.cpp:
(JSC::substituteBackreferences): Added a null check here so we won't try to handle $$-$9
backreferences when the search term is a string, not a RegExp. Added a check for 0 so we
won't try to handle $0 or $00 as a backreference.
(JSC::stringProtoFuncReplace): Added a call to substituteBackreferences.
LayoutTests:
2009-01-01 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
String.replace does not support $& replacement metacharacter when search term is not a RegExp
<https://bugs.webkit.org/show_bug.cgi?id=21431>
<rdar://problem/6274993>
* fast/js/resources/string-replace-3.js: Added test cases to cover replace with non-regexp and
to cover "$0" and "$00".
* fast/js/string-replace-3-expected.txt: Added new results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39542
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 2 Jan 2009 04:47:05 +0000 (04:47 +0000)]
WebCore:
2009-01-01 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Bug 23071: REGRESSION (r39536): New test failures after committing patch in bug 23051 (ICU search)
https://bugs.webkit.org/show_bug.cgi?id=23071
Also fix some things that Dan suggested during review of the ICU search patch that I forgot
the first time around.
* editing/TextIterator.cpp: Use ICU search on all platforms that use ICU, now that
we've double checked it works everywhere, removing HAVE_ICU_SEARCH entirely.
Removed unused m_atBreak data member from the non-ICU code path.
(WebCore::TextIterator::TextIterator): Move null check up.
(WebCore::TextIterator::handleTextBox): Fix mistake that made the iterator include
collapsed whitespace. This was left over from an earlier version of the patch.
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
Move null check up.
LayoutTests:
2009-01-01 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Turn on the regression test for ICU search on Mac OS X Tiger too.
It was already on for Windows (by accident, failing), but now WebCore has been changed
so it should work fine on all platforms using ICU, which includes both of those.
* platform/mac-tiger/editing/execCommand: Removed.
* platform/mac-tiger/editing/execCommand/findString-diacriticals-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39541
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Fri, 2 Jan 2009 03:06:10 +0000 (03:06 +0000)]
2009-01-01 Gavin Barraclough <barraclough@apple.com>
Reviewed by Darin Adler.
Allow 32-bit integers to be stored in JSImmediates, on x64-bit.
Presently the top 32-bits of a 64-bit JSImmediate serve as a sign extension of a 31-bit
int stored in the low word (shifted left by one, to make room for a tag). In the new
format, the top 31-bits serve as a sign extension of a 32-bit int, still shifted left by
one.
The new behavior is enabled using a flag in Platform.h, 'WTF_USE_ALTERNATE_JSIMMEDIATE'.
When this is set the constants defining the range of ints allowed to be stored as
JSImmediate values is extended. The code in JSImmediate.h can safely operate on either
format. This patch updates the JIT so that it can also operate with the new format.
~2% progression on x86-64, with & without the JIT, on sunspider & v8 tests.
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::addPtr):
(JSC::MacroAssembler::orPtr):
(JSC::MacroAssembler::or32):
(JSC::MacroAssembler::rshiftPtr):
(JSC::MacroAssembler::rshift32):
(JSC::MacroAssembler::subPtr):
(JSC::MacroAssembler::xorPtr):
(JSC::MacroAssembler::xor32):
(JSC::MacroAssembler::move):
(JSC::MacroAssembler::compareImm64ForBranch):
(JSC::MacroAssembler::compareImm64ForBranchEquality):
(JSC::MacroAssembler::jePtr):
(JSC::MacroAssembler::jgePtr):
(JSC::MacroAssembler::jlPtr):
(JSC::MacroAssembler::jlePtr):
(JSC::MacroAssembler::jnePtr):
(JSC::MacroAssembler::jnzSubPtr):
(JSC::MacroAssembler::joAddPtr):
(JSC::MacroAssembler::jzSubPtr):
* assembler/X86Assembler.h:
(JSC::X86Assembler::addq_rr):
(JSC::X86Assembler::orq_ir):
(JSC::X86Assembler::subq_ir):
(JSC::X86Assembler::xorq_rr):
(JSC::X86Assembler::sarq_CLr):
(JSC::X86Assembler::sarq_i8r):
(JSC::X86Assembler::cmpq_ir):
* jit/JIT.cpp:
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompileCTIMachineTrampolines):
* jit/JIT.h:
* jit/JITArithmetic.cpp:
(JSC::JIT::compileFastArith_op_lshift):
(JSC::JIT::compileFastArithSlow_op_lshift):
(JSC::JIT::compileFastArith_op_rshift):
(JSC::JIT::compileFastArithSlow_op_rshift):
(JSC::JIT::compileFastArith_op_bitand):
(JSC::JIT::compileFastArithSlow_op_bitand):
(JSC::JIT::compileFastArith_op_mod):
(JSC::JIT::compileFastArithSlow_op_mod):
(JSC::JIT::compileFastArith_op_add):
(JSC::JIT::compileFastArithSlow_op_add):
(JSC::JIT::compileFastArith_op_mul):
(JSC::JIT::compileFastArithSlow_op_mul):
(JSC::JIT::compileFastArith_op_post_inc):
(JSC::JIT::compileFastArithSlow_op_post_inc):
(JSC::JIT::compileFastArith_op_post_dec):
(JSC::JIT::compileFastArithSlow_op_post_dec):
(JSC::JIT::compileFastArith_op_pre_inc):
(JSC::JIT::compileFastArithSlow_op_pre_inc):
(JSC::JIT::compileFastArith_op_pre_dec):
(JSC::JIT::compileFastArithSlow_op_pre_dec):
(JSC::JIT::compileBinaryArithOp):
* jit/JITInlineMethods.h:
(JSC::JIT::getConstantOperand):
(JSC::JIT::getConstantOperandImmediateInt):
(JSC::JIT::isOperandConstantImmediateInt):
(JSC::JIT::isOperandConstant31BitImmediateInt):
(JSC::JIT::emitFastArithDeTagImmediate):
(JSC::JIT::emitFastArithDeTagImmediateJumpIfZero):
(JSC::JIT::emitFastArithReTagImmediate):
(JSC::JIT::emitFastArithImmToInt):
(JSC::JIT::emitFastArithIntToImmNoCheck):
* runtime/JSImmediate.h:
(JSC::JSImmediate::isPositiveNumber):
(JSC::JSImmediate::isNegative):
(JSC::JSImmediate::rightShiftImmediateNumbers):
(JSC::JSImmediate::canDoFastAdditiveOperations):
(JSC::JSImmediate::makeValue):
(JSC::JSImmediate::makeInt):
(JSC::JSImmediate::makeBool):
(JSC::JSImmediate::intValue):
(JSC::JSImmediate::rawValue):
(JSC::JSImmediate::toBoolean):
(JSC::JSImmediate::from):
* wtf/Platform.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39540
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 2 Jan 2009 02:21:07 +0000 (02:21 +0000)]
Set the svn:mime-type property of recently-added PNG files to image/png.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39539
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 2 Jan 2009 02:07:01 +0000 (02:07 +0000)]
2009-01-01 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler, Oliver Hunt
https://bugs.webkit.org/show_bug.cgi?id=23065
Enable incremental painting of canvas. This turns incremental painting
back on, and fixes issues with stroke width and miters, calling willDraw()
for strokeText and fillText, and taking shadows into account.
Test: fast/canvas/canvas-incremental-repaint.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39538
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 2 Jan 2009 01:08:20 +0000 (01:08 +0000)]
2008-12-29 Konstantin Käfer <kkaefer@gmail.com>
Reviewed by Tim Hatcher.
Fix for https://bugs.webkit.org/show_bug.cgi?id=17229
<rdar://problem/5732829> Inspector should show properties of all JS objects in Console
Prints objects not as plain text but makes them expandable so that
they can be inspected.
* inspector/front-end/Console.js:
(): added a parameter "inline" to the WebInspector.Console._format function which indicates
whether the object is printed in the context of another string (with console.log()) or
as sole element.
(.): objects and DOM nodes are now printed in an expandable form when they are printed alone
(i.e. not in the context of a console.log() string) so that they can be inspected.
* inspector/front-end/PropertiesSection.js:
(WebInspector.PropertiesSection.prototype.set title): Allow DOM Nodes as title instead of strings
in that case, the Node is inserted into the title instead of the string value of the passed
object. This is used for displaying linkified titles, for example when inspecting DOM nodes,
the syntax highlighted HTML representation is shown instead of the plain source code.
* inspector/front-end/inspector.css: correct the offsetParent for the expandable object inspector.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39537
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 1 Jan 2009 21:19:59 +0000 (21:19 +0000)]
WebCore:
2009-01-01 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Bug 23051: web page searching should use ICU's search so it can ignore diacritical differences
https://bugs.webkit.org/show_bug.cgi?id=23051
rdar://problem/3574497
Test: editing/execCommand/findString-diacriticals.html
* editing/TextIterator.cpp: Changed the CircularSearchBuffer class to have a new
name, since it doesn't always use a circular buffer any more. Changed the interface
so it can work well in the new chunky comparison mode for ICU search, and also
added private data members for both the ICU-search and non-ICU-search code paths.
(WebCore::TextIterator::TextIterator): Use the versions of the Range functions
that don't take an exception code.
(WebCore::TextIterator::handleTextBox): Added a special case to handle the position
of a collapsed-away space better. This is not needed for search mechanism, but was
helpful in an earlier version of this patch, and is still an improvement.
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Use the
versions of the Range functions that don't take an exception code.
(WebCore::CharacterIterator::range): Ditto.
(WebCore::characterSubrange): Added. Helper function used in both places below where
we want to convert a range and character offsets into a subrange.
(WebCore::WordAwareIterator::advance): Use the versions of the Range functions that
don't take an exception code.
(WebCore::createSearcher): Added.
(WebCore::searcher): Added.
(WebCore::lockSearcher): Added.
(WebCore::unlockSearcher): Added.
(WebCore::SearchBuffer::SearchBuffer): Added.
(WebCore::SearchBuffer::~SearchBuffer): Added.
(WebCore::SearchBuffer::append): Added.
(WebCore::SearchBuffer::atBreak): Added.
(WebCore::SearchBuffer::reachedBreak): Added.
(WebCore::SearchBuffer::search): Added.
(WebCore::SearchBuffer::length): Added.
(WebCore::TextIterator::subrange): Changed to call the characterSubrange
function above.
(WebCore::TextIterator::rangeFromLocationAndLength): Use the versions of the
Range functions that don't take an exception code. Also tweak some other details
of the code.
(WebCore::isAllCollapsibleWhitespace): Added.
(WebCore::collapsedToBoundary): Added.
(WebCore::findPlainText): Rewrote to use new interface and streamline the
logic a bit.
Add the relevant files in the icu directory. As icu/README says, the "icu"
directory is really just for Mac OS X, where we have the ICU library but not
the headers installed. It should be moved inside platform/mac at some point
to make this more clear (and the copy in JavaScriptCore should be moved
somewhere similar for the same reason).
* icu/unicode/ucoleitr.h: Added.
* icu/unicode/usearch.h: Added.
LayoutTests:
2009-01-01 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Bug 23051: web page searching should use ICU's search so it can ignore diacritical differences
https://bugs.webkit.org/show_bug.cgi?id=23051
rdar://problem/3574497
Currently this is only activated on the Mac platform, not including Tiger.
* editing/execCommand/findString-diacriticals-expected.txt: Added. Expect failure.
* editing/execCommand/findString-diacriticals.html: Added.
* platform/mac-tiger/editing/execCommand: Added.
* platform/mac-tiger/editing/execCommand/findString-diacriticals-expected.txt: Added. Expect failure.
* platform/mac/editing/execCommand/findString-diacriticals-expected.txt: Added. Expect success.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39536
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Thu, 1 Jan 2009 08:34:58 +0000 (08:34 +0000)]
CrashTracer: [REGRESSION] 1090 crashes in Safari at com.apple.JavaScriptCore: KJS::JSGlobalObject::stopTimeoutCheck + 0
<rdar://problem/5821130>
Reviewed by Cameron Zwarich.
This was caused by a plugin instance calling into JS code that removed the plugin
object. This fix is to cache the global object locally in a ProtectedPtr so we don't
need to rely on the continued existence of the plugin instance.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Thu, 1 Jan 2009 08:22:40 +0000 (08:22 +0000)]
[jsfunfuzz] Assertion + incorrect behaviour with dynamically created local variable in a catch block
<https://bugs.webkit.org/show_bug.cgi?id=23063>
Reviewed by Cameron Zwarich
Eval inside a catch block attempts to use the catch block's static scope in
an unsafe way by attempting to add new properties to the scope. This patch
fixes this issue simply by preventing the catch block from using a static
scope if it contains an eval.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39534
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Thu, 1 Jan 2009 02:33:43 +0000 (02:33 +0000)]
[jsfunfuzz] Computed exception offset wrong when first instruction is attempt to resolve deleted eval
<https://bugs.webkit.org/show_bug.cgi?id=23062>
Reviewed by Gavin Barraclough.
This was caused by the expression information for the initial resolve of
eval not being emitted. If this resolve was the first instruction that
could throw an exception the information search would fail leading to an
assertion failure. If it was not the first throwable opcode the wrong
expression information would used.
Fix is simply to emit the expression info.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39533
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Wed, 31 Dec 2008 17:52:47 +0000 (17:52 +0000)]
Add section information for View, Frame, Settings, HistoryItem, BackForwardList, WindowFeatures and Inspector
Add section information and informal examples for WebKitWebView,
WebKitWebFrame, WebKitWebSettings, WebKitWebNetworkRequest,
WebKitWebWindowFeatures, WebKitWebHistoryItem,
WebKitWebBackForwardList and WebKitWebInspector.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39532
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Wed, 31 Dec 2008 17:31:04 +0000 (17:31 +0000)]
2008-12-31 Zan Dobersek <zandobersek@gmail.com>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=22812
Prevent TestNetscapePlugin from installing system-wide.
* GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39531
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Wed, 31 Dec 2008 17:12:01 +0000 (17:12 +0000)]
2008-12-31 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Holger Freyther.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22964
MinGW build failure.
* platform/graphics/qt/SimpleFontDataQt.cpp:
(WebCore::SimpleFontData::containsCharacters):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39530
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Wed, 31 Dec 2008 16:52:19 +0000 (16:52 +0000)]
2008-12-31 Zan Dobersek <zandobersek@gmail.com>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=22842
Move WebKitWebView's size allocation into a proper place.
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(dump):
(runTest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39529
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Wed, 31 Dec 2008 16:37:00 +0000 (16:37 +0000)]
2008-12-31 Alexander V. Butenko <alex@digiqube.com>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=22750
[gtk] webkit up to r39121 crash on image urls like
http:///sitename.com
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::start):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Wed, 31 Dec 2008 16:17:04 +0000 (16:17 +0000)]
2008-12-31 Hiroyuki Ikezoe <poincare@ikezoe.net>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=18310
* platform/graphics/gtk/SimpleFontDataPango.cpp:
(WebCore::SimpleFontData::determinePitch): Do not invoke
isFixedPitch() when the font is a custom font.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39527
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Wed, 31 Dec 2008 12:32:12 +0000 (12:32 +0000)]
More work on Bug 3781: Animation via canvas could be faster
<https://bugs.webkit.org/show_bug.cgi?id=3781>
Reviewed by Cameron Zwarich
Make use of the fast path parsing of color strings that Color
uses. This improves performance of '#rgb', '#rrggbb', etc and
named (eg. 'green') colors.
Improves frame rate of test by around 40%
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39526
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Wed, 31 Dec 2008 10:17:05 +0000 (10:17 +0000)]
2008-12-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Oliver Hunt.
Bug 23054: Caching of global lookups occurs even when the global object has become a dictionary
<https://bugs.webkit.org/show_bug.cgi?id=23054>
<rdar://problem/6469905>
JavaScriptCore:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::resolveGlobal): Do not cache lookup if the global
object has transitioned to a dictionary.
(JSC::Interpreter::cti_op_resolve_global): Do not cache lookup if the
global object has transitioned to a dictionary.
LayoutTests:
* fast/js/pic/delete-global-object-expected.txt: Added.
* fast/js/pic/delete-global-object.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39525
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Wed, 31 Dec 2008 06:49:34 +0000 (06:49 +0000)]
<https://bugs.webkit.org/show_bug.cgi?id=23049> [jsfunfuzz] With blocks do not correctly protect their scope object
<rdar://problem/6469742> Crash in JSC::TypeInfo::hasStandardGetOwnPropertySlot() running jsfunfuzz
Reviewed by Darin Adler
The problem that caused this was that with nodes were not correctly protecting
the final object that was placed in the scope chain. We correct this by forcing
the use of a temporary register (which stops us relying on a local register
protecting the scope) and changing the behaviour of op_push_scope so that it
will store the final scope object.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39524
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 31 Dec 2008 05:16:27 +0000 (05:16 +0000)]
2008-12-30 Simon Fraser <simon.fraser@apple.com>
Fix spurious test failures by rounding floating point values to
mask math differences between machines.
* transitions/transform-op-list-match-expected.txt:
* transitions/transform-op-list-match.html:
* transitions/transform-op-list-no-match-expected.txt:
* transitions/transform-op-list-no-match.html:
* transitions/transition-test-helpers.js:
(roundNumber):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39523
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 31 Dec 2008 00:11:50 +0000 (00:11 +0000)]
2008-12-30 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler
https://bugs.webkit.org/show_bug.cgi?id=23042
Rather than doing a repaint() inside of computeAbsoluteRepaintRect()
when there is a reflection, compute the location of the rect inside
the reflection and take the union of the unreflected and reflected rects.
Test: fast/repaint/reflection-redraw.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeAbsoluteRepaintRect):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::reflectedRect):
* rendering/RenderObject.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39522
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Wed, 31 Dec 2008 00:07:20 +0000 (00:07 +0000)]
2008-12-30 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Sam Weinig.
Bug 23037: Parsing and reparsing disagree on automatic semicolon insertion
<https://bugs.webkit.org/show_bug.cgi?id=23037>
<rdar://problem/6467124>
Parsing and reparsing disagree about automatic semicolon insertion, so that a
function like
function() { a = 1, }
is parsed as being syntactically valid but gets a syntax error upon reparsing.
This leads to an assertion failure in Parser::reparse(). It is not that big of
an issue in practice, because in a Release build such a function will return
'undefined' when called.
In this case, we are not following the spec and it should be a syntax error.
However, unless there is a newline separating the ',' and the '}', WebKit would
not treat it as a syntax error in the past either. It would be a bit of work to
make the automatic semicolon insertion match the spec exactly, so this patch
changes it to match our past behaviour.
The problem is that even during reparsing, the Lexer adds a semicolon at the
end of the input, which confuses allowAutomaticSemicolon(), because it is
expecting either a '}', the end of input, or a terminator like a newline.
JavaScriptCore:
* parser/Lexer.cpp:
(JSC::Lexer::Lexer): Initialize m_isReparsing to false.
(JSC::Lexer::lex): Do not perform automatic semicolon insertion in the Lexer if
we are in the middle of reparsing.
(JSC::Lexer::clear): Set m_isReparsing to false.
* parser/Lexer.h:
(JSC::Lexer::setIsReparsing): Added.
* parser/Parser.cpp:
(JSC::Parser::reparse): Call Lexer::setIsReparsing() to notify the Lexer of
reparsing.
LayoutTests:
* fast/js/reparsing-semicolon-insertion-expected.txt: Added.
* fast/js/reparsing-semicolon-insertion.html: Added.
* fast/js/resources/reparsing-semicolon-insertion.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39521
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 30 Dec 2008 22:30:25 +0000 (22:30 +0000)]
WebCore:
Reviewed by Adele Peterson.
- fix <rdar://problem/6469944> REGRESSION(3.2.1-ToT): Repro crash in WebCore::HTMLInputElement::updatePlaceholderVisibility opening http://billshrink.com
Test: fast/forms/placeholder-non-textfield.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMappedAttribute): Only call
updatePlaceholderVisibility() when the placeholder attribute changes if
the element is a text field.
LayoutTests:
Reviewed by Adele Peterson.
- test for <rdar://problem/6469944> REGRESSION(3.2.1-ToT): Repro crash in WebCore::HTMLInputElement::updatePlaceholderVisibility opening http://billshrink.com
* fast/forms/placeholder-non-textfield-expected.txt: Added.
* fast/forms/placeholder-non-textfield.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39520
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pam@chromium.org [Tue, 30 Dec 2008 19:24:19 +0000 (19:24 +0000)]
2008-12-30 Brent Fulgham <bfulgham@gmail.com>
Reviewed by Darin Adler.
Landed by Pamela Greene.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22908.
Update website so that newbies are told they must set the
WebKitOutputDir to get a valid build.
* building/build.html: Add language (and link) indicating the
importance of setting the WebKitOutputDir variable, as well
as a link to instructions on how to do so.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39519
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 30 Dec 2008 12:19:23 +0000 (12:19 +0000)]
First step of Bug 3781: Animation via canvas could be faster
Reviewed by Antti Koivisto.
Amortise the cost of calling repaint by coalescing repaint rects
while the canvas is drawn to. In a later step we'll stop calling
repaint() directly, and instead have all dirty canvases repaint
at the end of JS execution.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39518
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Tue, 30 Dec 2008 11:08:26 +0000 (11:08 +0000)]
2008-12-30 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Antti Koivisto.
Bug 22931: Using the inspector with purgeable resources leads to assertion failures
<https://bugs.webkit.org/show_bug.cgi?id=22931>
Change InspectorResource::sourceString() so that it doesn't attempt to
unsafely get the data of a purgeable CachedResource.
* inspector/InspectorController.cpp:
(WebCore::InspectorResource::sourceString): Attempt to make a purgeable
resource unpurgeable, and if this not possible, return an empty string.
* loader/CachedResource.h: Make InspectorResource a friend of CachedResource.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39517
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 30 Dec 2008 07:54:28 +0000 (07:54 +0000)]
Yet another attempt to fix Tiger.
Reviewed by NOBODY(Build fix)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39516
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 30 Dec 2008 07:46:13 +0000 (07:46 +0000)]
Tiger build fix (correct this time)
Reviewed by NOBODY(build fix)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39515
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Tue, 30 Dec 2008 07:46:02 +0000 (07:46 +0000)]
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=23023
Remove incomplete support for opportunistic appcache entries
No change in behavior, thus no test.
* loader/appcache/ApplicationCacheResource.h:
(WebCore::ApplicationCacheResource::Type): Removed Opportunistic bit, will re-use when schema
version changes.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::scheduleApplicationCacheLoad):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
* loader/appcache/ApplicationCacheResource.cpp:
(WebCore::ApplicationCacheResource::dumpType):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39514
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Tue, 30 Dec 2008 07:42:11 +0000 (07:42 +0000)]
2008-12-29 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Rubber-stamped by Alexey Proskuryakov.
Revert r39509, because kjsyydebug is used in the generated code if YYDEBUG is 1.
* parser/Grammar.y:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39513
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 30 Dec 2008 07:39:35 +0000 (07:39 +0000)]
Tiger build fix
Reviewed by NOBODY(build fix)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39512
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
krit@webkit.org [Tue, 30 Dec 2008 07:33:13 +0000 (07:33 +0000)]
2008-12-29 Dirk Schulze <krit@webkit.org>
Reviewed by Oliver Hunt.
Add arcTo support for Cairo. This is needed by Canvas.
Cairo has no native support for arcTo. We have to make our
own implementation.
[Canvas] Cairo needs arcTo
https://bugs.webkit.org/show_bug.cgi?id=23003
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addArcTo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39511
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 30 Dec 2008 07:21:03 +0000 (07:21 +0000)]
<rdar://problem/6358108> Insecure randomness in Math.random() leads to user tracking
Reviewed by Mark Rowe
Switch to arc4random on PLATFORM(DARWIN), this is ~1.5x slower than random(), but the
it is still so fast that there is no fathomable way it could be a bottleneck for anything.
randomNumber is called in two places
* During form submission where it is called once per form
* Math.random in JSC. For this difference to show up you have to be looping on
a cached local copy of random, for a large (>10000) calls.
No change in SunSpider.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39510
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Tue, 30 Dec 2008 06:15:35 +0000 (06:15 +0000)]
2008-12-29 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Rubber-stamped by Sam Weinig.
Remove unused kjsyydebug #define.
* parser/Grammar.y:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39509
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 30 Dec 2008 06:15:31 +0000 (06:15 +0000)]
Bug 23030: Cannot setTransform with a non-invertible ctm
Reviewed by Cameron Zwarich.
Removed a series of unnecessary and incorrect checks for an invertible
transform.
Test: fast/canvas/canvas-set-properties-with-non-invertible-ctm.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39508
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Tue, 30 Dec 2008 05:37:00 +0000 (05:37 +0000)]
2008-12-29 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Oliver Hunt and Sam Weinig.
Bug 23029: REGRESSION (r39337): jsfunfuzz generates identical test files
<https://bugs.webkit.org/show_bug.cgi?id=23029>
<rdar://problem/6469185>
The unification of random number generation in r39337 resulted in random()
being initialized on Darwin, but rand() actually being used. Fix this by
making randomNumber() use random() instead of rand() on Darwin.
* wtf/RandomNumber.cpp:
(WTF::randomNumber):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39507
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 30 Dec 2008 05:10:21 +0000 (05:10 +0000)]
2008-12-29 Josh Roesslein <jroesslein@gmail.com>
Reviewed by Oliver Hunt.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22968
Context menu rendering error when full page zoomed
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39506
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 30 Dec 2008 03:00:37 +0000 (03:00 +0000)]
2008-12-29 Sam Weinig <sam@webkit.org>
Fix buildbots.
* runtime/Structure.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39505
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 30 Dec 2008 02:05:05 +0000 (02:05 +0000)]
2008-12-29 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Add some basic memory statistic logging for Node.
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
(WebCore::Node::Node):
(WebCore::Node::~Node):
(WebCore::Node::setDocument):
* dom/Node.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39504
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 30 Dec 2008 02:03:58 +0000 (02:03 +0000)]
2008-12-29 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Remove one use of DeprecatedPtrList.
* css/CSSRuleList.cpp:
(WebCore::CSSRuleList::~CSSRuleList):
(WebCore::CSSRuleList::length):
(WebCore::CSSRuleList::item):
(WebCore::CSSRuleList::deleteRule):
(WebCore::CSSRuleList::append):
(WebCore::CSSRuleList::insertRule):
* css/CSSRuleList.h: Change m_lstCSSRules from using DeprecatedPtrList to a Vector.
I measured no performance change and was comforted by the fact that we use a Vector
for StyleList, which serves the exact same purpose.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39503
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 30 Dec 2008 00:28:40 +0000 (00:28 +0000)]
2008-12-29 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Patch for https://bugs.webkit.org/show_bug.cgi?id=23026
Move the deleted offsets vector into the PropertyMap
Saves 3 words per Structure.
* runtime/PropertyMapHashTable.h:
* runtime/Structure.cpp:
(JSC::Structure::addPropertyTransition):
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::getterSetterTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::fromDictionaryTransition):
(JSC::Structure::copyPropertyTable):
(JSC::Structure::put):
(JSC::Structure::remove):
(JSC::Structure::rehashPropertyMapHashTable):
* runtime/Structure.h:
(JSC::Structure::propertyStorageSize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39502
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Mon, 29 Dec 2008 21:42:33 +0000 (21:42 +0000)]
2008-12-29 Adele Peterson <adele@apple.com>
Reviewed by Brady Eidson.
Fix for https://bugs.webkit.org/show_bug.cgi?id=21797
<rdar://problem/6310682> REGRESSION: Crash in CFHTTPCookieStorageCopy beneath WebCore::cookies() when
running fast/dom/document-attribute-js-null.html and http/tests/security/cookies/create-document.html
Return early if the document is trying to get or set a cookie with an empty cookie url.
* dom/Document.cpp:
(WebCore::Document::cookie):
(WebCore::Document::setCookie):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39501
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Mon, 29 Dec 2008 20:30:07 +0000 (20:30 +0000)]
Index: LayoutTests/ChangeLog
===================================================================
--- LayoutTests/ChangeLog (revision 39499)
+++ LayoutTests/ChangeLog (working copy)
@@ -1,3 +1,12 @@
+2008-12-29 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by NOBODY (OOPS!).
+
+ Fix Windows svn update - replace a file with a semicolon in its name with an Apache rewrite.
+
+ * http/tests/appcache/resources/.htaccess: Added.
+ * http/tests/appcache/resources/UNKNOWN_SECTION:: Removed.
+
2008-12-29 Glenn Wilson <gwilson@chromium.org>
Reviewed by Darin Adler.
Index: LayoutTests/http/tests/appcache/resources/.htaccess
===================================================================
--- LayoutTests/http/tests/appcache/resources/.htaccess (revision 0)
+++ LayoutTests/http/tests/appcache/resources/.htaccess (revision 0)
@@ -0,0 +1,2 @@
+RewriteEngine on
+RewriteRule ^UNKNOWN_SECTION: simple.txt [L,NS]
Index: LayoutTests/http/tests/appcache/resources/UNKNOWN_SECTION:
===================================================================
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39500
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pam@chromium.org [Mon, 29 Dec 2008 19:22:04 +0000 (19:22 +0000)]
2008-12-29 Glenn Wilson <gwilson@chromium.org>
Reviewed by Darin Adler.
Landed by Pamela Greene.
Added new layout tests verifying that using a locally-scoped
variable in an event handler of a form takes precedence over
names of items in that form.
See: https://bugs.webkit.org/show_bug.cgi?id=22977
* fast/forms/var-name-conflict-in-form-event-handler-expected.txt: Added.
* fast/forms/var-name-conflict-in-form-event-handler.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39499
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Mon, 29 Dec 2008 11:08:30 +0000 (11:08 +0000)]
2008-12-29 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Oliver Hunt.
Change code using m_body.get() as a boolean to take advantage of the
implicit conversion of RefPtr to boolean.
* runtime/JSFunction.cpp:
(JSC::JSFunction::~JSFunction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39498
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Mon, 29 Dec 2008 01:35:02 +0000 (01:35 +0000)]
2008-12-28 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Sam Weinig.
Bug 23016: JavaScriptDebugServer::recompileAllJSFunctions() should not execute JS while reparsing all functions
<https://bugs.webkit.org/show_bug.cgi?id=23016>
<rdar://problem/6425077>
JavaScriptDebugServer::recompileAllJSFunctions() calls sourceParsed() while
reparsing all JS functions, which will execute JS in the inspector. Depending
on the order in which functions are recompiled, a function could have a new
body but other functions that have not been recompiled could have an optimized
(in the sense of inline caching) call to it, bypassing the check of whether or
not there is generated bytecode. This leads to a crash caused by accessing
indices off of a null pointer.
To fix the problem, simply delay calling sourceParsed() until after all functions
have been reparsed. The crash isn't 100% reproducible, but on the one test case
I have, this makes it impossible to reproduce after a large number of attempts,
when it used to happen every few attempts.
* inspector/JavaScriptDebugServer.cpp:
(WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39497
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Mon, 29 Dec 2008 00:25:09 +0000 (00:25 +0000)]
Rubber-stamped by Antti Koivisto.
Oops, remove some last minute ASSERTS that are obviously wrong.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39496
268f45cc-cd09-0410-ab3c-
d52691b4dbfc