vestbo@webkit.org [Thu, 4 Sep 2008 11:44:17 +0000 (11:44 +0000)]
2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon.
Re-enable support for user stylesheets in QtWebKit
QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
code path, which allows us to keep API support for
loading user style sheets from remote URLs.
As part of the change UserStyleSheetLoader.cpp/h was
moved from WebCore/loader/mac to WebCore/loader.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36088
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 4 Sep 2008 09:29:26 +0000 (09:29 +0000)]
Fix the 64-bit build.
* VM/CodeBlock.cpp:
(KJS::CodeBlock::printStructureID): Store the instruction offset into an unsigned local
to avoid a warning related to format specifiers.
(KJS::CodeBlock::printStructureIDs): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36087
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Thu, 4 Sep 2008 09:14:42 +0000 (09:14 +0000)]
2008-09-04 Alp Toker <alp@nuanti.com>
Reviewed by Eric.
Remove left-over QT and CAIRO platform checks.
* html/CanvasRenderingContext2D.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36086
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 4 Sep 2008 08:58:58 +0000 (08:58 +0000)]
Fix typo
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36085
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 4 Sep 2008 08:39:51 +0000 (08:39 +0000)]
Reviewed by Mark Rowe.
Fix leak of TextMetrix due to over-ref as see on buildbot.
* html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36084
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Thu, 4 Sep 2008 08:00:04 +0000 (08:00 +0000)]
2008-09-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Rubber-stamped by Oliver Hunt.
Correct the spelling of 'entryIndices'.
* kjs/PropertyMap.cpp:
(KJS::PropertyMap::get):
(KJS::PropertyMap::getLocation):
(KJS::PropertyMap::put):
(KJS::PropertyMap::insert):
(KJS::PropertyMap::remove):
(KJS::PropertyMap::checkConsistency):
* kjs/PropertyMap.h:
(KJS::PropertyMapHashTable::entries):
(KJS::PropertyMap::getOffset):
(KJS::PropertyMap::putOffset):
(KJS::PropertyMap::offsetForTableLocation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36083
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 4 Sep 2008 07:26:53 +0000 (07:26 +0000)]
WebCore:
Reviewed by Dave Hyatt.
- fix https://bugs.webkit.org/show_bug.cgi?id=19717
<rdar://problem/
6026832> REGRESSION (r31876): menu items render horizontally at the Economist
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
positioned movement only case, call
tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
layout if that fails.
(WebCore::RenderBlock::layoutPositionedObjects): Ditto.
* rendering/RenderBox.h:
(WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
layoutDoingPositionedMovementOnly to this, and made this function
check if the width changed. If it did, return, leaving the object
dirty. The caller can then call layout(). The width can change even
in the "positioned movement only" case if the object is shrink-to-fit
and the available width constraint is met. (This was the case in the
bug).
* rendering/RenderObject.h:
(WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
Renamed layoutDoingPositionedMovementOnly() to this.
LayoutTests:
Reviewed by Dave Hyatt.
- test for https://bugs.webkit.org/show_bug.cgi?id=19717
<rdar://problem/
6026832> REGRESSION (r31876): menu items render horizontally at the Economist
* fast/block/positioning/move-with-auto-width.html: Added.
* platform/mac/fast/block/positioning/move-with-auto-width-expected.checksum: Added.
* platform/mac/fast/block/positioning/move-with-auto-width-expected.png: Added.
* platform/mac/fast/block/positioning/move-with-auto-width-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36082
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 4 Sep 2008 07:21:43 +0000 (07:21 +0000)]
JavaScriptCore:
2008-09-03 Geoffrey Garen <ggaren@apple.com>
Reviewed by Cameron Zwarich.
Fixed <rdar://problem/
6193925> REGRESSION: Crash occurs at
KJS::Machine::privateExecute() when attempting to load my Mobile Gallery
(http://www.me.com/gallery/#home)
also
https://bugs.webkit.org/show_bug.cgi?id=20633 Crash in privateExecute
@ cs.byu.edu
The underlying problem was that we would cache prototype properties
even if the prototype was a dictionary.
The fix is to transition a prototype back from dictionary to normal
status when an opcode caches access to it. (This is better than just
refusing to cache, since a heavily accessed prototype is almost
certainly not a true dictionary.)
* VM/Machine.cpp:
(KJS::Machine::tryCacheGetByID):
* kjs/JSObject.h:
LayoutTests:
2008-09-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by Cameron Zwarich.
Test for <rdar://problem/
6193925> REGRESSION: Crash occurs at
KJS::Machine::privateExecute() when attempting to load my Mobile Gallery
(http://www.me.com/gallery/#home)
also
https://bugs.webkit.org/show_bug.cgi?id=20633 Crash in privateExecute
@ cs.byu.edu
* fast/js/pic/dictionary-prototype-expected.txt: Added.
* fast/js/pic/dictionary-prototype.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36081
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 4 Sep 2008 06:31:37 +0000 (06:31 +0000)]
No review, build fix only.
Attempt to fix the Qt build.
* WebCore.pro: add page/animation to include path
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36080
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Thu, 4 Sep 2008 06:11:46 +0000 (06:11 +0000)]
2008-09-03 Alp Toker <alp@nuanti.com>
Build fix following r36073. Include config.h where necessary.
* WebCoreSupport/PasteboardHelperGtk.cpp:
* webkit/webkitversion.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36079
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 4 Sep 2008 03:46:14 +0000 (03:46 +0000)]
More Mac build fixes.
Set ENABLE_DASHBOARD_SUPPORT when building for Mac via build-webkit.
Also set ENABLE_CROSS_DOCUMENT_MESSAGING in order to match the
default configuration specified in the .xcconfig files.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36078
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 4 Sep 2008 03:29:10 +0000 (03:29 +0000)]
Touch an input file to force a derived file to be rebuilt.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36077
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 4 Sep 2008 03:20:30 +0000 (03:20 +0000)]
Fix the Mac build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36076
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 4 Sep 2008 01:59:31 +0000 (01:59 +0000)]
Update layout test results after recent canvas changes.
* fast/canvas/canvas-invalid-fillstyle-expected.txt:
* fast/canvas/canvas-invalid-strokestyle-expected.txt:
* fast/canvas/drawImage-with-negative-source-destination-expected.txt:
* fast/dom/Window/window-properties-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36075
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 4 Sep 2008 01:32:51 +0000 (01:32 +0000)]
Reviewed by Sam.
Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
* Configurations/WebCore.xcconfig: add missing ENABLE_*
* config.h: add rules for V8_BINDINGS
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36074
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 4 Sep 2008 01:32:26 +0000 (01:32 +0000)]
Reviewed by Sam.
https://bugs.webkit.org/show_bug.cgi?id=20620
Add #if USE(JSC) around KJS dependencies
Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
1. Most platforms have it on anyway
2. V8 is going to want to share some of that code
3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
* bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
* config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
* html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
* html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
* html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
* html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
* html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
* html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
* html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
* html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
* platform/text/AtomicString.cpp: add USE(JSC)
* platform/text/AtomicString.h: add USE(JSC)
* platform/text/PlatformString.h: add USE(JSC)
* platform/text/String.cpp: add USE(JSC)
* platform/text/StringImpl.cpp: add USE(JSC)
* platform/text/StringImpl.h: add USE(JSC)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36073
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 4 Sep 2008 00:10:39 +0000 (00:10 +0000)]
Tidy up some ChangeLog entries.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36072
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 23:46:54 +0000 (23:46 +0000)]
2008-09-03 Dean McNamee <deanm@chromium.org>
Reviewed by Darin Adler.
Fix https://bugs.webkit.org/show_bug.cgi?id=20511
Bug 20511: Remove static initializers on Windows
Avoid static initializers on Windows by forcing Visual C++ to put
all static initializers in a code segment that is never executed.
* config.h:
* css/MediaFeatureNames.cpp:
* dom/EventNames.cpp:
* dom/QualifiedName.cpp:
* dom/make_names.pl:
* platform/StaticConstructors.h:
* platform/text/AtomicString.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36071
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 23:40:49 +0000 (23:40 +0000)]
2008-09-03 Dirk Schulze <vbs85@gmx.de>
Reviewed by Dave Hyatt.
Make FontCairo draw TextStroke and TextFill separately.
[CAIRO] draw TextFill and TextStroke separately.
[https://bugs.webkit.org/show_bug.cgi?id=20631]
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::drawGlyphs):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36070
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 23:34:40 +0000 (23:34 +0000)]
2008-09-03 Peter Kasting <zerodpx@gmail.com>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=19663
Account for paint and timer lag when animating images. Also pretend
that images whose animations were paused (by becoming invisible)
continued to animate, by "catching up" to the correct frame when they're
shown again.
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::startAnimation):
(WebCore::BitmapImage::advanceAnimation):
(WebCore::BitmapImage::internalAdvanceAnimation):
(WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
* platform/graphics/BitmapImage.h:
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cg/ImageCG.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/wx/ImageWx.cpp:
(WebCore::BitmapImage::draw):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36069
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Wed, 3 Sep 2008 21:53:17 +0000 (21:53 +0000)]
JavaScriptCore:
2008-09-03 Kevin McCullough <kmccullough@apple.com>
Reviewed by Tim.
Remove the rest of the "zombie" code from the profiler.
- There is no longer a need for the ProfilerClient callback mechanism.
* API/JSProfilerPrivate.cpp:
(JSStartProfiling):
* JavaScriptCore.exp:
* profiler/HeavyProfile.h:
* profiler/ProfileGenerator.cpp:
(KJS::ProfileGenerator::create):
(KJS::ProfileGenerator::ProfileGenerator):
* profiler/ProfileGenerator.h:
(KJS::ProfileGenerator::profileGroup):
* profiler/Profiler.cpp:
(KJS::Profiler::startProfiling):
(KJS::Profiler::stopProfiling): Immediately return the profile when
stopped instead of using a callback.
* profiler/Profiler.h:
* profiler/TreeProfile.h:
WebCore:
2008-09-03 Kevin McCullough <kmccullough@apple.com>
Reviewed by Tim.
Remove the rest of the "zombie" code from the profiler.
- There is no longer a need for the ProfilerClient callback mechanism.
* page/Console.cpp:
(WebCore::Console::Console):
(WebCore::Console::profile):
(WebCore::Console::profileEnd): Move the variables from the header to
here since we don't have to wait for a callback to use them.
* page/Console.h:
* page/InspectorController.cpp:
(WebCore::InspectorController::startUserInitiatedProfiling):
(WebCore::InspectorController::stopUserInitiatedProfiling):
* page/InspectorController.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36068
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan@apple.com [Wed, 3 Sep 2008 21:43:44 +0000 (21:43 +0000)]
Windows build fix.
* WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36067
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Wed, 3 Sep 2008 21:15:53 +0000 (21:15 +0000)]
2008-09-01 Dean Jackson <dino@apple.com>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=20594
Add DOM interfaces for WebKitCSSKeyframeRule
and WebKitCSSKeyframesRule.
TEST: LayoutTests/css3/keyframes-rule.html
* css/WebKitCSSKeyframeRule.idl: Added
* css/WebKitCSSKeyframesRule.idl: Added
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
Add return of new JS Keyframe rules
* bindings/objc/DOMInternal.h:
Include new internal header
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
Build configs for new files
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36066
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Wed, 3 Sep 2008 20:30:59 +0000 (20:30 +0000)]
Windows build fix
* DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
* WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
convenience/consistency.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36065
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Wed, 3 Sep 2008 20:13:41 +0000 (20:13 +0000)]
2008-09-03 Adele Peterson <adele@apple.com>
Build fix.
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36064
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 3 Sep 2008 19:06:59 +0000 (19:06 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36063
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Wed, 3 Sep 2008 19:02:45 +0000 (19:02 +0000)]
2008-09-03 Adele Peterson <adele@apple.com>
Build fix.
* wtf/win/MainThreadWin.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36062
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 3 Sep 2008 18:32:05 +0000 (18:32 +0000)]
WebCore:
2008-09-03 David Hyatt <hyatt@apple.com>
Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
Reviewed by Darin (ages ago)
Added fast/block/float/clamped-right-float.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::positionNewFloats):
LayoutTests:
2008-09-03 David Hyatt <hyatt@apple.com>
Fix for bug 18203.
Reviewed by Darin (ages ago).
* fast/block/float/clamped-right-float.html: Added.
* platform/mac/fast/block/float/clamped-right-float-expected.checksum: Added.
* platform/mac/fast/block/float/clamped-right-float-expected.png: Added.
* platform/mac/fast/block/float/clamped-right-float-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36061
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 3 Sep 2008 18:13:39 +0000 (18:13 +0000)]
WebCore:
2008-09-02 David Hyatt <hyatt@apple.com>
Add support for canvas text drawing APIs.
Reviewed by olliej
Tests added as fast/canvas/canvas-text-*.html
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::fillText):
(WebCore::JSCanvasRenderingContext2D::strokeText):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::initForStyleResolve):
(WebCore::CSSStyleSelector::applyPropertyToStyle):
* css/CSSStyleSelector.h:
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::font):
(WebCore::CanvasRenderingContext2D::setFont):
(WebCore::CanvasRenderingContext2D::textAlign):
(WebCore::CanvasRenderingContext2D::setTextAlign):
(WebCore::CanvasRenderingContext2D::textBaseline):
(WebCore::CanvasRenderingContext2D::setTextBaseline):
(WebCore::CanvasRenderingContext2D::fillText):
(WebCore::CanvasRenderingContext2D::strokeText):
(WebCore::CanvasRenderingContext2D::measureText):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
(WebCore::CanvasRenderingContext2D::accessFont):
* html/CanvasRenderingContext2D.h:
* html/CanvasRenderingContext2D.idl:
* html/TextMetrics.h: Added.
(WebCore::TextMetrics::create):
(WebCore::TextMetrics::width):
(WebCore::TextMetrics::setWidth):
(WebCore::TextMetrics::TextMetrics):
* html/TextMetrics.idl: Added.
* platform/graphics/Font.cpp:
(WebCore::Font::lineGap):
* platform/graphics/Font.h:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawBidiText):
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsTypes.cpp:
(WebCore::textAlignName):
(WebCore::parseTextAlign):
(WebCore::textBaselineName):
(WebCore::parseTextBaseline):
* platform/graphics/GraphicsTypes.h:
(WebCore::):
LayoutTests:
2008-09-02 David Hyatt <hyatt@apple.com>
Add support for the canvas text APIs.
Reviewed by olliej
* fast/canvas/canvas-text-alignment.html: Added.
* fast/canvas/canvas-text-baseline.html: Added.
* platform/mac/fast/canvas/canvas-text-alignment-expected.checksum: Added.
* platform/mac/fast/canvas/canvas-text-alignment-expected.png: Added.
* platform/mac/fast/canvas/canvas-text-alignment-expected.txt: Added.
* platform/mac/fast/canvas/canvas-text-baseline-expected.checksum: Added.
* platform/mac/fast/canvas/canvas-text-baseline-expected.png: Added.
* platform/mac/fast/canvas/canvas-text-baseline-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36060
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan@apple.com [Wed, 3 Sep 2008 17:37:24 +0000 (17:37 +0000)]
2008-09-03 John Sullivan <sullivan@apple.com>
Fixed <rdar://problem/
6193022> <rdar://problem/
6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
Fixed by Darin, reviewed by me
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::propertiesEqual):
added ensurePropertyMap() to this static function
(WebCore::AnimationBase::getPropertyAtIndex):
ditto
(WebCore::AnimationBase::getNumProperties):
ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36059
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Wed, 3 Sep 2008 17:35:42 +0000 (17:35 +0000)]
JavaScriptCore:
2008-09-02 Kevin McCullough <kmccullough@apple.com>
Reviewed by Darin and Tim.
Remove most of the "zombie" mode from the profiler. Next we will need
to remove the client callback mechanism in profiles.
- This simplifies the code, leverages the recent changes I've made in
getting line numbers from SquirrelFish, and is a slight speed
improvement on SunSpider.
- Also the "zombie" mode was a constant source of odd edge cases and
obscure bugs so it's good to remove since all of its issues may not have
been found.
* API/JSProfilerPrivate.cpp: No need to call didFinishAllExecution() any
more.
(JSEndProfiling):
* JavaScriptCore.exp: Export the new signature of retrieveLastCaller()
* VM/Machine.cpp:
(KJS::Machine::execute): No need to call didFinishAllExecution() any
more.
(KJS::Machine::retrieveCaller): Now operates on InternalFunctions now
since the RegisterFile is no longer guaranteeded to store only
JSFunctions
(KJS::Machine::retrieveLastCaller): Now also retrieve the function's
name
(KJS::Machine::callFrame): A result of changing retrieveCaller()
* VM/Machine.h:
* VM/Register.h:
* kjs/JSGlobalObject.cpp:
(KJS::JSGlobalObject::~JSGlobalObject):
* kjs/nodes.h:
* profiler/ProfileGenerator.cpp:
(KJS::ProfileGenerator::create): Now pass the original exec and get the
global exec and client when necessary. We need the original exec so we
can have the stack frame where profiling started.
(KJS::ProfileGenerator::ProfileGenerator): ditto.
(KJS::ProfileGenerator::addParentForConsoleStart): This is where the
parent to star of the profile is added, if there is one.
(KJS::ProfileGenerator::willExecute): Remove uglyness!
(KJS::ProfileGenerator::didExecute): Ditto!
(KJS::ProfileGenerator::stopProfiling):
(KJS::ProfileGenerator::removeProfileStart): Use a better way to find
and remove the function we are looking for.
(KJS::ProfileGenerator::removeProfileEnd): Ditto.
* profiler/ProfileGenerator.h:
(KJS::ProfileGenerator::client):
* profiler/ProfileNode.cpp:
(KJS::ProfileNode::removeChild): Add a better way to remove a child from
a ProfileNode.
(KJS::ProfileNode::stopProfiling):
(KJS::ProfileNode::debugPrintData): Modified a debug-only diagnostic
function to be sane.
* profiler/ProfileNode.h:
* profiler/Profiler.cpp: Change to pass the original exec state.
(KJS::Profiler::startProfiling):
(KJS::Profiler::stopProfiling):
(KJS::Profiler::willExecute):
(KJS::Profiler::didExecute):
(KJS::Profiler::createCallIdentifier):
* profiler/Profiler.h:
WebCore:
2008-09-03 Kevin McCullough <kmccullough@apple.com>
Reviewed by Darin and Tim.
Remove most of the "zombie" mode from the profiler. Next we will need
to remove the client callback mechanism in profiles.
- These changes are a result of changes to JSCore.
* manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
* page/Console.cpp:
(WebCore::retrieveLastCaller):
(WebCore::Console::profileEnd):
* page/InspectorController.cpp:
(WebCore::InspectorController::stopUserInitiatedProfiling):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36058
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Wed, 3 Sep 2008 16:57:58 +0000 (16:57 +0000)]
WebCore:
2008-09-03 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Test: fast/forms/search-display-none-cancel-button.html
Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
* css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
(WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
(WebCore::RenderTextControl::createCancelButtonStyle): ditto.
(WebCore::RenderTextControl::createSubtreeIfNeeded):
Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
(WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
(WebCore::RenderTextControl::subtreeHasChanged): ditto.
(WebCore::RenderTextControl::calcHeight): ditto.
(WebCore::RenderTextControl::nodeAtPoint): ditto.
(WebCore::RenderTextControl::layout): ditto.
(WebCore::RenderTextControl::calcPrefWidths): ditto.
(WebCore::RenderTextControl::clientPaddingLeft): ditto.
(WebCore::RenderTextControl::clientPaddingRight): ditto.
* rendering/TextControlInnerElements.cpp:
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
(WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
(WebCore::TextControlInnerElement::attachInnerElement): Added.
This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
(WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
* rendering/TextControlInnerElements.h:
LayoutTests:
2008-09-03 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Test that display:none works on a search field's cancel button.
* fast/forms/search-display-none-cancel-button.html: Added.
* platform/mac/fast/forms/search-display-none-cancel-button-expected.checksum: Added.
* platform/mac/fast/forms/search-display-none-cancel-button-expected.png: Added.
* platform/mac/fast/forms/search-display-none-cancel-button-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36057
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Wed, 3 Sep 2008 16:37:00 +0000 (16:37 +0000)]
Reviewed by Darin Adler.
Implement callOnMainThreadAndWait().
This will be useful when a background thread needs to perform UI calls synchronously
(e.g. an openDatabase() call cannot return until the user answers to a confirmation dialog).
* wtf/MainThread.cpp:
(WTF::FunctionWithContext::FunctionWithContext): Added a ThreadCondition member. When
non-zero, the condition is signalled after the function is called.
(WTF::mainThreadFunctionQueueMutex): Renamed from functionQueueMutex, sinc this is no longer
static. Changed to be initialized from initializeThreading() to avoid lock contention.
(WTF::initializeMainThread): On non-Windows platforms, just call mainThreadFunctionQueueMutex.
(WTF::dispatchFunctionsFromMainThread): Signal synchronous calls when done.
(WTF::callOnMainThread): Updated for functionQueueMutex rename.
(WTF::callOnMainThreadAndWait): Added.
* wtf/MainThread.h: Added callOnMainThreadAndWait(); initializeMainThread() now exists on
all platforms.
* wtf/win/MainThreadWin.cpp: (WTF::initializeMainThread): Added a callOnMainThreadAndWait()
call to initialize function queue mutex.
* wtf/ThreadingGtk.cpp: (WTF::initializeThreading):
* wtf/ThreadingPthreads.cpp: (WTF::initializeThreading):
* wtf/ThreadingQt.cpp: (WTF::initializeThreading):
Only initialize mainThreadIdentifier on non-Darwin platforms. It was not guaranteed to be
accurate on Darwin.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36056
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Wed, 3 Sep 2008 16:20:43 +0000 (16:20 +0000)]
2008-09-03 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
Use isUndefinedOrNull() instead of separate checks for each in op_eq_null
and op_neq_null.
* VM/Machine.cpp:
(KJS::Machine::privateExecute):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36055
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Wed, 3 Sep 2008 08:08:19 +0000 (08:08 +0000)]
Reviewed by Maciej.
Elminate SQLiteAuthorizer class.
* WebCore.xcodeproj/project.pbxproj:
* WebCore.vcproj/WebCore.vcproj:
* GNUmakefile.am
Removed SQLiteAuthorizer.h.
* platform/sql/SQLiteAuthorizer.cpp:
* platform/sql/SQLiteAuthorizer.h: Removed.
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::authorizerFunction):
(WebCore::SQLiteDatabase::setAuthorizer):
* platform/sql/SQLiteDatabase.h:
* storage/DatabaseAuthorizer.h:
(WebCore::DatabaseAuthorizer::create):
(WebCore::DatabaseAuthorizer::createView):
(WebCore::DatabaseAuthorizer::createTempView):
(WebCore::DatabaseAuthorizer::dropView):
(WebCore::DatabaseAuthorizer::dropTempView):
(WebCore::DatabaseAuthorizer::allowSelect):
(WebCore::DatabaseAuthorizer::allowReindex):
Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36054
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 07:09:45 +0000 (07:09 +0000)]
Move the backslash to the right place.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36053
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 07:05:48 +0000 (07:05 +0000)]
2008-09-03 Dirk Schulze <vbs85@gmx.de>
Reviewed and tweaked by Mark Rowe.
WebKitGtk build fix.
* GNUmakefile.am:
* page/animation/AnimationController.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36052
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 06:59:03 +0000 (06:59 +0000)]
2008-09-02 Robert Blaut <webkit@blaut.biz>
Reviewed by Geoff Garen.
Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
Misplaced elements should not close DL lists.
Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError):
2008-09-02 Robert Blaut <webkit@blaut.biz>
Reviewed by Geoff Garen.
Test for <https://bugs.webkit.org/show_bug.cgi?id=16913>
Misplaced elements should not close DL lists.
* fast/invalid/test-case-tr-th-td-should-not-close-dl-list-expected.txt: Added.
* fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html: Added.
* platform/mac/fast/invalid/missing-dl-end-tag-expected.checksum:
* platform/mac/fast/invalid/missing-dl-end-tag-expected.png:
* platform/mac/fast/invalid/missing-dl-end-tag-expected.txt:
* platform/mac/fast/invalid/missing-dt-end-tag-expected.checksum:
* platform/mac/fast/invalid/missing-dt-end-tag-expected.png:
* platform/mac/fast/invalid/missing-dt-end-tag-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36051
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 06:51:31 +0000 (06:51 +0000)]
2008-09-02 Glenn Wilson <wilsong@gmail.com>
Reviewed by Darin Adler.
Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
We would inappropriately interpret and apply an invalid CSS "color" property
when the value is a predefined color preceded by a '#' symbol. For example,
style="color:#gray;" would apply the color gray when it should not.
In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
an ignorable token.
To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
'#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
Test: css1/color_and_background/invalid_color.html
* css/CSSGrammar.y:
2008-09-02 Glenn Wilson <wilsong@gmail.com>
Reviewed by Darin Adler.
Test for <https://bugs.webkit.org/show_bug.cgi?id=15360>
Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
Added new test to verify that CSS "color" attributes with '#'-preceeded predefined color names
are not rendered in those colors.
* css1/color_and_background/invalid_color.html: Added.
* css1/color_and_background/invalid_color-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36050
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 06:38:04 +0000 (06:38 +0000)]
Build fix. Remove the now unnecessary check for "4" in the user agent string.
Reviewed by Tim Hatcher.
* WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36049
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 06:28:44 +0000 (06:28 +0000)]
2008-09-02 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
Reviewed by Darin Adler.
Bug 20296: OpcodeStats doesn't build on platforms which don't have mergesort().
<https://bugs.webkit.org/show_bug.cgi?id=20296>
* VM/Opcode.cpp:
(KJS::OpcodeStats::~OpcodeStats): mergesort() replaced with qsort()
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36048
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 06:22:12 +0000 (06:22 +0000)]
2008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
Test: css3/khtml-background-size-0x0-bmp.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::repaintLayerRectsForImage):
2008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
Reviewed by Darin Adler.
Test for https://bugs.webkit.org/show_bug.cgi?id=19964
Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
* css3/khtml-background-size-0x0-bmp-expected.txt: Added.
* css3/khtml-background-size-0x0-bmp.html: Added.
* css3/support/0x0.bmp: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36047
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 06:12:30 +0000 (06:12 +0000)]
2008-09-02 Glenn Wilson <wilsong@gmail.com>
Reviewed by Eric Seidel.
Fix https://bugs.webkit.org/show_bug.cgi?id=20397
Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
The function checkForOrphanedUnits() would change the length of a list whose size was
was already determined before the call to checkForOrphanedUnits was made. Later in
the caller, the old size was being used for boundary management.
This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
calling function, before the size of the list is determined.
Test: fast/css/orphaned_units_crash.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
2008-09-02 Glenn Wilson <wilsong@gmail.com>
Reviewed by Eric Seidel.
Tests for https://bugs.webkit.org/show_bug.cgi?id=20397
Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
Added new tests to check whether an orphaned unit identifier in particular
CSS attributes will crash the browser.
* fast/css/orphaned_units_crash-expected.txt: Added.
* fast/css/orphaned_units_crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36046
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Wed, 3 Sep 2008 06:10:54 +0000 (06:10 +0000)]
2008-09-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Not reviewed.
Move the ChangeLog of r35906 to its rightful place.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36045
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 06:01:15 +0000 (06:01 +0000)]
2008-09-02 Dirk Schulze <vbs85@gmx.de>
Reviewed by Darin Adler.
Fallback on invalid fill or stroke styles in Canvas was
transparent black. Changed it to last valid style.
Canvas fillStyle() and strokeStyle() needs fallback
https://bugs.webkit.org/show_bug.cgi?id=20474
Tests: fast/canvas/canvas-invalid-fillstyle.html
fast/canvas/canvas-invalid-strokestyle.html
* html/CanvasStyle.cpp:
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):
2008-09-02 Dirk Schulze <vbs85@gmx.de>
Reviewed by Darin Adler.
Tests for https://bugs.webkit.org/show_bug.cgi?id=20474
Tests behaviour on invalid fillStyle() or strokeStyle() in canvas.
* fast/canvas/canvas-invalid-fillstyle-expected.txt: Added.
* fast/canvas/canvas-invalid-fillstyle.html: Added.
* fast/canvas/canvas-invalid-fillstyle.js: Added.
* fast/canvas/canvas-invalid-strokestyle-expected.txt: Added.
* fast/canvas/canvas-invalid-strokestyle.html: Added.
* fast/canvas/canvas-invalid-strokestyle.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36044
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 05:49:51 +0000 (05:49 +0000)]
2008-09-02 Dirk Schulze <vbs85@gmx.de>
Reviewed by Darin Adler.
Fix https://bugs.webkit.org/show_bug.cgi?id=20468
Updated drawImage() in canvas to match the current specification.
Test: fast/canvas/drawImage-with-negative-source-destination.html
* html/CanvasRenderingContext2D.cpp:
(WebCore::normalizeRect):
(WebCore::CanvasRenderingContext2D::drawImage):
2008-09-02 Dirk Schulze <vbs85@gmx.de>
Reviewed by Darin Adler.
Tests for https://bugs.webkit.org/show_bug.cgi?id=20468
Test negative source and destination rect in drawImage()
* fast/canvas/drawImage-with-invalid-args-expected.txt:
* fast/canvas/drawImage-with-invalid-args.html:
* fast/canvas/drawImage-with-negative-source-destination-expected.txt: Added.
* fast/canvas/drawImage-with-negative-source-destination.html: Added.
* fast/canvas/drawImage-with-negative-source-destination.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36043
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 05:41:44 +0000 (05:41 +0000)]
<rdar://problem/
5768210> Switch back to the system version of SQLite
Reviewed by Darin Adler.
Use the system version of SQLite when it is new enough to provide the functionality
that WebCore requires.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/WebCore.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36042
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 3 Sep 2008 05:13:06 +0000 (05:13 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36040
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Wed, 3 Sep 2008 05:04:39 +0000 (05:04 +0000)]
2008-09-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Fast path for array.length and string.length.
SunSpider says 0.5% faster.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36039
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 3 Sep 2008 03:19:41 +0000 (03:19 +0000)]
- update expected results now that log() et al. report line numbers
* fast/dom/Window/console-functions-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36038
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 3 Sep 2008 02:59:00 +0000 (02:59 +0000)]
- build fix
* page/animation/AnimationBase.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36037
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Wed, 3 Sep 2008 02:58:14 +0000 (02:58 +0000)]
2008-09-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Anders Carlsson.
Added optimized paths for comparing to null.
SunSpider says 0.5% faster.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36036
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Wed, 3 Sep 2008 02:46:47 +0000 (02:46 +0000)]
2008-09-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Not reviewed.
Remove a local change that was accidentally committed in r36034.
* resources/sunspider-standalone-driver.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36035
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Wed, 3 Sep 2008 02:42:22 +0000 (02:42 +0000)]
2008-09-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Oliver Hunt.
Tests for bug 17936: "ASSERTION FAILED: false" (GetterSetterImp::toObject is called)
<https://bugs.webkit.org/show_bug.cgi?id=17936>
This bug was fixed by the rewrite of much of the code handling getters
and setters in r36016, the revision that introduced the polymorphic
inline cache.
* fast/js/delete-getters-setters-expected.txt: Added.
* fast/js/delete-getters-setters.html: Added.
* fast/js/resources/delete-getters-setters.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36034
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Wed, 3 Sep 2008 02:39:09 +0000 (02:39 +0000)]
2008-09-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Changed jsDriver.pl to dump the exact text you would need in order to
reproduce a test result. This enables a fast workflow where you copy
and paste a test failure in the terminal.
* tests/mozilla/jsDriver.pl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36033
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Wed, 3 Sep 2008 02:31:45 +0000 (02:31 +0000)]
JavaScriptCore:
2008-09-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Implemented the rest of Darin's review comments for the 09-01 inline
caching patch.
SunSpider says 0.5% faster, but that seems like noise.
* JavaScriptCore.xcodeproj/project.pbxproj: Put PutPropertySlot into
its own file, and added BatchedTransitionOptimizer.
* VM/CodeBlock.cpp:
(KJS::CodeBlock::~CodeBlock): Use array indexing instead of a pointer
iterator.
* VM/CodeGenerator.cpp:
(KJS::CodeGenerator::CodeGenerator): Used BatchedTransitionOptimizer to
make batched put and remove for declared variables fast, without forever
pessimizing the global object. Removed the old getDirect/removeDirect hack
that tried to do the same in a more limited way.
* VM/CodeGenerator.h: Moved IdentifierRepHash to the KJS namespace since
it doesn't specialize anything in WTF.
* VM/Machine.cpp:
(KJS::Machine::Machine): Nixed the DummyConstruct tag because it was
confusingly named.
(KJS::Machine::execute): Used BatchedTransitionOptimizer, as above. Fixed
up some comments.
(KJS::cachePrototypeChain): Cast to JSObject*, since it's more specific.
(KJS::Machine::tryCachePutByID): Use isNull() instead of comparing to
jsNull(), since isNull() leaves more options open for the future.
(KJS::Machine::tryCacheGetByID): ditto
(KJS::Machine::privateExecute): ditto
* VM/SamplingTool.cpp:
(KJS::SamplingTool::dump): Use C++-style cast, to match our style
guidelines.
* kjs/BatchedTransitionOptimizer.h: Added. New class that allows host
code to add a batch of properties to an object in an efficient way.
* kjs/JSActivation.cpp: Use isNull(), as above.
* kjs/JSArray.cpp: Get rid of DummyConstruct tag, as above.
* kjs/JSArray.h:
* kjs/JSGlobalData.cpp: Nixed two unused StructureIDs.
* kjs/JSGlobalData.h:
* kjs/JSImmediate.cpp: Use isNull(), as above.
* kjs/JSObject.cpp:
(KJS::JSObject::mark): Moved mark tracing code elsewhere, to make this
function more readable.
(KJS::JSObject::put): Use isNull(), as above.
(KJS::JSObject::createInheritorID): Return a raw pointer, since the
object is owned by a data member, not necessarily the caller.
* kjs/JSObject.h:
* kjs/JSString.cpp: Use isNull(), as above.
* kjs/PropertyMap.h: Updated to use PropertySlot::invalidOffset.
* kjs/PropertySlot.h: Changed KJS_INVALID_OFFSET to WTF::notFound
because C macros are so 80's.
* kjs/PutPropertySlot.h: Added. Split out of PropertySlot.h. Also renamed
PutPropertySlot::SlotType to PutPropertySlot::Type, and slotBase to base,
since "slot" was redundant.
* kjs/StructureID.cpp: Added a new transition *away* from dictionary
status, to support BatchedTransitionOptimizer.
(KJS::StructureIDChain::StructureIDChain): No need to store m_size as
a data member, so keep it in a local, which might be faster.
* kjs/StructureID.h:
* kjs/SymbolTable.h: Moved IdentifierRepHash to KJS namespace, as above.
* kjs/ustring.h:
JavaScriptGlue:
2008-09-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Implemented the rest of Darin's review comments for the 09-01 inline
caching patch.
* ForwardingHeaders/kjs/PutPropertySlot.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36032
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Wed, 3 Sep 2008 01:32:14 +0000 (01:32 +0000)]
2008-09-02 Chris Marrin <cmarrin@apple.com>
Reviewed by Dave Hyatt.
AnimationController.cpp should be split into separate files
https://bugs.webkit.org/show_bug.cgi?id=20604
Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
recommendation of Dave Hyatt.
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
Build files.
* page/AnimationController.cpp: Removed.
* page/AnimationController.h: Removed.
* page/animation: Added.
* page/animation/AnimationBase.cpp: Added.
* page/animation/AnimationBase.h: Added.
* page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
* page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
* page/animation/CompositeAnimation.cpp: Added.
* page/animation/CompositeAnimation.h: Added.
* page/animation/ImplicitAnimation.cpp: Added.
* page/animation/ImplicitAnimation.h: Added.
* page/animation/KeyframeAnimation.cpp: Added.
* page/animation/KeyframeAnimation.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36031
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 3 Sep 2008 00:57:37 +0000 (00:57 +0000)]
- release build fix
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::calculateDrawingMode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36030
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Tue, 2 Sep 2008 21:35:02 +0000 (21:35 +0000)]
Make console functions log the correct resource URL and
line number for where the call originated.
https://bugs.webkit.org/show_bug.cgi?id=17234
<rdar://problem/
5732837>
Reviewed by Kevin McCullough.
Test: manual-tests/inspector/console-call-line-numbers.html
* bindings/js/JSConsoleCustom.cpp:
(WebCore::JSConsole::count): Call the impl.
(WebCore::JSConsole::timeEnd): Ditto.
* manual-tests/inspector/console-call-line-numbers.html: Added.
* manual-tests/inspector/resources/script-console-calls.js: Added.
* page/Console.cpp:
(WebCore::retrieveLastCaller): Helper to get the URL and line.
(WebCore::Console::error): Call retrieveLastCaller to get the URL and
line number to pass to addMessageToConsole.
(WebCore::Console::info): Ditto.
(WebCore::Console::log): Ditto.
(WebCore::Console::assertCondition): Ditto.
(WebCore::Console::count): Ditto.
(WebCore::Console::timeEnd): Ditto.
(WebCore::Console::warn): Ditto.
* page/Console.h:
* page/Console.idl: Make count and timeEnd custom.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36029
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Tue, 2 Sep 2008 21:30:26 +0000 (21:30 +0000)]
Removed IDL files from WebCore's framework resources.
* WebCore.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36028
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Tue, 2 Sep 2008 21:11:32 +0000 (21:11 +0000)]
2008-09-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Rubber-stamped by Oliver Hunt.
Make SunSpider work with JavaScript shells that don't take filenames
after a '-f' argument.
* sunspider:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36027
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 2 Sep 2008 20:39:29 +0000 (20:39 +0000)]
Reviewed by Dave Hyatt.
- <rdar://problem/
5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
cap on the number of consecutive identical residual style tags to
reopen.
(WebCore::HTMLParser::popBlock): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36026
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Tue, 2 Sep 2008 16:16:06 +0000 (16:16 +0000)]
Reviewed by Adam Roben.
A little database quota management cleanup.
* storage/OriginQuotaManager.cpp:
(WebCore::OriginQuotaManager::OriginQuotaManager):
(WebCore::OriginQuotaManager::lock):
(WebCore::OriginQuotaManager::unlock):
(WebCore::OriginQuotaManager::trackOrigin):
(WebCore::OriginQuotaManager::tracksOrigin):
(WebCore::OriginQuotaManager::addDatabase):
(WebCore::OriginQuotaManager::removeDatabase):
(WebCore::OriginQuotaManager::removeOrigin):
(WebCore::OriginQuotaManager::markDatabase):
(WebCore::OriginQuotaManager::diskUsage):
* storage/OriginQuotaManager.h:
Changed to assert that a lock is taken more directly and reliably. Removed comments about
main/background threads, as this is likely to stop being true with synchronous Database calls
being made on worker threads.
* storage/OriginUsageRecord.cpp:
(WebCore::OriginUsageRecord::OriginUsageRecord):
(WebCore::OriginUsageRecord::addDatabase):
(WebCore::OriginUsageRecord::removeDatabase):
(WebCore::OriginUsageRecord::markDatabase):
(WebCore::OriginUsageRecord::diskUsage):
* storage/OriginUsageRecord.h:
(WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
can be replaced with a single boolean for OriginUsageRecord.
Added assertions for string parameters being unshared.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36025
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 2 Sep 2008 15:15:21 +0000 (15:15 +0000)]
Windows build fixes
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add
StructureID.{cpp,h} to the project. Also let VS reorder this file.
* VM/CodeBlock.cpp: Include StringExtras so that snprintf will be
defined on Windows.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36024
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 2 Sep 2008 04:26:15 +0000 (04:26 +0000)]
WebCore:
2008-09-01 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=19760
Make granting LoadLocalResources conditional on a policy.
* WebCore.base.exp:
* dom/Document.cpp:
(WebCore::Document::initSecurityContext):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::setLocalLoadPolicy):
(WebCore::FrameLoader::restrictAccessToLocal):
* loader/FrameLoader.h:
(WebCore::FrameLoader::):
* platform/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::grantLoadLocalResources):
* platform/SecurityOrigin.h:
WebKit/mac:
2008-09-01 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=19760
Add a linked-on-or-after check to prevent substitute data from loading
local resources on newer users of WebKit.
* Misc/WebKitVersionChecks.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36022
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Mon, 1 Sep 2008 23:34:13 +0000 (23:34 +0000)]
2008-09-01 Dean Jackson <dino@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=20571
Make sure Window object can assign Animation/Transition event
listeners via attributes.
Also added a bunch of transition event tests, although
only transition-end-event-window is directly relevant to this patch.
(WebCore::JSDOMWindowBase::put):
Tests: transitions/transition-end-event-all-properties.html
transitions/transition-end-event-attributes.html
transitions/transition-end-event-container.html
transitions/transition-end-event-left.html
transitions/transition-end-event-multiple-01.html
transitions/transition-end-event-multiple-02.html
transitions/transition-end-event-multiple-03.html
transitions/transition-end-event-multiple-04.html
transitions/transition-end-event-nested.html
transitions/transition-end-event-transform.html
transitions/transition-end-event-window.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36021
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Mon, 1 Sep 2008 23:05:28 +0000 (23:05 +0000)]
2008-09-01 Dean Jackson <dino@apple.com>
Reviewed by Sam Weinig
Code styling cleanup.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::getValueProperty):
(WebCore::JSDOMWindowBase::put):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36020
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 1 Sep 2008 22:55:24 +0000 (22:55 +0000)]
2008-09-01 Sam Weinig <sam@webkit.org>
Fix release build.
* JavaScriptCore.exp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36019
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Mon, 1 Sep 2008 22:49:26 +0000 (22:49 +0000)]
2008-09-01 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Oliver Hunt.
Gtk buildfix
* GNUmakefile.am:
* kjs/PropertyMap.cpp: rename Identifier.h to identifier.h
* kjs/StructureID.cpp: include JSObject.h
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36018
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 1 Sep 2008 22:40:17 +0000 (22:40 +0000)]
2008-09-01 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
First cut at inline caching for access to vanilla JavaScript properties.
Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36017
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 1 Sep 2008 21:22:54 +0000 (21:22 +0000)]
JavaScriptCore:
2008-09-01 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
First cut at inline caching for access to vanilla JavaScript properties.
SunSpider says 4% faster. Tests heavy on dictionary-like access have
regressed a bit -- we have a lot of room to improve in this area,
but this patch is over-ripe as-is.
JSCells now have a StructureID that uniquely identifies their layout,
and holds their prototype.
JSValue::put takes a PropertySlot& argument, so it can fill in details
about where it put a value, for the sake of caching.
* VM/CodeGenerator.cpp:
(KJS::CodeGenerator::CodeGenerator): Avoid calling removeDirect if we
can, since it disables inline caching in the global object. This can
probably improve in the future.
* kjs/JSGlobalObject.cpp: Nixed reset(), since it complicates caching, and
wasn't really necessary.
* kjs/JSObject.cpp: Tweaked getter / setter behavior not to rely on the
IsGetterSetter flag, since the flag was buggy. This is necessary in order
to avoid accidentally accessing a getter / setter as a normal property.
Also changed getter / setter creation to honor ReadOnly, matching Mozilla.
* kjs/PropertyMap.cpp: Nixed clear(), since it complicates caching and
isn't necessary.
* kjs/Shell.cpp: Moved SamplingTool dumping outside the loop. This allows
you to aggregate sampling of multiple files (or the same file repeatedly),
which helped me track down regressions.
* kjs/ustring.h: Moved IdentifierRepHash here to share it.
WebCore:
2008-09-01 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
First cut at inline caching for access to vanilla JavaScript properties.
Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
to WebCore classes, and PutPropertySlot& arguments to put functions.
(WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
inline caching for global properties, so global assignment can be optimized.
* ForwardingHeaders/kjs/StructureID.h: Added.
* bindings/js/JSDOMBinding.h:
(WebCore::DOMObject::DOMObject):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::put):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSDOMWindowCustom.h:
(WebCore::JSDOMWindow::customPut):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::JSDOMWindowShell):
(WebCore::JSDOMWindowShell::put):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSEventTargetBase.h:
(WebCore::JSEventTargetBase::put):
* bindings/js/JSEventTargetNode.h:
(WebCore::JSEventTargetNode::put):
* bindings/js/JSHTMLAppletElementCustom.cpp:
(WebCore::JSHTMLAppletElement::customPut):
* bindings/js/JSHTMLEmbedElementCustom.cpp:
(WebCore::JSHTMLEmbedElement::customPut):
* bindings/js/JSHTMLInputElementBase.cpp:
(WebCore::JSHTMLInputElementBase::put):
* bindings/js/JSHTMLInputElementBase.h:
* bindings/js/JSHTMLObjectElementCustom.cpp:
(WebCore::JSHTMLObjectElement::customPut):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::customPut):
* bindings/js/JSInspectedObjectWrapper.cpp:
(WebCore::JSInspectedObjectWrapper::wrap):
(WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
* bindings/js/JSInspectedObjectWrapper.h:
* bindings/js/JSInspectorCallbackWrapper.cpp:
(WebCore::JSInspectorCallbackWrapper::wrap):
(WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
* bindings/js/JSInspectorCallbackWrapper.h:
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::customPut):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::runtimeObjectCustomPut):
* bindings/js/JSPluginElementFunctions.h:
* bindings/js/JSQuarantinedObjectWrapper.cpp:
(WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
(WebCore::JSQuarantinedObjectWrapper::put):
* bindings/js/JSQuarantinedObjectWrapper.h:
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::customPut):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject setValue:forKey:]):
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/NP_jsobject.cpp:
(_NPN_SetProperty):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::setMember):
* bridge/objc/objc_class.mm:
(KJS::Bindings::ObjcClass::fallbackObject):
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
(ObjcFallbackObjectImp::ObjcFallbackObjectImp):
(ObjcFallbackObjectImp::put):
* bridge/runtime.cpp:
(KJS::Bindings::Instance::createRuntimeObject):
* bridge/runtime_array.cpp:
(RuntimeArray::put):
* bridge/runtime_array.h:
* bridge/runtime_object.cpp:
(RuntimeObjectImp::RuntimeObjectImp):
(RuntimeObjectImp::put):
* bridge/runtime_object.h:
LayoutTests:
2008-09-01 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
First cut at inline caching for access to vanilla JavaScript properties.
Tests for things I broke along the way.
* fast/dom/getter-on-window-object2-expected.txt:
* fast/js/pic: Added.
* fast/js/pic/cached-deleted-properties-expected.txt: Added.
* fast/js/pic/cached-deleted-properties.html: Added.
* fast/js/pic/cached-getter-dictionary-and-proto-expected.txt: Added.
* fast/js/pic/cached-getter-dictionary-and-proto.html: Added.
* fast/js/pic/cached-getter-setter-expected.txt: Added.
* fast/js/pic/cached-getter-setter.html: Added.
* fast/js/pic/cached-prototype-setter-expected.txt: Added.
* fast/js/pic/cached-prototype-setter.html: Added.
* fast/js/pic/cached-single-entry-transition-expected.txt: Added.
* fast/js/pic/cached-single-entry-transition.html: Added.
* fast/js/pic/get-empty-string-expected.txt: Added.
* fast/js/pic/get-empty-string.html: Added.
* fast/js/pic/get-set-proxy-object-expected.txt: Added.
* fast/js/pic/get-set-proxy-object.html: Added.
* fast/js/pic/rehash-poisons-structure-expected.txt: Added.
* fast/js/pic/rehash-poisons-structure.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36016
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 1 Sep 2008 19:51:33 +0000 (19:51 +0000)]
2008-09-01 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Eagerly allocate the Math object's numeric constants. This avoids
constantly reallocating them in loops, and also ensures that the Math
object will not use the single property optimization, which makes
properties ineligible for caching.
SunSpider reports a small speedup, in combination with inline caching.
* kjs/MathObject.cpp:
(KJS::MathObject::MathObject):
(KJS::MathObject::getOwnPropertySlot):
* kjs/MathObject.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36015
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Mon, 1 Sep 2008 19:46:05 +0000 (19:46 +0000)]
2008-09-01 Jan Michael Alonzo <jmalonzo@webkit.org>
Gtk build fix, not reviewed.
* GNUmakefile.am: Add SmallStrings.cpp in both release and debug builds
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36014
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Mon, 1 Sep 2008 17:18:58 +0000 (17:18 +0000)]
2008-09-01 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Not reviewed.
Fix a typo in the ChangeLog for r36009.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36013
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Mon, 1 Sep 2008 12:44:01 +0000 (12:44 +0000)]
2008-09-01 Alp Toker <alp@nuanti.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=19939
[GTK] webkit_web_history_item_get_title() fails with assertion
Make sure newly constructed WebHistoryItem objects wrap a WebCore
history item when necessary. Avoid G_PARAM_CONSTRUCT since it destroys
history data -- use WEBKIT_PARAM flags instead as they do the right
thing. This restores history functionality.
Also use CString to simplify UTF-8 string management.
* webkit/webkitwebbackforwardlist.cpp:
(_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit):
(_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit):
No need to initialize the vector with a size since it's cleared by the
callee.
* webkit/webkitwebhistoryitem.cpp:
(_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize):
(_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init):
(_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item):
(_WebKitWebHistoryItemPrivate::webkit_web_history_item_new):
(_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data):
(_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title):
(_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title):
(_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title):
(_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri):
(_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36012
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Mon, 1 Sep 2008 12:43:48 +0000 (12:43 +0000)]
2008-09-01 Dirk Schulze <vbs85@gmx.de>
Reviewed by Eric Seidel.
Fixed border-radius for Cairo.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::strokeArc):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36011
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Mon, 1 Sep 2008 12:43:34 +0000 (12:43 +0000)]
2008-09-01 Dirk Schulze <vbs85@gmx.de>
Reviewed by Eric Seidel.
Added canvas's globalAlpha to cairo.
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::getAlpha):
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::BitmapImage::draw):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36010
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Sun, 31 Aug 2008 21:57:32 +0000 (21:57 +0000)]
2008-08-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej Stachowiak.
Bug 20577: REGRESSION (r35006): Gmail is broken
<https://bugs.webkit.org/show_bug.cgi?id=20577>
r35006 changed stringProtoFuncSubstr() so that it is uses the more
efficient jsSubstring(), rather than using UString::substr() and then
calling jsString(). However, the change did not account for the case
where the start and the length of the substring extend beyond the length
of the original string. This patch corrects that.
JavaScriptCore:
* kjs/StringPrototype.cpp:
(KJS::stringProtoFuncSubstr):
LayoutTests:
* fast/js/resources/string-substr.js: Added.
* fast/js/string-substr-expected.txt: Added.
* fast/js/string-substr.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36009
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Sun, 31 Aug 2008 13:13:28 +0000 (13:13 +0000)]
2008-08-31 Simon Hausmann <hausmann@webkit.org>
Unreviewed Qt build fix.
* WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
the .h file
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36008
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Sun, 31 Aug 2008 13:13:17 +0000 (13:13 +0000)]
2008-08-31 Simon Hausmann <hausmann@wekit.org>
Unreviewed build fix (with gcc 4.3)
* kjs/ustring.h: Properly forward declare operator== for UString and
the the concatenate functions inside the KJS namespace.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36007
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 31 Aug 2008 06:58:07 +0000 (06:58 +0000)]
JavaScriptCore:
2008-08-30 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- https://bugs.webkit.org/show_bug.cgi?id=20333
improve JavaScript speed when handling single-character strings
1.035x as fast on SunSpider overall.
1.127x as fast on SunSpider string tests.
1.910x as fast on SunSpider string-base64 test.
* API/JSObjectRef.cpp:
(JSObjectMakeFunction): Removed unneeded explicit construction of UString.
* GNUmakefile.am: Added SmallStrings.h and SmallStrings.cpp.
* JavaScriptCore.pri: Ditto.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
Ditto.
* JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
* JavaScriptCoreSources.bkl: Ditto.
* JavaScriptCore.exp: Updated.
* VM/Machine.cpp:
(KJS::jsAddSlowCase): Changed to use a code path that doesn't involve
a UString constructor. This avoids an extra jump caused by the "in charge"
vs. "not in charge" constructors.
(KJS::jsAdd): Ditto.
(KJS::jsTypeStringForValue): Adopted jsNontrivialString.
* kjs/ArrayPrototype.cpp:
(KJS::arrayProtoFuncToString): Adopted jsEmptyString.
(KJS::arrayProtoFuncToLocaleString): Ditto.
(KJS::arrayProtoFuncJoin): Ditto.
* kjs/BooleanPrototype.cpp:
(KJS::booleanProtoFuncToString): Adopted jsNontrivialString.
* kjs/DateConstructor.cpp:
(KJS::callDate): Ditto.
* kjs/DatePrototype.cpp:
(KJS::formatLocaleDate): Adopted jsEmptyString and jsNontrivialString.
(KJS::dateProtoFuncToString): Ditto.
(KJS::dateProtoFuncToUTCString): Ditto.
(KJS::dateProtoFuncToDateString): Ditto.
(KJS::dateProtoFuncToTimeString): Ditto.
(KJS::dateProtoFuncToLocaleString): Ditto.
(KJS::dateProtoFuncToLocaleDateString): Ditto.
(KJS::dateProtoFuncToLocaleTimeString): Ditto.
(KJS::dateProtoFuncToGMTString): Ditto.
* kjs/ErrorPrototype.cpp:
(KJS::ErrorPrototype::ErrorPrototype): Ditto.
(KJS::errorProtoFuncToString): Ditto.
* kjs/JSGlobalData.h: Added SmallStrings.
* kjs/JSString.cpp:
(KJS::jsString): Eliminated the overload that takes a const char*.
Added code to use SmallStrings to get strings of small sizes rather
than creating a new JSString every time.
(KJS::jsSubstring): Added. Used when creating a string from a substring
to avoid creating a JSString in cases where the substring will end up
empty or as one character.
(KJS::jsOwnedString): Added the same code as in jsString.
* kjs/JSString.h: Added new functions jsEmptyString, jsSingleCharacterString,
jsSingleCharacterSubstring, jsSubstring, and jsNontrivialString for various
cases where we want to create JSString, and want special handling for small
strings.
(KJS::JSString::JSString): Added an overload that takes a PassRefPtr of
a UString::Rep so you don't have to construct a UString; PassRefPtr can be
more efficient.
(KJS::jsEmptyString): Added.
(KJS::jsSingleCharacterString): Added.
(KJS::jsSingleCharacterSubstring): Added.
(KJS::jsNontrivialString): Added.
(KJS::JSString::getIndex): Adopted jsSingleCharacterSubstring.
(KJS::JSString::getStringPropertySlot): Ditto.
* kjs/NumberPrototype.cpp:
(KJS::numberProtoFuncToFixed): Adopted jsNontrivialString.
(KJS::numberProtoFuncToExponential): Ditto.
(KJS::numberProtoFuncToPrecision): Ditto.
* kjs/ObjectPrototype.cpp:
(KJS::objectProtoFuncToLocaleString): Adopted toThisJSString.
(KJS::objectProtoFuncToString): Adopted jsNontrivialString.
* kjs/RegExpConstructor.cpp: Separated the lastInput value that's used
with the lastOvector to return matches from the input value that can be
changed via JavaScript. They will be equal in many cases, but not all.
(KJS::RegExpConstructor::performMatch): Set input.
(KJS::RegExpMatchesArray::RegExpMatchesArray): Ditto.
(KJS::RegExpMatchesArray::fillArrayInstance): Adopted jsSubstring. Also,
use input rather than lastInput in the appropriate place.
(KJS::RegExpConstructor::getBackref): Adopted jsSubstring and jsEmptyString.
Added code to handle the case where there is no backref -- before this
depended on range checking in UString::substr which is not present in
jsSubstring.
(KJS::RegExpConstructor::getLastParen): Ditto.
(KJS::RegExpConstructor::getLeftContext): Ditto.
(KJS::RegExpConstructor::getRightContext): Ditto.
(KJS::RegExpConstructor::getValueProperty): Use input rather than lastInput.
Also adopt jsEmptyString.
(KJS::RegExpConstructor::putValueProperty): Ditto.
(KJS::RegExpConstructor::input): Ditto.
* kjs/RegExpPrototype.cpp:
(KJS::regExpProtoFuncToString): Adopt jsNonTrivialString. Also changed to
use UString::append to append single characters rather than using += and
a C-style string.
* kjs/SmallStrings.cpp: Added.
(KJS::SmallStringsStorage::SmallStringsStorage): Construct the
buffer and UString::Rep for all 256 single-character strings for
the U+0000 through U+00FF. This covers all the values used in
the base64 test as well as most values seen elsewhere on the web
as well. It's possible that later we might fix this to only work
for U+0000 through U+007F but the others are used quite a bit in
the current version of the base64 test.
(KJS::SmallStringsStorage::~SmallStringsStorage): Free memory.
(KJS::SmallStrings::SmallStrings): Create a set of small strings,
initially not created; created later when they are used.
(KJS::SmallStrings::~SmallStrings): Deallocate. Not left compiler
generated because the SmallStringsStorage class's destructor needs
to be visible.
(KJS::SmallStrings::mark): Mark all the strings.
(KJS::SmallStrings::createEmptyString): Create a cell for the
empty string. Called only the first time.
(KJS::SmallStrings::createSingleCharacterString): Create a cell
for one of the single-character strings. Called only the first time.
* kjs/SmallStrings.h: Added.
* kjs/StringConstructor.cpp:
(KJS::stringFromCharCodeSlowCase): Factored out of strinFromCharCode.
Only used for cases where the caller does not pass exactly one argument.
(KJS::stringFromCharCode): Adopted jsSingleCharacterString.
(KJS::callStringConstructor): Adopted jsEmptyString.
* kjs/StringObject.cpp:
(KJS::StringObject::StringObject): Adopted jsEmptyString.
* kjs/StringPrototype.cpp:
(KJS::stringProtoFuncReplace): Adopted jsSubstring.
(KJS::stringProtoFuncCharAt): Adopted jsEmptyString and
jsSingleCharacterSubstring and also added a special case when the
index is an immediate number to avoid conversion to and from floating
point, since that's the common case.
(KJS::stringProtoFuncCharCodeAt): Ditto.
(KJS::stringProtoFuncMatch): Adopted jsSubstring and jsEmptyString.
(KJS::stringProtoFuncSlice): Adopted jsSubstring and
jsSingleCharacterSubstring. Also got rid of some unneeded locals and
removed unneeded code to set the length property of the array, since it
is automatically updated as values are added to the array.
(KJS::stringProtoFuncSplit): Adopted jsEmptyString.
(KJS::stringProtoFuncSubstr): Adopted jsSubstring.
(KJS::stringProtoFuncSubstring): Ditto.
* kjs/collector.cpp:
(KJS::Heap::collect): Added a call to mark SmallStrings.
* kjs/ustring.cpp:
(KJS::UString::expandedSize): Made this a static member function since
it doesn't need to look at any data members.
(KJS::UString::expandCapacity): Use a non-inline function, makeNull, to
set the rep to null in failure cases. This avoids adding a PIC branch for
the normal case when there is no failure.
(KJS::UString::expandPreCapacity): Ditto.
(KJS::UString::UString): Ditto.
(KJS::concatenate): Refactored the concatenation constructor into this
separate function. Calling the concatenation constructor was leading to
an extra branch because of the in-charge vs. not-in-charge versions not
both being inlined, and this was showing up as nearly 1% on Shark. Also
added a special case for when the second string is a single character,
since it's a common idiom to build up a string that way and we can do
things much more quickly, without involving memcpy for example. Also
adopted the non-inline function, nullRep, for the same reason given for
makeNull above.
(KJS::UString::append): Adopted makeNull for failure cases.
(KJS::UString::operator=): Ditto.
(KJS::UString::toDouble): Added a special case for converting single
character strings to numbers. We're doing this a ton of times while
running the base64 test.
(KJS::operator==): Added special cases so we can compare single-character
strings without calling memcmp. Later we might want to special case other
short lengths similarly.
(KJS::UString::makeNull): Added.
(KJS::UString::nullRep): Added.
* kjs/ustring.h: Added declarations for the nullRep and makeNull. Changed
expandedSize to be a static member function. Added a declaration of the
concatenate function. Removed the concatenation constructor. Rewrote
operator+ to use the concatenate function.
WebCore:
2008-08-30 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- adopt some new JavaScriptCore functions where appropriate
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
(WebCore::windowProtoFuncBToA): Ditto.
* bindings/js/JSEventListener.cpp:
(WebCore::JSLazyEventListener::eventParameterName): Adopted
jsNontrivialString.
* bindings/js/JSSVGLazyEventListener.cpp:
(WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
LayoutTests:
2008-08-30 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- updated incorrect results that reflected a bug in the RegExp object
* fast/js/regexp-caching-expected.txt: Updated results to
correctly show that $1 through $9, lastMatch, lastParen,
leftContext, and rightContext are left alone both when
a program changes the value of RegExp.input and when it
performs an unsuccessful match. The new results match
Gecko behavior (I tested both Firefox 2 and 3).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36006
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 30 Aug 2008 20:39:41 +0000 (20:39 +0000)]
2008-08-30 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Add WebView SPI to defer loading callbacks.
* Interfaces/IWebViewPrivate.idl:
* WebView.cpp:
(WebView::setDefersCallbacks):
(WebView::defersCallbacks):
* WebView.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36005
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sat, 30 Aug 2008 00:42:02 +0000 (00:42 +0000)]
2008-08-29 Anders Carlsson <andersca@apple.com>
Build fix.
* VM/Machine.cpp:
(KJS::getCPUTime):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36004
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sat, 30 Aug 2008 00:40:34 +0000 (00:40 +0000)]
2008-08-29 Anders Carlsson <andersca@apple.com>
Reviewed by Darin.
<rdar://problem/
6174667>
When a machine is under heavy load, the Slow Script dialog often comes up many times and just gets in the way
Instead of using clock time, use the CPU time spent executing the current thread when
determining if the script has been running for too long.
* VM/Machine.cpp:
(KJS::getCPUTime):
(KJS::Machine::checkTimeout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36003
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Sat, 30 Aug 2008 00:30:11 +0000 (00:30 +0000)]
2008-08-29 Brady Eidson <beidson@apple.com>
Reviewed by Anders' rubberstamp
Style cleanup to match MediaTokenizer::writeRawData()
* loader/PluginDocument.cpp:
(WebCore::PluginTokenizer::writeRawData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36002
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Sat, 30 Aug 2008 00:26:01 +0000 (00:26 +0000)]
WebCore:
2008-08-29 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Fix regression I introducted in 35946
Already covered by media/video-click-dlbclick-standalone.html
* loader/MediaDocument.cpp:
(WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
(WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
an ASSERT signifying that this method should only be called once, to more closely follow the
PluginDocument case.
WebKit/mac:
2008-08-29 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Fix regression I introducted in 35946
Already covered by media/video-click-dlbclick-standalone.html
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation receivedData:withDataSource:]): Cancel the load here after
calling [WebFrame _receivedData:] which more closely follows the path taken by PluginDocuments
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36001
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Sat, 30 Aug 2008 00:00:30 +0000 (00:00 +0000)]
2008-08-29 Beth Dakin <bdakin@apple.com>
Reviewed by Sam Weinig.
Fix for <rdar://problem/
6181588>
This patch makes hit testing take into account the new concept of a
disconnected frame, in which some of the content may not be
visible. The current hit testing mechanism starts at a target frame
and drills down for a HitTestResult. In some cases, drilling down
will find a non-visible result. When this happens, we need to try
again, starting at a higher level -- namely, starting at the main
frame.
* editing/Editor.cpp:
(WebCore::Editor::insideVisibleArea): New function that tests if a
point is inside the visible area for a disconnected frame.
* editing/Editor.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36000
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Fri, 29 Aug 2008 22:30:18 +0000 (22:30 +0000)]
2008-08-29 Adele Peterson <adele@apple.com>
Reviewed by Adam Roben.
Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* html/HTMLTextFieldInnerElement.cpp: Removed.
* html/HTMLTextFieldInnerElement.h: Removed.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::createSubtreeIfNeeded):
* rendering/RenderTextControl.h:
* rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
(WebCore::TextControlInnerElement::TextControlInnerElement):
(WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
(WebCore::TextControlInnerTextElement::defaultEventHandler):
(WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
* rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35999
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 29 Aug 2008 21:40:07 +0000 (21:40 +0000)]
Rubber-stamped by aroben.
Add GraphicsContext.h include to GraphcisContextPrivate.h
GraphicsContextPrivate uses StrokeStyle which is defined
in GraphicsContext.h but it doesn't include that header.
CoreGraphics build doesn't fail here due to the order
it happens to include files.
* platform/graphics/GraphicsContextPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35998
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 29 Aug 2008 21:39:32 +0000 (21:39 +0000)]
Reviewed by hyatt.
Fix GeneratedImage to respect Image's refcounting
Fixing potential crashers (future if not current)
https://bugs.webkit.org/show_bug.cgi?id=20567
I don't know if it's possible to make the current code
crash, thus I've not made a test.
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::image):
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::removeClient):
(WebCore::CSSImageGeneratorValue::getImage):
* css/CSSImageGeneratorValue.h:
* platform/graphics/GeneratedImage.h:
(WebCore::GeneratedImage::GeneratedImage):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setContent):
* rendering/style/RenderStyle.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35997
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 29 Aug 2008 21:38:56 +0000 (21:38 +0000)]
Fix GeneratedImage to respect Image's refcounting
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35996
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Fri, 29 Aug 2008 20:24:50 +0000 (20:24 +0000)]
2008-08-29 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adele.
Fix for <rdar://problem/
6093767>
https://bugs.webkit.org/show_bug.cgi?id=20526
Don't allow video to render until unsupported track types have been disabled.
* platform/graphics/win/QTMovieWin.cpp:
(QTMovieWinPrivate::task):
(QTMovieWinPrivate::drawingComplete):
(QTMovieWinPrivate::clearGWorld):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35995
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Fri, 29 Aug 2008 20:07:19 +0000 (20:07 +0000)]
Reviewed by Adele.
Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
<rdar://problem/
6169301>
Return the size of the movie data instead of 1000. The value is used for the progress
event "total" attribute.
* media/progress-event-total-expected.txt: Added.
* media/progress-event-total.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35994
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 29 Aug 2008 15:57:44 +0000 (15:57 +0000)]
2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Eric Seidel.
[janitor/qt] Start replacing port specific getters with the generic native getter
To get the native presentation of an image we currently have platform
specific #ifdef's and a generic getter using NativeImagePtr. This patch
extends this to the ImageBuffer and updates the Qt platform to get rid
of the special #ifdefs.
https://bugs.webkit.org/attachment.cgi?id=22861
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35993
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 29 Aug 2008 15:56:59 +0000 (15:56 +0000)]
2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Simon.
[svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35992
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 29 Aug 2008 15:56:43 +0000 (15:56 +0000)]
2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Simon.
Catch up with the introduction of PageGroup in r30840. Enable tracking of
visited links, enable this in QWebPage next to the other WebCore init call.
Calling this more than once is no issue and a cheap operation, we also do not
reset the state. When clearing the history of a page, clear the link state.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35991
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 29 Aug 2008 15:56:18 +0000 (15:56 +0000)]
2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Simon.
Revert revision 34348 which removed the global historyContains() function.
This function was needed to implement the public API of QWebHistoryInterface
and will be used again in the near future.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35990
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 29 Aug 2008 15:56:02 +0000 (15:56 +0000)]
2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Simon.
[network/qt] Implement defering of loading ResourceHandle's
This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
implementation is simply not forwarding anything to the
ResourceHandleClient until we are allowed to. This might lead to a deadlock
in Qt as we do not empty the QNetworkReply input buffer and wait until we
are allowed to read. If that happens we are forced to buffer the data
within QNetworkReplyHandler, for now this is not done.
Manual test:
- Open http://acid3.acidtests.org
- Wait for the test to complete
- Click on the Reference Rendering link
- Be fast and see the results of acid3
=> assert
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35989
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 29 Aug 2008 12:35:59 +0000 (12:35 +0000)]
2008-08-29 Simon Hausmann <hausmann@webkit.org>
Reviewed by Holger.
Don't crash when drawing patterns with the HTML canvas. Patterns
remain unimplemented but at least they don't crash anymore. This is
done by changing the PlatformPatternPtr to be a brush for the Qt
platform.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35988
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 29 Aug 2008 10:21:38 +0000 (10:21 +0000)]
2008-08-29 Simon Hausmann <hausmann@webkit.org>
Fix the Qt build, fontSelector() is not used by the Qt port yet
and we just return 0 in Font::fontSelector().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35987
268f45cc-cd09-0410-ab3c-
d52691b4dbfc